gpredict-svn Mailing List for Gpredict (Page 28)
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...> - 2009-05-10 11:11:02
|
Revision: 291 http://gpredict.svn.sourceforge.net/gpredict/?rev=291&view=rev Author: csete Date: 2009-05-10 11:10:48 +0000 (Sun, 10 May 2009) Log Message: ----------- Include the option for VFO_NONE = 0 . Modified Paths: -------------- trunk/src/radio-conf.h Modified: trunk/src/radio-conf.h =================================================================== --- trunk/src/radio-conf.h 2009-05-10 00:45:26 UTC (rev 290) +++ trunk/src/radio-conf.h 2009-05-10 11:10:48 UTC (rev 291) @@ -48,7 +48,8 @@ } ptt_type_t; typedef enum { - VFO_A = 0, + VFO_NONE = 0, + VFO_A, VFO_B, VFO_MAIN, VFO_SUB This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-10 00:45:35
|
Revision: 290 http://gpredict.svn.sourceforge.net/gpredict/?rev=290&view=rev Author: csete Date: 2009-05-10 00:45:26 +0000 (Sun, 10 May 2009) Log Message: ----------- Added selector for VFO up/down combination for duplex radios. Modified Paths: -------------- trunk/src/sat-pref-rig-editor.c Modified: trunk/src/sat-pref-rig-editor.c =================================================================== --- trunk/src/sat-pref-rig-editor.c 2009-05-09 23:54:06 UTC (rev 289) +++ trunk/src/sat-pref-rig-editor.c 2009-05-10 00:45:26 UTC (rev 290) @@ -56,6 +56,7 @@ static GtkWidget *port; /* port number */ static GtkWidget *type; /* rig type */ static GtkWidget *ptt; /* PTT */ +static GtkWidget *vfo; /* VFO Up/Down selector */ static GtkWidget *lo; /* local oscillator of downconverter */ static GtkWidget *loup; /* local oscillator of upconverter */ @@ -67,6 +68,7 @@ static void name_changed (GtkWidget *widget, gpointer data); static void type_changed (GtkWidget *widget, gpointer data); static void ptt_changed (GtkWidget *widget, gpointer data); +static void vfo_changed (GtkWidget *widget, gpointer data); /** \brief Add or edit a radio configuration. @@ -146,7 +148,7 @@ - table = gtk_table_new (7, 4, FALSE); + table = gtk_table_new (8, 4, FALSE); gtk_container_set_border_width (GTK_CONTAINER (table), 5); gtk_table_set_col_spacings (GTK_TABLE (table), 5); gtk_table_set_row_spacings (GTK_TABLE (table), 5); @@ -178,7 +180,9 @@ gtk_widget_set_tooltip_text (host, _("Enter the host where rigctld is running. "\ "You can use both host name and IP address, "\ - "e.g. 192.168.1.100")); + "e.g. 192.168.1.100\n\n"\ + "If gpredict and rigctld are running on the "\ + "same computer use localhost")); gtk_table_attach_defaults (GTK_TABLE (table), host, 1, 4, 1, 2); /* port */ @@ -245,11 +249,32 @@ "read squelch status and send it via CTS.")); gtk_table_attach_defaults (GTK_TABLE (table), ptt, 1, 3, 4, 5); + /* VFO Up/Down */ + label = gtk_label_new (_("VFO Up/Down")); + gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 5, 6); + vfo = gtk_combo_box_new_text (); + gtk_combo_box_append_text (GTK_COMBO_BOX (vfo), _("Not applicable")); + gtk_combo_box_append_text (GTK_COMBO_BOX (vfo), _("MAIN \342\206\221 / SUB \342\206\223")); + gtk_combo_box_append_text (GTK_COMBO_BOX (vfo), _("SUB \342\206\221 / MAIN \342\206\223")); + gtk_combo_box_append_text (GTK_COMBO_BOX (vfo), _("A \342\206\221 / B \342\206\223")); + gtk_combo_box_append_text (GTK_COMBO_BOX (vfo), _("B \342\206\221 / A \342\206\223")); + gtk_combo_box_set_active (GTK_COMBO_BOX (vfo), 0); + g_signal_connect (vfo, "changed", G_CALLBACK (vfo_changed), NULL); + gtk_widget_set_tooltip_markup (vfo, + _("Select which VFO to use for uplink and downlink. "\ + "This setting is used for full-duplex radios only, "\ + "such as the IC-910H, FT-847 and the TS-2000.\n\n"\ + "<b>IC-910H:</b> MAIN\342\206\221 / SUB\342\206\223\n"\ + "<b>FT-847:</b> SUB\342\206\221 / MAIN\342\206\223\n"\ + "<b>TS-2000:</b> B\342\206\221 / A\342\206\223")); + gtk_table_attach_defaults (GTK_TABLE (table), vfo, 1, 3, 5, 6); + /* Downconverter LO frequency */ label = gtk_label_new (_("LO Down:")); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); - gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 5, 6); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 6, 7); lo = gtk_spin_button_new_with_range (-10000, 10000, 1); gtk_spin_button_set_value (GTK_SPIN_BUTTON (lo), 0); @@ -257,16 +282,16 @@ gtk_widget_set_tooltip_text (lo, _("Enter the frequency of the local oscillator "\ " of the downconverter, if any.")); - gtk_table_attach_defaults (GTK_TABLE (table), lo, 1, 3, 5, 6); + gtk_table_attach_defaults (GTK_TABLE (table), lo, 1, 3, 6, 7); label = gtk_label_new (_("MHz")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach_defaults (GTK_TABLE (table), label, 3, 4, 5, 6); + gtk_table_attach_defaults (GTK_TABLE (table), label, 3, 4, 6, 7); /* Upconverter LO frequency */ label = gtk_label_new (_("LO Up:")); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); - gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 6, 7); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 7, 8); loup = gtk_spin_button_new_with_range (-10000, 10000, 1); gtk_spin_button_set_value (GTK_SPIN_BUTTON (loup), 0); @@ -274,11 +299,11 @@ gtk_widget_set_tooltip_text (loup, _("Enter the frequency of the local oscillator "\ "of the upconverter, if any.")); - gtk_table_attach_defaults (GTK_TABLE (table), loup, 1, 3, 6, 7); + gtk_table_attach_defaults (GTK_TABLE (table), loup, 1, 3, 7, 8); label = gtk_label_new (_("MHz")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach_defaults (GTK_TABLE (table), label, 3, 4, 6, 7); + gtk_table_attach_defaults (GTK_TABLE (table), label, 3, 4, 7, 8); if (conf->name != NULL) @@ -314,6 +339,18 @@ /* ptt */ gtk_combo_box_set_active (GTK_COMBO_BOX (ptt), conf->ptt); + + /* vfo up/down */ + if (conf->type == RIG_TYPE_DUPLEX) { + if (conf->vfoUp == VFO_MAIN) + gtk_combo_box_set_active (GTK_COMBO_BOX (vfo), 1); + else if (conf->vfoUp == VFO_SUB) + gtk_combo_box_set_active (GTK_COMBO_BOX (vfo), 2); + else if (conf->vfoUp == VFO_A) + gtk_combo_box_set_active (GTK_COMBO_BOX (vfo), 3); + else + gtk_combo_box_set_active (GTK_COMBO_BOX (vfo), 4); + } /* lo down in MHz */ gtk_spin_button_set_value (GTK_SPIN_BUTTON (lo), conf->lo / 1000000.0); @@ -340,6 +377,7 @@ gtk_spin_button_set_value (GTK_SPIN_BUTTON (loup), 0); gtk_combo_box_set_active (GTK_COMBO_BOX (type), RIG_TYPE_RX); gtk_combo_box_set_active (GTK_COMBO_BOX (ptt), PTT_TYPE_NONE); + gtk_combo_box_set_active (GTK_COMBO_BOX (vfo), 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ptt), FALSE); } @@ -381,6 +419,37 @@ /* ptt */ conf->ptt = gtk_combo_box_get_active (GTK_COMBO_BOX (ptt)); + /* vfo up/down */ + if (conf->type == RIG_TYPE_DUPLEX) { + switch (gtk_combo_box_get_active (GTK_COMBO_BOX (vfo))) { + + case 1: + conf->vfoUp = VFO_MAIN; + conf->vfoDown = VFO_SUB; + break; + + case 2: + conf->vfoUp = VFO_SUB; + conf->vfoDown = VFO_MAIN; + break; + + case 3: + conf->vfoUp = VFO_A; + conf->vfoDown = VFO_B; + break; + + case 4: + conf->vfoUp = VFO_B; + conf->vfoDown = VFO_A; + break; + + default: + conf->vfoUp = VFO_MAIN; + conf->vfoDown = VFO_SUB; + break; + } + } + return TRUE; } @@ -453,12 +522,20 @@ static void type_changed (GtkWidget *widget, gpointer data) { - + /* PTT consistency */ if (gtk_combo_box_get_active (GTK_COMBO_BOX (widget)) == RIG_TYPE_TRX) { if (gtk_combo_box_get_active (GTK_COMBO_BOX (ptt)) == PTT_TYPE_NONE) { gtk_combo_box_set_active (GTK_COMBO_BOX (ptt), PTT_TYPE_CAT); } } + + /* VFO consistency */ + if (gtk_combo_box_get_active (GTK_COMBO_BOX (widget)) == RIG_TYPE_DUPLEX) { + if (gtk_combo_box_get_active (GTK_COMBO_BOX (vfo)) == 0) { + gtk_combo_box_set_active (GTK_COMBO_BOX (vfo), 1); + } + } + } /** \brief Manage ptt type changed signals. @@ -479,5 +556,22 @@ } } +/** \brief Manage VFO changed signals. + * \param widget The GtkComboBox that received the signal. + * \param data User data (always NULL). + * + * This function is called when the user selects a new VFO up/down combination. + */ +static void +vfo_changed (GtkWidget *widget, gpointer data) +{ + + if (gtk_combo_box_get_active (GTK_COMBO_BOX (widget)) == 0) { + if (gtk_combo_box_get_active (GTK_COMBO_BOX (type)) == RIG_TYPE_DUPLEX) { + /* not good, we need to have proper VFO combi for this type */ + gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 1); + } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-09 23:54:07
|
Revision: 289 http://gpredict.svn.sourceforge.net/gpredict/?rev=289&view=rev Author: csete Date: 2009-05-09 23:54:06 +0000 (Sat, 09 May 2009) Log Message: ----------- First cut at full-duplex controller. Modified Paths: -------------- trunk/src/gtk-rig-ctrl.c Modified: trunk/src/gtk-rig-ctrl.c =================================================================== --- trunk/src/gtk-rig-ctrl.c 2009-05-09 23:53:19 UTC (rev 288) +++ trunk/src/gtk-rig-ctrl.c 2009-05-09 23:54:06 UTC (rev 289) @@ -102,6 +102,7 @@ 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 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); /* misc utility functions */ @@ -1553,8 +1554,16 @@ */ static void exec_duplex_cycle (GtkRigCtrl *ctrl) { - //FIXME implement - exec_trx_cycle (ctrl); + if (ctrl->engaged) { + + /* Downlink */ + set_vfo (ctrl, ctrl->conf->vfoDown); + exec_rx_cycle (ctrl); + + /* Uplink */ + set_vfo (ctrl, ctrl->conf->vfoUp); + exec_tx_cycle (ctrl); + } } /** \brief Execute dual-rig cycle. @@ -2057,7 +2066,104 @@ return TRUE; } +/** \brief Select target VFO + * \param ctrl Pointer to the GtkRigCtrl structure. + * \param vfo The VFO to select + * \return TRUE if the operation was successful, FALSE if a connection error + * occurred. + * + */ +static gboolean set_vfo (GtkRigCtrl *ctrl, vfo_t vfo) +{ + 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(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); + } + + /* prepare command */ + switch (vfo) { + case VFO_A: + buff = g_strdup_printf ("V VFOA"); + size = 6; + break; + + case VFO_B: + buff = g_strdup_printf ("V VFOB"); + size = 6; + break; + + case VFO_MAIN: + buff = g_strdup_printf ("V Main"); + size = 6; + break; + + case VFO_SUB: + buff = g_strdup_printf ("V Sub"); + size = 5; + break; + + default: + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Invalid VFO argument. Using VFOA."), + __FUNCTION__); + buff = g_strdup_printf ("V VFOA"); + size = 6; + break; + } + + /* 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); + } + g_free (buff); + shutdown (sock, SHUT_RDWR); + close (sock); + + ctrl->wrops++; + + return TRUE; +} + + /** \brief Update count down label. * \param[in] ctrl Pointer to the RigCtrl widget. * \param[in] t The current time. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-09 23:53:33
|
Revision: 288 http://gpredict.svn.sourceforge.net/gpredict/?rev=288&view=rev Author: csete Date: 2009-05-09 23:53:19 +0000 (Sat, 09 May 2009) Log Message: ----------- Added parameter to store uplink and downlink VFOs for full-duplex capable radios. Modified Paths: -------------- trunk/src/radio-conf.c trunk/src/radio-conf.h Modified: trunk/src/radio-conf.c =================================================================== --- trunk/src/radio-conf.c 2009-05-09 14:57:34 UTC (rev 287) +++ trunk/src/radio-conf.c 2009-05-09 23:53:19 UTC (rev 288) @@ -41,6 +41,8 @@ #define KEY_LOUP "LO_UP" #define KEY_TYPE "Type" #define KEY_PTT "PTT" +#define KEY_VFO_DOWN "VFO_DOWN" +#define KEY_VFO_UP "VFO_UP" /** \brief Read radio configuration. @@ -142,6 +144,7 @@ conf->loup = 0.0; } + /* Radio type */ conf->type = g_key_file_get_integer (cfg, GROUP, KEY_TYPE, &error); if (error != NULL) { sat_log_log (SAT_LOG_LEVEL_ERROR, @@ -152,6 +155,7 @@ return FALSE; } + /* PTT Type */ conf->ptt = g_key_file_get_integer (cfg, GROUP, KEY_PTT, &error); if (error != NULL) { sat_log_log (SAT_LOG_LEVEL_ERROR, @@ -161,6 +165,35 @@ g_key_file_free (cfg); return FALSE; } + + /* VFO up and down, only if radio is full-duplex */ + if (conf->type == RIG_TYPE_DUPLEX) { + + /* downlink */ + if (g_key_file_has_key (cfg, GROUP, KEY_VFO_DOWN, NULL)) { + conf->vfoDown = g_key_file_get_integer (cfg, GROUP, KEY_VFO_DOWN, &error); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Error reading radio conf from %s (%s)."), + __FUNCTION__, conf->name, error->message); + g_clear_error (&error); + conf->vfoDown = VFO_SUB; + } + } + + /* uplink */ + if (g_key_file_has_key (cfg, GROUP, KEY_VFO_UP, NULL)) { + conf->vfoUp = g_key_file_get_integer (cfg, GROUP, KEY_VFO_UP, &error); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Error reading radio conf from %s (%s)."), + __FUNCTION__, conf->name, error->message); + g_clear_error (&error); + conf->vfoUp = VFO_MAIN; + } + } + + } g_key_file_free (cfg); @@ -204,6 +237,11 @@ g_key_file_set_integer (cfg, GROUP, KEY_TYPE, conf->type); g_key_file_set_integer (cfg, GROUP, KEY_PTT, conf->ptt); + if (conf->type == RIG_TYPE_DUPLEX) { + g_key_file_set_integer (cfg, GROUP, KEY_VFO_UP, conf->vfoUp); + g_key_file_set_integer (cfg, GROUP, KEY_VFO_DOWN, conf->vfoDown); + } + /* convert to text sdata */ data = g_key_file_to_data (cfg, &len, NULL); Modified: trunk/src/radio-conf.h =================================================================== --- trunk/src/radio-conf.h 2009-05-09 14:57:34 UTC (rev 287) +++ trunk/src/radio-conf.h 2009-05-09 23:53:19 UTC (rev 288) @@ -47,6 +47,13 @@ PTT_TYPE_DCD /*!< Read PTT using get_dcd */ } ptt_type_t; +typedef enum { + VFO_A = 0, + VFO_B, + VFO_MAIN, + VFO_SUB +} vfo_t; + /** \brief Radio configuration. */ typedef struct { gchar *name; /*!< Configuration file name, without .rig. */ @@ -57,6 +64,8 @@ gdouble loup; /*!< local oscillator freq in Hz for uplink. */ rig_type_t type; /*!< Radio type */ ptt_type_t ptt; /*!< PTT type (needed for RX, TX, and TRX) */ + vfo_t vfoDown; /*!< Downlink VFO for full-duplex radios */ + vfo_t vfoUp; /*!< Uplink VFO for full-duplex radios */ } radio_conf_t; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-09 14:57:39
|
Revision: 287 http://gpredict.svn.sourceforge.net/gpredict/?rev=287&view=rev Author: csete Date: 2009-05-09 14:57:34 +0000 (Sat, 09 May 2009) Log Message: ----------- Moved error count checking up to cycle controller. Modified Paths: -------------- trunk/src/gtk-rig-ctrl.c Modified: trunk/src/gtk-rig-ctrl.c =================================================================== --- trunk/src/gtk-rig-ctrl.c 2009-05-01 23:10:40 UTC (rev 286) +++ trunk/src/gtk-rig-ctrl.c 2009-05-09 14:57:34 UTC (rev 287) @@ -1278,6 +1278,19 @@ } } + + /* perform error count checking */ + if (ctrl->errcnt >= MAX_ERROR_COUNT) { + /* disengage device */ + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ctrl->LockBut), FALSE); + ctrl->engaged = FALSE; + ctrl->errcnt = 0; + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: MAX_ERROR_COUNT (%d) reached. Disengaging device!"), + __FUNCTION__, MAX_ERROR_COUNT); + + //g_print ("ERROR. WROPS = %d\n", ctrl->wrops); + } //g_print (" WROPS = %d\n", ctrl->wrops); @@ -1397,17 +1410,6 @@ } } - if (ctrl->errcnt >= MAX_ERROR_COUNT) { - /* disengage device */ - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ctrl->LockBut), FALSE); - ctrl->engaged = FALSE; - ctrl->errcnt = 0; - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: MAX_ERROR_COUNT (%d) reached. Disengaging device!"), - __FUNCTION__, MAX_ERROR_COUNT); - - //g_print ("ERROR. WROPS = %d\n", ctrl->wrops); - } } @@ -1521,18 +1523,6 @@ } } - if (ctrl->errcnt >= MAX_ERROR_COUNT) { - /* disengage device */ - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ctrl->LockBut), FALSE); - ctrl->engaged = FALSE; - ctrl->errcnt = 0; - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: MAX_ERROR_COUNT (%d) reached. Disengaging device!"), - __FUNCTION__, MAX_ERROR_COUNT); - - //g_print ("ERROR. WROPS = %d\n", ctrl->wrops); - } - } @@ -1774,18 +1764,6 @@ } /* else dialchange on downlink */ - /* perform error count checking */ - if (ctrl->errcnt >= MAX_ERROR_COUNT) { - /* disengage device */ - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ctrl->LockBut), FALSE); - ctrl->engaged = FALSE; - ctrl->errcnt = 0; - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: MAX_ERROR_COUNT (%d) reached. Disengaging device!"), - __FUNCTION__, MAX_ERROR_COUNT); - - //g_print ("ERROR. WROPS = %d\n", ctrl->wrops); - } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-01 23:10:42
|
Revision: 286 http://gpredict.svn.sourceforge.net/gpredict/?rev=286&view=rev Author: csete Date: 2009-05-01 23:10:40 +0000 (Fri, 01 May 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/mod-mgr.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-05-01 23:07:43 UTC (rev 285) +++ trunk/ChangeLog 2009-05-01 23:10:40 UTC (rev 286) @@ -1,7 +1,18 @@ +2009-05-01 Alexandru Csete <oz...@gm...> + + * src/gtk-sat-module.c: + Fixed indent. Log an error message if module configuration fails. + + * src/gtk-polar-view.c: + Changed resizing scheme to be the same as for GtkSatMap. This fixed the + long delay (many seconds) problem when a module containing a polar view + is opened or reconfigured. + + 2009-04-14 Alexandru Csete <oz...@gm...> * configure.ac: - Require libcur 7.16.0 or later as mandatory dependency. + Require libcurl 7.16.0 or later as mandatory dependency. * src/tle-update.c: * src/sat-cfg.[ch]: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2009-05-01 23:07:43 UTC (rev 285) +++ trunk/NEWS 2009-05-01 23:10:40 UTC (rev 286) @@ -4,7 +4,13 @@ * Windows: New installer instead of ZIP distribution. * Mac OS X package. +Changes in version 1.0 beta 3 (TBD) +* Implemented full-duplex controller. +- Fixed a bug that caused long delays when opening or reconfiguring modules + containing a polar view. + + Changes in version 1.0 beta 2 (15 Apr 2009): - Improved implementation of the radio controller to include uplink. Modified: trunk/src/mod-mgr.c =================================================================== --- trunk/src/mod-mgr.c 2009-05-01 23:07:43 UTC (rev 285) +++ trunk/src/mod-mgr.c 2009-05-01 23:10:40 UTC (rev 286) @@ -190,25 +190,18 @@ gint retcode = 0; gint page; -sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Entered 1."), - __FUNCTION__); + if (module) { /* add module to internal list */ modules = g_slist_append (modules, module); if (dock) { - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Entered 2."), - __FUNCTION__); /* add module to notebook if state = DOCKED */ page = gtk_notebook_append_page (GTK_NOTEBOOK (nbook), module, gtk_label_new (GTK_SAT_MODULE (module)->name)); - sat_log_log (SAT_LOG_LEVEL_MSG, _("%s: Entered 3."), __FUNCTION__); - gtk_notebook_set_current_page (GTK_NOTEBOOK (nbook), page); /* send message to logger */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-01 23:07:45
|
Revision: 285 http://gpredict.svn.sourceforge.net/gpredict/?rev=285&view=rev Author: csete Date: 2009-05-01 23:07:43 +0000 (Fri, 01 May 2009) Log Message: ----------- Fixed indent. Modified Paths: -------------- trunk/src/menubar.c Modified: trunk/src/menubar.c =================================================================== --- trunk/src/menubar.c 2009-05-01 23:06:55 UTC (rev 284) +++ trunk/src/menubar.c 2009-05-01 23:07:43 UTC (rev 285) @@ -85,59 +85,59 @@ * \ingroup menupriv */ static GtkActionEntry entries[] = { - { "FileMenu", NULL, N_("_File") }, - { "EditMenu", NULL, N_("_Edit") }, - { "TleMenu", GTK_STOCK_REFRESH, N_("_Update TLE") }, - { "ToolsMenu", NULL, N_("_Tools") }, - { "HelpMenu", NULL, N_("_Help") }, + { "FileMenu", NULL, N_("_File") }, + { "EditMenu", NULL, N_("_Edit") }, + { "TleMenu", GTK_STOCK_REFRESH, N_("_Update TLE") }, + { "ToolsMenu", NULL, N_("_Tools") }, + { "HelpMenu", NULL, N_("_Help") }, - /* File menu */ - { "New", GTK_STOCK_NEW, N_("_New module"), "<control>N", - N_("Create a new module"), G_CALLBACK (menubar_new_mod_cb) }, - { "Open", GTK_STOCK_OPEN, N_("_Open module"), "<control>O", - N_("Open an existing module"), G_CALLBACK (menubar_open_mod_cb) }, - { "Log", GTK_STOCK_JUSTIFY_LEFT, "_Log browser", "<control>L", - N_("Open the message log browser"), G_CALLBACK (menubar_message_log) }, - { "Exit", GTK_STOCK_QUIT, N_("E_xit"), "<control>Q", - N_("Exit the program"), G_CALLBACK (menubar_app_exit_cb) }, + /* File menu */ + { "New", GTK_STOCK_NEW, N_("_New module"), "<control>N", + N_("Create a new module"), G_CALLBACK (menubar_new_mod_cb) }, + { "Open", GTK_STOCK_OPEN, N_("_Open module"), "<control>O", + N_("Open an existing module"), G_CALLBACK (menubar_open_mod_cb) }, + { "Log", GTK_STOCK_JUSTIFY_LEFT, "_Log browser", "<control>L", + N_("Open the message log browser"), G_CALLBACK (menubar_message_log) }, + { "Exit", GTK_STOCK_QUIT, N_("E_xit"), "<control>Q", + N_("Exit the program"), G_CALLBACK (menubar_app_exit_cb) }, - /* Edit menu */ - /* { "Tle", GTK_STOCK_REFRESH, N_("Update TLE"), NULL, - N_("Update Keplerian elements"), NULL},*/ - { "Net", GTK_STOCK_NETWORK, N_("From _network"), NULL, - N_("Update Keplerian elements from a network server"), - G_CALLBACK (menubar_tle_net_cb)}, - { "Local", GTK_STOCK_HARDDISK, N_("From l_ocal files"), NULL, - N_("Update Keplerian elements from local files"), - G_CALLBACK (menubar_tle_local_cb)}, - { "Man", GTK_STOCK_DND, N_("Using TLE _editor"), NULL, - N_("Add or update Keplerian elements using the TLE editor"), - G_CALLBACK (menubar_tle_manual_cb)}, - { "Freq", NULL, N_("_Transponders"), NULL, - N_("Edit satellite transponder frequencies"), - G_CALLBACK (menubar_freq_edit_cb)}, - { "Pref", GTK_STOCK_PREFERENCES, N_("_Preferences"), NULL, - N_("Edit user preferences"), G_CALLBACK (menubar_pref_cb)}, + /* Edit menu */ + /* { "Tle", GTK_STOCK_REFRESH, N_("Update TLE"), NULL, + N_("Update Keplerian elements"), NULL},*/ + { "Net", GTK_STOCK_NETWORK, N_("From _network"), NULL, + N_("Update Keplerian elements from a network server"), + G_CALLBACK (menubar_tle_net_cb)}, + { "Local", GTK_STOCK_HARDDISK, N_("From l_ocal files"), NULL, + N_("Update Keplerian elements from local files"), + G_CALLBACK (menubar_tle_local_cb)}, + { "Man", GTK_STOCK_DND, N_("Using TLE _editor"), NULL, + N_("Add or update Keplerian elements using the TLE editor"), + G_CALLBACK (menubar_tle_manual_cb)}, + { "Freq", NULL, N_("_Transponders"), NULL, + N_("Edit satellite transponder frequencies"), + G_CALLBACK (menubar_freq_edit_cb)}, + { "Pref", GTK_STOCK_PREFERENCES, N_("_Preferences"), NULL, + N_("Edit user preferences"), G_CALLBACK (menubar_pref_cb)}, - /* Tools menu */ - { "Window", NULL, N_("Comm Window"), NULL, - N_("Predict windows between two observers"), - G_CALLBACK (menubar_window_cb)}, - { "Predict", GTK_STOCK_DND_MULTIPLE, N_("Advanced Predict"), NULL, - N_("Open advanced pass predictor"), G_CALLBACK (menubar_predict_cb)}, + /* Tools menu */ + { "Window", NULL, N_("Comm Window"), NULL, + N_("Predict windows between two observers"), + G_CALLBACK (menubar_window_cb)}, + { "Predict", GTK_STOCK_DND_MULTIPLE, N_("Advanced Predict"), NULL, + N_("Open advanced pass predictor"), G_CALLBACK (menubar_predict_cb)}, - /* Help menu */ - { "GettingStarted", GTK_STOCK_EXECUTE, N_("Getting Started"), NULL, - N_("Show online user manual, Getting Started Section"), - G_CALLBACK (menubar_getting_started_cb)}, - { "Manual", GTK_STOCK_HELP, N_("User Manual"), "F1", - N_("Show online user manual"), G_CALLBACK (menubar_help_cb)}, - { "License", NULL, N_("_License"), NULL, - N_("Show the Gpredict license"), G_CALLBACK (menubar_license_cb) }, - { "News", NULL, N_("_News"), NULL, - N_("Show what's new in this release"), G_CALLBACK (menubar_news_cb) }, - { "About", GTK_STOCK_ABOUT, N_("_About Gpredict"), NULL, - N_("Show about dialog"), G_CALLBACK (menubar_about_cb) }, + /* Help menu */ + { "GettingStarted", GTK_STOCK_EXECUTE, N_("Getting Started"), NULL, + N_("Show online user manual, Getting Started Section"), + G_CALLBACK (menubar_getting_started_cb)}, + { "Manual", GTK_STOCK_HELP, N_("User Manual"), "F1", + N_("Show online user manual"), G_CALLBACK (menubar_help_cb)}, + { "License", NULL, N_("_License"), NULL, + N_("Show the Gpredict license"), G_CALLBACK (menubar_license_cb) }, + { "News", NULL, N_("_News"), NULL, + N_("Show what's new in this release"), G_CALLBACK (menubar_news_cb) }, + { "About", GTK_STOCK_ABOUT, N_("_About Gpredict"), NULL, + N_("Show about dialog"), G_CALLBACK (menubar_about_cb) }, }; @@ -194,56 +194,56 @@ GtkWidget * menubar_create (GtkWidget *window) { - GtkWidget *menubar; - GtkActionGroup *actgrp; - GtkUIManager *uimgr; - GtkAccelGroup *accgrp; - GError *error = NULL; - GtkWidget *menuitem; - GtkWidget *image; - gchar *icon; - gint i; + GtkWidget *menubar; + GtkActionGroup *actgrp; + GtkUIManager *uimgr; + GtkAccelGroup *accgrp; + GError *error = NULL; + GtkWidget *menuitem; + GtkWidget *image; + gchar *icon; + gint i; - /* create action group */ - actgrp = gtk_action_group_new ("MenuActions"); - /* i18n */ + /* create action group */ + actgrp = gtk_action_group_new ("MenuActions"); + /* i18n */ for (i=0; i<G_N_ELEMENTS (entries); i++) { - if (entries[i].label) - entries[i].label = _(entries[i].label); - if (entries[i].tooltip) - entries[i].tooltip = _(entries[i].tooltip); - } + if (entries[i].label) + entries[i].label = _(entries[i].label); + if (entries[i].tooltip) + entries[i].tooltip = _(entries[i].tooltip); + } - gtk_action_group_add_actions (actgrp, entries, G_N_ELEMENTS (entries), NULL); + gtk_action_group_add_actions (actgrp, entries, G_N_ELEMENTS (entries), NULL); - /* create UI manager */ - uimgr = gtk_ui_manager_new (); - gtk_ui_manager_insert_action_group (uimgr, actgrp, 0); + /* create UI manager */ + uimgr = gtk_ui_manager_new (); + gtk_ui_manager_insert_action_group (uimgr, actgrp, 0); - /* accelerator group */ - accgrp = gtk_ui_manager_get_accel_group (uimgr); - gtk_window_add_accel_group (GTK_WINDOW (window), accgrp); + /* accelerator group */ + accgrp = gtk_ui_manager_get_accel_group (uimgr); + gtk_window_add_accel_group (GTK_WINDOW (window), accgrp); - /* try to create UI from XML*/ - if (!gtk_ui_manager_add_ui_from_string (uimgr, menu_desc, -1, &error)) { - g_print (_("Failed to build menubar: %s"), error->message); - g_error_free (error); + /* try to create UI from XML*/ + if (!gtk_ui_manager_add_ui_from_string (uimgr, menu_desc, -1, &error)) { + g_print (_("Failed to build menubar: %s"), error->message); + g_error_free (error); - return NULL; - } + return NULL; + } - /* load custom icons */ -/* icon = icon_file_name ("gpredict-shuttle-small.png"); - image = gtk_image_new_from_file (icon); - g_free (icon); - menuitem = gtk_ui_manager_get_widget (uimgr, "/GpredictMenu/ToolsMenu/Rdv"); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); + /* load custom icons */ +/* icon = icon_file_name ("gpredict-shuttle-small.png"); + image = gtk_image_new_from_file (icon); + g_free (icon); + menuitem = gtk_ui_manager_get_widget (uimgr, "/GpredictMenu/ToolsMenu/Rdv"); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); */ - /* now, finally, get the menubar */ - menubar = gtk_ui_manager_get_widget (uimgr, "/GpredictMenu"); + /* now, finally, get the menubar */ + menubar = gtk_ui_manager_get_widget (uimgr, "/GpredictMenu"); - return menubar; + return menubar; } @@ -256,165 +256,165 @@ static void menubar_new_mod_cb (GtkWidget *widget, gpointer data) { - gchar *modnam = NULL; - gchar *modfile; - GtkWidget *module = NULL; - GtkWidget *parent; + gchar *modnam = NULL; + gchar *modfile; + GtkWidget *module = NULL; + GtkWidget *parent; - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Starting new module configurator..."), - __FUNCTION__); + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Starting new module configurator..."), + __FUNCTION__); - modnam = mod_cfg_new (); + modnam = mod_cfg_new (); - if (modnam) { - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: New module name is %s."), - __FUNCTION__, modnam); + if (modnam) { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: New module name is %s."), + __FUNCTION__, modnam); - modfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, - ".gpredict2", G_DIR_SEPARATOR_S, - "modules", G_DIR_SEPARATOR_S, - modnam, - ".mod", NULL); + modfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, + ".gpredict2", G_DIR_SEPARATOR_S, + "modules", G_DIR_SEPARATOR_S, + modnam, + ".mod", NULL); - /* create new module */ - module = gtk_sat_module_new (modfile); + /* create new module */ + module = gtk_sat_module_new (modfile); - if (module == NULL) { + if (module == NULL) { - GtkWidget *dialog; + GtkWidget *dialog; - dialog = gtk_message_dialog_new (GTK_WINDOW (app), - GTK_DIALOG_MODAL | - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_OK, - _("Could not open %s. Please examine "\ - "the log messages for details."), - modnam); + dialog = gtk_message_dialog_new (GTK_WINDOW (app), + GTK_DIALOG_MODAL | + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK, + _("Could not open %s. Please examine "\ + "the log messages for details."), + modnam); - gtk_dialog_run (GTK_DIALOG (dialog)); - gtk_widget_destroy (dialog); - } - else { - mod_mgr_add_module (module, TRUE); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); + } + else { + mod_mgr_add_module (module, TRUE); - /* get size allocation from parent and set some reasonable - initial GtkPaned positions - */ - parent = gtk_widget_get_parent (module); - GTK_SAT_MODULE (module)->hpanedpos = parent->allocation.width / 2; - GTK_SAT_MODULE (module)->vpanedpos = parent->allocation.height / 2; - gtk_sat_module_fix_size (module); - } + /* get size allocation from parent and set some reasonable + initial GtkPaned positions + */ + parent = gtk_widget_get_parent (module); + GTK_SAT_MODULE (module)->hpanedpos = parent->allocation.width / 2; + GTK_SAT_MODULE (module)->vpanedpos = parent->allocation.height / 2; + gtk_sat_module_fix_size (module); + } - g_free (modnam); - g_free (modfile); - } - else { - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: New module config cancelled."), - __FUNCTION__); - } + g_free (modnam); + g_free (modfile); + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: New module config cancelled."), + __FUNCTION__); + } } static void menubar_open_mod_cb (GtkWidget *widget, gpointer data) { - gchar *modnam = NULL; - gchar *modfile; - GtkWidget *module = NULL; - GtkWidget *parent; + gchar *modnam = NULL; + gchar *modfile; + GtkWidget *module = NULL; + GtkWidget *parent; - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Open existing module..."), - __FUNCTION__); - - modnam = select_module (); + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Open existing module..."), + __FUNCTION__); + + modnam = select_module (); - if (modnam) { - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Open module %s."), - __FUNCTION__, modnam); + if (modnam) { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Open module %s."), + __FUNCTION__, modnam); - modfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, - ".gpredict2", G_DIR_SEPARATOR_S, - "modules", G_DIR_SEPARATOR_S, - modnam, - ".mod", NULL); + modfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, + ".gpredict2", G_DIR_SEPARATOR_S, + "modules", G_DIR_SEPARATOR_S, + modnam, + ".mod", NULL); - /* create new module */ - module = gtk_sat_module_new (modfile); + /* create new module */ + module = gtk_sat_module_new (modfile); - if (module == NULL) { - /* mod manager could not create the module */ - GtkWidget *dialog; + if (module == NULL) { + /* mod manager could not create the module */ + GtkWidget *dialog; - dialog = gtk_message_dialog_new (GTK_WINDOW (app), - GTK_DIALOG_MODAL | - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_OK, - _("Could not open %s. Please examine "\ - "the log messages for details."), - modnam); + dialog = gtk_message_dialog_new (GTK_WINDOW (app), + GTK_DIALOG_MODAL | + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK, + _("Could not open %s. Please examine "\ + "the log messages for details."), + modnam); - gtk_dialog_run (GTK_DIALOG (dialog)); - gtk_widget_destroy (dialog); - } - else { + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); + } + else { - /* if module state was window or user does not want to restore the - state of the modules, pack the module into the notebook */ - if ((GTK_SAT_MODULE (module)->state == GTK_SAT_MOD_STATE_DOCKED) || - !sat_cfg_get_bool (SAT_CFG_BOOL_MOD_STATE)) { - - mod_mgr_add_module (module, TRUE); - - } - else { - mod_mgr_add_module (module, FALSE); - create_module_window (module); - } + /* if module state was window or user does not want to restore the + state of the modules, pack the module into the notebook */ + if ((GTK_SAT_MODULE (module)->state == GTK_SAT_MOD_STATE_DOCKED) || + !sat_cfg_get_bool (SAT_CFG_BOOL_MOD_STATE)) { + + mod_mgr_add_module (module, TRUE); + + } + else { + mod_mgr_add_module (module, FALSE); + create_module_window (module); + } - //mod_mgr_add_module (module, TRUE); + //mod_mgr_add_module (module, TRUE); - /* get size allocation from parent and set some reasonable - initial GtkPaned positions - */ - parent = gtk_widget_get_parent (module); - GTK_SAT_MODULE (module)->hpanedpos = parent->allocation.width / 2; - GTK_SAT_MODULE (module)->vpanedpos = parent->allocation.height / 2; - gtk_sat_module_fix_size (module); - } + /* get size allocation from parent and set some reasonable + initial GtkPaned positions + */ + parent = gtk_widget_get_parent (module); + GTK_SAT_MODULE (module)->hpanedpos = parent->allocation.width / 2; + GTK_SAT_MODULE (module)->vpanedpos = parent->allocation.height / 2; + gtk_sat_module_fix_size (module); + } - g_free (modnam); - g_free (modfile); - } - else { - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Open module cancelled."), - __FUNCTION__); - } + g_free (modnam); + g_free (modfile); + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Open module cancelled."), + __FUNCTION__); + } } static void menubar_message_log (GtkWidget *widget, gpointer data) { - sat_log_browser_open (); + sat_log_browser_open (); } static void menubar_app_exit_cb (GtkWidget *widget, gpointer data) { - gtk_widget_destroy (app); + gtk_widget_destroy (app); } @@ -427,7 +427,7 @@ static void menubar_pref_cb (GtkWidget *widget, gpointer data) { - sat_pref_run (); + sat_pref_run (); } @@ -444,84 +444,84 @@ static void menubar_tle_net_cb (GtkWidget *widget, gpointer data) { - GtkWidget *dialog; /* dialog window */ - GtkWidget *label; /* misc labels */ - GtkWidget *progress; /* progress indicator */ - GtkWidget *label1,*label2; /* activitity and stats labels */ - GtkWidget *box; + GtkWidget *dialog; /* dialog window */ + GtkWidget *label; /* misc labels */ + GtkWidget *progress; /* progress indicator */ + GtkWidget *label1,*label2; /* activitity and stats labels */ + GtkWidget *box; - + /* create new dialog with progress indicator */ - dialog = gtk_dialog_new_with_buttons (_("TLE Update"), - GTK_WINDOW (app), - GTK_DIALOG_MODAL | - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CLOSE, - GTK_RESPONSE_ACCEPT, - NULL); - //gtk_window_set_default_size (GTK_WINDOW (dialog), 500, 300); - gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), - GTK_RESPONSE_ACCEPT, - FALSE); + dialog = gtk_dialog_new_with_buttons (_("TLE Update"), + GTK_WINDOW (app), + GTK_DIALOG_MODAL | + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CLOSE, + GTK_RESPONSE_ACCEPT, + NULL); + //gtk_window_set_default_size (GTK_WINDOW (dialog), 500, 300); + gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), + GTK_RESPONSE_ACCEPT, + FALSE); - /* create a vbox */ - box = gtk_vbox_new (FALSE, 0); - gtk_container_set_border_width (GTK_CONTAINER (box), 20); - - /* add static label */ - label = gtk_label_new (NULL); - gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5); - gtk_label_set_markup (GTK_LABEL (label), - _("<b>Updating TLE files from network</b>")); - gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); + /* create a vbox */ + box = gtk_vbox_new (FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (box), 20); + + /* add static label */ + label = gtk_label_new (NULL); + gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5); + gtk_label_set_markup (GTK_LABEL (label), + _("<b>Updating TLE files from network</b>")); + gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); - /* activity label */ - label1 = gtk_label_new ("..."); - gtk_misc_set_alignment (GTK_MISC (label1), 0.5, 0.5); - gtk_box_pack_start (GTK_BOX (box), label1, FALSE, FALSE, 0); - - /* add progress bar */ - progress = gtk_progress_bar_new (); - gtk_box_pack_start (GTK_BOX (box), progress, FALSE, FALSE, 10); + /* activity label */ + label1 = gtk_label_new ("..."); + gtk_misc_set_alignment (GTK_MISC (label1), 0.5, 0.5); + gtk_box_pack_start (GTK_BOX (box), label1, FALSE, FALSE, 0); + + /* add progress bar */ + progress = gtk_progress_bar_new (); + gtk_box_pack_start (GTK_BOX (box), progress, FALSE, FALSE, 10); - /* statistics */ - label2 = gtk_label_new (_("Satellites updated:\t 0\n"\ - "Satellites skipped:\t 0\n"\ - "Missing Satellites:\t 0\n")); - gtk_box_pack_start (GTK_BOX (box), label2, TRUE, TRUE, 0); + /* statistics */ + label2 = gtk_label_new (_("Satellites updated:\t 0\n"\ + "Satellites skipped:\t 0\n"\ + "Missing Satellites:\t 0\n")); + gtk_box_pack_start (GTK_BOX (box), label2, TRUE, TRUE, 0); - /* finalise dialog */ - gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), box); - g_signal_connect_swapped (dialog, - "response", - G_CALLBACK (gtk_widget_destroy), - dialog); + /* finalise dialog */ + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), box); + g_signal_connect_swapped (dialog, + "response", + G_CALLBACK (gtk_widget_destroy), + dialog); - gtk_widget_show_all (dialog); + gtk_widget_show_all (dialog); - /* Force the drawing queue to be processed otherwise the dialog - may not appear before we enter the TLE updating func - - see Gtk+ FAQ http://www.gtk.org/faq/#AEN602 - */ - while (g_main_context_iteration (NULL, FALSE)); + /* Force the drawing queue to be processed otherwise the dialog + may not appear before we enter the TLE updating func + - see Gtk+ FAQ http://www.gtk.org/faq/#AEN602 + */ + while (g_main_context_iteration (NULL, FALSE)); - /* update TLE */ - tle_update_from_network (FALSE, progress, label1, label2); + /* update TLE */ + tle_update_from_network (FALSE, progress, label1, label2); - /* set progress bar to 100% */ - gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress), 1.0); + /* set progress bar to 100% */ + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress), 1.0); - gtk_label_set_text (GTK_LABEL (label1), _("Finished")); + gtk_label_set_text (GTK_LABEL (label1), _("Finished")); - /* enable close button */ - gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), - GTK_RESPONSE_ACCEPT, - TRUE); + /* enable close button */ + gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), + GTK_RESPONSE_ACCEPT, + TRUE); - /* reload satellites */ - mod_mgr_reload_sats (); + /* reload satellites */ + mod_mgr_reload_sats (); } @@ -546,157 +546,157 @@ static void menubar_tle_local_cb (GtkWidget *widget, gpointer data) { - gchar *dir; /* selected directory */ - GtkWidget *dir_chooser; /* directory chooser button */ - GtkWidget *dialog; /* dialog window */ - GtkWidget *label; /* misc labels */ - GtkWidget *progress; /* progress indicator */ - GtkWidget *label1,*label2; /* activitity and stats labels */ - GtkWidget *box; - gint response; /* dialog response */ - gboolean doupdate = FALSE; + gchar *dir; /* selected directory */ + GtkWidget *dir_chooser; /* directory chooser button */ + GtkWidget *dialog; /* dialog window */ + GtkWidget *label; /* misc labels */ + GtkWidget *progress; /* progress indicator */ + GtkWidget *label1,*label2; /* activitity and stats labels */ + GtkWidget *box; + gint response; /* dialog response */ + gboolean doupdate = FALSE; - /* get last used directory */ - dir = sat_cfg_get_str (SAT_CFG_STR_TLE_FILE_DIR); + /* get last used directory */ + dir = sat_cfg_get_str (SAT_CFG_STR_TLE_FILE_DIR); - /* if there is no last used dir fall back to $HOME */ - if (dir == NULL) { - dir = g_strdup (g_get_home_dir ()); - } + /* if there is no last used dir fall back to $HOME */ + if (dir == NULL) { + dir = g_strdup (g_get_home_dir ()); + } - /* create file chooser */ - dir_chooser = gtk_file_chooser_button_new (_("Select directory"), - GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); - gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dir_chooser), dir); - g_free (dir); + /* create file chooser */ + dir_chooser = gtk_file_chooser_button_new (_("Select directory"), + GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); + gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dir_chooser), dir); + g_free (dir); - /* create label */ - label = gtk_label_new (_("Select TLE directory:")); + /* create label */ + label = gtk_label_new (_("Select TLE directory:")); - /* pack label and chooser into a hbox */ - box = gtk_hbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 5); - gtk_box_pack_start (GTK_BOX (box), dir_chooser, TRUE, TRUE, 5); - gtk_widget_show_all (box); + /* pack label and chooser into a hbox */ + box = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 5); + gtk_box_pack_start (GTK_BOX (box), dir_chooser, TRUE, TRUE, 5); + gtk_widget_show_all (box); - /* create the dalog */ - dialog = gtk_dialog_new_with_buttons (_("Update TLE from files"), - GTK_WINDOW (app), - GTK_DIALOG_MODAL | - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CANCEL, - GTK_RESPONSE_REJECT, - GTK_STOCK_OK, - GTK_RESPONSE_ACCEPT, - NULL); - gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), box, TRUE, TRUE, 30); + /* create the dalog */ + dialog = gtk_dialog_new_with_buttons (_("Update TLE from files"), + GTK_WINDOW (app), + GTK_DIALOG_MODAL | + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CANCEL, + GTK_RESPONSE_REJECT, + GTK_STOCK_OK, + GTK_RESPONSE_ACCEPT, + NULL); + gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), box, TRUE, TRUE, 30); - response = gtk_dialog_run (GTK_DIALOG (dialog)); + response = gtk_dialog_run (GTK_DIALOG (dialog)); - switch (response) { + switch (response) { - case GTK_RESPONSE_ACCEPT: - /* set flag to indicate that we should do an update */ - doupdate = TRUE; - break; + case GTK_RESPONSE_ACCEPT: + /* set flag to indicate that we should do an update */ + doupdate = TRUE; + break; - default: - doupdate = FALSE; - break; - } + default: + doupdate = FALSE; + break; + } - /* get directory before we destroy the dialog */ - dir = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dir_chooser)); + /* get directory before we destroy the dialog */ + dir = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dir_chooser)); - /* nuke the dialog */ - gtk_widget_destroy (dialog); + /* nuke the dialog */ + gtk_widget_destroy (dialog); - if (doupdate) { + if (doupdate) { - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Running TLE update from %s"), - __FUNCTION__, dir); + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Running TLE update from %s"), + __FUNCTION__, dir); - /* store last used TLE dir */ - sat_cfg_set_str (SAT_CFG_STR_TLE_FILE_DIR, dir); + /* store last used TLE dir */ + sat_cfg_set_str (SAT_CFG_STR_TLE_FILE_DIR, dir); - /* create new dialog with progress indicator */ - dialog = gtk_dialog_new_with_buttons (_("TLE Update"), - GTK_WINDOW (app), - GTK_DIALOG_MODAL | - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CLOSE, - GTK_RESPONSE_ACCEPT, - NULL); - //gtk_window_set_default_size (GTK_WINDOW (dialog), 400,250); - gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), - GTK_RESPONSE_ACCEPT, - FALSE); + /* create new dialog with progress indicator */ + dialog = gtk_dialog_new_with_buttons (_("TLE Update"), + GTK_WINDOW (app), + GTK_DIALOG_MODAL | + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CLOSE, + GTK_RESPONSE_ACCEPT, + NULL); + //gtk_window_set_default_size (GTK_WINDOW (dialog), 400,250); + gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), + GTK_RESPONSE_ACCEPT, + FALSE); - /* create a vbox */ - box = gtk_vbox_new (FALSE, 0); - gtk_container_set_border_width (GTK_CONTAINER (box), 20); - - /* add static label */ - label = gtk_label_new (NULL); - gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5); - gtk_label_set_markup (GTK_LABEL (label), - _("<b>Updating TLE files from files</b>")); - gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); + /* create a vbox */ + box = gtk_vbox_new (FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (box), 20); + + /* add static label */ + label = gtk_label_new (NULL); + gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5); + gtk_label_set_markup (GTK_LABEL (label), + _("<b>Updating TLE files from files</b>")); + gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); - /* activity label */ - label1 = gtk_label_new ("..."); - gtk_misc_set_alignment (GTK_MISC (label1), 0.5, 0.5); - gtk_box_pack_start (GTK_BOX (box), label1, FALSE, FALSE, 0); - - - /* add progress bar */ - progress = gtk_progress_bar_new (); - gtk_box_pack_start (GTK_BOX (box), progress, FALSE, FALSE, 10); + /* activity label */ + label1 = gtk_label_new ("..."); + gtk_misc_set_alignment (GTK_MISC (label1), 0.5, 0.5); + gtk_box_pack_start (GTK_BOX (box), label1, FALSE, FALSE, 0); + + + /* add progress bar */ + progress = gtk_progress_bar_new (); + gtk_box_pack_start (GTK_BOX (box), progress, FALSE, FALSE, 10); - /* statistics */ - label2 = gtk_label_new (_("Satellites updated:\t 0\n"\ - "Satellites skipped:\t 0\n"\ - "Missing Satellites:\t 0\n")); - gtk_box_pack_start (GTK_BOX (box), label2, TRUE, TRUE, 0); + /* statistics */ + label2 = gtk_label_new (_("Satellites updated:\t 0\n"\ + "Satellites skipped:\t 0\n"\ + "Missing Satellites:\t 0\n")); + gtk_box_pack_start (GTK_BOX (box), label2, TRUE, TRUE, 0); - /* finalise dialog */ - gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), box); - g_signal_connect_swapped (dialog, - "response", - G_CALLBACK (gtk_widget_destroy), - dialog); + /* finalise dialog */ + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), box); + g_signal_connect_swapped (dialog, + "response", + G_CALLBACK (gtk_widget_destroy), + dialog); - gtk_widget_show_all (dialog); + gtk_widget_show_all (dialog); - /* Force the drawing queue to be processed otherwise the dialog - may not appear before we enter the TLE updating func - - see Gtk+ FAQ http://www.gtk.org/faq/#AEN602 - */ - while (g_main_context_iteration (NULL, FALSE)); + /* Force the drawing queue to be processed otherwise the dialog + may not appear before we enter the TLE updating func + - see Gtk+ FAQ http://www.gtk.org/faq/#AEN602 + */ + while (g_main_context_iteration (NULL, FALSE)); - /* update TLE */ - tle_update_from_files (dir, NULL, FALSE, progress, label1, label2); + /* update TLE */ + tle_update_from_files (dir, NULL, FALSE, progress, label1, label2); - /* set progress bar to 100% */ - gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress), 1.0); + /* set progress bar to 100% */ + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress), 1.0); - gtk_label_set_text (GTK_LABEL (label1), _("Finished")); + gtk_label_set_text (GTK_LABEL (label1), _("Finished")); - /* enable close button */ - gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), - GTK_RESPONSE_ACCEPT, - TRUE); + /* enable close button */ + gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), + GTK_RESPONSE_ACCEPT, + TRUE); - } + } - if (dir) - g_free (dir); + if (dir) + g_free (dir); - /* reload satellites */ - mod_mgr_reload_sats (); + /* reload satellites */ + mod_mgr_reload_sats (); } @@ -704,21 +704,21 @@ static void menubar_tle_manual_cb (GtkWidget *widget, gpointer data) { - GtkWidget *dialog; + GtkWidget *dialog; - dialog = gtk_message_dialog_new (GTK_WINDOW (app), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_INFO, - GTK_BUTTONS_OK, - _("This function is still under development.")); + dialog = gtk_message_dialog_new (GTK_WINDOW (app), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_INFO, + GTK_BUTTONS_OK, + _("This function is still under development.")); - /* Destroy the dialog when the user responds to it (e.g. clicks a button) */ - g_signal_connect_swapped (dialog, "response", - G_CALLBACK (gtk_widget_destroy), - dialog); + /* Destroy the dialog when the user responds to it (e.g. clicks a button) */ + g_signal_connect_swapped (dialog, "response", + G_CALLBACK (gtk_widget_destroy), + dialog); - gtk_widget_show_all (dialog); + gtk_widget_show_all (dialog); } @@ -728,76 +728,76 @@ static void menubar_window_cb (GtkWidget *widget, gpointer data) { - GtkWidget *dialog; + GtkWidget *dialog; - dialog = gtk_message_dialog_new (GTK_WINDOW (app), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_INFO, - GTK_BUTTONS_OK, - _("This function is still under development.")); + dialog = gtk_message_dialog_new (GTK_WINDOW (app), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_INFO, + GTK_BUTTONS_OK, + _("This function is still under development.")); - /* Destroy the dialog when the user responds to it (e.g. clicks a button) */ - g_signal_connect_swapped (dialog, "response", - G_CALLBACK (gtk_widget_destroy), - dialog); + /* Destroy the dialog when the user responds to it (e.g. clicks a button) */ + g_signal_connect_swapped (dialog, "response", + G_CALLBACK (gtk_widget_destroy), + dialog); - gtk_widget_show_all (dialog); + gtk_widget_show_all (dialog); } static void menubar_predict_cb (GtkWidget *widget, gpointer data) { - GtkWidget *dialog; + GtkWidget *dialog; - dialog = gtk_message_dialog_new (GTK_WINDOW (app), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_INFO, - GTK_BUTTONS_OK, - _("This function is still under development.")); + dialog = gtk_message_dialog_new (GTK_WINDOW (app), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_INFO, + GTK_BUTTONS_OK, + _("This function is still under development.")); - /* Destroy the dialog when the user responds to it (e.g. clicks a button) */ - g_signal_connect_swapped (dialog, "response", - G_CALLBACK (gtk_widget_destroy), - dialog); + /* Destroy the dialog when the user responds to it (e.g. clicks a button) */ + g_signal_connect_swapped (dialog, "response", + G_CALLBACK (gtk_widget_destroy), + dialog); - gtk_widget_show_all (dialog); + gtk_widget_show_all (dialog); } static void menubar_getting_started_cb (GtkWidget *widget, gpointer data) { - gpredict_help_launch (GPREDICT_HELP_GETTING_STARTED); + gpredict_help_launch (GPREDICT_HELP_GETTING_STARTED); } static void menubar_help_cb (GtkWidget *widget, gpointer data) { - gpredict_help_launch (GPREDICT_HELP_USER_MANUAL); + gpredict_help_launch (GPREDICT_HELP_USER_MANUAL); } static void menubar_license_cb (GtkWidget *widget, gpointer data) { - gpredict_help_show_txt ("COPYING"); + gpredict_help_show_txt ("COPYING"); } static void menubar_news_cb (GtkWidget *widget, gpointer data) { - gpredict_help_show_txt ("NEWS"); + gpredict_help_show_txt ("NEWS"); } static void menubar_about_cb (GtkWidget *widget, gpointer data) { - about_dialog_create (); + about_dialog_create (); } @@ -812,150 +812,150 @@ static gchar * select_module () { - GtkWidget *dialog; /* the dialog window */ - GtkWidget *modlist; /* the treeview widget */ - GtkListStore *liststore; /* the list store data structure */ - GtkCellRenderer *renderer; - GtkTreeViewColumn *column; - GtkTreeIter item; /* new item added to the list store */ - GtkTreeSelection *selection; - GtkTreeModel *selmod; - GDir *dir = NULL; /* directory handle */ - GError *error = NULL; /* error flag and info */ - gchar *dirname; /* directory name */ - const gchar *filename; /* file name */ - gchar **buffv; - guint count = 0; + GtkWidget *dialog; /* the dialog window */ + GtkWidget *modlist; /* the treeview widget */ + GtkListStore *liststore; /* the list store data structure */ + GtkCellRenderer *renderer; + GtkTreeViewColumn *column; + GtkTreeIter item; /* new item added to the list store */ + GtkTreeSelection *selection; + GtkTreeModel *selmod; + GDir *dir = NULL; /* directory handle */ + GError *error = NULL; /* error flag and info */ + gchar *dirname; /* directory name */ + const gchar *filename; /* file name */ + gchar **buffv; + guint count = 0; - /* create and fill data model */ - liststore = gtk_list_store_new (1, G_TYPE_STRING); + /* 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 - */ - dirname = g_strconcat (g_get_home_dir (), - G_DIR_SEPARATOR_S, ".gpredict2", - G_DIR_SEPARATOR_S, "modules", - NULL); - dir = g_dir_open (dirname, 0, &error); + /* scan for .qth files in the user config directory and + add the contents of each .qth file to the list store + */ + dirname = g_strconcat (g_get_home_dir (), + G_DIR_SEPARATOR_S, ".gpredict2", + G_DIR_SEPARATOR_S, "modules", + NULL); + dir = g_dir_open (dirname, 0, &error); - if (dir) { + if (dir) { - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s:%s: Scanning directory %s for modules."), - __FILE__, __FUNCTION__, dirname); + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s:%s: Scanning directory %s for modules."), + __FILE__, __FUNCTION__, dirname); - while ((filename = g_dir_read_name (dir))) { + while ((filename = g_dir_read_name (dir))) { - if (g_strrstr (filename, ".mod")) { + if (g_strrstr (filename, ".mod")) { - /* strip extension and add to list */ - buffv = g_strsplit (filename, ".mod", 0); + /* strip extension and add to list */ + buffv = g_strsplit (filename, ".mod", 0); - gtk_list_store_append (liststore, &item); - gtk_list_store_set (liststore, &item, - 0, buffv[0], - -1); + gtk_list_store_append (liststore, &item); + gtk_list_store_set (liststore, &item, + 0, buffv[0], + -1); - g_strfreev (buffv); + g_strfreev (buffv); - count++; - } - } - } - else { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s:%d: Failed to open module dir %s (%s)"), - __FILE__, __LINE__, dirname, error->message); - g_clear_error (&error); - } + count++; + } + } + } + else { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%d: Failed to open module dir %s (%s)"), + __FILE__, __LINE__, dirname, error->message); + g_clear_error (&error); + } - g_free (dirname); - g_dir_close (dir); + g_free (dirname); + g_dir_close (dir); - if (count < 1) { - /* tell user that there are no modules, try "New" instead */ - dialog = gtk_message_dialog_new (GTK_WINDOW (app), - GTK_DIALOG_MODAL | - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_INFO, - GTK_BUTTONS_OK, - _("You do not have any modules "\ - "set up yet. Please use File->New "\ - "in order to create a module.")); + if (count < 1) { + /* tell user that there are no modules, try "New" instead */ + dialog = gtk_message_dialog_new (GTK_WINDOW (app), + GTK_DIALOG_MODAL | + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_INFO, + GTK_BUTTONS_OK, + _("You do not have any modules "\ + "set up yet. Please use File->New "\ + "in order to create a module.")); - gtk_dialog_run (GTK_DIALOG (dialog)); - gtk_widget_destroy (dialog); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); - return NULL; - } + return NULL; + } - /* create tree view */ - modlist = gtk_tree_view_new (); - gtk_tree_view_set_model (GTK_TREE_VIEW (modlist), GTK_TREE_MODEL (liststore)); - g_object_unref (liststore); + /* create tree view */ + modlist = gtk_tree_view_new (); + gtk_tree_view_set_model (GTK_TREE_VIEW (modlist), GTK_TREE_MODEL (liststore)); + g_object_unref (liststore); - /*** FIXME: Add g_stat info? */ + /*** FIXME: Add g_stat info? */ - renderer = gtk_cell_renderer_text_new (); - column = gtk_tree_view_column_new_with_attributes (_("Module"), renderer, - "text", 0, - NULL); - gtk_tree_view_insert_column (GTK_TREE_VIEW (modlist), column, -1); + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes (_("Module"), renderer, + "text", 0, + NULL); + gtk_tree_view_insert_column (GTK_TREE_VIEW (modlist), column, -1); - gtk_widget_show (modlist); + gtk_widget_show (modlist); - /* create dialog */ - dialog = gtk_dialog_new_with_buttons (_("Select a module"), - GTK_WINDOW (app), - GTK_DIALOG_MODAL | - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL, - GTK_STOCK_OK, - GTK_RESPONSE_OK, - NULL); + /* create dialog */ + dialog = gtk_dialog_new_with_buttons (_("Select a module"), + GTK_WINDOW (app), + GTK_DIALOG_MODAL | + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CANCEL, + GTK_RESPONSE_CANCEL, + GTK_STOCK_OK, + GTK_RESPONSE_OK, + NULL); - gtk_window_set_default_size (GTK_WINDOW (dialog), -1, 200); + gtk_window_set_default_size (GTK_WINDOW (dialog), -1, 200); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), modlist); + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), modlist); - switch (gtk_dialog_run (GTK_DIALOG (dialog))) { + switch (gtk_dialog_run (GTK_DIALOG (dialog))) { - /* user pressed OK */ - case GTK_RESPONSE_OK: + /* user pressed OK */ + case GTK_RESPONSE_OK: - selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (modlist)); + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (modlist)); - if (gtk_tree_selection_get_selected (selection, &selmod, &item)) { - gtk_tree_model_get (selmod, &item, - 0, &dirname, - -1); + if (gtk_tree_selection_get_selected (selection, &selmod, &item)) { + gtk_tree_model_get (selmod, &item, + 0, &dirname, + -1); - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s:%s: Selected module is: %s"), - __FILE__, __FUNCTION__, dirname); - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s:%s: No selection is list of modules."), - __FILE__, __FUNCTION__); + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s:%s: Selected module is: %s"), + __FILE__, __FUNCTION__, dirname); + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s:%s: No selection is list of modules."), + __FILE__, __FUNCTION__); - dirname = NULL; - } + dirname = NULL; + } - break; + break; - /* everything else is regarded as CANCEL */ - default: - dirname = NULL; - break; - } + /* everything else is regarded as CANCEL */ + default: + dirname = NULL; + break; + } - gtk_widget_destroy (dialog); - + gtk_widget_destroy (dialog); + - return dirname; + return dirname; } @@ -968,99 +968,99 @@ static void create_module_window (GtkWidget *module) { - gint w,h; - gchar *icon; /* icon file name */ - gchar *title; /* window title */ + gint w,h; + gchar *icon; /* icon file name */ + gchar *title; /* window title */ - /* get stored size; use size from main window if size not explicitly stoed */ - if (g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_WIDTH, - NULL)) { - w = g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_WIDTH, - NULL); - } - else { - w = module->allocation.width; - } - if (g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_HEIGHT, - NULL)) { - h = g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_HEIGHT, - NULL); - } - else { - h = module->allocation.height; - } + /* get stored size; use size from main window if size not explicitly stoed */ + if (g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_WIDTH, + NULL)) { + w = g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_WIDTH, + NULL); + } + else { + w = module->allocation.width; + } + if (g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_HEIGHT, + NULL)) { + h = g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_HEIGHT, + NULL); + } + else { + h = module->allocation.height; + } - /* increase reference count of module */ - //g_object_ref (module); + /* increase reference count of module */ + //g_object_ref (module); - /* we don't need the positions */ - //GTK_SAT_MODULE (module)->vpanedpos = -1; - //GTK_SAT_MODULE (module)->hpanedpos = -1; + /* we don't need the positions */ + //GTK_SAT_MODULE (module)->vpanedpos = -1; + //GTK_SAT_MODULE (module)->hpanedpos = -1; - /* undock from mod-mgr */ - //mod_mgr_undock_module (module); + /* undock from mod-mgr */ + //mod_mgr_undock_module (module); - /* create window */ - GTK_SAT_MODULE (module)->win = gtk_window_new (GTK_WINDOW_TOPLEVEL); - title = g_strconcat ("GPREDICT: ", - GTK_SAT_MODULE (module)->name, - " (", GTK_SAT_MODULE (module)->qth->name, ")", - NULL); - gtk_window_set_title (GTK_WINDOW (GTK_SAT_MODULE (module)->win), title); - g_free (title); - gtk_window_set_default_size (GTK_WINDOW (GTK_SAT_MODULE (module)->win), w, h); - g_signal_connect (G_OBJECT (GTK_SAT_MODULE (module)->win), "configure_event", - G_CALLBACK (module_window_config_cb), module); + /* create window */ + GTK_SAT_MODULE (module)->win = gtk_window_new (GTK_WINDOW_TOPLEVEL); + title = g_strconcat ("GPREDICT: ", + GTK_SAT_MODULE (module)->name, + " (", GTK_SAT_MODULE (module)->qth->name, ")", + NULL); + gtk_window_set_title (GTK_WINDOW (GTK_SAT_MODULE (module)->win), title); + g_free (title); + gtk_window_set_default_size (GTK_WINDOW (GTK_SAT_MODULE (module)->win), w, h); + g_signal_connect (G_OBJECT (GTK_SAT_MODULE (module)->win), "configure_event", + G_CALLBACK (module_window_config_cb), module); - /* window icon */ - icon = icon_file_name ("gpredict-icon.png"); - if (g_file_test (icon, G_FILE_TEST_EXISTS)) { - gtk_window_set_icon_from_file (GTK_WINDOW (GTK_SAT_MODULE (module)->win), icon, NULL); - } - g_free (icon); + /* window icon */ + icon = icon_file_name ("gpredict-icon.png"); + if (g_file_test (icon, G_FILE_TEST_EXISTS)) { + gtk_window_set_icon_from_file (GTK_WINDOW (GTK_SAT_MODULE (module)->win), icon, NULL); + } + g_free (icon); - /* move window to stored position if requested by configuration */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_MOD_WIN_POS) && - g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_POS_X, - NULL) && - g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_POS_Y, - NULL)) { + /* move window to stored position if requested by configuration */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_MOD_WIN_POS) && + g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_POS_X, + NULL) && + g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_POS_Y, + NULL)) { - gtk_window_move (GTK_WINDOW (GTK_SAT_MODULE (module)->win), - g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_POS_X, NULL), - g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_POS_Y, - NULL)); + gtk_window_move (GTK_WINDOW (GTK_SAT_MODULE (module)->win), + g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_POS_X, NULL), + g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_POS_Y, + NULL)); - } + } - /* add module to window */ - gtk_container_add (GTK_CONTAINER (GTK_SAT_MODULE (module)->win), module); + /* add module to window */ + gtk_container_add (GTK_CONTAINER (GTK_SAT_MODULE (module)->win), module); - /* show window */ - gtk_widget_show_all (GTK_SAT_MODULE (module)->win); + /* show window */ + gtk_widget_show_all (GTK_SAT_MODULE (module)->win); - /* reparent time manager window if visible */ - if (GTK_SAT_MODULE (module)->tmgActive) { - gtk_window_set_transient_for (GTK_WINDOW (GTK_SAT_MODULE (module)->tmgWin), - GTK_WINDOW (GTK_SAT_MODULE (module)->win)); - } + /* reparent time manager window if visible */ + if (GTK_SAT_MODULE (module)->tmgActive) { + gtk_window_set_transient_for (GTK_WINDOW (GTK_SAT_MODULE (module)->tmgWin), + GTK_WINDOW (GTK_SAT_MODULE (module)->win)); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-01 23:06:58
|
Revision: 284 http://gpredict.svn.sourceforge.net/gpredict/?rev=284&view=rev Author: csete Date: 2009-05-01 23:06:55 +0000 (Fri, 01 May 2009) Log Message: ----------- Fixed indent. Modified Paths: -------------- trunk/src/gtk-sat-map.c trunk/src/gtk-sat-map.h Modified: trunk/src/gtk-sat-map.c =================================================================== --- trunk/src/gtk-sat-map.c 2009-05-01 23:04:14 UTC (rev 283) +++ trunk/src/gtk-sat-map.c 2009-05-01 23:06:55 UTC (rev 284) @@ -58,7 +58,7 @@ #endif #include <goocanvas.h> -#define MARKER_SIZE_HALF 1 +#define MARKER_SIZE_HALF 1 static void gtk_sat_map_class_init (GtkSatMapClass *class); static void gtk_sat_map_init (GtkSatMap *polview); @@ -70,22 +70,22 @@ static void lonlat_to_xy (GtkSatMap *m, gdouble lon, gdouble lat, gfloat *x, gfloat *y); static void xy_to_lonlat (GtkSatMap *m, gfloat x, gfloat y, gfloat *lon, gfloat *lat); static gboolean on_motion_notify (GooCanvasItem *item, - GooCanvasItem *target, - GdkEventMotion *event, - gpointer data); + GooCanvasItem *target, + GdkEventMotion *event, + gpointer data); static void on_item_created (GooCanvas *canvas, - GooCanvasItem *item, - GooCanvasItemModel *model, - gpointer data); + GooCanvasItem *item, + GooCanvasItemModel *model, + gpointer data); static void on_canvas_realized (GtkWidget *canvas, gpointer data); static gboolean on_button_press (GooCanvasItem *item, - GooCanvasItem *target, - GdkEventButton *event, - gpointer data); + GooCanvasItem *target, + GdkEventButton *event, + gpointer data); static gboolean on_button_release (GooCanvasItem *item, - GooCanvasItem *target, - GdkEventButton *event, - gpointer data); + GooCanvasItem *target, + GdkEventButton *event, + gpointer data); static void clear_selection (gpointer key, gpointer val, gpointer data); static void load_map_file (GtkSatMap *satmap); static GooCanvasItemModel* create_canvas_model (GtkSatMap *satmap); @@ -111,28 +111,28 @@ GtkType gtk_sat_map_get_type () { - static GType gtk_sat_map_type = 0; + static GType gtk_sat_map_type = 0; - if (!gtk_sat_map_type) { - static const GTypeInfo gtk_sat_map_info = { - sizeof (GtkSatMapClass), - NULL, /* base init */ - NULL, /* base finalize */ - (GClassInitFunc) gtk_sat_map_class_init, - NULL, /* class finalize */ - NULL, /* class data */ - sizeof (GtkSatMap), - 5, /* n_preallocs */ - (GInstanceInitFunc) gtk_sat_map_init, - }; + if (!gtk_sat_map_type) { + static const GTypeInfo gtk_sat_map_info = { + sizeof (GtkSatMapClass), + NULL, /* base init */ + NULL, /* base finalize */ + (GClassInitFunc) gtk_sat_map_class_init, + NULL, /* class finalize */ + NULL, /* class data */ + sizeof (GtkSatMap), + 5, /* n_preallocs */ + (GInstanceInitFunc) gtk_sat_map_init, + }; - gtk_sat_map_type = g_type_register_static (GTK_TYPE_VBOX, - "GtkSatMap", - >k_sat_map_info, - 0); - } + gtk_sat_map_type = g_type_register_static (GTK_TYPE_VBOX, + "GtkSatMap", + >k_sat_map_info, + 0); + } - return gtk_sat_map_type; + return gtk_sat_map_type; } @@ -140,20 +140,20 @@ static void gtk_sat_map_class_init (GtkSatMapClass *class) { - GObjectClass *gobject_class; - GtkObjectClass *object_class; - GtkWidgetClass *widget_class; - GtkContainerClass *container_class; + GObjectClass *gobject_class; + GtkObjectClass *object_class; + GtkWidgetClass *widget_class; + GtkContainerClass *container_class; - gobject_class = G_OBJECT_CLASS (class); - object_class = (GtkObjectClass*) class; - widget_class = (GtkWidgetClass*) class; - container_class = (GtkContainerClass*) class; + gobject_class = G_OBJECT_CLASS (class); + object_class = (GtkObjectClass*) class; + widget_class = (GtkWidgetClass*) class; + container_class = (GtkContainerClass*) class; - parent_class = g_type_class_peek_parent (class); + parent_class = g_type_class_peek_parent (class); - object_class->destroy = gtk_sat_map_destroy; - /* widget_class->size_allocate = gtk_sat_map_size_allocate; */ + object_class->destroy = gtk_sat_map_destroy; + /* widget_class->size_allocate = gtk_sat_map_size_allocate; */ } @@ -161,24 +161,24 @@ static void gtk_sat_map_init (GtkSatMap *satmap) { - satmap->sats = NULL; - satmap->qth = NULL; - satmap->obj = NULL; - satmap->naos = 2458849.5; - satmap->ncat = 0; - satmap->tstamp = 2458849.5; - satmap->x0 = 0; - satmap->y0 = 0; - satmap->width = 0; - satmap->height = 0; - satmap->refresh = 0; - satmap->counter = 0; - satmap->qthinfo = FALSE; - satmap->eventinfo = FALSE; - satmap->cursinfo = FALSE; - satmap->showgrid = FALSE; - satmap->keepratio = FALSE; - satmap->resize = FALSE; + satmap->sats = NULL; + satmap->qth = NULL; + satmap->obj = NULL; + satmap->naos = 2458849.5; + satmap->ncat = 0; + satmap->tstamp = 2458849.5; + satmap->x0 = 0; + satmap->y0 = 0; + satmap->width = 0; + satmap->height = 0; + satmap->refresh = 0; + satmap->counter = 0; + satmap->qthinfo = FALSE; + satmap->eventinfo = FALSE; + satmap->cursinfo = FALSE; + satmap->showgrid = FALSE; + satmap->keepratio = FALSE; + satmap->resize = FALSE; } @@ -186,7 +186,7 @@ static void gtk_sat_map_destroy (GtkObject *object) { - (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); + (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); } @@ -199,99 +199,99 @@ GtkWidget* gtk_sat_map_new (GKeyFile *cfgdata, GHashTable *sats, qth_t *qth) { - GtkWidget *satmap; - GooCanvasItemModel *root; - guint32 col; + GtkWidget *satmap; + GooCanvasItemModel *root; + guint32 col; - satmap = g_object_new (GTK_TYPE_SAT_MAP, NULL); + satmap = g_object_new (GTK_TYPE_SAT_MAP, NULL); - GTK_SAT_MAP (satmap)->cfgdata = cfgdata; - GTK_SAT_MAP (satmap)->sats = sats; - GTK_SAT_MAP (satmap)->qth = qth; + GTK_SAT_MAP (satmap)->cfgdata = cfgdata; + GTK_SAT_MAP (satmap)->sats = sats; + GTK_SAT_MAP (satmap)->qth = qth; - GTK_SAT_MAP (satmap)->obj = g_hash_table_new_full (g_int_hash, g_int_equal, g_free, NULL); + GTK_SAT_MAP (satmap)->obj = g_hash_table_new_full (g_int_hash, g_int_equal, g_free, NULL); - /* get settings */ - GTK_SAT_MAP (satmap)->refresh = mod_cfg_get_int (cfgdata, - MOD_CFG_MAP_SECTION, - MOD_CFG_MAP_REFRESH, - SAT_CFG_INT_MAP_REFRESH); - GTK_SAT_MAP (satmap)->counter = 1; + /* get settings */ + GTK_SAT_MAP (satmap)->refresh = mod_cfg_get_int (cfgdata, + MOD_CFG_MAP_SECTION, + MOD_CFG_MAP_REFRESH, + SAT_CFG_INT_MAP_REFRESH); + GTK_SAT_MAP (satmap)->counter = 1; - GTK_SAT_MAP (satmap)->qthinfo = mod_cfg_get_bool (cfgdata, - MOD_CFG_MAP_SECTION, - MOD_CFG_MAP_SHOW_QTH_INFO, - SAT_CFG_BOOL_MAP_SHOW_QTH_INFO); + GTK_SAT_MAP (satmap)->qthinfo = mod_cfg_get_bool (cfgdata, + MOD_CFG_MAP_SECTION, + MOD_CFG_MAP_SHOW_QTH_INFO, + SAT_CFG_BOOL_MAP_SHOW_QTH_INFO); - GTK_SAT_MAP (satmap)->eventinfo = mod_cfg_get_bool (cfgdata, - MOD_CFG_MAP_SECTION, - MOD_CFG_MAP_SHOW_NEXT_EVENT, - SAT_CFG_BOOL_MAP_SHOW_NEXT_EV); + GTK_SAT_MAP (satmap)->eventinfo = mod_cfg_get_bool (cfgdata, + MOD_CFG_MAP_SECTION, + MOD_CFG_MAP_SHOW_NEXT_EVENT, + SAT_CFG_BOOL_MAP_SHOW_NEXT_EV); - GTK_SAT_MAP (satmap)->cursinfo = mod_cfg_get_bool (cfgdata, - MOD_CFG_MAP_SECTION, - MOD_CFG_MAP_SHOW_CURS_TRACK, - SAT_CFG_BOOL_MAP_SHOW_CURS_TRACK); + GTK_SAT_MAP (satmap)->cursinfo = mod_cfg_get_bool (cfgdata, + MOD_CFG_MAP_SECTION, + MOD_CFG_MAP_SHOW_CURS_TRACK, + SAT_CFG_BOOL_MAP_SHOW_CURS_TRACK); - GTK_SAT_MAP (satmap)->showgrid = mod_cfg_get_bool (cfgdata, - MOD_CFG_MAP_SECTION, - MOD_CFG_MAP_SHOW_GRID, - SAT_CFG_BOOL_MAP_SHOW_GRID); + GTK_SAT_MAP (satmap)->showgrid = mod_cfg_get_bool (cfgdata, + MOD_CFG_MAP_SECTION, + MOD_CFG_MAP_SHOW_GRID, + SAT_CFG_BOOL_MAP_SHOW_GRID); - GTK_SAT_MAP (satmap)->keepratio = mod_cfg_get_bool (cfgdata, - MOD_CFG_MAP_SECTION, - MOD_CFG_MAP_KEEP_RATIO, - SAT_CFG_BOOL_MAP_KEEP_RATIO); - col = mod_cfg_get_int (cfgdata, - MOD_CFG_MAP_SECTION, - MOD_CFG_MAP_INFO_BGD_COL, - SAT_CFG_INT_MAP_INFO_BGD_COL); + GTK_SAT_MAP (satmap)->keepratio = mod_cfg_get_bool (cfgdata, + MOD_CFG_MAP_SECTION, + MOD_CFG_MAP_KEEP_RATIO, + SAT_CFG_BOOL_MAP_KEEP_RATIO); + col = mod_cfg_get_int (cfgdata, + MOD_CFG_MAP_SECTION, + MOD_CFG_MAP_INFO_BGD_COL, + SAT_CFG_INT_MAP_INFO_BGD_COL); - GTK_SAT_MAP (satmap)->infobgd = rgba2html (col); + GTK_SAT_MAP (satmap)->infobgd = rgba2html (col); - /* create the canvas */ - GTK_SAT_MAP (satmap)->canvas = goo_canvas_new (); + /* create the canvas */ + GTK_SAT_MAP (satmap)->canvas = goo_canvas_new (); - /* safely load a background map */ - load_map_file (GTK_SAT_MAP (satmap)); + /* safely load a background map */ + load_map_file (GTK_SAT_MAP (satmap)); - /* Initial size request should be based on map size - but if we do this we can not shrink the canvas below this size - even though the map shrinks => better to set default size of - main container window. - */ - /* gtk_widget_set_size_request (GTK_SAT_MAP (satmap)->canvas, */ - /* gdk_pixbuf_get_width (GTK_SAT_MAP (satmap)->origmap), */ - /* gdk_pixbuf_get_height (GTK_SAT_MAP (satmap)->origmap)); */ + /* Initial size request should be based on map size + but if we do this we can not shrink the canvas below this size + even though the map shrinks => better to set default size of + main container window. + */ + /* gtk_widget_set_size_request (GTK_SAT_MAP (satmap)->canvas, */ + /* gdk_pixbuf_get_width (GTK_SAT_MAP (satmap)->origmap), */ + /* gdk_pixbuf_get_height (GTK_SAT_MAP (satmap)->origmap)); */ - goo_canvas_set_bounds (GOO_CANVAS (GTK_SAT_MAP (satmap)->canvas), 0, 0, - gdk_pixbuf_get_width (GTK_SAT_MAP (satmap)->origmap), - gdk_pixbuf_get_height (GTK_SAT_MAP (satmap)->origmap)); + goo_canvas_set_bounds (GOO_CANVAS (GTK_SAT_MAP (satmap)->canvas), 0, 0, + gdk_pixbuf_get_width (GTK_SAT_MAP (satmap)->origmap), + gdk_pixbuf_get_height (GTK_SAT_MAP (satmap)->origmap)); - /* connect size-request signal */ - g_signal_connect (GTK_SAT_MAP (satmap)->canvas, "size-allocate", - G_CALLBACK (size_allocate_cb), satmap); - g_signal_connect (GTK_SAT_MAP (satmap)->canvas, "item_created", - (GtkSignalFunc) on_item_created, satmap); - g_signal_connect_after (GTK_SAT_MAP (satmap)->canvas, "realize", - (GtkSignalFunc) on_canvas_realized, satmap); + /* connect size-request signal */ + g_signal_connect (GTK_SAT_MAP (satmap)->canvas, "size-allocate", + G_CALLBACK (size_allocate_cb), satmap); + g_signal_connect (GTK_SAT_MAP (satmap)->canvas, "item_created", + (GtkSignalFunc) on_item_created, satmap); + g_signal_connect_after (GTK_SAT_MAP (satmap)->canvas, "realize", + (GtkSignalFunc) on_canvas_realized, satmap); - gtk_widget_show (GTK_SAT_MAP (satmap)->canvas); + gtk_widget_show (GTK_SAT_MAP (satmap)->canvas); - /* create the canvas model */ - root = create_canvas_model (GTK_SAT_MAP (satmap)); - goo_canvas_set_root_item_model (GOO_CANVAS (GTK_SAT_MAP (satmap)->canvas), root); + /* create the canvas model */ + root = create_canvas_model (GTK_SAT_MAP (satmap)); + goo_canvas_set_root_item_model (GOO_CANVAS (GTK_SAT_MAP (satmap)->canvas), root); - g_object_unref (root); + g_object_unref (root); - /* plot each sat on the canvas */ - g_hash_table_foreach (GTK_SAT_MAP (satmap)->sats, plot_sat, GTK_SAT_MAP (satmap)); + /* plot each sat on the canvas */ + g_hash_table_foreach (GTK_SAT_MAP (satmap)->sats, plot_sat, GTK_SAT_MAP (satmap)); - /* gtk_box_pack_start (GTK_BOX (satmap), GTK_SAT_MAP (satmap)->swin, TRUE, TRUE, 0); */ - gtk_container_add (GTK_CONTAINER (satmap), GTK_SAT_MAP (satmap)->canvas); + /* gtk_box_pack_start (GTK_BOX (satmap), GTK_SAT_MAP (satmap)->swin, TRUE, TRUE, 0); */ + gtk_container_add (GTK_CONTAINER (satmap), GTK_SAT_MAP (satmap)->canvas); - return satmap; + return satmap; } @@ -305,127 +305,127 @@ static GooCanvasItemModel * create_canvas_model (GtkSatMap *satmap) { - GooCanvasItemModel *root; - gchar *buff; - gfloat x,y; - guint32 col; + GooCanvasItemModel *root; + gchar *buff; + gfloat x,y; + guint32 col; - root = goo_canvas_group_model_new (NULL, NULL); + root = goo_canvas_group_model_new (NULL, NULL); - /* map dimensions */ - satmap->width = gdk_pixbuf_get_width (satmap->origmap); - satmap->height = gdk_pixbuf_get_height (satmap->origmap); - satmap->x0 = 0; - satmap->y0 = 0; + /* map dimensions */ + satmap->width = gdk_pixbuf_get_width (satmap->origmap); + satmap->height = gdk_pixbuf_get_height (satmap->origmap); + satmap->x0 = 0; + satmap->y0 = 0; - /* background map */ - satmap->map = goo_canvas_image_model_new (root, - satmap->origmap, - satmap->x0, - satmap->y0, - NULL); + /* background map */ + satmap->map = goo_canvas_image_model_new (root, + satmap->origmap, + satmap->x0, + satmap->y0, + NULL); - goo_canvas_item_model_lower (satmap->map, NULL); + goo_canvas_item_model_lower (satmap->map, NULL); - /* grid lines */ - draw_grid_lines (satmap, root); + /* grid lines */ + draw_grid_lines (satmap, root); - /* QTH mark */ - col = mod_cfg_get_int (satmap->cfgdata, - MOD_CFG_MAP_SECTION, - MOD_CFG_MAP_QTH_COL, - SAT_CFG_INT_MAP_QTH_COL); + /* QTH mark */ + col = mod_cfg_get_int (satmap->cfgdata, + MOD_CFG_MAP_SECTION, + MOD_CFG_MAP_QTH_COL, + SAT_CFG_INT_MAP_QTH_COL); - lonlat_to_xy (satmap, satmap->qth->lon, satmap->qth->lat, &x, &y); - - satmap->qthmark = goo_canvas_rect_model_new (root, - x - MARKER_SIZE_HALF, - y - MARKER_SIZE_HALF, - 2 * MARKER_SIZE_HALF, - 2 * MARKER_SIZE_HALF, - "fill-color-rgba", col, - "stroke-color-rgba", col, - NULL); + lonlat_to_xy (satmap, satmap->qth->lon, satmap->qth->lat, &x, &y); + + satmap->qthmark = goo_canvas_rect_model_new (root, + x - MARKER_SIZE_HALF, + y - MARKER_SIZE_HALF, + 2 * MARKER_SIZE_HALF, + 2 * MARKER_SIZE_HALF, + "fill-color-rgba", col, + "stroke-color-rgba", col, + NULL); - satmap->qthlabel = goo_canvas_text_model_new (root, satmap->qth->name, - x, y+2, -1, - GTK_ANCHOR_NORTH, - "font", "Sans 8", - "fill-color-rgba", col, - NULL); + satmap->qthlabel = goo_canvas_text_model_new (root, satmap->qth->name, + x, y+2, -1, + GTK_ANCHOR_NORTH, + "font", "Sans 8", + "fill-color-rgba", col, + NULL); - /* QTH info */ - col = mod_cfg_get_int (satmap->cfgdata, - MOD_CFG_MAP_SECTION, - MOD_CFG_MAP_INFO_COL, - SAT_CFG_INT_MAP_INFO_COL); + /* QTH info */ + col = mod_cfg_get_int (satmap->cfgdata, + MOD_CFG_MAP_SECTION, + MOD_CFG_MAP_INFO_COL, + SAT_CFG_INT_MAP_INFO_COL); - satmap->locnam = goo_canvas_text_model_new (root, "", - satmap->x0 + 2, satmap->y0 + 1, -1, - GTK_ANCHOR_NORTH_WEST, - "font", "Sans 8", - "fill-color-rgba", col, - "use-markup", TRUE, - NULL); + satmap->locnam = goo_canvas_text_model_new (root, "", + satmap->x0 + 2, satmap->y0 + 1, -1, + GTK_ANCHOR_NORTH_WEST, + "font", "Sans 8", + "fill-color-rgba", col, + "use-markup", TRUE, + NULL); - /* set text only if QTH info is enabled */ - if (satmap->qthinfo) { - /* For now only QTH name and location. - It would be nice with coordinates (remember NWSE setting) - and Maidenhead locator, when using hamlib. - - Note: I used pango markup to set the background color, I didn't find any - other obvious ways to get the text height in pixels to draw rectangle. - */ - buff = g_strdup_printf ("<span background=\"#%s\"> %s \302\267 %s </span>", - satmap->infobgd, - satmap->qth->name, - satmap->qth->loc); - g_object_set (satmap->locnam, "text", buff, NULL); - g_free (buff); - } + /* set text only if QTH info is enabled */ + if (satmap->qthinfo) { + /* For now only QTH name and location. + It would be nice with coordinates (remember NWSE setting) + and Maidenhead locator, when using hamlib. + + Note: I used pango markup to set the background color, I didn't find any + other obvious ways to get the text height in pixels to draw rectangle. + */ + buff = g_strdup_printf ("<span background=\"#%s\"> %s \302\267 %s </span>", + satmap->infobgd, + satmap->qth->name, + satmap->qth->loc); + g_object_set (satmap->locnam, "text", buff, NULL); + g_free (buff); + } - /* next event */ - satmap->next = goo_canvas_text_model_new (root, "", - satmap->x0+satmap->width - 2, - satmap->y0 + 1, -1, - GTK_ANCHOR_NORTH_EAST, - "font", "Sans 8", - "fill-color-rgba", col, - "use-markup", TRUE, - NULL); + /* next event */ + satmap->next = goo_canvas_text_model_new (root, "", + satmap->x0+satmap->width - 2, + satmap->y0 + 1, -1, + GTK_ANCHOR_NORTH_EAST, + "font", "Sans 8", + "fill-color-rgba", col, + "use-markup", TRUE, + NULL); - /* set text only if QTH info is enabled */ - if (satmap->eventinfo) { - buff = g_strdup_printf ("<span background=\"#%s\"> ... </span>", - satmap->infobgd); - g_object_set (satmap->next, "text", buff, NULL); - g_free (buff); - } + /* set text only if QTH info is enabled */ + if (satmap->eventinfo) { + buff = g_strdup_printf ("<span background=\"#%s\"> ... </span>", + satmap->infobgd); + g_object_set (satmap->next, "text", buff, NULL); + g_free (buff); + } - /* cursor track */ - satmap->curs = goo_canvas_text_model_new (root, "", - satmap->x0 + 2, - satmap->y0 + satmap->height - 1, - -1, - GTK_ANCHOR_SOUTH_WEST, - "font", "Sans 8", - "fill-color-rgba", col, - "use-markup", TRUE, - NULL); + /* cursor track */ + satmap->curs = goo_canvas_text_model_new (root, "", + satmap->x0 + 2, + satmap->y0 + satmap->height - 1, + -1, + GTK_ANCHOR_SOUTH_WEST, + "font", "Sans 8", + "fill-color-rgba", col, + "use-markup", TRUE, + NULL); - /* info about a selected satellite */ - satmap->sel = goo_canvas_text_model_new (root, "", - satmap->x0 + satmap->width - 2, - satmap->y0 + satmap->height - 1, - -1, - GTK_ANCHOR_SOUTH_EAST, - "font", "Sans 8", - "fill-color-rgba", col, - "use-markup", TRUE, - NULL); + /* info about a selected satellite */ + satmap->sel = goo_canvas_text_model_new (root, "", + satmap->x0 + satmap->width - 2, + satmap->y0 + satmap->height - 1, + -1, + GTK_ANCHOR_SOUTH_EAST, + "font", "Sans 8", + "fill-color-rgba", col, + "use-markup", TRUE, + NULL); - return root; + return root; } @@ -443,7 +443,7 @@ static void size_allocate_cb (GtkWidget *widget, GtkAllocation *allocation, gpointer data) { - GTK_SAT_MAP (data)->resize = TRUE; + GTK_SAT_MAP (data)->resize = TRUE; } @@ -468,108 +468,108 @@ static void update_map_size (GtkSatMap *satmap) { - GtkAllocation allocation; - GdkPixbuf *pbuf; - gfloat x, y; - gfloat ratio; /* ratio between map width and height */ - gfloat size; /* size = min (alloc.w, ratio*alloc.h) */ + GtkAllocation allocation; + GdkPixbuf *pbuf; + gfloat x, y; + gfloat ratio; /* ratio between map width and height */ + gfloat size; /* size = min (alloc.w, ratio*alloc.h) */ - if (GTK_WIDGET_REALIZED (satmap)) { - /* get graph dimensions */ - allocation.width = GTK_WIDGET (satmap)->allocation.width; - allocation.height = GTK_WIDGET (satmap)->allocation.height; + if (GTK_WIDGET_REALIZED (satmap)) { + /* get graph dimensions */ + allocation.width = GTK_WIDGET (satmap)->allocation.width; + allocation.height = GTK_WIDGET (satmap)->allocation.height; - if (satmap->keepratio) { - /* Use allocation->width and allocation->height to calculate - * new X0 Y0 width and height. Map proportions must be kept. - */ - ratio = gdk_pixbuf_get_width (satmap->origmap) / - gdk_pixbuf_get_height (satmap->origmap); + if (satmap->keepratio) { + /* Use allocation->width and allocation->height to calculate + * new X0 Y0 width and height. Map proportions must be kept. + */ + ratio = gdk_pixbuf_get_width (satmap->origmap) / + gdk_pixbuf_get_height (satmap->origmap); - size = MIN(allocation.width, ratio*allocation.height); + size = MIN(allocation.width, ratio*allocation.height); - satmap->width = (guint) size; - satmap->height = (guint) (size / ratio); - - satmap->x0 = (allocation.width - satmap->width) / 2; - satmap->y0 = (allocation.height - satmap->height) / 2; + satmap->width = (guint) size; + satmap->height = (guint) (size / ratio); + + satmap->x0 = (allocation.width - satmap->width) / 2; + satmap->y0 = (allocation.height - satmap->height) / 2; - /* rescale pixbuf */ - pbuf = gdk_pixbuf_scale_simple (satmap->origmap, - satmap->width, - satmap->height, - GDK_INTERP_BILINEAR); - } - else { - satmap->x0 = 0; - satmap->y0 = 0; - satmap->width = allocation.width; - satmap->height =allocation.height; + /* rescale pixbuf */ + pbuf = gdk_pixbuf_scale_simple (satmap->origmap, + satmap->width, + satmap->height, + GDK_INTERP_BILINEAR); + } + else { + satmap->x0 = 0; + satmap->y0 = 0; + satmap->width = allocation.width; + satmap->height =allocation.height; - /* rescale pixbuf */ - pbuf = gdk_pixbuf_scale_simple (satmap->origmap, - satmap->width, - satmap->height, - GDK_INTERP_BILINEAR); - } + /* rescale pixbuf */ + pbuf = gdk_pixbuf_scale_simple (satmap->origmap, + satmap->width, + satmap->height, + GDK_INTERP_BILINEAR); + } /* set canvas bounds to match new size */ goo_canvas_set_bounds (GOO_CANVAS (GTK_SAT_MAP (satmap)->canvas), 0, 0, satmap->width, satmap->height); - /* redraw static elements */ - g_object_set (satmap->map, - "pixbuf", pbuf, - "x", (gdouble) satmap->x0, - "y", (gdouble) satmap->y0, - NULL); - g_object_unref (pbuf); + /* redraw static elements */ + g_object_set (satmap->map, + "pixbuf", pbuf, + "x", (gdouble) satmap->x0, + "y", (gdouble) satmap->y0, + NULL); + g_object_unref (pbuf); - /* grid lines */ - redraw_grid_lines (satmap); - - /* QTH */ - lonlat_to_xy (satmap, satmap->qth->lon, satmap->qth->lat, &x, &y); - g_object_set (satmap->qthmark, - "x", x - MARKER_SIZE_HALF, - "y", y - MARKER_SIZE_HALF, - NULL); - g_object_set (satmap->qthlabel, - "x", x, - "y", y+2, - NULL); + /* grid lines */ + redraw_grid_lines (satmap); + + /* QTH */ + lonlat_to_xy (satmap, satmap->qth->lon, satmap->qth->lat, &x, &y); + g_object_set (satmap->qthmark, + "x", x - MARKER_SIZE_HALF, + "y", y - MARKER_SIZE_HALF, + NULL); + g_object_set (satmap->qthlabel, + "x", x, + "y", y+2, + NULL); - /* QTH info */ - g_object_set (satmap->locnam, - "x", (gdouble) satmap->x0 + 2, - "y", (gdouble) satmap->y0 + 1, - NULL); + /* QTH info */ + g_object_set (satmap->locnam, + "x", (gdouble) satmap->x0 + 2, + "y", (gdouble) satmap->y0 + 1, + NULL); - /* next event */ - g_object_set (satmap->next, - "x", (gdouble) satmap->x0 + satmap->width - 2, - "y", (gdouble) satmap->y0 + 1, - NULL); + /* next event */ + g_object_set (satmap->next, + "x", (gdouble) satmap->x0 + satmap->width - 2, + "y", (gdouble) satmap->y0 + 1, + NULL); - /* cursor info */ - g_object_set (satmap->curs, - "x", (gdouble) satmap->x0 + 2, - "y", (gdouble) satmap->y0 + satmap->height - 1, - NULL); + /* cursor info */ + g_object_set (satmap->curs, + "x", (gdouble) satmap->x0 + 2, + "y", (gdouble) satmap->y0 + satmap->height - 1, + NULL); - /* selected sat info */ - g_object_set (satmap->sel, - "x", (gdouble) satmap->x0 + satmap->width - 2, - "y", (gdouble) satmap->y0 + satmap->height - 1, - NULL); + /* selected sat info */ + g_object_set (satmap->sel, + "x", (gdouble) satmap->x0 + satmap->width - 2, + "y", (gdouble) satmap->y0 + satmap->height - 1, + NULL); - /* update satellites */ - g_hash_table_foreach (satmap->sats, update_sat, satmap); + /* update satellites */ + g_hash_table_foreach (satmap->sats, update_sat, satmap); - satmap->resize = FALSE; - } + satmap->resize = FALSE; + } } @@ -581,13 +581,13 @@ static void on_canvas_realized (GtkWidget *canvas, gpointer data) { - GtkSatMap *satmap = GTK_SAT_MAP(data); + GtkSatMap *satmap = GTK_SAT_MAP(data); - /* raise info items */ - goo_canvas_item_model_raise (satmap->sel, NULL); - goo_canvas_item_model_raise (satmap->locnam, NULL); - goo_canvas_item_model_raise (satmap->next, NULL); - goo_canvas_item_model_raise (satmap->curs, NULL); + /* raise info items */ + goo_canvas_item_model_raise (satmap->sel, NULL); + goo_canvas_item_model_raise (satmap->locnam, NULL); + goo_canvas_item_model_raise (satmap->next, NULL); + goo_canvas_item_model_raise (satmap->curs, NULL); } @@ -598,118 +598,118 @@ void gtk_sat_map_update (GtkWidget *widget) { - GtkSatMap *satmap = GTK_SAT_MAP (widget); - sat_t *sat = NULL; - gdouble number, now; - gchar *buff; - gint *catnr; - guint h, m, s; - gchar *ch, *cm, *cs; + GtkSatMap *satmap = GTK_SAT_MAP (widget); + sat_t *sat = NULL; + gdouble number, now; + gchar *buff; + gint *catnr; + guint h, m, s; + gchar *ch, *cm, *cs; - /* check whether there are any pending resize requests */ - if (satmap->resize) - update_map_size (satmap); + /* check whether there are any pending resize requests */ + if (satmap->resize) + update_map_size (satmap); - /* check refresh rate and refresh sats if time */ - if (satmap->counter < satmap->refresh) { - satmap->counter++; - } - else { - /* reset data */ - satmap->counter = 1; - satmap->naos = 2458849.5; + /* check refresh rate and refresh sats if time */ + if (satmap->counter < satmap->refresh) { + satmap->counter++; + } + else { + /* reset data */ + satmap->counter = 1; + satmap->naos = 2458849.5; - /* update sats */ - g_hash_table_foreach (satmap->sats, update_sat, satmap); + /* update sats */ + g_hash_table_foreach (satmap->sats, update_sat, satmap); - /* update countdown to NEXT AOS label */ - if (satmap->eventinfo) { + /* update countdown to NEXT AOS label */ + if (satmap->eventinfo) { - if (satmap->ncat > 0) { + if (satmap->ncat > 0) { - catnr = g_try_new0 (gint, 1); - *catnr = satmap->ncat; - sat = SAT(g_hash_table_lookup (satmap->sats, catnr)); - g_free (catnr); + catnr = g_try_new0 (gint, 1); + *catnr = satmap->ncat; + sat = SAT(g_hash_table_lookup (satmap->sats, catnr)); + g_free (catnr); - /* last desperate sanity check */ - if (sat != NULL) { + /* last desperate sanity check */ + if (sat != NULL) { - now = satmap->tstamp;//get_current_daynum (); - number = satmap->naos - now; + now = satmap->tstamp;//get_current_daynum (); + number = satmap->naos - now; - /* convert julian date to seconds */ - s = (guint) (number * 86400); + /* convert julian date to seconds */ + s = (guint) (number * 86400); - /* extract hours */ - h = (guint) floor (s/3600); - s -= 3600*h; + /* extract hours */ + h = (guint) floor (s/3600); + s -= 3600*h; - /* leading zero */ - if ((h > 0) && (h < 10)) - ch = g_strdup ("0"); - else - ch = g_strdup (""); + /* leading zero */ + if ((h > 0) && (h < 10)) + ch = g_strdup ("0"); + else + ch = g_strdup (""); - /* extract minutes */ - m = (guint) floor (s/60); - s -= 60*m; + /* extract minutes */ + m = (guint) floor (s/60); + s -= 60*m; - /* leading zero */ - if (m < 10) - cm = g_strdup ("0"); - else - cm = g_strdup (""); + /* leading zero */ + if (m < 10) + cm = g_strdup ("0"); + else + cm = g_strdup (""); - /* leading zero */ - if (s < 10) - cs = g_strdup (":0"); - else - cs = g_strdup (":"); + /* leading zero */ + if (s < 10) + cs = g_strdup (":0"); + else + cs = g_strdup (":"); - if (h > 0) - buff = g_strdup_printf (_("<span background=\"#%s\"> "\ - "Next: %s in %s%d:%s%d%s%d </span>"), - satmap->infobgd, - sat->tle.sat_name, - ch, h, cm, m, cs, s); - else - buff = g_strdup_printf (_("<span background=\"#%s\"> " \ - "Next: %s in %s%d%s%d </span>"), - satmap->infobgd, - sat->tle.sat_name, - cm, m, cs, s); + if (h > 0) + buff = g_strdup_printf (_("<span background=\"#%s\"> "\ + "Next: %s in %s%d:%s%d%s%d </span>"), + satmap->infobgd, + sat->tle.sat_name, + ch, h, cm, m, cs, s); + else + buff = g_strdup_printf (_("<span background=\"#%s\"> " \ + "Next: %s in %s%d%s%d </span>"), + satmap->infobgd, + sat->tle.sat_name, + cm, m, cs, s); - g_object_set (satmap->next, - "text", buff, - NULL); + g_object_set (satmap->next, + "text", buff, + NULL); - g_free (buff); - g_free (ch); - g_free (cm); - g_free (cs); - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Can not find NEXT satellite."), - __FUNCTION__); - g_object_set (satmap->next, - "text", _("Next: ERR"), - NULL); - } - } - else { - g_object_set (satmap->next, - "text", _("Next: N/A"), - NULL); - } - } - else { - g_object_set (satmap->next, - "text", "", - NULL); - } - } + g_free (buff); + g_free (ch); + g_free (cm); + g_free (cs); + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Can not find NEXT satellite."), + __FUNCTION__); + g_object_set (satmap->next, + "text", _("Next: ERR"), + NULL); + } + } + else { + g_object_set (satmap->next, + "text", _("Next: N/A"), + NULL); + } + } + else { + g_object_set (satmap->next, + "text", "", + NULL); + } + } } @@ -724,13 +724,13 @@ static void lonlat_to_xy (GtkSatMap *p, gdouble lon, gdouble lat, gfloat *x, gfloat *y) { - *x = p->x0 + (180.0 - lon) * p->width / 360.0; - if (*x < 0.0) /* west longitude */ - *x *= -1; - else /* east longitude */ - *x = p->x0 + (180.0 + lon) * p->width / 360.0; + *x = p->x0 + (180.0 - lon) * p->width / 360.0; + if (*x < 0.0) /* west longitude */ + *x *= -1; + else /* east longitude */ + *x = p->x0 + (180.0 + lon) * p->width / 360.0; - *y = p->y0 + (90.0 - lat) * p->height / 180.0;; + *y = p->y0 + (90.0 - lat) * p->height / 180.0;; } @@ -748,8 +748,8 @@ static void xy_to_lonlat (GtkSatMap *p, gfloat x, gfloat y, gfloat *lon, gfloat *lat) { - *lat = 90.0 - (180.0 / p->height) * (y - p->y0); - *lon = (360.0 / p->width) * (x - p->x0) - 180.0; + *lat = 90.0 - (180.0 / p->height) * (y - p->y0); + *lon = (360.0 / p->width) * (x - p->x0) - 180.0; } @@ -760,32 +760,32 @@ */ static gboolean on_motion_notify (GooCanvasItem *item, - GooCanvasItem *target, - GdkEventMotion *event, - gpointer data) + GooCanvasItem *target, + GdkEventMotion *event, + gpointer data) { - GtkSatMap *satmap = GTK_SAT_MAP (data); - gfloat lat,lon; - gchar *text; + GtkSatMap *satmap = GTK_SAT_MAP (data); + gfloat lat,lon; + gchar *text; - /* set text only if QTH info is enabled */ - if (satmap->cursinfo) { + /* set text only if QTH info is enabled */ + if (satmap->cursinfo) { - xy_to_lonlat (satmap, event->x, event->y, &lon, &lat); + xy_to_lonlat (satmap, event->x, event->y, &lon, &lat); - /*** FIXME: - - Add QRA? - */ - /* cursor track */ - text = g_strdup_printf ("<span background=\"#%s\"> "\ - "LON:%.0f\302\260 LAT:%.0f\302\260 </span>", - satmap->infobgd, lon, lat); + /*** FIXME: + - Add QRA? + */ + /* cursor track */ + text = g_strdup_printf ("<span background=\"#%s\"> "\ + "LON:%.0f\302\260 LAT:%.0f\302\260 </span>", + satmap->infobgd, lon, lat); - g_object_set (satmap->curs, "text", text, NULL); - g_free (text); - } + g_object_set (satmap->curs, "text", text, NULL); + g_free (text); + } - return TRUE; + return TRUE; } @@ -805,22 +805,22 @@ */ static void on_item_created (GooCanvas *canvas, - GooCanvasItem *item, - GooCanvasItemModel *model, - gpointer data) + GooCanvasItem *item, + GooCanvasItemModel *model, + gpointer data) { - if (!goo_canvas_item_model_get_parent (model)) { - /* root item / canvas */ - g_signal_connect (item, "motion_notify_event", - (GtkSignalFunc) on_motion_notify, data); - } + if (!goo_canvas_item_model_get_parent (model)) { + /* root item / canvas */ + 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); - } + 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); + } } @@ -832,42 +832,42 @@ */ 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); - GtkSatMap *satmap = GTK_SAT_MAP (data); - gint catnum = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (model), "catnum")); - gint *catpoint = NULL; - sat_t *sat = NULL; + GooCanvasItemModel *model = goo_canvas_item_get_model (item); + GtkSatMap *satmap = GTK_SAT_MAP (data); + gint catnum = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (model), "catnum")); + gint *catpoint = NULL; + sat_t *sat = NULL; - switch (event->button) { + switch (event->button) { - /* pop-up menu */ - case 3: - catpoint = g_try_new0 (gint, 1); - *catpoint = catnum; + /* pop-up menu */ + case 3: + catpoint = g_try_new0 (gint, 1); + *catpoint = catnum; - sat = SAT (g_hash_table_lookup (satmap->sats, catpoint)); + sat = SAT (g_hash_table_lookup (satmap->sats, catpoint)); - if (sat != NULL) { - gtk_sat_map_popup_exec (sat, satmap->qth, satmap, event, - gtk_widget_get_toplevel (GTK_WIDGET (satmap))); - } - else { - /* clicked on map -> map pop-up in the future */ - } + if (sat != NULL) { + gtk_sat_map_popup_exec (sat, satmap->qth, satmap, event, + gtk_widget_get_toplevel (GTK_WIDGET (satmap))); + } + else { + /* clicked on map -> map pop-up in the future */ + } - g_free (catpoint); + g_free (catpoint); - break; + break; - default: - break; - } + default: + break; + } - return TRUE; + return TRUE; } @@ -880,76 +880,76 @@ */ 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); - GtkSatMap *satmap = GTK_SAT_MAP (data); - gint catnum = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (model), "catnum")); - gint *catpoint = NULL; - sat_map_obj_t *obj = NULL; - guint32 col; + GooCanvasItemModel *model = goo_canvas_item_get_model (item); + GtkSatMap *satmap = GTK_SAT_MAP (data); + gint catnum = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (model), "catnum")); + gint *catpoint = NULL; + sat_map_obj_t *obj = NULL; + guint32 col; - catpoint = g_try_new0 (gint, 1); - *catpoint = catnum; + catpoint = g_try_new0 (gint, 1); + *catpoint = catnum; - switch (event->button) { - /* Select / de-select satellite */ - case 1: - obj = SAT_MAP_OBJ (g_hash_table_lookup (satmap->obj, catpoint)); - if (obj == NULL) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s:%d: Can not find clicked object (%d) in hash table"), - __FILE__, __LINE__, catnum); - } - else { - obj->selected = !obj->selected; + switch (event->button) { + /* Select / de-select satellite */ + case 1: + obj = SAT_MAP_OBJ (g_hash_table_lookup (satmap->obj, catpoint)); + if (obj == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s:%d: Can not find clicked object (%d) in hash table"), + __FILE__, __LINE__, catnum); + } + else { + obj->selected = !obj->selected; - if (obj->selected) { - col = mod_cfg_get_int (satmap->cfgdata, - MOD_CFG_MAP_SECTION, - MOD_CFG_MAP_SAT_SEL_COL, - SAT_CFG_INT_MAP_SAT_SEL_COL); - } - else { - col = mod_cfg_get_int (satmap->cfgdata, - MOD_CFG_MAP_SECTION, - MOD_CFG_MAP_SAT_COL, - SAT_CFG_INT_MAP_SAT_COL); - *catpoint = 0; + if (obj->selected) { + col = mod_cfg_get_int (satmap->cfgdata, + MOD_CFG_MAP_SECTION, + MOD_CFG_MAP_SAT_SEL_COL, + SAT_CFG_INT_MAP_SAT_SEL_COL); + } + else { + col = mod_cfg_get_int (satmap->cfgdata, + MOD_CFG_MAP_SECTION, + MOD_CFG_MAP_SAT_COL, + SAT_CFG_INT_MAP_SAT_COL); + *catpoint = 0; - g_object_set (satmap->sel, "text", "", NULL); - } + g_object_set (satmap->sel, "text", "", NULL); + } - g_object_set (obj->marker, - "fill-color-rgba", col, - "stroke-color-rgba", col, - NULL); - g_object_set (obj->label, - "fill-color-rgba", col, - "stroke-color-rgba", col, - NULL); - g_object_set (obj->range1, - "stroke-color-rgba", col, - NULL); + g_object_set (obj->marker, + "fill-color-rgba", col, + "stroke-color-rgba", col, + NULL); + g_object_set (obj->label, + "fill-color-rgba", col, + "stroke-color-rgba", col, + NULL); + g_object_set (obj->range1, + "stroke-color-rgba", col, + NULL); - if (obj->oldrcnum == 2) - g_object_set (obj->range2, - "stroke-color-rgba", col, - NULL); + if (obj->oldrcnum == 2) + g_object_set (obj->range2, + "stroke-color-rgba", col, + NULL); - /* clear other selections */ - g_hash_table_foreach (satmap->obj, clear_selection, catpoint); - } - break; - default: - break; - } + /* clear other selections */ + g_hash_table_foreach (satmap->obj, clear_selection, catpoint); + } + break; + default: + break; + } - g_free (catpoint); - - return TRUE; + g_free (catpoint); + + return TRUE; } @@ -961,34 +961,34 @@ static void clear_selection (gpointer key, gpointer val, gpointer data) { - gint *old = key; - gint *new = data; - sat_map_obj_t *obj = SAT_MAP_OBJ (val); - guint32 col; + gint *old = key; + gint *new = data; + sat_map_obj_t *obj = SAT_MAP_OBJ (val); + guint32 col; - if ((*old != *new) && (obj->selected)) { - obj->selected = FALSE; + if ((*old != *new) && (obj->selected)) { + obj->selected = FALSE; - /** FIXME: this is only global default; need the satmap here! */ - col = sat_cfg_get_int (SAT_CFG_INT_MAP_SAT_COL); + /** FIXME: this is only global default; need the satmap here! */ + col = sat_cfg_get_int (SAT_CFG_INT_MAP_SAT_COL); - g_object_set (obj->marker, - "fill-color-rgba", col, - "stroke-color-rgba", col, - NULL); - g_object_set (obj->label, - "fill-color-rgba", col, - "stroke-color-rgba", col, - NULL); - g_object_set (obj->range1, - "stroke-color-rgba", col, - NULL); + g_object_set (obj->marker, + "fill-color-rgba", col, + "stroke-color-rgba", col, + NULL); + g_object_set (obj->label, + "fill-color-rgba", col, + "stroke-color-rgba", col, + NULL); + g_object_set (obj->range1, + "stroke-color-rgba", col, + NULL); - if (obj->oldrcnum == 2) - g_object_set (obj->range2, - "stroke-color-rgba", col, - NULL); - } + if (obj->oldrcnum == 2) + g_object_set (obj->range2, + "stroke-color-rgba", col, + NULL); + } } @@ -1024,67 +1024,67 @@ static void load_map_file (GtkSatMap *satmap) { - gchar *buff; - gchar *mapfile; - GError *error = NULL; + gchar *buff; + gchar *mapfile; + GError *error = NULL; - /* get local, global or default map file */ - buff = mod_cfg_get_str (satmap->cfgdata, - MOD_CFG_MAP_SECTION, - MOD_CFG_MAP_FILE, - SAT_CFG_STR_MAP_FILE); + /* get local, global or default map file */ + buff = mod_cfg_get_str (satmap->cfgdata, + MOD_CFG_MAP_SECTION, + MOD_CFG_MAP_FILE, + SAT_CFG_STR_MAP_FILE); - if (g_path_is_absolute (buff)) { - /* map is user specific, ie. in $HOME/.gpredict2/maps/ */ - mapfile = g_strdup (buff); - } - else { - /* build complete path */ - mapfile = map_file_name (buff); - } - g_free (buff); + if (g_path_is_absolute (buff)) { + /* map is user specific, ie. in $HOME/.gpredict2/maps/ */ + mapfile = g_strdup (buff); + } + else { + /* build complete path */ + mapfile = map_file_name (buff); + } + g_free (buff); - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s:%d: Loading map file %s"), - __FILE__, __LINE__, mapfile); + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s:%d: Loading map file %s"), + __FILE__, __LINE__, mapfile); - /* check that file exists, if not get the default */ - if (g_file_test (mapfile, G_FILE_TEST_EXISTS)) { - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s:%d: Map file found"), - __FILE__, __LINE__); - } - else { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s:%d: Could not find map file %s"), - __FILE__, __LINE__, mapfile); + /* check that file exists, if not get the default */ + if (g_file_test (mapfile, G_FILE_TEST_EXISTS)) { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s:%d: Map file found"), + __FILE__, __LINE__); + } + else { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%d: Could not find map file %s"), + __FILE__, __LINE__, mapfile); - /* get default map file */ - g_free (mapfile); - mapfile = sat_cfg_get_str_def (SAT_CFG_STR_MAP_FILE); + /* get default map file */ + g_free (mapfile); + mapfile = sat_cfg_get_str_def (SAT_CFG_STR_MAP_FILE); - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s:%d: Using default map: %s"), - __FILE__, __LINE__, mapfile); - } + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%d: Using default map: %s"), + __FILE__, __LINE__, mapfile); + } - /* try to load the map file */ - satmap->origmap = gdk_pixbuf_new_from_file (mapfile, &error); + /* try to load the map file */ + satmap->origmap = gdk_pixbuf_new_from_file (mapfile, &error); - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s:%d: Error loading map file (%s)"), - __FILE__, __LINE__, error->message); - g_clear_error (&error); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%d: Error loading map file (%s)"), + __FILE__, __LINE__, error->message); + g_clear_error (&error); - /* create a dummy GdkPixbuf to avoid crash */ - satmap->origmap = gdk_pixbuf_new (GDK_COLORSPACE_RGB, - FALSE, - 8, 400, 200); - gdk_pixbuf_fill (satmap->origmap, 0x0F0F0F0F); - } - - g_free (mapfile); + /* create a dummy GdkPixbuf to avoid crash */ + satmap->origmap = gdk_pixbuf_new (GDK_COLORSPACE_RGB, + FALSE, + 8, 400, 200); + gdk_pixbuf_fill (satmap->origmap, 0x0F0F0F0F); + } + + g_free (mapfile); } @@ -1097,14 +1097,14 @@ static gdouble arccos (gdouble x, gdouble y) { - if (x && y) { - if (y > 0.0) - return acos (x/y); - else if (y < 0.0) - return pi + acos (x/y); - } + if (x && y) { + if (y > 0.0) + return acos (x/y); + else if (y < 0.0) + return pi + acos (x/y); + } - return 0.0; + return 0.0; } @@ -1112,16 +1112,16 @@ static gboolean pole_is_covered (sat_t *sat) { - int ret1,ret2; - gdouble qrb1, qrb2, az1, az2; + int ret1,ret2; + gdouble qrb1, qrb2, az1, az2; - ret1 = qrb (sat->ssplon, sat->ssplat, 0.0, 90.0, &qrb1, &az1); - ret2 = qrb (sat->ssplon, sat->ssplat, 0.0, -90.0, &qrb2, &az2); + ret1 = qrb (sat->ssplon, sat->ssplat, 0.0, 90.0, &qrb1, &az1); + ret2 = qrb (sat->ssplon, sat->ssplat, 0.0, -90.0, &qrb2, &az2); - if ((qrb1 <= 0.5*sat->footprint) || (qrb2 <= 0.5*sat->footprint)) - return TRUE; - - return FALSE; + if ((qrb1 <= 0.5*sat->footprint) || (qrb2 <= 0.5*sat->footprint)) + return TRUE; + + return FALSE; } @@ -1129,33 +1129,33 @@ static gboolean mirror_lon (sat_t *sat, gdouble rangelon, gdouble *mlon) { - gdouble diff; - gboolean warped = FALSE; + gdouble diff; + gboolean warped = FALSE; - if (sat->ssplon < 0.0) { - /* western longitude */ - if (rangelon < 0.0) { - /* rangelon has not been warped over */ - *mlon = sat->ssplon + fabs (rangelon - sat->ssplon); - } - else { - /* rangelon has been warped over */ - diff = 360.0 + sat->ssplon - rangelon; - *mlon = sat->ssplon + diff; - warped = TRUE; - } - } - else { - /* eastern longitude */ - *mlon = sat->ssplon + fabs (rangelon - sat->ssplon); - - if (*mlon > 180.0) { - *mlon -= 360; - warped = TRUE; - } - } + if (sat->ssplon < 0.0) { + /* western longitude */ + if (rangelon < 0.0) { + /* rangelon has not been warped over */ + *mlon = sat->ssplon + fabs (rangelon - sat->ssplon); + } + else { + /* rangelon has been warped over */ + diff = 360.0 + sat->ssplon - rangelon; + *mlon = sat->ssplon + diff; + warped = TRUE; + } + } + else { + /* eastern longitude */ + *mlon = sat->ssplon + fabs (rangelon - sat->ssplon); + + if (*mlon > 180.0) { + *mlon -= 360; + warped = TRUE; + } + } - return warped; + return warped; } @@ -1194,99 +1194,99 @@ static guint calculate_footprint (GtkSatMap *satmap, sat_t *sat) { - guint azi; - gfloat sx, sy, msx, msy, ssx, ssy; - gdouble ssplat, ssplon, beta, azimuth, num, dem; - gdouble rangelon, rangelat, mlon; - gboolean warped = FALSE; - guint numrc = 1; + guint azi; + gfloat sx, sy, msx, msy, ssx, ssy; + gdouble ssplat, ssplon, beta, azimuth, num, dem; + gdouble rangelon, rangelat, mlon; + gboolean warped = FALSE; + guint numrc = 1; - /* Range circle calculations. - * Borrowed from gsat 0.9.0 by Xavier Crehueras, EB3CZS - * who borrowed from John Magliacane, KD2BD. - * Optimized by Alexandru Csete and William J Beksi. - */ - ssplat = sat->ssplat * de2ra; - ssplon = sat->ssplon * de2ra; - beta = (0.5 * sat->footprint) / xkmper; + /* Range circle calculations. + * Borrowed from gsat 0.9.0 by Xavier Crehueras, EB3CZS + * who borrowed from John Magliacane, KD2BD. + * Optimized by Alexandru Csete and William J Beksi. + */ + ssplat = sat->ssplat * de2ra; + ssplon = sat->ssplon * de2ra; + beta = (0.5 * sat->footprint) / xkmper; - for (azi = 0; azi < 180; azi++) { - azimuth = de2ra * (double)azi; - rangelat = asin (sin (ssplat) * cos (beta) + cos (azimuth) * - sin (beta) * cos (ssplat)); - num = cos (beta) - (sin (ssplat) * sin (rangelat)); - dem = cos (ssplat) * cos (rangelat); - - if (azi == 0 && (beta > pio2 - ssplat)) - rangelon = ssplon + pi; - - else if (azi == 180 && (beta > pio2 + ssplat)) - rangelon = ssplon + pi; - - else if (fabs (num / dem) > 1.0) - rangelon = ssplon; - - else { - if ((180 - azi) >= 0) - rangelon = ssplon - arccos (num, dem); - else - rangelon = ssplon + arccos (num, dem); - } - - while (rangelon < -pi) - rangelon += twopi; - - while (rangelon > (pi)) - rangelon -= twopi; - - rangelat = rangelat / de2ra; - rangelon = rangelon / de2ra; + for (azi = 0; azi < 180; azi++) { + azimuth = de2ra * (double)azi; + rangelat = asin (sin (ssplat) * cos (beta) + cos (azimuth) * + sin (beta) * cos (ssplat)); + num = cos (beta) - (sin (ssplat) * sin (rangelat)); + dem = cos (ssplat) * cos (rangelat); + + if (azi == 0 && (beta > pio2 - ssplat)) + rangelon = ssplon + pi; + + else if (azi == 180 && (beta > pio2 + ssplat)) + rangelon = ssplon + pi; + + else if (fabs (num / dem) > 1.0) + rangelon = ssplon; + + else { + if ((180 - azi) >= 0) + rangelon = ssplon - arccos (num, dem); + else + rangelon = ssplon + arccos (num, dem); + } + + while (rangelon < -pi) + rangelon += twopi; + + while (rangelon > (pi)) + rangelon -= twopi; + + rangelat = rangelat / de2ra; + rangelon = rangelon / de2ra; - /* mirror longitude */ - if (mirror_lon (sat, rangelon, &mlon)) - warped = TRUE; + /* mirror longitude */ + if (mirror_lon (sat, rangelon, &mlon)) + warped = TRUE; - lonlat_to_xy (satmap, rangelon, rangelat, &sx, &sy); - lonlat_to_xy (satmap, mlon, rangelat, &msx, &msy); + lonlat_to_xy (satmap, rangelon, rangelat, &sx, &sy); + lonlat_to_xy (satmap, mlon, rangelat, &msx, &msy); - points1->coords[2*azi] = sx; - points1->coords[2*azi+1] = sy; - - /* Add mirrored point */ - points1->coords[718-2*azi] = msx; - points1->coords[719-2*azi] = msy; - } + points1->coords[2*azi] = sx; + points1->coords[2*azi+1] = sy; + + /* Add mirrored point */ + points1->coords[718-2*azi] = msx; + points1->coords[719-2*azi] = msy; + } - /* points1 ow contains 360 pairs of map-based XY coordinates. - Check whether actions 1, 2 or 3 have to be performed. - */ + /* points1 ow contains 360 pairs of map-based XY coordinates. + Check whether actions 1, 2 or 3 have to be performed. + */ - /* pole is covered => sort points1 and add additional points */ - if (pole_is_covered (sat)) { + /* pole is covered => sort points1 and add additional points */ + if (pole_is_covered (sat)) { - sort_points_x (satmap, sat, points1, 360); - numrc = 1; + sort_points_x (satmap, sat, points1, 360); + numrc = 1; - } + } - /* pole not covered but range circle has been warped - => split points */ - else if (warped == TRUE) { + /* pole not covered but range circle has been warped + => split points */ + else if (warped == TRUE) { - lonlat_to_xy (satmap, sat->ssplon, sat->ssplat, &ssx, &ssy); - split_points (satmap, sat, ssx); - numrc = 2; + lonlat_to_xy (satmap, sat->ssplon, sat->ssplat, &ssx, &ssy); + split_points (satmap, sat, ssx); + numrc = 2; - } + } - /* the nominal condition => points1 is adequate */ - else { + /* the nominal condition => points1 is adequate */ + else { - numrc = 1; + ... [truncated message content] |
From: <cs...@us...> - 2009-05-01 23:04:17
|
Revision: 283 http://gpredict.svn.sourceforge.net/gpredict/?rev=283&view=rev Author: csete Date: 2009-05-01 23:04:14 +0000 (Fri, 01 May 2009) Log Message: ----------- Changed resizing scheme to be the same as for GtkSatMap. This fixed the long delay (many seconds) problem when a module containing a polar view is opened or reconfigured. Modified Paths: -------------- trunk/src/gtk-polar-view.c trunk/src/gtk-polar-view.h Modified: trunk/src/gtk-polar-view.c =================================================================== --- trunk/src/gtk-polar-view.c 2009-05-01 20:06:18 UTC (rev 282) +++ trunk/src/gtk-polar-view.c 2009-05-01 23:04:14 UTC (rev 283) @@ -60,29 +60,29 @@ static void gtk_polar_view_init (GtkPolarView *polview); static void gtk_polar_view_destroy (GtkObject *object); static void size_allocate_cb (GtkWidget *widget, - GtkAllocation *allocation, - gpointer data); + GtkAllocation *allocation, + gpointer data); static void update_sat (gpointer key, gpointer value, gpointer data); static void update_track (gpointer key, gpointer value, gpointer data); static void correct_pole_coor (GtkPolarView *polv, polar_view_pole_t pole, - gfloat *x, gfloat *y, GtkAnchorType *anch); + gfloat *x, gfloat *y, GtkAnchorType *anch); static gboolean on_motion_notify (GooCanvasItem *item, - GooCanvasItem *target, - GdkEventMotion *event, - gpointer data); + GooCanvasItem *target, + GdkEventMotion *event, + gpointer data); static void on_item_created (GooCanvas *canvas, - GooCanvasItem *item, - GooCanvasItemModel *model, - gpointer data); + GooCanvasItem *item, + GooCanvasItemModel *model, + gpointer data); static void on_canvas_realized (GtkWidget *canvas, gpointer data); static gboolean on_button_press (GooCanvasItem *item, - GooCanvasItem *target, - GdkEventButton *event, - gpointer data); + GooCanvasItem *target, + GdkEventButton *event, + gpointer data); static gboolean on_button_release (GooCanvasItem *item, - GooCanvasItem *target, - GdkEventButton *event, - gpointer data); + GooCanvasItem *target, + GdkEventButton *event, + gpointer data); static void clear_selection (gpointer key, gpointer val, gpointer data); static GooCanvasItemModel* create_canvas_model (GtkPolarView *polv); static void get_canvas_bg_color (GtkPolarView *polv, GdkColor *color); @@ -94,70 +94,71 @@ GtkType gtk_polar_view_get_type () { - static GType gtk_polar_view_type = 0; + static GType gtk_polar_view_type = 0; - if (!gtk_polar_view_type) { - static const GTypeInfo gtk_polar_view_info = { - sizeof (GtkPolarViewClass), - NULL, /* base init */ - NULL, /* base finalise */ - (GClassInitFunc) gtk_polar_view_class_init, - NULL, /* class finalise */ - NULL, /* class data */ - sizeof (GtkPolarView), - 5, /* n_preallocs */ - (GInstanceInitFunc) gtk_polar_view_init, - }; + if (!gtk_polar_view_type) { + static const GTypeInfo gtk_polar_view_info = { + sizeof (GtkPolarViewClass), + NULL, /* base init */ + NULL, /* base finalise */ + (GClassInitFunc) gtk_polar_view_class_init, + NULL, /* class finalise */ + NULL, /* class data */ + sizeof (GtkPolarView), + 5, /* n_preallocs */ + (GInstanceInitFunc) gtk_polar_view_init, + }; - gtk_polar_view_type = g_type_register_static (GTK_TYPE_VBOX, - "GtkPolarView", - >k_polar_view_info, - 0); - } + gtk_polar_view_type = g_type_register_static (GTK_TYPE_VBOX, + "GtkPolarView", + >k_polar_view_info, + 0); + } - return gtk_polar_view_type; + return gtk_polar_view_type; } static void gtk_polar_view_class_init (GtkPolarViewClass *class) { - GObjectClass *gobject_class; - GtkObjectClass *object_class; - GtkWidgetClass *widget_class; - GtkContainerClass *container_class; + GObjectClass *gobject_class; + GtkObjectClass *object_class; + GtkWidgetClass *widget_class; + GtkContainerClass *container_class; - gobject_class = G_OBJECT_CLASS (class); - object_class = (GtkObjectClass*) class; - widget_class = (GtkWidgetClass*) class; - container_class = (GtkContainerClass*) class; + gobject_class = G_OBJECT_CLASS (class); + object_class = (GtkObjectClass*) class; + widget_class = (GtkWidgetClass*) class; + container_class = (GtkContainerClass*) class; - parent_class = g_type_class_peek_parent (class); + parent_class = g_type_class_peek_parent (class); - object_class->destroy = gtk_polar_view_destroy; - //widget_class->size_allocate = gtk_polar_view_size_allocate; + object_class->destroy = gtk_polar_view_destroy; + //widget_class->size_allocate = gtk_polar_view_size_allocate; } static void gtk_polar_view_init (GtkPolarView *polview) { - polview->sats = NULL; - polview->qth = NULL; - polview->obj = NULL; - polview->naos = 2458849.5; - polview->ncat = 0; - polview->size = 0; - polview->r = 0; - polview->cx = 0; - polview->cy = 0; - polview->refresh = 0; - polview->counter = 0; - polview->swap = 0; - polview->qthinfo = FALSE; - polview->eventinfo = FALSE; - polview->cursinfo = FALSE; - polview->extratick = FALSE; + polview->sats = NULL; + polview->qth = NULL; + polview->obj = NULL; + polview->naos = 2458849.5; + polview->ncat = 0; + polview->size = 0; + polview->r = 0; + polview->cx = 0; + polview->cy = 0; + polview->refresh = 0; + polview->counter = 0; + polview->swap = 0; + polview->qthinfo = FALSE; + polview->eventinfo = FALSE; + polview->cursinfo = FALSE; + polview->extratick = FALSE; + polview->resize = FALSE; } @@ -165,7 +166,7 @@ gtk_polar_view_destroy (GtkObject *object) { - (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); + (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); } @@ -177,246 +178,246 @@ GtkWidget * gtk_polar_view_new (GKeyFile *cfgdata, GHashTable *sats, qth_t *qth) { - GtkWidget *polv; - GooCanvasItemModel *root; - GdkColor bg_color = {0, 0xFFFF, 0xFFFF, 0xFFFF}; + GtkWidget *polv; + GooCanvasItemModel *root; + GdkColor bg_color = {0, 0xFFFF, 0xFFFF, 0xFFFF}; - polv = g_object_new (GTK_TYPE_POLAR_VIEW, NULL); + polv = g_object_new (GTK_TYPE_POLAR_VIEW, NULL); - GTK_POLAR_VIEW (polv)->cfgdata = cfgdata; - GTK_POLAR_VIEW (polv)->sats = sats; - GTK_POLAR_VIEW (polv)->qth = qth; + GTK_POLAR_VIEW (polv)->cfgdata = cfgdata; + GTK_POLAR_VIEW (polv)->sats = sats; + GTK_POLAR_VIEW (polv)->qth = qth; - GTK_POLAR_VIEW (polv)->obj = g_hash_table_new_full (g_int_hash, - g_int_equal, - g_free, - NULL); + GTK_POLAR_VIEW (polv)->obj = g_hash_table_new_full (g_int_hash, + g_int_equal, + g_free, + NULL); - /* get settings */ - GTK_POLAR_VIEW (polv)->refresh = mod_cfg_get_int (cfgdata, - MOD_CFG_POLAR_SECTION, - MOD_CFG_POLAR_REFRESH, - SAT_CFG_INT_POLAR_REFRESH); + /* get settings */ + GTK_POLAR_VIEW (polv)->refresh = mod_cfg_get_int (cfgdata, + MOD_CFG_POLAR_SECTION, + MOD_CFG_POLAR_REFRESH, + SAT_CFG_INT_POLAR_REFRESH); - GTK_POLAR_VIEW (polv)->counter = 1; + GTK_POLAR_VIEW (polv)->counter = 1; - GTK_POLAR_VIEW (polv)->swap = mod_cfg_get_int (cfgdata, - MOD_CFG_POLAR_SECTION, - MOD_CFG_POLAR_ORIENTATION, - SAT_CFG_INT_POLAR_ORIENTATION); + GTK_POLAR_VIEW (polv)->swap = mod_cfg_get_int (cfgdata, + MOD_CFG_POLAR_SECTION, + MOD_CFG_POLAR_ORIENTATION, + SAT_CFG_INT_POLAR_ORIENTATION); - GTK_POLAR_VIEW (polv)->qthinfo = mod_cfg_get_bool (cfgdata, - MOD_CFG_POLAR_SECTION, - MOD_CFG_POLAR_SHOW_QTH_INFO, - SAT_CFG_BOOL_POL_SHOW_QTH_INFO); + GTK_POLAR_VIEW (polv)->qthinfo = mod_cfg_get_bool (cfgdata, + MOD_CFG_POLAR_SECTION, + MOD_CFG_POLAR_SHOW_QTH_INFO, + SAT_CFG_BOOL_POL_SHOW_QTH_INFO); - GTK_POLAR_VIEW (polv)->eventinfo = mod_cfg_get_bool (cfgdata, - MOD_CFG_POLAR_SECTION, - MOD_CFG_POLAR_SHOW_NEXT_EVENT, - SAT_CFG_BOOL_POL_SHOW_NEXT_EV); + GTK_POLAR_VIEW (polv)->eventinfo = mod_cfg_get_bool (cfgdata, + MOD_CFG_POLAR_SECTION, + MOD_CFG_POLAR_SHOW_NEXT_EVENT, + SAT_CFG_BOOL_POL_SHOW_NEXT_EV); - GTK_POLAR_VIEW (polv)->cursinfo = mod_cfg_get_bool (cfgdata, - MOD_CFG_POLAR_SECTION, - MOD_CFG_POLAR_SHOW_CURS_TRACK, - SAT_CFG_BOOL_POL_SHOW_CURS_TRACK); + GTK_POLAR_VIEW (polv)->cursinfo = mod_cfg_get_bool (cfgdata, + MOD_CFG_POLAR_SECTION, + MOD_CFG_POLAR_SHOW_CURS_TRACK, + SAT_CFG_BOOL_POL_SHOW_CURS_TRACK); - GTK_POLAR_VIEW (polv)->extratick = mod_cfg_get_bool (cfgdata, - MOD_CFG_POLAR_SECTION, - MOD_CFG_POLAR_SHOW_EXTRA_AZ_TICKS, - SAT_CFG_BOOL_POL_SHOW_EXTRA_AZ_TICKS); + GTK_POLAR_VIEW (polv)->extratick = mod_cfg_get_bool (cfgdata, + MOD_CFG_POLAR_SECTION, + MOD_CFG_POLAR_SHOW_EXTRA_AZ_TICKS, + SAT_CFG_BOOL_POL_SHOW_EXTRA_AZ_TICKS); - /* create the canvas */ - GTK_POLAR_VIEW (polv)->canvas = goo_canvas_new (); - get_canvas_bg_color (GTK_POLAR_VIEW (polv), &bg_color); - gtk_widget_modify_base (GTK_POLAR_VIEW (polv)->canvas, GTK_STATE_NORMAL, &bg_color); - gtk_widget_set_size_request (GTK_POLAR_VIEW (polv)->canvas, - POLV_DEFAULT_SIZE, POLV_DEFAULT_SIZE); - goo_canvas_set_bounds (GOO_CANVAS (GTK_POLAR_VIEW (polv)->canvas), 0, 0, - POLV_DEFAULT_SIZE, POLV_DEFAULT_SIZE); + /* create the canvas */ + GTK_POLAR_VIEW (polv)->canvas = goo_canvas_new (); + get_canvas_bg_color (GTK_POLAR_VIEW (polv), &bg_color); + gtk_widget_modify_base (GTK_POLAR_VIEW (polv)->canvas, GTK_STATE_NORMAL, &bg_color); + gtk_widget_set_size_request (GTK_POLAR_VIEW (polv)->canvas, + POLV_DEFAULT_SIZE, POLV_DEFAULT_SIZE); + goo_canvas_set_bounds (GOO_CANVAS (GTK_POLAR_VIEW (polv)->canvas), 0, 0, + POLV_DEFAULT_SIZE, POLV_DEFAULT_SIZE); - /* connect size-request signal */ - g_signal_connect (GTK_POLAR_VIEW (polv)->canvas, "size-allocate", - G_CALLBACK (size_allocate_cb), polv); - g_signal_connect (GTK_POLAR_VIEW (polv)->canvas, "item_created", - (GtkSignalFunc) on_item_created, polv); - g_signal_connect_after (GTK_POLAR_VIEW (polv)->canvas, "realize", - (GtkSignalFunc) on_canvas_realized, polv); + /* connect size-request signal */ + g_signal_connect (GTK_POLAR_VIEW (polv)->canvas, "size-allocate", + G_CALLBACK (size_allocate_cb), polv); + g_signal_connect (GTK_POLAR_VIEW (polv)->canvas, "item_created", + (GtkSignalFunc) on_item_created, polv); + g_signal_connect_after (GTK_POLAR_VIEW (polv)->canvas, "realize", + (GtkSignalFunc) on_canvas_realized, polv); - gtk_widget_show (GTK_POLAR_VIEW (polv)->canvas); + gtk_widget_show (GTK_POLAR_VIEW (polv)->canvas); - /* Create the canvas model */ - root = create_canvas_model (GTK_POLAR_VIEW (polv)); - goo_canvas_set_root_item_model (GOO_CANVAS (GTK_POLAR_VIEW (polv)->canvas), root); + /* Create the canvas model */ + root = create_canvas_model (GTK_POLAR_VIEW (polv)); + goo_canvas_set_root_item_model (GOO_CANVAS (GTK_POLAR_VIEW (polv)->canvas), root); - g_object_unref (root); + g_object_unref (root); - //gtk_box_pack_start (GTK_BOX (polv), GTK_POLAR_VIEW (polv)->swin, TRUE, TRUE, 0); - gtk_container_add (GTK_CONTAINER (polv), GTK_POLAR_VIEW (polv)->canvas); + //gtk_box_pack_start (GTK_BOX (polv), GTK_POLAR_VIEW (polv)->swin, TRUE, TRUE, 0); + gtk_container_add (GTK_CONTAINER (polv), GTK_POLAR_VIEW (polv)->canvas); - return polv; + return polv; } static GooCanvasItemModel * create_canvas_model (GtkPolarView *polv) { - GooCanvasItemModel *root; - gfloat x,y; - guint32 col; - GtkAnchorType anch = GTK_ANCHOR_CENTER; + GooCanvasItemModel *root; + gfloat x,y; + guint32 col; + GtkAnchorType anch = GTK_ANCHOR_CENTER; - root = goo_canvas_group_model_new (NULL, NULL); + root = goo_canvas_group_model_new (NULL, NULL); - /* graph dimensions */ - polv->size = POLV_DEFAULT_SIZE; - polv->r = (polv->size / 2) - POLV_DEFAULT_MARGIN; - polv->cx = POLV_DEFAULT_SIZE / 2; - polv->cy = POLV_DEFAULT_SIZE / 2; + /* graph dimensions */ + polv->size = POLV_DEFAULT_SIZE; + polv->r = (polv->size / 2) - POLV_DEFAULT_MARGIN; + polv->cx = POLV_DEFAULT_SIZE / 2; + polv->cy = POLV_DEFAULT_SIZE / 2; - col = mod_cfg_get_int (polv->cfgdata, - MOD_CFG_POLAR_SECTION, - MOD_CFG_POLAR_AXIS_COL, - SAT_CFG_INT_POLAR_AXIS_COL); + col = mod_cfg_get_int (polv->cfgdata, + MOD_CFG_POLAR_SECTION, + MOD_CFG_POLAR_AXIS_COL, + SAT_CFG_INT_POLAR_AXIS_COL); - /* Add elevation circles at 0, 30 and 60 deg */ - polv->C00 = goo_canvas_ellipse_model_new (root, - polv->cx, polv->cy, - polv->r, polv->r, - "line-width", 1.0, - "stroke-color-rgba", col, - NULL); + /* Add elevation circles at 0, 30 and 60 deg */ + polv->C00 = goo_canvas_ellipse_model_new (root, + polv->cx, polv->cy, + polv->r, polv->r, + "line-width", 1.0, + "stroke-color-rgba", col, + NULL); - polv->C30 = goo_canvas_ellipse_model_new (root, - polv->cx, polv->cy, - 0.6667 * polv->r, 0.6667 * polv->r, - "line-width", 1.0, - "stroke-color-rgba", col, - NULL); + polv->C30 = goo_canvas_ellipse_model_new (root, + polv->cx, polv->cy, + 0.6667 * polv->r, 0.6667 * polv->r, + "line-width", 1.0, + "stroke-color-rgba", col, + NULL); - polv->C60 = goo_canvas_ellipse_model_new (root, - polv->cx, polv->cy, - 0.333 * polv->r, 0.3333 * polv->r, - "line-width", 1.0, - "stroke-color-rgba", col, - NULL); + polv->C60 = goo_canvas_ellipse_model_new (root, + polv->cx, polv->cy, + 0.333 * polv->r, 0.3333 * polv->r, + "line-width", 1.0, + "stroke-color-rgba", col, + NULL); - /* add horixontal and vertical guidance lines */ - polv->hl = goo_canvas_polyline_model_new_line (root, - polv->cx - polv->r - POLV_LINE_EXTRA, - polv->cy, - polv->cx + polv->r + POLV_LINE_EXTRA, - polv->cy, - "stroke-color-rgba", col, - "line-width", 1.0, - NULL); + /* add horixontal and vertical guidance lines */ + polv->hl = goo_canvas_polyline_model_new_line (root, + polv->cx - polv->r - POLV_LINE_EXTRA, + polv->cy, + polv->cx + polv->r + POLV_LINE_EXTRA, + polv->cy, + "stroke-color-rgba", col, + "line-width", 1.0, + NULL); - polv->vl = goo_canvas_polyline_model_new_line (root, - polv->cx, - polv->cy - polv->r - POLV_LINE_EXTRA, - polv->cx, - polv->cy + polv->r + POLV_LINE_EXTRA, - "stroke-color-rgba", col, - "line-width", 1.0, - NULL); + polv->vl = goo_canvas_polyline_model_new_line (root, + polv->cx, + polv->cy - polv->r - POLV_LINE_EXTRA, + polv->cx, + polv->cy + polv->r + POLV_LINE_EXTRA, + "stroke-color-rgba", col, + "line-width", 1.0, + NULL); - /* N, S, E and W labels. */ - col = mod_cfg_get_int (polv->cfgdata, - MOD_CFG_POLAR_SECTION, - MOD_CFG_POLAR_TICK_COL, - SAT_CFG_INT_POLAR_TICK_COL); - azel_to_xy (polv, 0.0, 0.0, &x, &y); - correct_pole_coor (polv, POLAR_VIEW_POLE_N, &x, &y, &anch); - polv->N = goo_canvas_text_model_new (root, _("N"), - x, - y, - -1, - anch, - "font", "Sans 10", - "fill-color-rgba", col, - NULL); + /* N, S, E and W labels. */ + col = mod_cfg_get_int (polv->cfgdata, + MOD_CFG_POLAR_SECTION, + MOD_CFG_POLAR_TICK_COL, + SAT_CFG_INT_POLAR_TICK_COL); + azel_to_xy (polv, 0.0, 0.0, &x, &y); + correct_pole_coor (polv, POLAR_VIEW_POLE_N, &x, &y, &anch); + polv->N = goo_canvas_text_model_new (root, _("N"), + x, + y, + -1, + anch, + "font", "Sans 10", + "fill-color-rgba", col, + NULL); - azel_to_xy (polv, 180.0, 0.0, &x, &y); - correct_pole_coor (polv, POLAR_VIEW_POLE_S, &x, &y, &anch); - polv->S = goo_canvas_text_model_new (root, _("S"), - x, - y, - -1, - anch, - "font", "Sans 10", - "fill-color-rgba", col, - NULL); + azel_to_xy (polv, 180.0, 0.0, &x, &y); + correct_pole_coor (polv, POLAR_VIEW_POLE_S, &x, &y, &anch); + polv->S = goo_canvas_text_model_new (root, _("S"), + x, + y, + -1, + anch, + "font", "Sans 10", + "fill-color-rgba", col, + NULL); - azel_to_xy (polv, 90.0, 0.0, &x, &y); - correct_pole_coor (polv, POLAR_VIEW_POLE_E, &x, &y, &anch); - polv->E = goo_canvas_text_model_new (root, _("E"), - x, - y, - -1, - anch, - "font", "Sans 10", - "fill-color-rgba", col, - NULL); + azel_to_xy (polv, 90.0, 0.0, &x, &y); + correct_pole_coor (polv, POLAR_VIEW_POLE_E, &x, &y, &anch); + polv->E = goo_canvas_text_model_new (root, _("E"), + x, + y, + -1, + anch, + "font", "Sans 10", + "fill-color-rgba", col, + NULL); - azel_to_xy (polv, 270.0, 0.0, &x, &y); - correct_pole_coor (polv, POLAR_VIEW_POLE_W, &x, &y, &anch); - polv->W = goo_canvas_text_model_new (root, _("W"), - x, - y, - -1, - anch, - "font", "Sans 10", - "fill-color-rgba", col, - NULL); + azel_to_xy (polv, 270.0, 0.0, &x, &y); + correct_pole_coor (polv, POLAR_VIEW_POLE_W, &x, &y, &anch); + polv->W = goo_canvas_text_model_new (root, _("W"), + x, + y, + -1, + anch, + "font", "Sans 10", + "fill-color-rgba", col, + NULL); - /* cursor text */ - col = mod_cfg_get_int (polv->cfgdata, - MOD_CFG_POLAR_SECTION, - MOD_CFG_POLAR_INFO_COL, - SAT_CFG_INT_POLAR_INFO_COL); - polv->curs = goo_canvas_text_model_new (root, "", - polv->cx - polv->r - 2*POLV_LINE_EXTRA, - polv->cy + polv->r + POLV_LINE_EXTRA, - -1, - GTK_ANCHOR_W, - "font", "Sans 8", - "fill-color-rgba", col, - NULL); + /* cursor text */ + col = mod_cfg_get_int (polv->cfgdata, + MOD_CFG_POLAR_SECTION, + MOD_CFG_POLAR_INFO_COL, + SAT_CFG_INT_POLAR_INFO_COL); + polv->curs = goo_canvas_text_model_new (root, "", + polv->cx - polv->r - 2*POLV_LINE_EXTRA, + polv->cy + polv->r + POLV_LINE_EXTRA, + -1, + GTK_ANCHOR_W, + "font", "Sans 8", + "fill-color-rgba", col, + NULL); - /* location info */ - polv->locnam = goo_canvas_text_model_new (root, polv->qth->name, - polv->cx - polv->r - 2*POLV_LINE_EXTRA, - polv->cy - polv->r - POLV_LINE_EXTRA, - -1, - GTK_ANCHOR_SW, - "font", "Sans 8", - "fill-color-rgba", col, - NULL); + /* location info */ + polv->locnam = goo_canvas_text_model_new (root, polv->qth->name, + polv->cx - polv->r - 2*POLV_LINE_EXTRA, + polv->cy - polv->r - POLV_LINE_EXTRA, + -1, + GTK_ANCHOR_SW, + "font", "Sans 8", + "fill-color-rgba", col, + NULL); - /* next event */ - polv->next = goo_canvas_text_model_new (root, "", - polv->cx + polv->r + 2*POLV_LINE_EXTRA, - polv->cy - polv->r - POLV_LINE_EXTRA, - -1, - GTK_ANCHOR_E, - "font", "Sans 8", - "fill-color-rgba", col, - "alignment", PANGO_ALIGN_RIGHT, - NULL); + /* next event */ + polv->next = goo_canvas_text_model_new (root, "", + polv->cx + polv->r + 2*POLV_LINE_EXTRA, + polv->cy - polv->r - POLV_LINE_EXTRA, + -1, + GTK_ANCHOR_E, + "font", "Sans 8", + "fill-color-rgba", col, + "alignment", PANGO_ALIGN_RIGHT, + NULL); - /* selected satellite text */ - polv->sel = goo_canvas_text_model_new (root, "", - polv->cx + polv->r + 2*POLV_LINE_EXTRA, - polv->cy + polv->r + POLV_LINE_EXTRA, - -1, - GTK_ANCHOR_E, - "font", "Sans 8", - "fill-color-rgba", col, - "alignment", PANGO_ALIGN_RIGHT, - NULL); + /* selected satellite text */ + polv->sel = goo_canvas_text_model_new (root, "", + polv->cx + polv->r + 2*POLV_LINE_EXTRA, + polv->cy + polv->r + POLV_LINE_EXTRA, + -1, + GTK_ANCHOR_E, + "font", "Sans 8", + "fill-color-rgba", col, + "alignment", PANGO_ALIGN_RIGHT, + NULL); - return root; + return root; } @@ -427,70 +428,70 @@ */ static void correct_pole_coor (GtkPolarView *polv, - polar_view_pole_t pole, - gfloat *x, gfloat *y, - GtkAnchorType *anch) + polar_view_pole_t pole, + gfloat *x, gfloat *y, + GtkAnchorType *anch) { - switch (pole) { + switch (pole) { - case POLAR_VIEW_POLE_N: - if ((polv->swap == POLAR_VIEW_SENW) || - (polv->swap == POLAR_VIEW_SWNE)) { - /* North and South are swapped */ - *y = *y + POLV_LINE_EXTRA; - *anch = GTK_ANCHOR_NORTH; - } - else { - *y = *y - POLV_LINE_EXTRA; - *anch = GTK_ANCHOR_SOUTH; - } + case POLAR_VIEW_POLE_N: + if ((polv->swap == POLAR_VIEW_SENW) || + (polv->swap == POLAR_VIEW_SWNE)) { + /* North and South are swapped */ + *y = *y + POLV_LINE_EXTRA; + *anch = GTK_ANCHOR_NORTH; + } + else { + *y = *y - POLV_LINE_EXTRA; + *anch = GTK_ANCHOR_SOUTH; + } - break; + break; - case POLAR_VIEW_POLE_E: - if ((polv->swap == POLAR_VIEW_NWSE) || - (polv->swap == POLAR_VIEW_SWNE)) { - /* East and West are swapped */ - *x = *x - POLV_LINE_EXTRA; - *anch = GTK_ANCHOR_EAST; - } - else { - *x = *x + POLV_LINE_EXTRA; - *anch = GTK_ANCHOR_WEST; - } - break; + case POLAR_VIEW_POLE_E: + if ((polv->swap == POLAR_VIEW_NWSE) || + (polv->swap == POLAR_VIEW_SWNE)) { + /* East and West are swapped */ + *x = *x - POLV_LINE_EXTRA; + *anch = GTK_ANCHOR_EAST; + } + else { + *x = *x + POLV_LINE_EXTRA; + *anch = GTK_ANCHOR_WEST; + } + break; - case POLAR_VIEW_POLE_S: - if ((polv->swap == POLAR_VIEW_SENW) || - (polv->swap == POLAR_VIEW_SWNE)) { - /* North and South are swapped */ - *y = *y - POLV_LINE_EXTRA; - *anch = GTK_ANCHOR_SOUTH; - } - else { - *y = *y + POLV_LINE_EXTRA; - *anch = GTK_ANCHOR_NORTH; - } - break; + case POLAR_VIEW_POLE_S: + if ((polv->swap == POLAR_VIEW_SENW) || + (polv->swap == POLAR_VIEW_SWNE)) { + /* North and South are swapped */ + *y = *y - POLV_LINE_EXTRA; + *anch = GTK_ANCHOR_SOUTH; + } + else { + *y = *y + POLV_LINE_EXTRA; + *anch = GTK_ANCHOR_NORTH; + } + break; - case POLAR_VIEW_POLE_W: - if ((polv->swap == POLAR_VIEW_NWSE) || - (polv->swap == POLAR_VIEW_SWNE)) { - /* East and West are swapped */ - *x = *x + POLV_LINE_EXTRA; - *anch = GTK_ANCHOR_WEST; - } - else { - *x = *x - POLV_LINE_EXTRA; - *anch = GTK_ANCHOR_EAST; - } - break; + case POLAR_VIEW_POLE_W: + if ((polv->swap == POLAR_VIEW_NWSE) || + (polv->swap == POLAR_VIEW_SWNE)) { + /* East and West are swapped */ + *x = *x + POLV_LINE_EXTRA; + *anch = GTK_ANCHOR_WEST; + } + else { + *x = *x - POLV_LINE_EXTRA; + *anch = GTK_ANCHOR_EAST; + } + break; - default: - /* FIXME: bug */ - break; - } + default: + /* FIXME: bug */ + break; + } } @@ -503,128 +504,137 @@ static void size_allocate_cb (GtkWidget *widget, GtkAllocation *allocation, gpointer data) { - GtkPolarView *polv; - GooCanvasPoints *prec; - gfloat x,y; - GtkAnchorType anch = GTK_ANCHOR_CENTER; + GTK_POLAR_VIEW (data)->resize = TRUE; +} - if (GTK_WIDGET_REALIZED (widget)) { +static void +update_polv_size (GtkPolarView *polv) +{ + //GtkPolarView *polv; + GtkAllocation allocation; + GooCanvasPoints *prec; + gfloat x,y; + GtkAnchorType anch = GTK_ANCHOR_CENTER; - /* get graph dimensions */ - polv = GTK_POLAR_VIEW (data); - polv->size = MIN(allocation->width, allocation->height); - polv->r = (polv->size / 2) - POLV_DEFAULT_MARGIN; - polv->cx = allocation->width / 2; - polv->cy = allocation->height / 2; + if (GTK_WIDGET_REALIZED (polv)) { + + /* get graph dimensions */ + allocation.width = GTK_WIDGET (polv)->allocation.width; + allocation.height = GTK_WIDGET (polv)->allocation.height; + polv->size = MIN(allocation.width, allocation.height); + polv->r = (polv->size / 2) - POLV_DEFAULT_MARGIN; + polv->cx = allocation.width / 2; + polv->cy = allocation.height / 2; + /* update canvas bounds to match new size */ goo_canvas_set_bounds (GOO_CANVAS (GTK_POLAR_VIEW (polv)->canvas), 0, 0, - allocation->width, allocation->height); + allocation.width, allocation.height); - /* update coordinate system */ - g_object_set (polv->C00, - "center-x", (gdouble) polv->cx, - "center-y", (gdouble) polv->cy, - "radius-x", (gdouble) polv->r, - "radius-y", (gdouble) polv->r, - NULL); - g_object_set (polv->C30, - "center-x", (gdouble) polv->cx, - "center-y", (gdouble) polv->cy, - "radius-x", (gdouble) 0.6667*polv->r, - "radius-y", (gdouble) 0.6667*polv->r, - NULL); - g_object_set (polv->C60, - "center-x", (gdouble) polv->cx, - "center-y", (gdouble) polv->cy, - "radius-x", (gdouble) 0.333*polv->r, - "radius-y", (gdouble) 0.333*polv->r, - NULL); + /* update coordinate system */ + g_object_set (polv->C00, + "center-x", (gdouble) polv->cx, + "center-y", (gdouble) polv->cy, + "radius-x", (gdouble) polv->r, + "radius-y", (gdouble) polv->r, + NULL); + g_object_set (polv->C30, + "center-x", (gdouble) polv->cx, + "center-y", (gdouble) polv->cy, + "radius-x", (gdouble) 0.6667*polv->r, + "radius-y", (gdouble) 0.6667*polv->r, + NULL); + g_object_set (polv->C60, + "center-x", (gdouble) polv->cx, + "center-y", (gdouble) polv->cy, + "radius-x", (gdouble) 0.333*polv->r, + "radius-y", (gdouble) 0.333*polv->r, + NULL); - /* horizontal line */ - prec = goo_canvas_points_new (2); - prec->coords[0] = polv->cx - polv->r - POLV_LINE_EXTRA; - prec->coords[1] = polv->cy; - prec->coords[2] = polv->cx + polv->r + POLV_LINE_EXTRA; - prec->coords[3] = polv->cy; - g_object_set (polv->hl, - "points", prec, - NULL); + /* horizontal line */ + prec = goo_canvas_points_new (2); + prec->coords[0] = polv->cx - polv->r - POLV_LINE_EXTRA; + prec->coords[1] = polv->cy; + prec->coords[2] = polv->cx + polv->r + POLV_LINE_EXTRA; + prec->coords[3] = polv->cy; + g_object_set (polv->hl, + "points", prec, + NULL); - /* vertical line */ - prec->coords[0] = polv->cx; - prec->coords[1] = polv->cy - polv->r - POLV_LINE_EXTRA; - prec->coords[2] = polv->cx; - prec->coords[3] = polv->cy + polv->r + POLV_LINE_EXTRA; - g_object_set (polv->vl, - "points", prec, - NULL); + /* vertical line */ + prec->coords[0] = polv->cx; + prec->coords[1] = polv->cy - polv->r - POLV_LINE_EXTRA; + prec->coords[2] = polv->cx; + prec->coords[3] = polv->cy + polv->r + POLV_LINE_EXTRA; + g_object_set (polv->vl, + "points", prec, + NULL); - /* free memory */ - goo_canvas_points_unref (prec); - - /* N/E/S/W */ - azel_to_xy (polv, 0.0, 0.0, &x, &y); - correct_pole_coor (polv, POLAR_VIEW_POLE_N, &x, &y, &anch); - g_object_set (polv->N, - "x", x, - "y", y, - NULL); + /* free memory */ + goo_canvas_points_unref (prec); + + /* N/E/S/W */ + azel_to_xy (polv, 0.0, 0.0, &x, &y); + correct_pole_coor (polv, POLAR_VIEW_POLE_N, &x, &y, &anch); + g_object_set (polv->N, + "x", x, + "y", y, + NULL); - azel_to_xy (polv, 90.0, 0.0, &x, &y); - correct_pole_coor (polv, POLAR_VIEW_POLE_E, &x, &y, &anch); - g_object_set (polv->E, - "x", x, - "y", y, - NULL); + azel_to_xy (polv, 90.0, 0.0, &x, &y); + correct_pole_coor (polv, POLAR_VIEW_POLE_E, &x, &y, &anch); + g_object_set (polv->E, + "x", x, + "y", y, + NULL); - azel_to_xy (polv, 180.0, 0.0, &x, &y); - correct_pole_coor (polv, POLAR_VIEW_POLE_S, &x, &y, &anch); - g_object_set (polv->S, - "x", x, - "y", y, - NULL); + azel_to_xy (polv, 180.0, 0.0, &x, &y); + correct_pole_coor (polv, POLAR_VIEW_POLE_S, &x, &y, &anch); + g_object_set (polv->S, + "x", x, + "y", y, + NULL); - azel_to_xy (polv, 270.0, 0.0, &x, &y); - correct_pole_coor (polv, POLAR_VIEW_POLE_W, &x, &y, &anch); - g_object_set (polv->W, - "x", x, - "y", y, - NULL); + azel_to_xy (polv, 270.0, 0.0, &x, &y); + correct_pole_coor (polv, POLAR_VIEW_POLE_W, &x, &y, &anch); + g_object_set (polv->W, + "x", x, + "y", y, + NULL); - /* cursor track */ - g_object_set (polv->curs, - "x", (gfloat) (polv->cx - polv->r - 2*POLV_LINE_EXTRA), - "y", (gfloat) (polv->cy + polv->r + POLV_LINE_EXTRA), - NULL); + /* cursor track */ + g_object_set (polv->curs, + "x", (gfloat) (polv->cx - polv->r - 2*POLV_LINE_EXTRA), + "y", (gfloat) (polv->cy + polv->r + POLV_LINE_EXTRA), + NULL); - /* location name */ - g_object_set (polv->locnam, - "x", (gfloat) (polv->cx - polv->r - 2*POLV_LINE_EXTRA), - "y", (gfloat) (polv->cy - polv->r - POLV_LINE_EXTRA), - NULL); + /* location name */ + g_object_set (polv->locnam, + "x", (gfloat) (polv->cx - polv->r - 2*POLV_LINE_EXTRA), + "y", (gfloat) (polv->cy - polv->r - POLV_LINE_EXTRA), + NULL); - /* next event */ - g_object_set (polv->next, - "x", (gfloat) (polv->cx + polv->r + 2*POLV_LINE_EXTRA), - "y", (gfloat) (polv->cy - polv->r - POLV_LINE_EXTRA), - NULL); + /* next event */ + g_object_set (polv->next, + "x", (gfloat) (polv->cx + polv->r + 2*POLV_LINE_EXTRA), + "y", (gfloat) (polv->cy - polv->r - POLV_LINE_EXTRA), + NULL); - /* selection info */ - g_object_set (polv->sel, - "x", (gfloat) polv->cx + polv->r + 2*POLV_LINE_EXTRA, - "y", (gfloat) polv->cy + polv->r + POLV_LINE_EXTRA, - NULL); + /* selection info */ + g_object_set (polv->sel, + "x", (gfloat) polv->cx + polv->r + 2*POLV_LINE_EXTRA, + "y", (gfloat) polv->cy + polv->r + POLV_LINE_EXTRA, + NULL); - g_hash_table_foreach (polv->sats, update_sat, polv); + g_hash_table_foreach (polv->sats, update_sat, polv); - /* sky tracks */ - g_hash_table_foreach (polv->obj, update_track, polv); + /* sky tracks */ + g_hash_table_foreach (polv->obj, update_track, polv); - } + } } @@ -638,11 +648,11 @@ static void on_canvas_realized (GtkWidget *canvas, gpointer data) { - GtkAllocation aloc; + GtkAllocation aloc; - aloc.width = canvas->allocation.width; - aloc.height = canvas->allocation.height; - size_allocate_cb (canvas, &aloc, data); + aloc.width = canvas->allocation.width; + aloc.height = canvas->allocation.height; + size_allocate_cb (canvas, &aloc, data); } @@ -650,321 +660,325 @@ void gtk_polar_view_update (GtkWidget *widget) { - GtkPolarView *polv = GTK_POLAR_VIEW (widget); - gdouble number, now; - gchar *buff; - guint h,m,s; - gchar *ch,*cm,*cs; - sat_t *sat = NULL; - gint *catnr; + GtkPolarView *polv = GTK_POLAR_VIEW (widget); + gdouble number, now; + gchar *buff; + guint h,m,s; + gchar *ch,*cm,*cs; + sat_t *sat = NULL; + gint *catnr; + if (polv->resize) { + update_polv_size (polv); + polv->resize = FALSE; + } + + /* check refresh rate and refresh sats if time */ + if (polv->counter < polv->refresh) { + polv->counter++; + } + else { + /* reset data */ + polv->counter = 1; + polv->naos = 2458849.5; - /* check refresh rate and refresh sats if time */ - if (polv->counter < polv->refresh) { - polv->counter++; - } - else { - /* reset data */ - polv->counter = 1; - polv->naos = 2458849.5; + /* update sats */ + g_hash_table_foreach (polv->sats, update_sat, polv); - /* update sats */ - g_hash_table_foreach (polv->sats, update_sat, polv); + /* update countdown to NEXT AOS label */ + if (polv->eventinfo) { - /* update countdown to NEXT AOS label */ - if (polv->eventinfo) { + if (polv->ncat > 0) { + catnr = g_try_new0 (gint, 1); + *catnr = polv->ncat; + sat = SAT(g_hash_table_lookup (polv->sats, catnr)); + g_free (catnr); - if (polv->ncat > 0) { - catnr = g_try_new0 (gint, 1); - *catnr = polv->ncat; - sat = SAT(g_hash_table_lookup (polv->sats, catnr)); - g_free (catnr); + /* last desperate sanity check */ + if (sat != NULL) { - /* last desperate sanity check */ - if (sat != NULL) { + now = polv->tstamp; //get_current_daynum (); + number = polv->naos - now; - now = polv->tstamp; //get_current_daynum (); - number = polv->naos - now; + /* convert julian date to seconds */ + s = (guint) (number * 86400); + + /* extract hours */ + h = (guint) floor (s/3600); + s -= 3600*h; - /* convert julian date to seconds */ - s = (guint) (number * 86400); - - /* extract hours */ - h = (guint) floor (s/3600); - s -= 3600*h; + /* leading zero */ + if ((h > 0) && (h < 10)) + ch = g_strdup ("0"); + else + ch = g_strdup (""); - /* leading zero */ - if ((h > 0) && (h < 10)) - ch = g_strdup ("0"); - else - ch = g_strdup (""); + /* extract minutes */ + m = (guint) floor (s/60); + s -= 60*m; + + /* leading zero */ + if (m < 10) + cm = g_strdup ("0"); + else + cm = g_strdup (""); + + /* leading zero */ + if (s < 10) + cs = g_strdup (":0"); + else + cs = g_strdup (":"); + + if (h > 0) + buff = g_strdup_printf (_("Next: %s\nin %s%d:%s%d%s%d"), + sat->tle.sat_name, ch, h, cm, m, cs, s); + else + buff = g_strdup_printf (_("Next: %s\nin %s%d%s%d"), + sat->tle.sat_name, cm, m, cs, s); + + + g_object_set (polv->next, + "text", buff, + NULL); - /* extract minutes */ - m = (guint) floor (s/60); - s -= 60*m; - - /* leading zero */ - if (m < 10) - cm = g_strdup ("0"); - else - cm = g_strdup (""); - - /* leading zero */ - if (s < 10) - cs = g_strdup (":0"); - else - cs = g_strdup (":"); - - if (h > 0) - buff = g_strdup_printf (_("Next: %s\nin %s%d:%s%d%s%d"), - sat->tle.sat_name, ch, h, cm, m, cs, s); - else - buff = g_strdup_printf (_("Next: %s\nin %s%d%s%d"), - sat->tle.sat_name, cm, m, cs, s); - - - g_object_set (polv->next, - "text", buff, - NULL); + g_free (buff); + g_free (ch); + g_free (cm); + g_free (cs); + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Can not find NEXT satellite."), + __FUNCTION__); + g_object_set (polv->next, + "text", _("Next: ERR"), + NULL); + } + } + else { + g_object_set (polv->next, + "text", _("Next: N/A"), + NULL); + } + } + else { + g_object_set (polv->next, + "text", "", + NULL); + } - g_free (buff); - g_free (ch); - g_free (cm); - g_free (cs); - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Can not find NEXT satellite."), - __FUNCTION__); - g_object_set (polv->next, - "text", _("Next: ERR"), - NULL); - } - } - else { - g_object_set (polv->next, - "text", _("Next: N/A"), - NULL); - } - } - else { - g_object_set (polv->next, - "text", "", - NULL); - } - - } + } } static void update_sat (gpointer key, gpointer value, gpointer data) { - gint *catnum; - sat_t *sat = SAT(value); - GtkPolarView *polv = GTK_POLAR_VIEW (data); - sat_obj_t *obj = NULL; - gfloat x,y; - GooCanvasItemModel *root; - gint idx,i; - gdouble now;// = get_current_daynum (); - gchar *text; - guint32 colour; + gint *catnum; + sat_t *sat = SAT(value); + GtkPolarView *polv = GTK_POLAR_VIEW (data); + sat_obj_t *obj = NULL; + gfloat x,y; + GooCanvasItemModel *root; + gint idx,i; + gdouble now;// = get_current_daynum (); + gchar *text; + guint32 colour; - catnum = g_new0 (gint, 1); - *catnum = sat->tle.catnr; + catnum = g_new0 (gint, 1); + *catnum = sat->tle.catnr; - now = polv->tstamp; + now = polv->tstamp; - /* update next AOS */ - if ((sat->aos > now) && (sat->aos < polv->naos)) { - polv->naos = sat->aos; - polv->ncat = sat->tle.catnr; - } + /* update next AOS */ + if ((sat->aos > now) && (sat->aos < polv->naos)) { + polv->naos = sat->aos; + polv->ncat = sat->tle.catnr; + } - /* if sat is out of range */ - if (sat->el < 0.00) { + /* if sat is out of range */ + if (sat->el < 0.00) { - obj = SAT_OBJ(g_hash_table_lookup (polv->obj, catnum)); + obj = SAT_OBJ(g_hash_table_lookup (polv->obj, catnum)); - /* if sat is on canvas */ - if (obj != NULL) { + /* if sat is on canvas */ + if (obj != NULL) { - /* remove sat from canvas */ - root = goo_canvas_get_root_item_model (GOO_CANVAS (polv->canvas)); + /* remove sat from canvas */ + root = goo_canvas_get_root_item_model (GOO_CANVAS (polv->canvas)); - idx = goo_canvas_item_model_find_child (root, obj->marker); - if (idx != -1) { - goo_canvas_item_model_remove_child (root, idx); - } + idx = goo_canvas_item_model_find_child (root, obj->marker); + if (idx != -1) { + goo_canvas_item_model_remove_child (root, idx); + } - idx = goo_canvas_item_model_find_child (root, obj->label); - if (idx != -1) { - goo_canvas_item_model_remove_child (root, idx); - } + idx = goo_canvas_item_model_find_child (root, obj->label); + if (idx != -1) { + goo_canvas_item_model_remove_child (root, idx); + } - /* remove sky track */ - if (obj->showtrack) { - idx = goo_canvas_item_model_find_child (root, obj->track); - if (idx != -1) - goo_canvas_item_model_remove_child (root, idx); + /* remove sky track */ + if (obj->showtrack) { + idx = goo_canvas_item_model_find_child (root, obj->track); + if (idx != -1) + goo_canvas_item_model_remove_child (root, idx); - for (i = 0; i < TRACK_TICK_NUM; i++) { - idx = goo_canvas_item_model_find_child (root, obj->trtick[i]); - if (idx != -1) - goo_canvas_item_model_remove_child (root, idx); - } - } - - /* free pass info */ - free_pass (obj->pass); + for (i = 0; i < TRACK_TICK_NUM; i++) { + idx = goo_canvas_item_model_find_child (root, obj->trtick[i]); + if (idx != -1) + goo_canvas_item_model_remove_child (root, idx); + } + } + + /* free pass info */ + free_pass (obj->pass); - /* if this was the selected satellite we need to - clear the info text - */ - if (obj->selected) { - g_object_set (polv->sel, "text", "", NULL); - } + /* if this was the selected satellite we need to + clear the info text + */ + if (obj->selected) { + g_object_set (polv->sel, "text", "", NULL); + } - g_free (obj); + g_free (obj); - /* remove sat object from hash table */ - g_hash_table_remove (polv->obj, catnum); + /* remove sat object from hash table */ + g_hash_table_remove (polv->obj, catnum); - /* FIXME: remove track from chart */ + /* FIXME: remove track from chart */ - } + } - g_free (catnum); - } + g_free (catnum); + } - /* sat is within range */ - else { + /* sat is within range */ + else { - obj = SAT_OBJ (g_hash_table_lookup (polv->obj, catnum)); - azel_to_xy (polv, sat->az, sat->el, &x, &y); + obj = SAT_OBJ (g_hash_table_lookup (polv->obj, catnum)); + azel_to_xy (polv, sat->az, sat->el, &x, &y); - /* if sat is already on canvas */ - if (obj != NULL) { - /* update sat */ - g_object_set (obj->marker, - "x", x - MARKER_SIZE_HALF, - "y", y - MARKER_SIZE_HALF, - NULL); - g_object_set (obj->label, - "x", x, - "y", y+2, - NULL); + /* if sat is already on canvas */ + if (obj != NULL) { + /* update sat */ + g_object_set (obj->marker, + "x", x - MARKER_SIZE_HALF, + "y", y - MARKER_SIZE_HALF, + NULL); + g_object_set (obj->label, + "x", x, + "y", y+2, + NULL); - /* update selection info if satellite is - selected - */ - if (obj->selected) { - guint h,m,s; - gchar *ch,*cm,*cs; - gdouble number, now; + /* update selection info if satellite is + selected + */ + if (obj->selected) { + guint h,m,s; + gchar *ch,*cm,*cs; + gdouble number, now; - if (sat->los > 0.0) { - now = polv->tstamp;//get_current_daynum (); - number = sat->los - now; + if (sat->los > 0.0) { + now = polv->tstamp;//get_current_daynum (); + number = sat->los - now; - /* convert julian date to seconds */ - s = (guint) (number * 86400); + /* convert julian date to seconds */ + s = (guint) (number * 86400); - /* extract hours */ - h = (guint) floor (s/3600); - s -= 3600*h; + /* extract hours */ + h = (guint) floor (s/3600); + s -= 3600*h; - /* leading zero */ - if ((h > 0) && (h < 10)) - ch = g_strdup ("0"); - else - ch = g_strdup (""); + /* leading zero */ + if ((h > 0) && (h < 10)) + ch = g_strdup ("0"); + else + ch = g_strdup (""); - /* extract minutes */ - m = (guint) floor (s/60); - s -= 60*m; + /* extract minutes */ + m = (guint) floor (s/60); + s -= 60*m; - /* leading zero */ - if (m < 10) - cm = g_strdup ("0"); - else - cm = g_strdup (""); + /* leading zero */ + if (m < 10) + cm = g_strdup ("0"); + else + cm = g_strdup (""); - /* leading zero */ - if (s < 10) - cs = g_strdup (":0"); - else - cs = g_strdup (":"); + /* leading zero */ + if (s < 10) + cs = g_strdup (":0"); + else + cs = g_strdup (":"); - if (h > 0) { - text = g_strdup_printf (_("%s\nLOS in %s%d:%s%d%s%d"), - sat->tle.sat_name, ch, h, cm, m, cs, s); - } - else { - text = g_strdup_printf (_("%s\nLOS in %s%d%s%d"), - sat->tle.sat_name, cm, m, cs, s); - } - g_free (ch); - g_free (cm); - g_free (cs); - } - else { - text = g_strdup_printf (_("%s\nAlways in range"), sat->tle.sat_name); - } - g_object_set (polv->sel, "text", text, NULL); + if (h > 0) { + text = g_strdup_printf (_("%s\nLOS in %s%d:%s%d%s%d"), + sat->tle.sat_name, ch, h, cm, m, cs, s); + } + else { + text = g_strdup_printf (_("%s\nLOS in %s%d%s%d"), + sat->tle.sat_name, cm, m, cs, s); + } + g_free (ch); + g_free (cm); + g_free (cs); + } + else { + text = g_strdup_printf (_("%s\nAlways in range"), sat->tle.sat_name); + } + g_object_set (polv->sel, "text", text, NULL); - g_free (text); - } + g_free (text); + } - g_free (catnum); - } - else { - /* add sat to canvas */ - obj = g_try_new (sat_obj_t, 1); - obj->selected = FALSE; - obj->showtrack = FALSE; - obj->istarget = FALSE; + g_free (catnum); + } + else { + /* add sat to canvas */ + obj = g_try_new (sat_obj_t, 1); + obj->selected = FALSE; + obj->showtrack = FALSE; + obj->istarget = FALSE; - root = goo_canvas_get_root_item_model (GOO_CANVAS (polv->canvas)); + root = goo_canvas_get_root_item_model (GOO_CANVAS (polv->canvas)); - colour = mod_cfg_get_int (polv->cfgdata, - MOD_CFG_POLAR_SECTION, - MOD_CFG_POLAR_SAT_COL, - SAT_CFG_INT_POLAR_SAT_COL); + colour = mod_cfg_get_int (polv->cfgdata, + MOD_CFG_POLAR_SECTION, + MOD_CFG_POLAR_SAT_COL, + SAT_CFG_INT_POLAR_SAT_COL); - obj->marker = goo_canvas_rect_model_new (root, - x - MARKER_SIZE_HALF, - y - MARKER_SIZE_HALF, - 2*MARKER_SIZE_HALF, - 2*MARKER_SIZE_HALF, - "fill-color-rgba", colour, - "stroke-color-rgba", colour, - NULL); - obj->label = goo_canvas_text_model_new (root, sat->tle.sat_name, - x, - y+2, - -1, - GTK_ANCHOR_NORTH, - "font", "Sans 8", - "fill-color-rgba", colour, - NULL); - - goo_canvas_item_model_raise (obj->marker, NULL); - goo_canvas_item_model_raise (obj->label, NULL); + obj->marker = goo_canvas_rect_model_new (root, + x - MARKER_SIZE_HALF, + y - MARKER_SIZE_HALF, + 2*MARKER_SIZE_HALF, + 2*MARKER_SIZE_HALF, + "fill-color-rgba", colour, + "stroke-color-rgba", colour, + NULL); + obj->label = goo_canvas_text_model_new (root, sat->tle.sat_name, + x, + y+2, + -1, + GTK_ANCHOR_NORTH, + "font", "Sans 8", + "fill-color-rgba", colour, + NULL); + + goo_canvas_item_model_raise (obj->marker, NULL); + goo_canvas_item_model_raise (obj->label, NULL); - g_object_set_data (G_OBJECT (obj->marker), "catnum", GINT_TO_POINTER(*catnum)); - g_object_set_data (G_OBJECT (obj->label), "catnum", GINT_TO_POINTER(*catnum)); + g_object_set_data (G_OBJECT (obj->marker), "catnum", GINT_TO_POINTER(*catnum)); + g_object_set_data (G_OBJECT (obj->label), "catnum", GINT_TO_POINTER(*catnum)); - /* get info about the current pass */ - obj->pass = get_current_pass (sat, polv->qth, now); + /* get info about the current pass */ + obj->pass = get_current_pass (sat, polv->qth, now); - /* add sat to hash table */ - g_hash_table_insert (polv->obj, catnum, obj); - } + /* add sat to hash table */ + g_hash_table_insert (polv->obj, catnum, obj); + } - } + } } @@ -973,62 +987,62 @@ static void update_track (gpointer key, gpointer value, gpointer data) { - sat_obj_t *obj = SAT_OBJ(value);; - GtkPolarView *pv = GTK_POLAR_VIEW (data); - guint num,i; - GooCanvasPoints *points; - gfloat x,y; - pass_detail_t *detail; - guint tres,ttidx; + sat_obj_t *obj = SAT_OBJ(value);; + GtkPolarView *pv = GTK_POLAR_VIEW (data); + guint num,i; + GooCanvasPoints *points; + gfloat x,y; + pass_detail_t *detail; + guint tres,ttidx; - if (obj->showtrack) { + if (obj->showtrack) { - /* create points */ - num = g_slist_length (obj->pass->details); + /* create points */ + num = g_slist_length (obj->pass->details); - points = goo_canvas_points_new (num); + points = goo_canvas_points_new (num); - /* first point should be (aos_az,0.0) */ - azel_to_xy (pv, obj->pass->aos_az, 0.0, &x, &y); - points->coords[0] = (double) x; - points->coords[1] = (double) y; + /* first point should be (aos_az,0.0) */ + azel_to_xy (pv, obj->pass->aos_az, 0.0, &x, &y); + points->coords[0] = (double) x; + points->coords[1] = (double) y; - /* time tick 0 */ - g_object_set (obj->trtick[0], "x", (gdouble) x, "y", (gdouble) y, NULL); + /* time tick 0 */ + g_object_set (obj->trtick[0], "x", (gdouble) x, "y", (gdouble) y, NULL); - /* time resolution for time ticks; we need - 3 additional points to AOS and LOS ticks. - */ - tres = (num-2) / (TRACK_TICK_NUM-1); - ttidx = 1; + /* time resolution for time ticks; we need + 3 additional points to AOS and LOS ticks. + */ + tres = (num-2) / (TRACK_TICK_NUM-1); + ttidx = 1; - for (i = 1; i < num-1; i++) { - detail = PASS_DETAIL(g_slist_nth_data (obj->pass->details, i)); - azel_to_xy (pv, detail->az, detail->el, &x, &y); - points->coords[2*i] = (double) x; - points->coords[2*i+1] = (double) y; + for (i = 1; i < num-1; i++) { + detail = PASS_DETAIL(g_slist_nth_data (obj->pass->details, i)); + azel_to_xy (pv, detail->az, detail->el, &x, &y); + points->coords[2*i] = (double) x; + points->coords[2*i+1] = (double) y; - if (!(i % tres)) { - /* update time tick */ - g_object_set (obj->trtick[ttidx], - "x", (gdouble) x, "y", (gdouble) y, - NULL); - ttidx++; - } - } + if (!(i % tres)) { + /* update time tick */ + g_object_set (obj->trtick[ttidx], + "x", (gdouble) x, "y", (gdouble) y, + NULL); + ttidx++; + } + } - /* last point should be (los_az, 0.0) */ - azel_to_xy (pv, obj->pass->los_az, 0.0, &x, &y); - points->coords[2*(num-1)] = (double) x; - points->coords[2*(num-1)+1] = (double) y; + /* last point should be (los_az, 0.0) */ + azel_to_xy (pv, obj->pass->los_az, 0.0, &x, &y); + points->coords[2*(num-1)] = (double) x; + points->coords[2*(num-1)+1] = (double) y; - g_object_set (obj->track, "points", points, NULL); + g_object_set (obj->track, "points", points, NULL); - goo_canvas_points_unref (points); + goo_canvas_po... [truncated message content] |
From: <cs...@us...> - 2009-05-01 20:06:19
|
Revision: 282 http://gpredict.svn.sourceforge.net/gpredict/?rev=282&view=rev Author: csete Date: 2009-05-01 20:06:18 +0000 (Fri, 01 May 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/src/gtk-sat-module.c trunk/src/mod-mgr.c Modified: trunk/src/gtk-sat-module.c =================================================================== --- trunk/src/gtk-sat-module.c 2009-05-01 17:55:29 UTC (rev 281) +++ trunk/src/gtk-sat-module.c 2009-05-01 20:06:18 UTC (rev 282) @@ -1237,7 +1237,10 @@ if (retcode != MOD_CFG_OK) { - /**** FIXME: error message + dialog */ + /**** FIXME: dialog */ + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Module configuration failed for some reason."), + __FUNCTION__); /* don't try to reload config since it may be invalid; keep original Modified: trunk/src/mod-mgr.c =================================================================== --- trunk/src/mod-mgr.c 2009-05-01 17:55:29 UTC (rev 281) +++ trunk/src/mod-mgr.c 2009-05-01 20:06:18 UTC (rev 282) @@ -207,9 +207,7 @@ module, gtk_label_new (GTK_SAT_MODULE (module)->name)); - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Entered 3."), - __FUNCTION__); + sat_log_log (SAT_LOG_LEVEL_MSG, _("%s: Entered 3."), __FUNCTION__); gtk_notebook_set_current_page (GTK_NOTEBOOK (nbook), page); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-01 17:55:37
|
Revision: 281 http://gpredict.svn.sourceforge.net/gpredict/?rev=281&view=rev Author: csete Date: 2009-05-01 17:55:29 +0000 (Fri, 01 May 2009) Log Message: ----------- Fixed indent. Modified Paths: -------------- trunk/src/gtk-sat-module.c Modified: trunk/src/gtk-sat-module.c =================================================================== --- trunk/src/gtk-sat-module.c 2009-05-01 16:41:45 UTC (rev 280) +++ trunk/src/gtk-sat-module.c 2009-05-01 17:55:29 UTC (rev 281) @@ -75,17 +75,17 @@ static void gtk_sat_module_init (GtkSatModule *module); static void gtk_sat_module_destroy (GtkObject *object); static void gtk_sat_module_read_cfg_data (GtkSatModule *module, - const gchar *cfgfile); + const gchar *cfgfile); static void gtk_sat_module_load_sats (GtkSatModule *module); /* static gboolean gtk_sat_module_sats_are_equal (gconstpointer a, */ -/* gconstpointer b); */ +/* gconstpointer b); */ static gboolean gtk_sat_module_timeout_cb (gpointer module); static void gtk_sat_module_update_sat (gpointer key, - gpointer val, - gpointer data); + gpointer val, + gpointer data); static void gtk_sat_module_popup_cb (GtkWidget *button, - gpointer data); + gpointer data); static void update_header (GtkSatModule *module); static void update_child (GtkWidget *child, gdouble tstamp); @@ -105,47 +105,47 @@ GType gtk_sat_module_get_type () { - static GType gtk_sat_module_type = 0; + static GType gtk_sat_module_type = 0; - if (!gtk_sat_module_type) { - static const GTypeInfo gtk_sat_module_info = { - sizeof (GtkSatModuleClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) gtk_sat_module_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GtkSatModule), - 5, /* n_preallocs */ - (GInstanceInitFunc) gtk_sat_module_init, - }; + if (!gtk_sat_module_type) { + static const GTypeInfo gtk_sat_module_info = { + sizeof (GtkSatModuleClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) gtk_sat_module_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (GtkSatModule), + 5, /* n_preallocs */ + (GInstanceInitFunc) gtk_sat_module_init, + }; - gtk_sat_module_type = g_type_register_static (GTK_TYPE_VBOX, - "GtkSatModule", - >k_sat_module_info, - 0); - } + gtk_sat_module_type = g_type_register_static (GTK_TYPE_VBOX, + "GtkSatModule", + >k_sat_module_info, + 0); + } - return gtk_sat_module_type; + return gtk_sat_module_type; } static void gtk_sat_module_class_init (GtkSatModuleClass *class) { - GObjectClass *gobject_class; - GtkObjectClass *object_class; - GtkWidgetClass *widget_class; - GtkContainerClass *container_class; + GObjectClass *gobject_class; + GtkObjectClass *object_class; + GtkWidgetClass *widget_class; + GtkContainerClass *container_class; - gobject_class = G_OBJECT_CLASS (class); - object_class = (GtkObjectClass*) class; - widget_class = (GtkWidgetClass*) class; - container_class = (GtkContainerClass*) class; + gobject_class = G_OBJECT_CLASS (class); + object_class = (GtkObjectClass*) class; + widget_class = (GtkWidgetClass*) class; + container_class = (GtkContainerClass*) class; - parent_class = g_type_class_peek_parent (class); + parent_class = g_type_class_peek_parent (class); - object_class->destroy = gtk_sat_module_destroy; + object_class->destroy = gtk_sat_module_destroy; } @@ -155,43 +155,43 @@ gtk_sat_module_init (GtkSatModule *module) { - /* initialise data structures */ - module->win = NULL; + /* initialise data structures */ + module->win = NULL; - module->qth = g_try_new0 (qth_t, 1); - module->qth->lat = 0.0; - module->qth->lon = 0.0; - module->qth->alt = 0; + module->qth = g_try_new0 (qth_t, 1); + module->qth->lat = 0.0; + module->qth->lon = 0.0; + module->qth->alt = 0; - module->satellites = g_hash_table_new_full (g_int_hash, - g_int_equal, - g_free, - g_free); - + module->satellites = g_hash_table_new_full (g_int_hash, + g_int_equal, + g_free, + g_free); + module->rotctrlwin = NULL; module->rotctrl = NULL; module->rigctrlwin = NULL; - module->state = GTK_SAT_MOD_STATE_DOCKED; - module->busy = FALSE; + module->state = GTK_SAT_MOD_STATE_DOCKED; + module->busy = FALSE; - module->layout = GTK_SAT_MOD_LAYOUT_1; - module->view_1 = GTK_SAT_MOD_VIEW_MAP; - module->view_2 = GTK_SAT_MOD_VIEW_POLAR; - module->view_3 = GTK_SAT_MOD_VIEW_SINGLE; + module->layout = GTK_SAT_MOD_LAYOUT_1; + module->view_1 = GTK_SAT_MOD_VIEW_MAP; + module->view_2 = GTK_SAT_MOD_VIEW_POLAR; + module->view_3 = GTK_SAT_MOD_VIEW_SINGLE; - module->vpanedpos = -1; - module->hpanedpos = -1; + module->vpanedpos = -1; + module->hpanedpos = -1; module->timerid = 0; - module->throttle = 1; - module->rtNow = 0.0; - module->rtPrev = 0.0; - module->tmgActive = FALSE; - module->tmgPdnum = 0.0; - module->tmgCdnum = 0.0; - module->tmgReset = FALSE; + module->throttle = 1; + module->rtNow = 0.0; + module->rtPrev = 0.0; + module->tmgActive = FALSE; + module->tmgPdnum = 0.0; + module->tmgCdnum = 0.0; + module->tmgReset = FALSE; } @@ -199,18 +199,18 @@ static void gtk_sat_module_destroy (GtkObject *object) { - GtkSatModule *module = GTK_SAT_MODULE (object); + GtkSatModule *module = GTK_SAT_MODULE (object); - /* stop timeout */ - if (module->timerid > 0) - g_source_remove (module->timerid); + /* stop timeout */ + if (module->timerid > 0) + g_source_remove (module->timerid); - /* destroy time controller */ - if (module->tmgActive) { - gtk_widget_destroy (module->tmgWin); - module->tmgActive = FALSE; - } + /* destroy time controller */ + if (module->tmgActive) { + gtk_widget_destroy (module->tmgWin); + module->tmgActive = FALSE; + } /* destroy radio and rotator controllers */ if (module->rigctrlwin) { @@ -221,31 +221,31 @@ } /* clean up QTH */ - if (module->qth) { - gtk_sat_data_free_qth (module->qth); - module->qth = NULL; - } + if (module->qth) { + gtk_sat_data_free_qth (module->qth); + module->qth = NULL; + } /* clean up satellites */ - if (module->satellites) { - g_hash_table_destroy (module->satellites); - module->satellites = NULL; - } + if (module->satellites) { + g_hash_table_destroy (module->satellites); + module->satellites = NULL; + } - (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); + (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); } /* static void dump_data(gpointer key, */ -/* gpointer value, */ -/* gpointer user_data) */ +/* gpointer value, */ +/* gpointer user_data) */ /* { */ -/* gint *catnum = key; */ +/* gint *catnum = key; */ -/* g_print ("SATELLITE: %5d\t%s\t%d\n", */ -/* *catnum, */ -/* SAT(value)->tle.sat_name, */ -/* SAT(value)->flags); */ +/* g_print ("SATELLITE: %5d\t%s\t%d\n", */ +/* *catnum, */ +/* SAT(value)->tle.sat_name, */ +/* SAT(value)->flags); */ /* } */ /**** FIXME: Program goes into infinite loop when there is something @@ -253,115 +253,115 @@ GtkWidget * gtk_sat_module_new (const gchar *cfgfile) { - GtkWidget *widget; - GtkWidget *butbox; + GtkWidget *widget; + GtkWidget *butbox; - /* Read configuration data. - If cfgfile is not existing or is NULL, start the wizard - in order to create a new configuration. - */ - if ((cfgfile == NULL) || !g_file_test (cfgfile, G_FILE_TEST_EXISTS)) { + /* Read configuration data. + If cfgfile is not existing or is NULL, start the wizard + in order to create a new configuration. + */ + if ((cfgfile == NULL) || !g_file_test (cfgfile, G_FILE_TEST_EXISTS)) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module %s is not valid."), - __FUNCTION__, cfgfile); + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module %s is not valid."), + __FUNCTION__, cfgfile); - return NULL; - } + return NULL; + } - /* create module widget */ - widget = g_object_new (GTK_TYPE_SAT_MODULE, NULL); + /* create module widget */ + widget = g_object_new (GTK_TYPE_SAT_MODULE, NULL); - g_signal_connect (widget, "realize", - G_CALLBACK (fix_child_allocations), NULL); + g_signal_connect (widget, "realize", + G_CALLBACK (fix_child_allocations), NULL); - /* load configuration; note that this will also set the module name */ - gtk_sat_module_read_cfg_data (GTK_SAT_MODULE (widget), cfgfile); + /* load configuration; note that this will also set the module name */ + gtk_sat_module_read_cfg_data (GTK_SAT_MODULE (widget), cfgfile); - /* module state */ - if ((g_key_file_has_key (GTK_SAT_MODULE (widget)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_STATE, NULL)) && - sat_cfg_get_bool (SAT_CFG_BOOL_MOD_STATE)) { + /* module state */ + if ((g_key_file_has_key (GTK_SAT_MODULE (widget)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_STATE, NULL)) && + sat_cfg_get_bool (SAT_CFG_BOOL_MOD_STATE)) { - GTK_SAT_MODULE (widget)->state = - g_key_file_get_integer (GTK_SAT_MODULE (widget)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_STATE, NULL); - } - else { - GTK_SAT_MODULE (widget)->state = GTK_SAT_MOD_STATE_DOCKED; - } + GTK_SAT_MODULE (widget)->state = + g_key_file_get_integer (GTK_SAT_MODULE (widget)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_STATE, NULL); + } + else { + GTK_SAT_MODULE (widget)->state = GTK_SAT_MOD_STATE_DOCKED; + } - /* initialise time keeping vars to current time */ - GTK_SAT_MODULE (widget)->rtNow = get_current_daynum (); - GTK_SAT_MODULE (widget)->rtPrev = get_current_daynum (); - GTK_SAT_MODULE (widget)->tmgPdnum = get_current_daynum (); - GTK_SAT_MODULE (widget)->tmgCdnum = get_current_daynum (); + /* initialise time keeping vars to current time */ + GTK_SAT_MODULE (widget)->rtNow = get_current_daynum (); + GTK_SAT_MODULE (widget)->rtPrev = get_current_daynum (); + GTK_SAT_MODULE (widget)->tmgPdnum = get_current_daynum (); + GTK_SAT_MODULE (widget)->tmgCdnum = get_current_daynum (); - /* load satellites */ - gtk_sat_module_load_sats (GTK_SAT_MODULE (widget)); - - /* create buttons */ - GTK_SAT_MODULE (widget)->popup_button = - gpredict_mini_mod_button ("gpredict-mod-popup.png", - _("Module options / shortcuts")); - g_signal_connect (GTK_SAT_MODULE (widget)->popup_button, "clicked", - G_CALLBACK (gtk_sat_module_popup_cb), widget); + /* load satellites */ + gtk_sat_module_load_sats (GTK_SAT_MODULE (widget)); + + /* create buttons */ + GTK_SAT_MODULE (widget)->popup_button = + gpredict_mini_mod_button ("gpredict-mod-popup.png", + _("Module options / shortcuts")); + g_signal_connect (GTK_SAT_MODULE (widget)->popup_button, "clicked", + G_CALLBACK (gtk_sat_module_popup_cb), widget); - GTK_SAT_MODULE (widget)->close_button = - gpredict_mini_mod_button ("gpredict-mod-close.png", - _("Close this module.")); - g_signal_connect (GTK_SAT_MODULE (widget)->close_button, "clicked", - G_CALLBACK (gtk_sat_module_close_cb), widget); + GTK_SAT_MODULE (widget)->close_button = + gpredict_mini_mod_button ("gpredict-mod-close.png", + _("Close this module.")); + g_signal_connect (GTK_SAT_MODULE (widget)->close_button, "clicked", + G_CALLBACK (gtk_sat_module_close_cb), widget); - /* create header; header should not be updated more than - once pr. second. - */ - GTK_SAT_MODULE (widget)->header = gtk_label_new (NULL); - GTK_SAT_MODULE (widget)->head_count = 0; - GTK_SAT_MODULE (widget)->head_timeout = - (GTK_SAT_MODULE(widget)->timeout > 1000 ? 1 : - (guint) floor (1000/GTK_SAT_MODULE(widget)->timeout)); + /* create header; header should not be updated more than + once pr. second. + */ + GTK_SAT_MODULE (widget)->header = gtk_label_new (NULL); + GTK_SAT_MODULE (widget)->head_count = 0; + GTK_SAT_MODULE (widget)->head_timeout = + (GTK_SAT_MODULE(widget)->timeout > 1000 ? 1 : + (guint) floor (1000/GTK_SAT_MODULE(widget)->timeout)); - /* Event timeout - Update every minute FIXME: user configurable - */ - GTK_SAT_MODULE (widget)->event_timeout = - (GTK_SAT_MODULE(widget)->timeout > 60000 ? 1 : - (guint) floor (60000/GTK_SAT_MODULE(widget)->timeout)); - /* force update the first time */ - GTK_SAT_MODULE (widget)->event_count = GTK_SAT_MODULE (widget)->event_timeout; + /* Event timeout + Update every minute FIXME: user configurable + */ + GTK_SAT_MODULE (widget)->event_timeout = + (GTK_SAT_MODULE(widget)->timeout > 60000 ? 1 : + (guint) floor (60000/GTK_SAT_MODULE(widget)->timeout)); + /* force update the first time */ + GTK_SAT_MODULE (widget)->event_count = GTK_SAT_MODULE (widget)->event_timeout; - butbox = gtk_hbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (butbox), - GTK_SAT_MODULE (widget)->header, - FALSE, FALSE, 10); - gtk_box_pack_end (GTK_BOX (butbox), - GTK_SAT_MODULE (widget)->close_button, - FALSE, FALSE, 0); - gtk_box_pack_end (GTK_BOX (butbox), - GTK_SAT_MODULE (widget)->popup_button, - FALSE, FALSE, 0); + butbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (butbox), + GTK_SAT_MODULE (widget)->header, + FALSE, FALSE, 10); + gtk_box_pack_end (GTK_BOX (butbox), + GTK_SAT_MODULE (widget)->close_button, + FALSE, FALSE, 0); + gtk_box_pack_end (GTK_BOX (butbox), + GTK_SAT_MODULE (widget)->popup_button, + FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (widget), butbox, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (widget), gtk_hseparator_new (), FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (widget), butbox, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (widget), gtk_hseparator_new (), FALSE, FALSE, 0); - create_module_layout (GTK_SAT_MODULE (widget)); + create_module_layout (GTK_SAT_MODULE (widget)); - gtk_widget_show_all (widget); + gtk_widget_show_all (widget); - /* start timeout */ - GTK_SAT_MODULE(widget)->timerid = g_timeout_add (GTK_SAT_MODULE(widget)->timeout, - gtk_sat_module_timeout_cb, - widget); - + /* start timeout */ + GTK_SAT_MODULE(widget)->timerid = g_timeout_add (GTK_SAT_MODULE(widget)->timeout, + gtk_sat_module_timeout_cb, + widget); + - return widget; + return widget; } @@ -374,156 +374,156 @@ create_module_layout (GtkSatModule *module) { - switch (module->layout) { - - /* one child, no setup needed here */ - case GTK_SAT_MOD_LAYOUT_1: - module->child_1 = create_view (module, 1); - module->child_2 = NULL; - module->child_3 = NULL; - gtk_container_add (GTK_CONTAINER (module), module->child_1); - break; + switch (module->layout) { + + /* one child, no setup needed here */ + case GTK_SAT_MOD_LAYOUT_1: + module->child_1 = create_view (module, 1); + module->child_2 = NULL; + module->child_3 = NULL; + gtk_container_add (GTK_CONTAINER (module), module->child_1); + break; - /* two children, we need a vpaned - child_1 on top */ - case GTK_SAT_MOD_LAYOUT_2: - module->vpaned = gtk_vpaned_new (); - gtk_container_add (GTK_CONTAINER (module), module->vpaned); + /* two children, we need a vpaned + child_1 on top */ + case GTK_SAT_MOD_LAYOUT_2: + module->vpaned = gtk_vpaned_new (); + gtk_container_add (GTK_CONTAINER (module), module->vpaned); - module->child_1 = create_view (module, 1); - module->child_2 = create_view (module, 2); - module->child_3 = NULL; + module->child_1 = create_view (module, 1); + module->child_2 = create_view (module, 2); + module->child_3 = NULL; - gtk_paned_pack1 (GTK_PANED (module->vpaned), - module->child_1, TRUE, TRUE); - gtk_paned_pack2 (GTK_PANED (module->vpaned), - module->child_2, TRUE, TRUE); + gtk_paned_pack1 (GTK_PANED (module->vpaned), + module->child_1, TRUE, TRUE); + gtk_paned_pack2 (GTK_PANED (module->vpaned), + module->child_2, TRUE, TRUE); - break; + break; - /* one child on top, two at the bottom */ - case GTK_SAT_MOD_LAYOUT_3: - module->vpaned = gtk_vpaned_new (); - module->hpaned = gtk_hpaned_new (); - gtk_container_add (GTK_CONTAINER (module), module->vpaned); - gtk_paned_pack2 (GTK_PANED (module->vpaned), - module->hpaned, - TRUE, TRUE); + /* one child on top, two at the bottom */ + case GTK_SAT_MOD_LAYOUT_3: + module->vpaned = gtk_vpaned_new (); + module->hpaned = gtk_hpaned_new (); + gtk_container_add (GTK_CONTAINER (module), module->vpaned); + gtk_paned_pack2 (GTK_PANED (module->vpaned), + module->hpaned, + TRUE, TRUE); - module->child_1 = create_view (module, 1); - module->child_2 = create_view (module, 2); - module->child_3 = create_view (module, 3); + module->child_1 = create_view (module, 1); + module->child_2 = create_view (module, 2); + module->child_3 = create_view (module, 3); - gtk_paned_pack1 (GTK_PANED (module->vpaned), - module->child_1, TRUE, TRUE); - gtk_paned_pack1 (GTK_PANED (module->hpaned), - module->child_2, TRUE, TRUE); - gtk_paned_pack2 (GTK_PANED (module->hpaned), - module->child_3, TRUE, TRUE); + gtk_paned_pack1 (GTK_PANED (module->vpaned), + module->child_1, TRUE, TRUE); + gtk_paned_pack1 (GTK_PANED (module->hpaned), + module->child_2, TRUE, TRUE); + gtk_paned_pack2 (GTK_PANED (module->hpaned), + module->child_3, TRUE, TRUE); - break; + break; - /* two childre on top, on at the bottom */ - case GTK_SAT_MOD_LAYOUT_4: - module->vpaned = gtk_vpaned_new (); - module->hpaned = gtk_hpaned_new (); - gtk_container_add (GTK_CONTAINER (module), module->vpaned); - gtk_paned_pack1 (GTK_PANED (module->vpaned), - module->hpaned, - TRUE, TRUE); + /* two childre on top, on at the bottom */ + case GTK_SAT_MOD_LAYOUT_4: + module->vpaned = gtk_vpaned_new (); + module->hpaned = gtk_hpaned_new (); + gtk_container_add (GTK_CONTAINER (module), module->vpaned); + gtk_paned_pack1 (GTK_PANED (module->vpaned), + module->hpaned, + TRUE, TRUE); - module->child_1 = create_view (module, 1); - module->child_2 = create_view (module, 2); - module->child_3 = create_view (module, 3); + module->child_1 = create_view (module, 1); + module->child_2 = create_view (module, 2); + module->child_3 = create_view (module, 3); - gtk_paned_pack1 (GTK_PANED (module->hpaned), - module->child_1, TRUE, TRUE); - gtk_paned_pack2 (GTK_PANED (module->hpaned), - module->child_2, TRUE, TRUE); - gtk_paned_pack2 (GTK_PANED (module->vpaned), - module->child_3, TRUE, TRUE); + gtk_paned_pack1 (GTK_PANED (module->hpaned), + module->child_1, TRUE, TRUE); + gtk_paned_pack2 (GTK_PANED (module->hpaned), + module->child_2, TRUE, TRUE); + gtk_paned_pack2 (GTK_PANED (module->vpaned), + module->child_3, TRUE, TRUE); - break; + break; - default: - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s:%d: Invalid module layout (%d)"), - __FILE__, __LINE__, module->layout); - break; + default: + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s:%d: Invalid module layout (%d)"), + __FILE__, __LINE__, module->layout); + break; - } + } } static GtkWidget * create_view (GtkSatModule *module, guint num) { - GtkWidget *view; - gtk_sat_mod_view_t viewt = GTK_SAT_MOD_VIEW_LIST; + GtkWidget *view; + gtk_sat_mod_view_t viewt = GTK_SAT_MOD_VIEW_LIST; - /* get view type */ - switch (num) { - case 1: - viewt = module->view_1; - break; - case 2: - viewt = module->view_2; - break; - case 3: - viewt = module->view_3; - break; - default: - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s:%d: Invalid child number (%d)"), - __FILE__, __LINE__, num); - break; - } + /* get view type */ + switch (num) { + case 1: + viewt = module->view_1; + break; + case 2: + viewt = module->view_2; + break; + case 3: + viewt = module->view_3; + break; + default: + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s:%d: Invalid child number (%d)"), + __FILE__, __LINE__, num); + break; + } - /* create the corresponding child widget */ - switch (viewt) { + /* create the corresponding child widget */ + switch (viewt) { - case GTK_SAT_MOD_VIEW_LIST: - view = gtk_sat_list_new (module->cfgdata, - module->satellites, - module->qth, - 0); - break; + case GTK_SAT_MOD_VIEW_LIST: + view = gtk_sat_list_new (module->cfgdata, + module->satellites, + module->qth, + 0); + break; - case GTK_SAT_MOD_VIEW_MAP: - view = gtk_sat_map_new (module->cfgdata, - module->satellites, - module->qth); - break; + case GTK_SAT_MOD_VIEW_MAP: + view = gtk_sat_map_new (module->cfgdata, + module->satellites, + module->qth); + break; - case GTK_SAT_MOD_VIEW_POLAR: - view = gtk_polar_view_new (module->cfgdata, - module->satellites, - module->qth); - break; + case GTK_SAT_MOD_VIEW_POLAR: + view = gtk_polar_view_new (module->cfgdata, + module->satellites, + module->qth); + break; - case GTK_SAT_MOD_VIEW_SINGLE: - view = gtk_single_sat_new (module->cfgdata, - module->satellites, - module->qth, - 0); + case GTK_SAT_MOD_VIEW_SINGLE: + view = gtk_single_sat_new (module->cfgdata, + module->satellites, + module->qth, + 0); break; - default: - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s:%d: Invalid child type (%d)\nUsing GtkSatList..."), - __FILE__, __LINE__, num); + default: + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s:%d: Invalid child type (%d)\nUsing GtkSatList..."), + __FILE__, __LINE__, num); - view = gtk_sat_list_new (module->cfgdata, - module->satellites, - module->qth, - 0); - break; + view = gtk_sat_list_new (module->cfgdata, + module->satellites, + module->qth, + 0); + break; - } + } - return view; + return view; } @@ -535,120 +535,120 @@ static void gtk_sat_module_read_cfg_data (GtkSatModule *module, const gchar *cfgfile) { - gchar *buffer = NULL; - gchar *qthfile; - gchar **buffv; - GError *error = NULL; + gchar *buffer = NULL; + gchar *qthfile; + gchar **buffv; + GError *error = NULL; - module->cfgdata = g_key_file_new (); - g_key_file_set_list_separator (module->cfgdata, ';'); + module->cfgdata = g_key_file_new (); + g_key_file_set_list_separator (module->cfgdata, ';'); - /* Bail out with error message if data can not be read */ - if (!g_key_file_load_from_file (module->cfgdata, cfgfile, - G_KEY_FILE_KEEP_COMMENTS, &error)) { + /* Bail out with error message if data can not be read */ + if (!g_key_file_load_from_file (module->cfgdata, cfgfile, + G_KEY_FILE_KEEP_COMMENTS, &error)) { - g_key_file_free (module->cfgdata); + g_key_file_free (module->cfgdata); - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Could not load config data from %s (%s)."), - __FUNCTION__, cfgfile, error->message); - - g_clear_error (&error); + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Could not load config data from %s (%s)."), + __FUNCTION__, cfgfile, error->message); + + g_clear_error (&error); - return; - } + return; + } - /* debug message */ - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Reading configuration from %s"), - __FUNCTION__, cfgfile); + /* debug message */ + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Reading configuration from %s"), + __FUNCTION__, cfgfile); - /* set module name */ - buffer = g_path_get_basename (cfgfile); - buffv = g_strsplit (buffer, ".mod", 0); - module->name = g_strdup (buffv[0]); - g_free (buffer); - g_strfreev(buffv); + /* set module name */ + buffer = g_path_get_basename (cfgfile); + buffv = g_strsplit (buffer, ".mod", 0); + module->name = g_strdup (buffv[0]); + g_free (buffer); + g_strfreev(buffv); - /* get qth file */ - buffer = mod_cfg_get_str (module->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_QTH_FILE_KEY, - SAT_CFG_STR_DEF_QTH); + /* get qth file */ + buffer = mod_cfg_get_str (module->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_QTH_FILE_KEY, + SAT_CFG_STR_DEF_QTH); - qthfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, - ".gpredict2", G_DIR_SEPARATOR_S, - buffer, NULL); - /* load QTH data */ - if (!gtk_sat_data_read_qth (qthfile, module->qth)) { + qthfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, + ".gpredict2", G_DIR_SEPARATOR_S, + buffer, NULL); + /* load QTH data */ + if (!gtk_sat_data_read_qth (qthfile, module->qth)) { - /* QTH file was not found for some reason */ - g_free (buffer); - g_free (qthfile); + /* QTH file was not found for some reason */ + g_free (buffer); + g_free (qthfile); - /* remove cfg key */ - g_key_file_remove_key (module->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_QTH_FILE_KEY, - NULL); + /* remove cfg key */ + g_key_file_remove_key (module->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_QTH_FILE_KEY, + NULL); - /* save modified cfg data to file */ - mod_cfg_save (module->name, module->cfgdata); + /* save modified cfg data to file */ + mod_cfg_save (module->name, module->cfgdata); - /* try SAT_CFG_STR_DEF_QTH */ - buffer = sat_cfg_get_str (SAT_CFG_STR_DEF_QTH); - qthfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, - ".gpredict2", G_DIR_SEPARATOR_S, - buffer, NULL); + /* try SAT_CFG_STR_DEF_QTH */ + buffer = sat_cfg_get_str (SAT_CFG_STR_DEF_QTH); + qthfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, + ".gpredict2", G_DIR_SEPARATOR_S, + buffer, NULL); - if (!gtk_sat_data_read_qth (qthfile, module->qth)) { + if (!gtk_sat_data_read_qth (qthfile, module->qth)) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Can not load default QTH file %s; using built-in defaults"), - __FUNCTION__, buffer); + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Can not load default QTH file %s; using built-in defaults"), + __FUNCTION__, buffer); - /* settings are really screwed up; we need some safe values here */ - module->qth->name = g_strdup (_("Error")); - module->qth->loc = g_strdup (_("Error")); - module->qth->lat = 0.0; - module->qth->lon = 0.0; - module->qth->alt = 0; - } - } + /* settings are really screwed up; we need some safe values here */ + module->qth->name = g_strdup (_("Error")); + module->qth->loc = g_strdup (_("Error")); + module->qth->lat = 0.0; + module->qth->lon = 0.0; + module->qth->alt = 0; + } + } - g_free (buffer); - g_free (qthfile); + g_free (buffer); + g_free (qthfile); - /* get timeout value */ - module->timeout = mod_cfg_get_int (module->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_TIMEOUT_KEY, - SAT_CFG_INT_MODULE_TIMEOUT); + /* get timeout value */ + module->timeout = mod_cfg_get_int (module->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_TIMEOUT_KEY, + SAT_CFG_INT_MODULE_TIMEOUT); - /* layout */ - module->layout = mod_cfg_get_int (module->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_LAYOUT, - SAT_CFG_INT_MODULE_LAYOUT); + /* layout */ + module->layout = mod_cfg_get_int (module->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_LAYOUT, + SAT_CFG_INT_MODULE_LAYOUT); - /* view 1 */ - module->view_1 = mod_cfg_get_int (module->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_VIEW_1, - SAT_CFG_INT_MODULE_VIEW_1); + /* view 1 */ + module->view_1 = mod_cfg_get_int (module->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_VIEW_1, + SAT_CFG_INT_MODULE_VIEW_1); - /* view 2 */ - module->view_2 = mod_cfg_get_int (module->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_VIEW_2, - SAT_CFG_INT_MODULE_VIEW_2); + /* view 2 */ + module->view_2 = mod_cfg_get_int (module->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_VIEW_2, + SAT_CFG_INT_MODULE_VIEW_2); - /* view 3 */ - module->view_3 = mod_cfg_get_int (module->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_VIEW_3, - SAT_CFG_INT_MODULE_VIEW_3); + /* view 3 */ + module->view_3 = mod_cfg_get_int (module->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_VIEW_3, + SAT_CFG_INT_MODULE_VIEW_3); } @@ -661,93 +661,93 @@ static void gtk_sat_module_load_sats (GtkSatModule *module) { - gint *sats = NULL; - gsize length; - GError *error = NULL; - guint i; - sat_t *sat; - guint *key = NULL; - guint succ = 0; + gint *sats = NULL; + gsize length; + GError *error = NULL; + guint i; + sat_t *sat; + guint *key = NULL; + guint succ = 0; - /* get list of satellites from config file; abort in case of error */ - sats = g_key_file_get_integer_list (module->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_SATS_KEY, - &length, - &error); - - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Failed to get list of satellites (%s)"), - __FUNCTION__, error->message); + /* get list of satellites from config file; abort in case of error */ + sats = g_key_file_get_integer_list (module->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_SATS_KEY, + &length, + &error); + + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Failed to get list of satellites (%s)"), + __FUNCTION__, error->message); - g_clear_error (&error); + g_clear_error (&error); - /* GLib API says nothing about the contents in case of error */ - if (sats) { - g_free (sats); - } + /* GLib API says nothing about the contents in case of error */ + if (sats) { + g_free (sats); + } - return; - } - - /* read each satellite into hash table */ - for (i = 0; i < length; i++) { + return; + } + + /* read each satellite into hash table */ + for (i = 0; i < length; i++) { - sat = g_new (sat_t, 1); + sat = g_new (sat_t, 1); - if (gtk_sat_data_read_sat (sats[i], sat)) { + if (gtk_sat_data_read_sat (sats[i], sat)) { - /* the satellite could not be read */ - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Error reading data for #%d"), - __FUNCTION__, sats[i]); + /* the satellite could not be read */ + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Error reading data for #%d"), + __FUNCTION__, sats[i]); - g_free (sat); - } - else { - /* check whether satellite is already in list - in order to avoid duplicates - */ + g_free (sat); + } + else { + /* check whether satellite is already in list + in order to avoid duplicates + */ - key = g_new0 (guint, 1); - *key = sats[i]; + key = g_new0 (guint, 1); + *key = sats[i]; - if (g_hash_table_lookup (module->satellites, key) == NULL) { + if (g_hash_table_lookup (module->satellites, key) == NULL) { - gtk_sat_data_init_sat (sat, module->qth); + gtk_sat_data_init_sat (sat, module->qth); - g_hash_table_insert (module->satellites, - key, - sat); + g_hash_table_insert (module->satellites, + key, + sat); - succ++; + succ++; - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Read data for #%d"), - __FUNCTION__, sats[i]); + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Read data for #%d"), + __FUNCTION__, sats[i]); - } - else { - sat_log_log (SAT_LOG_LEVEL_WARN, - _("%s: Sat #%d already in list"), - __FUNCTION__, sats[i]); + } + else { + sat_log_log (SAT_LOG_LEVEL_WARN, + _("%s: Sat #%d already in list"), + __FUNCTION__, sats[i]); - /* it is not needed in this case */ - g_free (sat); - } + /* it is not needed in this case */ + g_free (sat); + } - } - } + } + } - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Read %d out of %d satellites"), - __FUNCTION__, - succ, - length); + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Read %d out of %d satellites"), + __FUNCTION__, + succ, + length); - g_free (sats); + g_free (sats); } @@ -761,7 +761,7 @@ /* static gboolean */ /* gtk_sat_module_sats_are_equal (gconstpointer sat1, gconstpointer sat2) */ /* { */ -/* return ( SAT(sat1)->tle.catnr == SAT(sat2)->tle.catnr ); */ +/* return ( SAT(sat1)->tle.catnr == SAT(sat2)->tle.catnr ); */ /* } */ @@ -771,96 +771,96 @@ static gboolean gtk_sat_module_timeout_cb (gpointer module) { - GtkSatModule *mod = GTK_SAT_MODULE (module); - gboolean needupdate = FALSE; - GdkWindowState state; - gdouble delta; + GtkSatModule *mod = GTK_SAT_MODULE (module); + gboolean needupdate = FALSE; + GdkWindowState state; + gdouble delta; - if (mod->busy) { + if (mod->busy) { - sat_log_log (SAT_LOG_LEVEL_WARN, - _("%s: Previous cycle missed it's deadline."), - __FUNCTION__); + sat_log_log (SAT_LOG_LEVEL_WARN, + _("%s: Previous cycle missed it's deadline."), + __FUNCTION__); - return TRUE; + return TRUE; - } + } - /* in docked state, update only if tab is visible */ - switch (mod->state) { + /* in docked state, update only if tab is visible */ + switch (mod->state) { - case GTK_SAT_MOD_STATE_DOCKED: + case GTK_SAT_MOD_STATE_DOCKED: - if (mod_mgr_mod_is_visible (GTK_WIDGET (module))) { - needupdate = TRUE; - } - break; + if (mod_mgr_mod_is_visible (GTK_WIDGET (module))) { + needupdate = TRUE; + } + break; - default: - state = gdk_window_get_state (GDK_WINDOW (GTK_WIDGET (module)->window)); + default: + state = gdk_window_get_state (GDK_WINDOW (GTK_WIDGET (module)->window)); - if (state & GDK_WINDOW_STATE_ICONIFIED) { - needupdate = FALSE; - } - else { - needupdate = TRUE; - } - break; - } + if (state & GDK_WINDOW_STATE_ICONIFIED) { + needupdate = FALSE; + } + else { + needupdate = TRUE; + } + break; + } - if (needupdate) { + if (needupdate) { - mod->busy = TRUE; + mod->busy = TRUE; - mod->rtNow = get_current_daynum (); + mod->rtNow = get_current_daynum (); - /* Update time if throttle != 0 */ - if (mod->throttle) { + /* Update time if throttle != 0 */ + if (mod->throttle) { - delta = mod->throttle * (mod->rtNow - mod->rtPrev); - mod->tmgCdnum = mod->tmgPdnum + delta; + delta = mod->throttle * (mod->rtNow - mod->rtPrev); + mod->tmgCdnum = mod->tmgPdnum + delta; - } - /* else nothing to do since tmg_time_set updates - mod->tmgCdnum every time - */ + } + /* else nothing to do since tmg_time_set updates + mod->tmgCdnum every time + */ - /* time to update header? */ - mod->head_count++; - if (mod->head_count == mod->head_timeout) { + /* time to update header? */ + mod->head_count++; + if (mod->head_count == mod->head_timeout) { - /* reset counter */ - mod->head_count = 0; - - update_header (mod); - } + /* reset counter */ + mod->head_count = 0; + + update_header (mod); + } - /* time to update events? */ - if (mod->event_count == mod->event_timeout) { + /* time to update events? */ + if (mod->event_count == mod->event_timeout) { - /* reset counter, this will make gtk_sat_module_update_sat - recalculate events - */ - mod->event_count = 0; - } + /* reset counter, this will make gtk_sat_module_update_sat + recalculate events + */ + mod->event_count = 0; + } - /* update satellite data */ - g_hash_table_foreach (mod->satellites, - gtk_sat_module_update_sat, - module); + /* update satellite data */ + g_hash_table_foreach (mod->satellites, + gtk_sat_module_update_sat, + module); - /* update children */ - if (mod->child_1 != NULL) - update_child (mod->child_1, mod->tmgCdnum); + /* update children */ + if (mod->child_1 != NULL) + update_child (mod->child_1, mod->tmgCdnum); - if (mod->child_2 != NULL) - update_child (mod->child_2, mod->tmgCdnum); + if (mod->child_2 != NULL) + update_child (mod->child_2, mod->tmgCdnum); - if (mod->child_3 != NULL) - update_child (mod->child_3, mod->tmgCdnum); + if (mod->child_3 != NULL) + update_child (mod->child_3, mod->tmgCdnum); /* send notice to radio and rotator controller */ if (mod->rigctrl) @@ -869,59 +869,59 @@ gtk_rot_ctrl_update (GTK_ROT_CTRL (mod->rotctrl), mod->tmgCdnum); - mod->event_count++; + mod->event_count++; - /* store time keeping variables */ - mod->rtPrev = mod->rtNow; - mod->tmgPdnum = mod->tmgCdnum; + /* store time keeping variables */ + mod->rtPrev = mod->rtNow; + mod->tmgPdnum = mod->tmgCdnum; - if (mod->tmgActive) { + if (mod->tmgActive) { - /* update time control spin buttons when we are - in RT or SRT mode */ - if (mod->throttle) { - tmg_update_widgets (mod); - } + /* update time control spin buttons when we are + in RT or SRT mode */ + if (mod->throttle) { + tmg_update_widgets (mod); + } - } + } - mod->busy = FALSE; + mod->busy = FALSE; - } + } - return TRUE; + return TRUE; } static void update_child (GtkWidget *child, gdouble tstamp) { - if (IS_GTK_SAT_LIST(child)) { - GTK_SAT_LIST (child)->tstamp = tstamp; - gtk_sat_list_update (child); - } + if (IS_GTK_SAT_LIST(child)) { + GTK_SAT_LIST (child)->tstamp = tstamp; + gtk_sat_list_update (child); + } - else if (IS_GTK_SAT_MAP(child)) { - GTK_SAT_MAP (child)->tstamp = tstamp; - gtk_sat_map_update (child); - } + else if (IS_GTK_SAT_MAP(child)) { + GTK_SAT_MAP (child)->tstamp = tstamp; + gtk_sat_map_update (child); + } - else if (IS_GTK_POLAR_VIEW(child)) { - GTK_POLAR_VIEW (child)->tstamp = tstamp; - gtk_polar_view_update (child); - } + else if (IS_GTK_POLAR_VIEW(child)) { + GTK_POLAR_VIEW (child)->tstamp = tstamp; + gtk_polar_view_update (child); + } - else if (IS_GTK_SINGLE_SAT(child)) { - GTK_SINGLE_SAT (child)->tstamp = tstamp; - gtk_single_sat_update (child); - } + else if (IS_GTK_SINGLE_SAT(child)) { + GTK_SINGLE_SAT (child)->tstamp = tstamp; + gtk_single_sat_update (child); + } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%f:%d: Unknown child type"), - __FILE__, __LINE__); - } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%f:%d: Unknown child type"), + __FILE__, __LINE__); + } } @@ -936,110 +936,110 @@ static void gtk_sat_module_update_sat (gpointer key, gpointer val, gpointer data) { - sat_t *sat; - GtkSatModule *module; - gdouble daynum; - double age; - obs_set_t obs_set = {0,0,0,0}; - geodetic_t sat_geodetic = {0,0,0,0}; - geodetic_t obs_geodetic = {0,0,0,0}; - gdouble maxdt; + sat_t *sat; + GtkSatModule *module; + gdouble daynum; + double age; + obs_set_t obs_set = {0,0,0,0}; + geodetic_t sat_geodetic = {0,0,0,0}; + geodetic_t obs_geodetic = {0,0,0,0}; + gdouble maxdt; - g_return_if_fail ((val != NULL) && (data != NULL)); + g_return_if_fail ((val != NULL) && (data != NULL)); - sat = SAT(val); - module = GTK_SAT_MODULE (data); + sat = SAT(val); + module = GTK_SAT_MODULE (data); - /* get current time (real or simulated */ - daynum = module->tmgCdnum; + /* get current time (real or simulated */ + daynum = module->tmgCdnum; - /* update events if the event counter has been reset - and the other requirements are fulfilled - */ - if ((GTK_SAT_MODULE (module)->event_count == 0) && - (sat->otype != ORBIT_TYPE_GEO) && - (sat->otype != ORBIT_TYPE_DECAYED) && - has_aos (sat, module->qth)) { + /* update events if the event counter has been reset + and the other requirements are fulfilled + */ + if ((GTK_SAT_MODULE (module)->event_count == 0) && + (sat->otype != ORBIT_TYPE_GEO) && + (sat->otype != ORBIT_TYPE_DECAYED) && + has_aos (sat, module->qth)) { - /* Note that has_aos may return TRUE for geostationary sats - whose orbit deviate from a true-geostat orbit, however, - find_aos and find_los will not go beyond the time limit - we specify (in those cases they return 0.0 for AOS/LOS times. - We use SAT_CFG_INT_PRED_LOOK_AHEAD for upper time limit - */ - maxdt = (gdouble) sat_cfg_get_int (SAT_CFG_INT_PRED_LOOK_AHEAD); - sat->aos = find_aos (sat, module->qth, daynum, maxdt); - sat->los = find_los (sat, module->qth, daynum, maxdt); + /* Note that has_aos may return TRUE for geostationary sats + whose orbit deviate from a true-geostat orbit, however, + find_aos and find_los will not go beyond the time limit + we specify (in those cases they return 0.0 for AOS/LOS times. + We use SAT_CFG_INT_PRED_LOOK_AHEAD for upper time limit + */ + maxdt = (gdouble) sat_cfg_get_int (SAT_CFG_INT_PRED_LOOK_AHEAD); + sat->aos = find_aos (sat, module->qth, daynum, maxdt); + sat->los = find_los (sat, module->qth, daynum, maxdt); - } + } - /*** FIXME: we don't need to do this every time! */ - obs_geodetic.lon = module->qth->lon * de2ra; - obs_geodetic.lat = module->qth->lat * de2ra; - obs_geodetic.alt = module->qth->alt / 1000.0; - obs_geodetic.theta = 0; + /*** FIXME: we don't need to do this every time! */ + obs_geodetic.lon = module->qth->lon * de2ra; + obs_geodetic.lat = module->qth->lat * de2ra; + obs_geodetic.alt = module->qth->alt / 1000.0; + obs_geodetic.theta = 0; - sat->jul_utc = daynum; - sat->tsince = (sat->jul_utc - sat->jul_epoch) * xmnpda; + sat->jul_utc = daynum; + sat->tsince = (sat->jul_utc - sat->jul_epoch) * xmnpda; - /*** FIXME: STS-122 FIX: Shuttle is fixed at launch site before launch - Actually, first TLE set seem invalid before MET = 00:03:?? = 00:04:00 - */ - /* check that we have a GtkMet child */ - /**** FIXME: GtkMet may not be child 2.... */ - if G_UNLIKELY(FALSE) { + /*** FIXME: STS-122 FIX: Shuttle is fixed at launch site before launch + Actually, first TLE set seem invalid before MET = 00:03:?? = 00:04:00 + */ + /* check that we have a GtkMet child */ + /**** FIXME: GtkMet may not be child 2.... */ + if G_UNLIKELY(FALSE) { - } - else { + } + else { - /* call the norad routines according to the deep-space flag */ - if (sat->flags & DEEP_SPACE_EPHEM_FLAG) - SDP4 (sat, sat->tsince); - else - SGP4 (sat, sat->tsince); + /* call the norad routines according to the deep-space flag */ + if (sat->flags & DEEP_SPACE_EPHEM_FLAG) + SDP4 (sat, sat->tsince); + else + SGP4 (sat, sat->tsince); - /* scale position and velocity to km and km/sec */ - Convert_Sat_State (&sat->pos, &sat->vel); + /* scale position and velocity to km and km/sec */ + Convert_Sat_State (&sat->pos, &sat->vel); - /* get the velocity of the satellite */ - Magnitude (&sat->vel); - sat->velo = sat->vel.w; - Calculate_Obs (sat->jul_utc, &sat->pos, &sat->vel, &obs_geodetic, &obs_set); - Calculate_LatLonAlt (sat->jul_utc, &sat->pos, &sat_geodetic); - - /*** FIXME: should we ensure sat_geodetic.lon stays between -pi and pi? */ - while (sat_geodetic.lon < -pi) - sat_geodetic.lon += twopi; - - while (sat_geodetic.lon > (pi)) - sat_geodetic.lon -= twopi; - - sat->az = Degrees (obs_set.az); - sat->el = Degrees (obs_set.el); - sat->range = obs_set.range; - sat->range_rate = obs_set.range_rate; - sat->ssplat = Degrees (sat_geodetic.lat); - sat->ssplon = Degrees (sat_geodetic.lon); - sat->alt = sat_geodetic.alt; - sat->ma = Degrees (sat->phase); - sat->ma *= 256.0/360.0; - sat->phase = Degrees (sat->phase); + /* get the velocity of the satellite */ + Magnitude (&sat->vel); + sat->velo = sat->vel.w; + Calculate_Obs (sat->jul_utc, &sat->pos, &sat->vel, &obs_geodetic, &obs_set); + Calculate_LatLonAlt (sat->jul_utc, &sat->pos, &sat_geodetic); + + /*** FIXME: should we ensure sat_geodetic.lon stays between -pi and pi? */ + while (sat_geodetic.lon < -pi) + sat_geodetic.lon += twopi; + + while (sat_geodetic.lon > (pi)) + sat_geodetic.lon -= twopi; + + sat->az = Degrees (obs_set.az); + sat->el = Degrees (obs_set.el); + sat->range = obs_set.range; + sat->range_rate = obs_set.range_rate; + sat->ssplat = Degrees (sat_geodetic.lat); + sat->ssplon = Degrees (sat_geodetic.lon); + sat->alt = sat_geodetic.alt; + sat->ma = Degrees (sat->phase); + sat->ma *= 256.0/360.0; + sat->phase = Degrees (sat->phase); - /* same formulas, but the one from predict is nicer */ - //sat->footprint = 2.0 * xkmper * acos (xkmper/sat->pos.w); - sat->footprint = 12756.33 * acos (xkmper / (xkmper+sat->alt)); - age = sat->jul_utc - sat->jul_epoch; - sat->orbit = (long) floor((sat->tle.xno * xmnpda/twopi + - age * sat->tle.bstar * ae) * age + - sat->tle.xmo/twopi) + sat->tle.revnum - 1; + /* same formulas, but the one from predict is nicer */ + //sat->footprint = 2.0 * xkmper * acos (xkmper/sat->pos.w); + sat->footprint = 12756.33 * acos (xkmper / (xkmper+sat->alt)); + age = sat->jul_utc - sat->jul_epoch; + sat->orbit = (long) floor((sat->tle.xno * xmnpda/twopi + + age * sat->tle.bstar * ae) * age + + sat->tle.xmo/twopi) + sat->tle.revnum - 1; - /*** FIXME: Squint + AOS / LOS code */ + /*** FIXME: Squint + AOS / LOS code */ - } + } } @@ -1051,7 +1051,7 @@ static void gtk_sat_module_popup_cb (GtkWidget *button, gpointer data) { - gtk_sat_module_popup (GTK_SAT_MODULE (data)); + gtk_sat_module_popup (GTK_SAT_MODULE (data)); } @@ -1072,110 +1072,110 @@ void gtk_sat_module_close_cb (GtkWidget *button, gpointer data) { - GtkSatModule *module = GTK_SAT_MODULE (data); - gchar *name; - gint retcode; + GtkSatModule *module = GTK_SAT_MODULE (data); + gchar *name; + gint retcode; - name = g_strdup (module->name); + name = g_strdup (module->name); - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Module %s recevied CLOSE signal."), - __FUNCTION__, name); + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Module %s recevied CLOSE signal."), + __FUNCTION__, name); /* save configuration to ensure that dynamic data like state is stored */ mod_cfg_save (module->name, module->cfgdata); - switch (module->state) { + switch (module->state) { - case GTK_SAT_MOD_STATE_DOCKED: - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Module %s is in DOCKED state."), - __FUNCTION__, name); + case GTK_SAT_MOD_STATE_DOCKED: + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Module %s is in DOCKED state."), + __FUNCTION__, name); - retcode = mod_mgr_remove_module (GTK_WIDGET (module)); + retcode = mod_mgr_remove_module (GTK_WIDGET (module)); - if (retcode) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module %s was not found in mod-mgr (%d)\n"\ - "Internal state is corrupt?"), - __FUNCTION__, name, retcode); - } + if (retcode) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module %s was not found in mod-mgr (%d)\n"\ + "Internal state is corrupt?"), + __FUNCTION__, name, retcode); + } - break; + break; - case GTK_SAT_MOD_STATE_WINDOW: - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Module %s is in WINDOW state."), - __FUNCTION__, name); + case GTK_SAT_MOD_STATE_WINDOW: + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Module %s is in WINDOW state."), + __FUNCTION__, name); - retcode = mod_mgr_remove_module (GTK_WIDGET (module)); + retcode = mod_mgr_remove_module (GTK_WIDGET (module)); - if (retcode) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module %s was not found in mod-mgr (%d)\n"\ - "Internal state is corrupt?"), - __FUNCTION__, name, retcode); - } + if (retcode) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module %s was not found in mod-mgr (%d)\n"\ + "Internal state is corrupt?"), + __FUNCTION__, name, retcode); + } - /* increase referene count */ - g_object_ref (module); + /* increase referene count */ + g_object_ref (module); - /* remove module from window, destroy window */ - gtk_container_remove (GTK_CONTAINER (GTK_SAT_MODULE (module)->win), - GTK_WIDGET (module)); - gtk_widget_destroy (GTK_SAT_MODULE (module)->win); - GTK_SAT_MODULE (module)->win = NULL; + /* remove module from window, destroy window */ + gtk_container_remove (GTK_CONTAINER (GTK_SAT_MODULE (module)->win), + GTK_WIDGET (module)); + gtk_widget_destroy (GTK_SAT_MODULE (module)->win); + GTK_SAT_MODULE (module)->win = NULL; - /* release module */ - g_object_unref (module); + /* release module */ + g_object_unref (module); - break; + break; - case GTK_SAT_MOD_STATE_FULLSCREEN: - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Module %s is in FULLSCREEN state."), - __FUNCTION__, name); + case GTK_SAT_MOD_STATE_FULLSCREEN: + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Module %s is in FULLSCREEN state."), + __FUNCTION__, name); - retcode = mod_mgr_remove_module (GTK_WIDGET (module)); + retcode = mod_mgr_remove_module (GTK_WIDGET (module)); - if (retcode) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module %s was not found in mod-mgr (%d)\n"\ - "Internal state is corrupt?"), - __FUNCTION__, name, retcode); - } + if (retcode) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module %s was not found in mod-mgr (%d)\n"\ + "Internal state is corrupt?"), + __FUNCTION__, name, retcode); + } - /* increase referene count */ - g_object_ref (module); + /* increase referene count */ + g_object_ref (module); - /* remove module from window, destroy window */ - gtk_container_remove (GTK_CONTAINER (GTK_SAT_MODULE (module)->win), - GTK_WIDGET (module)); - gtk_widget_destroy (GTK_SAT_MODULE (module)->win); - GTK_SAT_MODULE (module)->win = NULL; + /* remove module from window, destroy window */ + gtk_container_remove (GTK_CONTAINER (GTK_SAT_MODULE (module)->win), + GTK_WIDGET (module)); + gtk_widget_destroy (GTK_SAT_MODULE (module)->win); + GTK_SAT_MODULE (module)->win = NULL; - /* release module */ - g_object_unref (module); + /* release module */ + g_object_unref (module); - break; + break; - default: - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module %s has unknown state: %d"), - __FUNCTION__, name, module->state); - break; - } + default: + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module %s has unknown state: %d"), + __FUNCTION__, name, module->state); + break; + } - /* appearantly, module will be destroyed when removed from notebook */ - /* gtk_widget_destroy (GTK_WIDGET (module)); */ + /* appearantly, module will be destroyed when removed from notebook */ + /* gtk_widget_destroy (GTK_WIDGET (module)); */ - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Module %s closed."), - __FUNCTION__, name); + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Module %s closed."), + __FUNCTION__, name); - g_free (name); - + g_free (name); + } @@ -1194,164 +1194,164 @@ void gtk_sat_module_config_cb (GtkWidget *button, gpointer data) { - GtkSatModule *module = GTK_SAT_MODULE (data); - GtkWidget *parent; - GtkWidget *toplevel; - gchar *name; - gchar *cfgfile; - mod_cfg_status_t retcode; - gtk_sat_mod_state_t laststate; - gint w,h; + GtkSatModule *module = GTK_SAT_MODULE (data); + GtkWidget *parent; + GtkWidget *toplevel; + gchar *name; + gchar *cfgfile; + mod_cfg_status_t retcode; + gtk_sat_mod_state_t laststate; + gint w,h; - if (module->win != NULL) - toplevel = module->win; - else - toplevel = gtk_widget_get_toplevel (GTK_WIDGET (data)); + if (module->win != NULL) + toplevel = module->win; + else + toplevel = gtk_widget_get_toplevel (GTK_WIDGET (data)); - name = g_strdup (module->name); + name = g_strdup (module->name); - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Module %s recevied CONFIG signal."), - __FUNCTION__, name); + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Module %s recevied CONFIG signal."), + __FUNCTION__, name); - /* stop timeout */ - if (!g_source_remove (module->timerid)) { - /* internal error, since the timerid appears - to be invalid. - */ - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Could not stop timeout callback\n"\ - "%s: Source ID %d seems invalid."), - __FUNCTION__, __FUNCTION__, module->timerid); + /* stop timeout */ + if (!g_source_remove (module->timerid)) { + /* internal error, since the timerid appears + to be invalid. + */ + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Could not stop timeout callback\n"\ + "%s: Source ID %d seems invalid."), + __FUNCTION__, __FUNCTION__, module->timerid); - } - else { - module->timerid = -1; + } + else { + module->timerid = -1; - retcode = mod_cfg_edit (name, module->cfgdata, toplevel); + retcode = mod_cfg_edit (name, module->cfgdata, toplevel); - if (retcode == MOD_CFG_OK) { - /* save changes */ - retcode = mod_cfg_save (name, module->cfgdata); + if (retcode == MOD_CFG_OK) { + /* save changes */ + retcode = mod_cfg_save (name, module->cfgdata); - if (retcode != MOD_CFG_OK) { + if (retcode != MOD_CFG_OK) { - /**** FIXME: error message + dialog */ + /**** FIXME: error message + dialog */ - /* don't try to reload config since it may be - invalid; keep original - */ + /* don't try to reload config since it may be + invalid; keep original + */ - } - else { + } + else { - /* store state and size */ - laststate = module->state; - w = GTK_WIDGET (module)->allocation.width; - h = GTK_WIDGET (module)->allocation.height; + /* store state and size */ + laststate = module->state; + w = GTK_WIDGET (module)->allocation.width; + h = GTK_WIDGET (module)->allocation.height; - gtk_sat_module_close_cb (NULL, module); + gtk_sat_module_close_cb (NULL, module); - cfgfile = g_strconcat (g_get_home_dir (), - G_DIR_SEPARATOR_S, - ".gpredict2", - G_DIR_SEPARATOR_S, - "modules", - G_DIR_SEPARATOR_S, - name, ".mod", - ... [truncated message content] |
From: <cs...@us...> - 2009-05-01 16:41:56
|
Revision: 280 http://gpredict.svn.sourceforge.net/gpredict/?rev=280&view=rev Author: csete Date: 2009-05-01 16:41:45 +0000 (Fri, 01 May 2009) Log Message: ----------- Revert to append page. Modified Paths: -------------- trunk/src/mod-mgr.c Modified: trunk/src/mod-mgr.c =================================================================== --- trunk/src/mod-mgr.c 2009-05-01 16:23:03 UTC (rev 279) +++ trunk/src/mod-mgr.c 2009-05-01 16:41:45 UTC (rev 280) @@ -199,11 +199,11 @@ modules = g_slist_append (modules, module); if (dock) { -sat_log_log (SAT_LOG_LEVEL_MSG, + sat_log_log (SAT_LOG_LEVEL_MSG, _("%s: Entered 2."), __FUNCTION__); /* add module to notebook if state = DOCKED */ - page = gtk_notebook_prepend_page (GTK_NOTEBOOK (nbook), + page = gtk_notebook_append_page (GTK_NOTEBOOK (nbook), module, gtk_label_new (GTK_SAT_MODULE (module)->name)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-01 16:23:04
|
Revision: 279 http://gpredict.svn.sourceforge.net/gpredict/?rev=279&view=rev Author: csete Date: 2009-05-01 16:23:03 +0000 (Fri, 01 May 2009) Log Message: ----------- Fixed indent. Modified Paths: -------------- trunk/src/mod-mgr.c Modified: trunk/src/mod-mgr.c =================================================================== --- trunk/src/mod-mgr.c 2009-04-15 21:29:45 UTC (rev 278) +++ trunk/src/mod-mgr.c 2009-05-01 16:23:03 UTC (rev 279) @@ -75,9 +75,9 @@ static void update_window_title (void); static void switch_page_cb (GtkNotebook *notebook, - GtkNotebookPage *page, - guint page_num, - gpointer user_data); + GtkNotebookPage *page, + guint page_num, + gpointer user_data); static void create_module_window (GtkWidget *module); @@ -94,83 +94,83 @@ GtkWidget * mod_mgr_create (void) { - gchar *openmods = NULL; - gchar **mods; - gint count,i; - GtkWidget *module; - gchar *modfile; + gchar *openmods = NULL; + gchar **mods; + gint count,i; + GtkWidget *module; + gchar *modfile; - /* create notebook */ - nbook = gtk_notebook_new (); - gtk_notebook_set_scrollable (GTK_NOTEBOOK (nbook), TRUE); - gtk_notebook_popup_enable (GTK_NOTEBOOK (nbook)); - g_object_set (G_OBJECT (nbook), "homogeneous", TRUE, NULL); - g_signal_connect (G_OBJECT (nbook), "switch-page", - G_CALLBACK (switch_page_cb), NULL); + /* create notebook */ + nbook = gtk_notebook_new (); + gtk_notebook_set_scrollable (GTK_NOTEBOOK (nbook), TRUE); + gtk_notebook_popup_enable (GTK_NOTEBOOK (nbook)); + g_object_set (G_OBJECT (nbook), "homogeneous", TRUE, NULL); + g_signal_connect (G_OBJECT (nbook), "switch-page", + G_CALLBACK (switch_page_cb), NULL); - /* get list of modules which should be open */ - openmods = sat_cfg_get_str (SAT_CFG_STR_OPEN_MODULES); + /* get list of modules which should be open */ + openmods = sat_cfg_get_str (SAT_CFG_STR_OPEN_MODULES); - if (openmods) { - mods = g_strsplit (openmods, ";", 0); - count = g_strv_length (mods); + if (openmods) { + mods = g_strsplit (openmods, ";", 0); + count = g_strv_length (mods); - for (i = 0; i < count; i++) { + for (i = 0; i < count; i++) { - /* get data file name */ - modfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, - ".gpredict2", G_DIR_SEPARATOR_S, - "modules", G_DIR_SEPARATOR_S, - mods[i], - ".mod", NULL); - - /* create module */ - module = gtk_sat_module_new (modfile); + /* get data file name */ + modfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, + ".gpredict2", G_DIR_SEPARATOR_S, + "modules", G_DIR_SEPARATOR_S, + mods[i], + ".mod", NULL); + + /* create module */ + module = gtk_sat_module_new (modfile); - if (IS_GTK_SAT_MODULE (module)) { + if (IS_GTK_SAT_MODULE (module)) { - /* if module state was window or user does not want to restore the - state of the modules, pack the module into the notebook */ - if ((GTK_SAT_MODULE (module)->state == GTK_SAT_MOD_STATE_DOCKED) || - !sat_cfg_get_bool (SAT_CFG_BOOL_MOD_STATE)) { + /* if module state was window or user does not want to restore the + state of the modules, pack the module into the notebook */ + if ((GTK_SAT_MODULE (module)->state == GTK_SAT_MOD_STATE_DOCKED) || + !sat_cfg_get_bool (SAT_CFG_BOOL_MOD_STATE)) { - mod_mgr_add_module (module, TRUE); + mod_mgr_add_module (module, TRUE); - } - else { - mod_mgr_add_module (module, FALSE); - create_module_window (module); - } - } - else { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Failed to restore %s"), - __FUNCTION__, mods[i]); - } + } + else { + mod_mgr_add_module (module, FALSE); + create_module_window (module); + } + } + else { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Failed to restore %s"), + __FUNCTION__, mods[i]); + } - g_free (modfile); + g_free (modfile); - } + } - g_strfreev (mods); - g_free (openmods); + g_strfreev (mods); + g_free (openmods); - /* disable tabs if only one page in notebook */ - if ((gtk_notebook_get_n_pages (GTK_NOTEBOOK(nbook))) == 1) { - gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), FALSE); - } - else { - gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), TRUE); - } + /* disable tabs if only one page in notebook */ + if ((gtk_notebook_get_n_pages (GTK_NOTEBOOK(nbook))) == 1) { + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), FALSE); + } + else { + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), TRUE); + } - } - else { - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: No modules have to be restored."), - __FUNCTION__); - } + } + else { + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: No modules have to be restored."), + __FUNCTION__); + } - return nbook; + return nbook; } @@ -187,54 +187,64 @@ gint mod_mgr_add_module (GtkWidget *module, gboolean dock) { - gint retcode = 0; - gint page; + gint retcode = 0; + gint page; +sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Entered 1."), + __FUNCTION__); + if (module) { - if (module) { + /* add module to internal list */ + modules = g_slist_append (modules, module); - /* add module to internal list */ - modules = g_slist_append (modules, module); + if (dock) { +sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Entered 2."), + __FUNCTION__); + /* add module to notebook if state = DOCKED */ + page = gtk_notebook_prepend_page (GTK_NOTEBOOK (nbook), + module, + gtk_label_new (GTK_SAT_MODULE (module)->name)); - if (dock) { - /* add module to notebook if state = DOCKED */ - page = gtk_notebook_append_page (GTK_NOTEBOOK (nbook), - module, - gtk_label_new (GTK_SAT_MODULE (module)->name)); - gtk_notebook_set_current_page (GTK_NOTEBOOK (nbook), page); + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Entered 3."), + __FUNCTION__); - /* send message to logger */ - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Added %s to module manger (page %d)."), - __FUNCTION__, GTK_SAT_MODULE (module)->name, page); - } - else { - /* send message to logger */ - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Added %s to module manger (NOT DOCKED)."), - __FUNCTION__, GTK_SAT_MODULE (module)->name); - } - retcode = 0; - } - else { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Module %s seems to be NULL"), - __FUNCTION__, GTK_SAT_MODULE (module)->name); - retcode = 1; - } + gtk_notebook_set_current_page (GTK_NOTEBOOK (nbook), page); - /* disable tabs if only one page in notebook */ - if ((gtk_notebook_get_n_pages (GTK_NOTEBOOK(nbook))) == 1) { - gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), FALSE); - } - else { - gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), TRUE); - } + /* send message to logger */ + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Added %s to module manger (page %d)."), + __FUNCTION__, GTK_SAT_MODULE (module)->name, page); + } + else { + /* send message to logger */ + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Added %s to module manger (NOT DOCKED)."), + __FUNCTION__, GTK_SAT_MODULE (module)->name); + } + retcode = 0; + } + else { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Module %s seems to be NULL"), + __FUNCTION__, GTK_SAT_MODULE (module)->name); + retcode = 1; + } - update_window_title (); + /* disable tabs if only one page in notebook */ + if ((gtk_notebook_get_n_pages (GTK_NOTEBOOK(nbook))) == 1) { + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), FALSE); + } + else { + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), TRUE); + } - return retcode; + update_window_title (); + return retcode; + } @@ -247,54 +257,54 @@ gint mod_mgr_remove_module (GtkWidget *module) { - gint page; - gint retcode = 0; + gint page; + gint retcode = 0; - /* remove from notebook */ - if (GTK_SAT_MODULE (module)->state == GTK_SAT_MOD_STATE_DOCKED) { - /* get page number for this module */ - page = gtk_notebook_page_num (GTK_NOTEBOOK (nbook), module); + /* remove from notebook */ + if (GTK_SAT_MODULE (module)->state == GTK_SAT_MOD_STATE_DOCKED) { + /* get page number for this module */ + page = gtk_notebook_page_num (GTK_NOTEBOOK (nbook), module); - if (page == -1) { - /* this is some kind of bug (inconsistency between internal states) */ - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Could not find child in notebook. This may hurt..."), - __FUNCTION__); + if (page == -1) { + /* this is some kind of bug (inconsistency between internal states) */ + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Could not find child in notebook. This may hurt..."), + __FUNCTION__); - retcode = 1; - } - else { - gtk_notebook_remove_page (GTK_NOTEBOOK (nbook), page); + retcode = 1; + } + else { + gtk_notebook_remove_page (GTK_NOTEBOOK (nbook), page); - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Removed child from notebook page %d."), - __FUNCTION__, page); + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Removed child from notebook page %d."), + __FUNCTION__, page); - retcode = 0; - } - } + retcode = 0; + } + } - /* remove from list */ - modules = g_slist_remove (modules, module); + /* remove from list */ + modules = g_slist_remove (modules, module); - /* undocked modules will have to destroy themselves - because of their parent window - */ + /* undocked modules will have to destroy themselves + because of their parent window + */ - /* disable tabs if only one page in notebook */ - if ((gtk_notebook_get_n_pages (GTK_NOTEBOOK(nbook))) == 1) { - gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), FALSE); - } - else { - gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), TRUE); - } + /* disable tabs if only one page in notebook */ + if ((gtk_notebook_get_n_pages (GTK_NOTEBOOK(nbook))) == 1) { + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), FALSE); + } + else { + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), TRUE); + } - /* update window title */ - update_window_title (); + /* update window title */ + update_window_title (); - return retcode; + return retcode; } @@ -310,60 +320,60 @@ void mod_mgr_save_state () { - guint num; - guint i; - GtkWidget *module; - gchar *mods = NULL; - gchar *buff; + guint num; + guint i; + GtkWidget *module; + gchar *mods = NULL; + gchar *buff; - - if (!nbook) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Attempt to save state but mod-mgr is NULL?"), - __FUNCTION__); - return; - } + + if (!nbook) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Attempt to save state but mod-mgr is NULL?"), + __FUNCTION__); + return; + } - num = g_slist_length (modules); + num = g_slist_length (modules); - if (num == 0) { - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: No modules need to save state."), - __FUNCTION__); + if (num == 0) { + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: No modules need to save state."), + __FUNCTION__); - sat_cfg_set_str (SAT_CFG_STR_OPEN_MODULES, NULL); + sat_cfg_set_str (SAT_CFG_STR_OPEN_MODULES, NULL); - return; - } + return; + } - for (i = 0; i < num; i++) { - module = GTK_WIDGET (g_slist_nth_data (modules, i)); + for (i = 0; i < num; i++) { + module = GTK_WIDGET (g_slist_nth_data (modules, i)); /* save state of the module */ mod_cfg_save (GTK_SAT_MODULE (module)->name, GTK_SAT_MODULE (module)->cfgdata); - - if (i == 0) { - buff = g_strdup (GTK_SAT_MODULE (module)->name); - } - else { - buff = g_strconcat (mods, ";", GTK_SAT_MODULE (module)->name, NULL); - g_free (mods); - } + + if (i == 0) { + buff = g_strdup (GTK_SAT_MODULE (module)->name); + } + else { + buff = g_strconcat (mods, ";", GTK_SAT_MODULE (module)->name, NULL); + g_free (mods); + } - mods = g_strdup (buff); - g_free (buff); + mods = g_strdup (buff); + g_free (buff); - sat_log_log (SAT_LOG_LEVEL_DEBUG, _("%s: Stored %s"), - __FUNCTION__, GTK_SAT_MODULE (module)->name); + sat_log_log (SAT_LOG_LEVEL_DEBUG, _("%s: Stored %s"), + __FUNCTION__, GTK_SAT_MODULE (module)->name); - } + } - sat_log_log (SAT_LOG_LEVEL_MSG, _("%s: Saved states for %d modules."), - __FUNCTION__, num); + sat_log_log (SAT_LOG_LEVEL_MSG, _("%s: Saved states for %d modules."), + __FUNCTION__, num); - sat_cfg_set_str (SAT_CFG_STR_OPEN_MODULES, mods); + sat_cfg_set_str (SAT_CFG_STR_OPEN_MODULES, mods); - g_free (mods); + g_free (mods); } @@ -374,27 +384,27 @@ gboolean mod_mgr_mod_is_visible (GtkWidget *module) { - gint page; - gboolean retcode = TRUE; + gint page; + gboolean retcode = TRUE; - /* get page number for this module */ - page = gtk_notebook_page_num (GTK_NOTEBOOK (nbook), module); + /* get page number for this module */ + page = gtk_notebook_page_num (GTK_NOTEBOOK (nbook), module); - if (page != -1) { - - if (gtk_notebook_get_current_page (GTK_NOTEBOOK (nbook)) == page) { - retcode = TRUE; - } - else { - retcode = FALSE; - } + if (page != -1) { + + if (gtk_notebook_get_current_page (GTK_NOTEBOOK (nbook)) == page) { + retcode = TRUE; + } + else { + retcode = FALSE; + } - } - else { - retcode = FALSE; - } + } + else { + retcode = FALSE; + } - return retcode; + return retcode; } @@ -416,52 +426,52 @@ gint mod_mgr_dock_module (GtkWidget *module) { - gint retcode = 0; - gint page; + gint retcode = 0; + gint page; - - if (!g_slist_find (modules, module)) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module %s not found in list. Trying to recover."), - __FUNCTION__, GTK_SAT_MODULE (module)->name); - modules = g_slist_append (modules, module); - } + + if (!g_slist_find (modules, module)) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module %s not found in list. Trying to recover."), + __FUNCTION__, GTK_SAT_MODULE (module)->name); + modules = g_slist_append (modules, module); + } - page = gtk_notebook_page_num (GTK_NOTEBOOK (nbook), module); - if (page != -1) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module %s already in notebook!"), - __FUNCTION__, GTK_SAT_MODULE (module)->name); - retcode = 1; - } - else { - /* add module to notebook */ - page = gtk_notebook_append_page (GTK_NOTEBOOK (nbook), - module, - gtk_label_new (GTK_SAT_MODULE (module)->name)); + page = gtk_notebook_page_num (GTK_NOTEBOOK (nbook), module); + if (page != -1) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module %s already in notebook!"), + __FUNCTION__, GTK_SAT_MODULE (module)->name); + retcode = 1; + } + else { + /* add module to notebook */ + page = gtk_notebook_append_page (GTK_NOTEBOOK (nbook), + module, + gtk_label_new (GTK_SAT_MODULE (module)->name)); - /* fix size allocation, i.e. paned position */ - gtk_sat_module_fix_size (module); + /* fix size allocation, i.e. paned position */ + gtk_sat_module_fix_size (module); - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Docked %s into notebook (page %d)"), - __FUNCTION__, GTK_SAT_MODULE (module)->name, page); - - retcode = 0; - } + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Docked %s into notebook (page %d)"), + __FUNCTION__, GTK_SAT_MODULE (module)->name, page); + + retcode = 0; + } - /* disable tabs if only one page in notebook */ - if ((gtk_notebook_get_n_pages (GTK_NOTEBOOK(nbook))) == 1) { - gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), FALSE); - } - else { - gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), TRUE); - } + /* disable tabs if only one page in notebook */ + if ((gtk_notebook_get_n_pages (GTK_NOTEBOOK(nbook))) == 1) { + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), FALSE); + } + else { + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), TRUE); + } - /* update window title */ - update_window_title (); + /* update window title */ + update_window_title (); - return retcode; + return retcode; } @@ -485,47 +495,47 @@ gint mod_mgr_undock_module (GtkWidget *module) { - gint retcode = 0; - gint page; + gint retcode = 0; + gint page; - if (!g_slist_find (modules, module)) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module %s not found in list. Trying to recover."), - __FUNCTION__, GTK_SAT_MODULE (module)->name); - modules = g_slist_append (modules, module); - } + if (!g_slist_find (modules, module)) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module %s not found in list. Trying to recover."), + __FUNCTION__, GTK_SAT_MODULE (module)->name); + modules = g_slist_append (modules, module); + } - page = gtk_notebook_page_num (GTK_NOTEBOOK (nbook), module); - if (page == -1) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module %s does not seem to be docked!"), - __FUNCTION__, GTK_SAT_MODULE (module)->name); - retcode = 1; - } - else { + page = gtk_notebook_page_num (GTK_NOTEBOOK (nbook), module); + if (page == -1) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module %s does not seem to be docked!"), + __FUNCTION__, GTK_SAT_MODULE (module)->name); + retcode = 1; + } + else { - gtk_notebook_remove_page (GTK_NOTEBOOK (nbook), page); + gtk_notebook_remove_page (GTK_NOTEBOOK (nbook), page); - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Removed %s from notebook page %d."), - __FUNCTION__, GTK_SAT_MODULE (module)->name, page); + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Removed %s from notebook page %d."), + __FUNCTION__, GTK_SAT_MODULE (module)->name, page); - retcode = 0; - } + retcode = 0; + } - /* disable tabs if only one page in notebook */ - if ((gtk_notebook_get_n_pages (GTK_NOTEBOOK(nbook))) == 1) { - gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), FALSE); - } - else { - gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), TRUE); - } + /* disable tabs if only one page in notebook */ + if ((gtk_notebook_get_n_pages (GTK_NOTEBOOK(nbook))) == 1) { + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), FALSE); + } + else { + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (nbook), TRUE); + } - /* update window title */ - update_window_title (); + /* update window title */ + update_window_title (); - return retcode; + return retcode; } @@ -533,41 +543,41 @@ static void update_window_title () { - gint pgn,num; - GtkWidget *pg; - gchar *title; + gint pgn,num; + GtkWidget *pg; + gchar *title; - /* get number of pages */ - num = gtk_notebook_get_n_pages (GTK_NOTEBOOK (nbook)); + /* get number of pages */ + num = gtk_notebook_get_n_pages (GTK_NOTEBOOK (nbook)); - if (num == 0) { - gtk_window_set_title (GTK_WINDOW (app), _("GPREDICT: (none)")); - } - else { - pgn = gtk_notebook_get_current_page (GTK_NOTEBOOK (nbook)); - pg = gtk_notebook_get_nth_page (GTK_NOTEBOOK (nbook), pgn); - title = g_strdup_printf (_("GPREDICT: %s"), - gtk_notebook_get_tab_label_text (GTK_NOTEBOOK (nbook), pg)); - gtk_window_set_title (GTK_WINDOW (app), title); - g_free (title); - } + if (num == 0) { + gtk_window_set_title (GTK_WINDOW (app), _("GPREDICT: (none)")); + } + else { + pgn = gtk_notebook_get_current_page (GTK_NOTEBOOK (nbook)); + pg = gtk_notebook_get_nth_page (GTK_NOTEBOOK (nbook), pgn); + title = g_strdup_printf (_("GPREDICT: %s"), + gtk_notebook_get_tab_label_text (GTK_NOTEBOOK (nbook), pg)); + gtk_window_set_title (GTK_WINDOW (app), title); + g_free (title); + } } static void switch_page_cb (GtkNotebook *notebook, - GtkNotebookPage *page, - guint page_num, - gpointer user_data) + GtkNotebookPage *page, + guint page_num, + gpointer user_data) { - GtkWidget *pg; - gchar *title; + GtkWidget *pg; + gchar *title; - pg = gtk_notebook_get_nth_page (GTK_NOTEBOOK (nbook), page_num); - title = g_strdup_printf (_("GPREDICT: %s"), - gtk_notebook_get_tab_label_text (GTK_NOTEBOOK (nbook), pg)); - gtk_window_set_title (GTK_WINDOW (app), title); - g_free (title); + pg = gtk_notebook_get_nth_page (GTK_NOTEBOOK (nbook), page_num); + title = g_strdup_printf (_("GPREDICT: %s"), + gtk_notebook_get_tab_label_text (GTK_NOTEBOOK (nbook), pg)); + gtk_window_set_title (GTK_WINDOW (app), title); + g_free (title); } @@ -575,36 +585,36 @@ void mod_mgr_reload_sats () { - guint num; - guint i; - GtkSatModule *mod; + guint num; + guint i; + GtkSatModule *mod; - - if (!nbook) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Attempt to reload sats but mod-mgr is NULL?"), - __FUNCTION__); - return; - } + + if (!nbook) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Attempt to reload sats but mod-mgr is NULL?"), + __FUNCTION__); + return; + } - num = g_slist_length (modules); + num = g_slist_length (modules); - if (num == 0) { - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: No modules need to reload sats."), - __FUNCTION__); + if (num == 0) { + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: No modules need to reload sats."), + __FUNCTION__); - return; - } + return; + } - /* for each module in the GSList execute sat_module_reload_sats() */ - for (i = 0; i < num; i++) { + /* for each module in the GSList execute sat_module_reload_sats() */ + for (i = 0; i < num; i++) { - mod = GTK_SAT_MODULE (g_slist_nth_data (modules, i)); - - gtk_sat_module_reload_sats (mod); + mod = GTK_SAT_MODULE (g_slist_nth_data (modules, i)); + + gtk_sat_module_reload_sats (mod); - } + } } @@ -618,99 +628,99 @@ static void create_module_window (GtkWidget *module) { - gint w,h; - gchar *icon; /* icon file name */ - gchar *title; /* window title */ + gint w,h; + gchar *icon; /* icon file name */ + gchar *title; /* window title */ - /* get stored size; use size from main window if size not explicitly stoed */ - if (g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_WIDTH, - NULL)) { - w = g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_WIDTH, - NULL); - } - else { - w = module->allocation.width; - } - if (g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_HEIGHT, - NULL)) { - h = g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_HEIGHT, - NULL); - } - else { - h = module->allocation.height; - } + /* get stored size; use size from main window if size not explicitly stoed */ + if (g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_WIDTH, + NULL)) { + w = g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_WIDTH, + NULL); + } + else { + w = module->allocation.width; + } + if (g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_HEIGHT, + NULL)) { + h = g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_HEIGHT, + NULL); + } + else { + h = module->allocation.height; + } - /* increase reference count of module */ - //g_object_ref (module); + /* increase reference count of module */ + //g_object_ref (module); - /* we don't need the positions */ - //GTK_SAT_MODULE (module)->vpanedpos = -1; - //GTK_SAT_MODULE (module)->hpanedpos = -1; + /* we don't need the positions */ + //GTK_SAT_MODULE (module)->vpanedpos = -1; + //GTK_SAT_MODULE (module)->hpanedpos = -1; - /* undock from mod-mgr */ - //mod_mgr_undock_module (module); + /* undock from mod-mgr */ + //mod_mgr_undock_module (module); - /* create window */ - GTK_SAT_MODULE (module)->win = gtk_window_new (GTK_WINDOW_TOPLEVEL); - title = g_strconcat ("GPREDICT: ", - GTK_SAT_MODULE (module)->name, - " (", GTK_SAT_MODULE (module)->qth->name, ")", - NULL); - gtk_window_set_title (GTK_WINDOW (GTK_SAT_MODULE (module)->win), title); - g_free (title); - gtk_window_set_default_size (GTK_WINDOW (GTK_SAT_MODULE (module)->win), w, h); - g_signal_connect (G_OBJECT (GTK_SAT_MODULE (module)->win), "configure_event", - G_CALLBACK (module_window_config_cb), module); + /* create window */ + GTK_SAT_MODULE (module)->win = gtk_window_new (GTK_WINDOW_TOPLEVEL); + title = g_strconcat ("GPREDICT: ", + GTK_SAT_MODULE (module)->name, + " (", GTK_SAT_MODULE (module)->qth->name, ")", + NULL); + gtk_window_set_title (GTK_WINDOW (GTK_SAT_MODULE (module)->win), title); + g_free (title); + gtk_window_set_default_size (GTK_WINDOW (GTK_SAT_MODULE (module)->win), w, h); + g_signal_connect (G_OBJECT (GTK_SAT_MODULE (module)->win), "configure_event", + G_CALLBACK (module_window_config_cb), module); - /* window icon */ - icon = icon_file_name ("gpredict-icon.png"); - if (g_file_test (icon, G_FILE_TEST_EXISTS)) { - gtk_window_set_icon_from_file (GTK_WINDOW (GTK_SAT_MODULE (module)->win), icon, NULL); - } - g_free (icon); + /* window icon */ + icon = icon_file_name ("gpredict-icon.png"); + if (g_file_test (icon, G_FILE_TEST_EXISTS)) { + gtk_window_set_icon_from_file (GTK_WINDOW (GTK_SAT_MODULE (module)->win), icon, NULL); + } + g_free (icon); - /* move window to stored position if requested by configuration */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_MOD_WIN_POS) && - g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_POS_X, - NULL) && - g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_POS_Y, - NULL)) { + /* move window to stored position if requested by configuration */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_MOD_WIN_POS) && + g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_POS_X, + NULL) && + g_key_file_has_key (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_POS_Y, + NULL)) { - gtk_window_move (GTK_WINDOW (GTK_SAT_MODULE (module)->win), - g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_POS_X, NULL), - g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, - MOD_CFG_GLOBAL_SECTION, - MOD_CFG_WIN_POS_Y, - NULL)); + gtk_window_move (GTK_WINDOW (GTK_SAT_MODULE (module)->win), + g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_POS_X, NULL), + g_key_file_get_integer (GTK_SAT_MODULE (module)->cfgdata, + MOD_CFG_GLOBAL_SECTION, + MOD_CFG_WIN_POS_Y, + NULL)); - } + } - /* add module to window */ - gtk_container_add (GTK_CONTAINER (GTK_SAT_MODULE (module)->win), module); + /* add module to window */ + gtk_container_add (GTK_CONTAINER (GTK_SAT_MODULE (module)->win), module); - /* show window */ - gtk_widget_show_all (GTK_SAT_MODULE (module)->win); + /* show window */ + gtk_widget_show_all (GTK_SAT_MODULE (module)->win); - /* reparent time manager window if visible */ - if (GTK_SAT_MODULE (module)->tmgActive) { - gtk_window_set_transient_for (GTK_WINDOW (GTK_SAT_MODULE (module)->tmgWin), - GTK_WINDOW (GTK_SAT_MODULE (module)->win)); - } + /* reparent time manager window if visible */ + if (GTK_SAT_MODULE (module)->tmgActive) { + gtk_window_set_transient_for (GTK_WINDOW (GTK_SAT_MODULE (module)->tmgWin), + GTK_WINDOW (GTK_SAT_MODULE (module)->win)); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-04-15 21:30:00
|
Revision: 278 http://gpredict.svn.sourceforge.net/gpredict/?rev=278&view=rev Author: csete Date: 2009-04-15 21:29:45 +0000 (Wed, 15 Apr 2009) Log Message: ----------- Added translator credit. Modified Paths: -------------- trunk/po/fr.po Modified: trunk/po/fr.po =================================================================== --- trunk/po/fr.po 2009-04-15 21:11:49 UTC (rev 277) +++ trunk/po/fr.po 2009-04-15 21:29:45 UTC (rev 278) @@ -60,7 +60,7 @@ #: ../src/about.c:109 msgid "translator-credits" -msgstr "" +msgstr "Stéphane Fillod" #: ../src/first-time.c:132 ../src/first-time.c:267 ../src/first-time.c:338 #: ../src/first-time.c:492 ../src/first-time.c:538 ../src/first-time.c:583 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-04-15 21:12:00
|
Revision: 277 http://gpredict.svn.sourceforge.net/gpredict/?rev=277&view=rev Author: csete Date: 2009-04-15 21:11:49 +0000 (Wed, 15 Apr 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/po/fr.po Modified: trunk/po/fr.po =================================================================== --- trunk/po/fr.po 2009-04-15 21:04:03 UTC (rev 276) +++ trunk/po/fr.po 2009-04-15 21:11:49 UTC (rev 277) @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: gpredict\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-03-21 10:53+0100\n" +"POT-Creation-Date: 2009-04-15 23:02+0200\n" "PO-Revision-Date: 2009-03-17 22:56+0200\n" "Last-Translator: Stéphane Fillod <fi...@us...>\n" "Language-Team: French <deb...@li...>\n" @@ -62,75 +62,85 @@ msgid "translator-credits" msgstr "" -#: ../src/first-time.c:126 ../src/first-time.c:261 ../src/first-time.c:332 -#: ../src/first-time.c:486 ../src/first-time.c:532 +#: ../src/first-time.c:132 ../src/first-time.c:267 ../src/first-time.c:338 +#: ../src/first-time.c:492 ../src/first-time.c:538 ../src/first-time.c:583 #, c-format msgid "%s: Check successful." msgstr "" -#: ../src/first-time.c:131 ../src/first-time.c:267 ../src/first-time.c:337 -#: ../src/first-time.c:491 ../src/first-time.c:537 +#: ../src/first-time.c:137 ../src/first-time.c:273 ../src/first-time.c:343 +#: ../src/first-time.c:497 ../src/first-time.c:543 ../src/first-time.c:588 #, c-format msgid "%s: Check failed. Creating %s" msgstr "" -#: ../src/first-time.c:142 ../src/first-time.c:278 ../src/first-time.c:346 -#: ../src/first-time.c:500 ../src/first-time.c:546 +#: ../src/first-time.c:148 ../src/first-time.c:284 ../src/first-time.c:352 +#: ../src/first-time.c:506 ../src/first-time.c:552 ../src/first-time.c:597 #, c-format msgid "%s: Failed to create %s" msgstr "" -#: ../src/first-time.c:147 ../src/first-time.c:283 ../src/first-time.c:351 -#: ../src/first-time.c:505 ../src/first-time.c:551 +#: ../src/first-time.c:153 ../src/first-time.c:289 ../src/first-time.c:357 +#: ../src/first-time.c:511 ../src/first-time.c:557 ../src/first-time.c:602 #, c-format msgid "%s: Created %s." msgstr "" -#: ../src/first-time.c:183 ../src/first-time.c:389 +#: ../src/first-time.c:189 ../src/first-time.c:395 ../src/first-time.c:635 #, c-format msgid "%s: Could not open %s." msgstr "" -#: ../src/first-time.c:207 +#: ../src/first-time.c:213 #, c-format msgid "%s: Found at least one .qth file." msgstr "" -#: ../src/first-time.c:218 +#: ../src/first-time.c:224 #, c-format msgid "%s: Failed to copy sample.qth" msgstr "" -#: ../src/first-time.c:225 +#: ../src/first-time.c:231 #, c-format msgid "%s: Copied sample.qth to %s/" msgstr "" -#: ../src/first-time.c:293 +#: ../src/first-time.c:299 #, c-format msgid "%s: Failed to copy Amateur.mod" msgstr "" -#: ../src/first-time.c:300 +#: ../src/first-time.c:306 #, c-format msgid "%s: Copied amateur.mod to %s/" msgstr "" -#: ../src/first-time.c:413 +#: ../src/first-time.c:419 #, c-format msgid "%s: Found at least one .tle file." msgstr "" -#: ../src/first-time.c:441 +#: ../src/first-time.c:447 ../src/first-time.c:665 #, c-format msgid "%s: Failed to copy %s" msgstr "" -#: ../src/first-time.c:448 +#: ../src/first-time.c:454 #, c-format msgid "%s: Successfully copied %s" msgstr "" +#: ../src/first-time.c:658 +#, c-format +msgid "%s: %s does not appear to be in user conf dir; adding." +msgstr "" + +#: ../src/first-time.c:674 +#, c-format +msgid "%s: %s already in user conf dir." +msgstr "" + #: ../src/gpredict-utils.c:293 ../src/gpredict-utils.c:332 #: ../src/gpredict-utils.c:379 ../src/gpredict-utils.c:421 #, c-format @@ -309,246 +319,336 @@ msgid "%s:%d: Can not find clicked object (%d) in hash table" msgstr "" -#: ../src/gtk-rig-ctrl.c:338 -msgid "<b>Satellite</b>" -msgstr "<b>Satellite</b>" +#: ../src/gtk-rig-ctrl.c:384 +msgid "<b> Downlink </b>" +msgstr "" -#: ../src/gtk-rig-ctrl.c:349 -msgid "Downlink" +#. Downlink doppler +#. Uplink doppler +#: ../src/gtk-rig-ctrl.c:399 ../src/gtk-rig-ctrl.c:461 +msgid "Doppler:" msgstr "" -#: ../src/gtk-rig-ctrl.c:362 ../src/gtk-rig-ctrl.c:428 -msgid "Radio:" -msgstr "Radio:" +#: ../src/gtk-rig-ctrl.c:410 ../src/gtk-rig-ctrl.c:472 +msgid "LO:" +msgstr "" -#: ../src/gtk-rig-ctrl.c:389 -msgid "<b>Radio</b>" -msgstr "<b>Radio</b>" - -#: ../src/gtk-rig-ctrl.c:415 -msgid "Uplink" +#: ../src/gtk-rig-ctrl.c:446 +msgid "<b> Uplink </b>" msgstr "" -#: ../src/gtk-rig-ctrl.c:468 ../src/gtk-rot-ctrl.c:420 +#: ../src/gtk-rig-ctrl.c:523 ../src/gtk-rot-ctrl.c:420 msgid "Select target object" msgstr "" #. tracking button -#: ../src/gtk-rig-ctrl.c:473 ../src/gtk-rot-ctrl.c:425 +#: ../src/gtk-rig-ctrl.c:528 ../src/gtk-rot-ctrl.c:425 msgid "Track" msgstr "" -#: ../src/gtk-rig-ctrl.c:474 ../src/gtk-rot-ctrl.c:426 +#: ../src/gtk-rig-ctrl.c:529 ../src/gtk-rot-ctrl.c:426 msgid "Track the satellite when it is within range" msgstr "" +#: ../src/gtk-rig-ctrl.c:535 +#, fuzzy +msgid "Select a transponder" +msgstr "_Transpondeurs" + +#. buttons +#: ../src/gtk-rig-ctrl.c:542 +msgid "T" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:544 +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:550 +msgid "L" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:552 +msgid "" +"Lock the uplink and the downlink to each other. Whenever you change the " +"downlink (in the controller or on the dial, the uplink will track it " +"according to whether the transponder is inverting or not. Similarly, if you " +"change the uplink the downlink will track it automatically.\n" +"\n" +"If the downlink and uplink are initially out of sync when you enable this " +"function, the current downlink frequency will be used as baseline for " +"setting the new uplink frequency." +msgstr "" + #. Azimuth -#: ../src/gtk-rig-ctrl.c:479 ../src/gtk-rot-ctrl.c:431 +#: ../src/gtk-rig-ctrl.c:571 ../src/gtk-rot-ctrl.c:431 msgid "Az:" msgstr "Az:" #. Elevation -#: ../src/gtk-rig-ctrl.c:487 ../src/gtk-rot-ctrl.c:441 +#: ../src/gtk-rig-ctrl.c:579 ../src/gtk-rot-ctrl.c:441 msgid "El:" msgstr "El:" -#. count down -#: ../src/gtk-rig-ctrl.c:495 ../src/gtk-rot-ctrl.c:450 -msgid "ΔT:" -msgstr "ΔT:" - #. Range -#: ../src/gtk-rig-ctrl.c:503 +#: ../src/gtk-rig-ctrl.c:587 msgid " Range:" msgstr "" #. Range rate -#: ../src/gtk-rig-ctrl.c:511 +#: ../src/gtk-rig-ctrl.c:595 msgid " Rate:" msgstr "" -#. Doppler shift -#: ../src/gtk-rig-ctrl.c:519 -msgid " Doppler:" -msgstr "" - -#: ../src/gtk-rig-ctrl.c:526 ../src/gtk-rot-ctrl.c:457 +#: ../src/gtk-rig-ctrl.c:602 ../src/gtk-rot-ctrl.c:457 msgid "Target" msgstr "" -#: ../src/gtk-rig-ctrl.c:555 ../src/gtk-rot-ctrl.c:485 -msgid "Device:" +#. Primary device +#: ../src/gtk-rig-ctrl.c:631 +msgid "1. Device:" msgstr "" -#: ../src/gtk-rig-ctrl.c:560 -msgid "Select radio device" +#: ../src/gtk-rig-ctrl.c:636 +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:583 ../src/gtk-rig-ctrl.c:1256 -#: ../src/gtk-rot-ctrl.c:513 ../src/gtk-rot-ctrl.c:1229 -#: ../src/sat-pref-rig.c:260 ../src/sat-pref-rot.c:270 +#: ../src/gtk-rig-ctrl.c:661 ../src/gtk-rig-ctrl.c:704 +#: ../src/gtk-rig-ctrl.c:2252 ../src/gtk-rot-ctrl.c:513 +#: ../src/gtk-rot-ctrl.c:1229 ../src/sat-pref-rig.c:273 +#: ../src/sat-pref-rot.c:270 #, c-format msgid "%s:%d: Failed to open hwconf dir (%s)" msgstr "" #. config will be force-loaded after LO spin is created +#. Secondary device +#: ../src/gtk-rig-ctrl.c:674 +msgid "2. Device:" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:679 +msgid "" +"Select secondary radio device\n" +"This device will be used for uplink" +msgstr "" + +#. load config +#: ../src/gtk-rig-ctrl.c:683 ../src/sat-pref-rig-editor.c:232 +#: ../src/sat-pref-rig.c:709 ../src/sat-pref-rig.c:718 +msgid "None" +msgstr "" + #. Engage button -#: ../src/gtk-rig-ctrl.c:597 ../src/gtk-rot-ctrl.c:526 +#: ../src/gtk-rig-ctrl.c:719 ../src/gtk-rot-ctrl.c:526 msgid "Engage" msgstr "Engage" -#: ../src/gtk-rig-ctrl.c:598 +#: ../src/gtk-rig-ctrl.c:720 msgid "Engage the selcted radio device" msgstr "" -#. Local oscillator value -#: ../src/gtk-rig-ctrl.c:603 -msgid "Local Osc:" -msgstr "" - -#: ../src/gtk-rig-ctrl.c:611 ../src/sat-pref-rig-editor.c:244 -msgid "Enter the frequency of the local oscillator, if any." -msgstr "" - -#: ../src/gtk-rig-ctrl.c:614 ../src/sat-pref-rig-editor.c:247 -msgid "MHz" -msgstr "MHZ" - #. Timeout -#: ../src/gtk-rig-ctrl.c:622 ../src/gtk-rot-ctrl.c:532 +#: ../src/gtk-rig-ctrl.c:728 ../src/gtk-rot-ctrl.c:532 msgid "Cycle:" msgstr "" -#: ../src/gtk-rig-ctrl.c:629 -msgid "This parameter controls the delay between commands sent to the rigator." +#: ../src/gtk-rig-ctrl.c:735 +msgid "This parameter controls the delay between commands sent to the rig." msgstr "" -#: ../src/gtk-rig-ctrl.c:636 ../src/gtk-rot-ctrl.c:546 +#: ../src/gtk-rig-ctrl.c:742 ../src/gtk-rot-ctrl.c:546 msgid "msec" msgstr "msec" -#: ../src/gtk-rig-ctrl.c:641 ../src/gtk-rot-ctrl.c:575 +#: ../src/gtk-rig-ctrl.c:746 ../src/gtk-rot-ctrl.c:575 msgid "Settings" msgstr "" -#: ../src/gtk-rig-ctrl.c:685 ../src/gtk-rot-ctrl.c:638 +#: ../src/gtk-rig-ctrl.c:763 +msgid "<span size='large'><b>ΔT: 00:00:00</b></span>" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:811 ../src/gtk-rot-ctrl.c:638 #, c-format msgid "%s:%s: Invalid satellite selection: %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:758 +#: ../src/gtk-rig-ctrl.c:848 #, c-format -msgid "%s:%d: Failed to allocate memory for radio config" +msgid "%s: Inconsistency detected in internal transponder data (%d,%d)" msgstr "" -#: ../src/gtk-rig-ctrl.c:767 +#: ../src/gtk-rig-ctrl.c:976 #, c-format -msgid "Loaded new radio configuration %s" +msgid "%s:%s: Primary device selected: %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:774 +#: ../src/gtk-rig-ctrl.c:990 ../src/gtk-rig-ctrl.c:2340 #, c-format -msgid "%s:%d: Failed to load radio configuration %s" +msgid "%s:%d: Failed to allocate memory for radio config" msgstr "" -#: ../src/gtk-rig-ctrl.c:811 ../src/gtk-rot-ctrl.c:780 +#: ../src/gtk-rig-ctrl.c:999 ../src/gtk-rig-ctrl.c:1100 #, c-format -msgid "%s: Controller does not have a valid configuration" +msgid "%s:%s: Loaded new radio configuration %s" msgstr "" -#: ../src/gtk-rig-ctrl.c:836 ../src/gtk-rot-ctrl.c:808 +#. update LO widgets +#: ../src/gtk-rig-ctrl.c:1002 ../src/gtk-rig-ctrl.c:1007 +#: ../src/gtk-rig-ctrl.c:1059 ../src/gtk-rig-ctrl.c:1075 +#: ../src/gtk-rig-ctrl.c:1103 #, c-format -msgid "%s missed the deadline" +msgid "%.0f MHz" msgstr "" -#: ../src/gtk-rig-ctrl.c:855 ../src/gtk-rig-ctrl.c:884 -#: ../src/gtk-rot-ctrl.c:868 ../src/gtk-rot-ctrl.c:869 -#: ../src/gtk-sat-data.c:95 ../src/gtk-sat-module-popup.c:899 -#: ../src/gtk-sat-module-popup.c:972 ../src/sat-log-browser.c:71 -#: ../src/sat-pref-rig.c:660 -msgid "ERROR" -msgstr "ERREUR" - -#: ../src/gtk-rig-ctrl.c:957 ../src/gtk-rot-ctrl.c:897 +#: ../src/gtk-rig-ctrl.c:1014 ../src/gtk-rig-ctrl.c:1109 #, c-format -msgid "%s: MAX_ERROR_COUNT (%d) reached. Disengaging device!" +msgid "%s:%s: Failed to load radio configuration %s" msgstr "" -#: ../src/gtk-rig-ctrl.c:1001 +#: ../src/gtk-rig-ctrl.c:1043 #, c-format -msgid "%s: Failed to create socket" +msgid "%s:%s: Secondary device selected: %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1007 +#: ../src/gtk-rig-ctrl.c:1091 #, c-format -msgid "%s: Network socket created successfully" +msgid "%s:%s: Failed to allocate memory for radio config" msgstr "" -#: ../src/gtk-rig-ctrl.c:1021 +#: ../src/gtk-rig-ctrl.c:1147 ../src/gtk-rot-ctrl.c:780 #, c-format -msgid "%s: Failed to connect to %s:%d" +msgid "%s: Controller does not have a valid configuration" msgstr "" -#: ../src/gtk-rig-ctrl.c:1027 +#: ../src/gtk-rig-ctrl.c:1243 ../src/gtk-rot-ctrl.c:808 #, c-format -msgid "%s: Connection opened to %s:%d" +msgid "%s missed the deadline" msgstr "" -#: ../src/gtk-rig-ctrl.c:1038 +#: ../src/gtk-rig-ctrl.c:1275 #, c-format -msgid "%s: SIZE ERROR %d / %d" +msgid "%s: Invalid radio type %d. Setting type to RIG_TYPE_RX" msgstr "" -#: ../src/gtk-rig-ctrl.c:1069 ../src/gtk-rot-ctrl.c:956 +#: ../src/gtk-rig-ctrl.c:1406 ../src/gtk-rig-ctrl.c:1530 +#: ../src/gtk-rig-ctrl.c:1784 ../src/gtk-rot-ctrl.c:897 #, c-format -msgid "%s:%d: NULL storage." +msgid "%s: MAX_ERROR_COUNT (%d) reached. Disengaging device!" msgstr "" -#: ../src/gtk-rig-ctrl.c:1078 ../src/gtk-rot-ctrl.c:965 -#: ../src/gtk-rot-ctrl.c:1074 +#: ../src/gtk-rig-ctrl.c:1813 ../src/gtk-rig-ctrl.c:2002 +#: ../src/gtk-rot-ctrl.c:965 ../src/gtk-rot-ctrl.c:1074 #, c-format msgid "%s:%d: Failed to create socket" msgstr "" -#: ../src/gtk-rig-ctrl.c:1084 ../src/gtk-rot-ctrl.c:971 -#: ../src/gtk-rot-ctrl.c:1080 +#: ../src/gtk-rig-ctrl.c:1819 ../src/gtk-rig-ctrl.c:2008 +#: ../src/gtk-rot-ctrl.c:971 ../src/gtk-rot-ctrl.c:1080 #, c-format msgid "%s:%d Network socket created successfully" msgstr "" -#: ../src/gtk-rig-ctrl.c:1098 ../src/gtk-rot-ctrl.c:985 -#: ../src/gtk-rot-ctrl.c:1094 +#: ../src/gtk-rig-ctrl.c:1833 ../src/gtk-rig-ctrl.c:2022 +#: ../src/gtk-rot-ctrl.c:985 ../src/gtk-rot-ctrl.c:1094 #, c-format msgid "%s:%d: Failed to connect to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1104 ../src/gtk-rot-ctrl.c:991 -#: ../src/gtk-rot-ctrl.c:1100 +#: ../src/gtk-rig-ctrl.c:1839 ../src/gtk-rig-ctrl.c:2028 +#: ../src/gtk-rot-ctrl.c:991 ../src/gtk-rot-ctrl.c:1100 #, c-format msgid "%s:%d: Connection opened to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1115 ../src/gtk-rot-ctrl.c:1002 -#: ../src/gtk-rot-ctrl.c:1113 +#: ../src/gtk-rig-ctrl.c:1857 ../src/gtk-rig-ctrl.c:2039 +#: ../src/gtk-rot-ctrl.c:1002 ../src/gtk-rot-ctrl.c:1113 #, c-format msgid "%s:%d: SIZE ERROR %d / %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1125 ../src/gtk-rot-ctrl.c:1012 +#: ../src/gtk-rig-ctrl.c:1867 ../src/gtk-rig-ctrl.c:2049 +#: ../src/gtk-rot-ctrl.c:1012 #, c-format msgid "%s:%s: Failed to allocate 128 bytes (yes, this means trouble)" msgstr "" -#: ../src/gtk-rig-ctrl.c:1135 +#: ../src/gtk-rig-ctrl.c:1877 ../src/gtk-rig-ctrl.c:2059 #, c-format msgid "%s:%s: Got 0 bytes from rigctld" msgstr "" -#: ../src/gtk-rig-ctrl.c:1140 +#: ../src/gtk-rig-ctrl.c:1882 ../src/gtk-rig-ctrl.c:2064 #, c-format msgid "%s:%s: Read %d bytes from rigctld" msgstr "" +#: ../src/gtk-rig-ctrl.c:1925 +#, c-format +msgid "%s: Failed to create socket" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1931 +#, c-format +msgid "%s: Network socket created successfully" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1945 +#, c-format +msgid "%s: Failed to connect to %s:%d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1951 +#, c-format +msgid "%s: Connection opened to %s:%d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1962 +#, c-format +msgid "%s: SIZE ERROR %d / %d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1993 ../src/gtk-rot-ctrl.c:956 +#, c-format +msgid "%s:%d: NULL storage." +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2103 +#, c-format +msgid "AOS in" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2107 +#, c-format +msgid "LOS in" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2190 +#, c-format +msgid "%s:%s: GtkSatModule has no target satellite." +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2202 +#, c-format +msgid "%s:%s: Satellite %d has %d transponder modes." +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2213 +#, c-format +msgid "%s:&s: Read transponder '%s' for satellite %d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2352 +#, c-format +msgid "%s:%d: Error reading radio configuration %s" +msgstr "" + #: ../src/gtk-rot-ctrl.c:328 ../src/gtk-sat-list.c:85 #: ../src/sat-pass-dialogs.c:125 ../src/gtk-single-sat.c:84 msgid "Azimuth" @@ -567,6 +667,15 @@ msgid "Read: " msgstr "Lecture: " +#. count down +#: ../src/gtk-rot-ctrl.c:450 +msgid "ΔT:" +msgstr "ΔT:" + +#: ../src/gtk-rot-ctrl.c:485 +msgid "Device:" +msgstr "" + #: ../src/gtk-rot-ctrl.c:490 msgid "Select antenna rotator device" msgstr "" @@ -611,6 +720,13 @@ msgid "%s:%d: Failed to load rotator configuration %s" msgstr "" +#: ../src/gtk-rot-ctrl.c:868 ../src/gtk-rot-ctrl.c:869 +#: ../src/gtk-sat-data.c:95 ../src/gtk-sat-module-popup.c:899 +#: ../src/gtk-sat-module-popup.c:972 ../src/sat-log-browser.c:71 +#: ../src/sat-pref-rig.c:680 +msgid "ERROR" +msgstr "ERREUR" + #: ../src/gtk-rot-ctrl.c:1022 #, c-format msgid "%s:%s: Got 0 bytes from rotctld" @@ -688,7 +804,7 @@ msgid "%s: Error writing QTH data (%s)." msgstr "" -#: ../src/gtk-sat-data.c:342 ../src/mod-cfg.c:408 ../src/sat-cfg.c:350 +#: ../src/gtk-sat-data.c:342 ../src/mod-cfg.c:408 ../src/sat-cfg.c:352 #, c-format msgid "%s: Wrote only %d out of %d chars." msgstr "" @@ -718,7 +834,7 @@ msgid "%s: Good data for #%d" msgstr "" -#: ../src/gtk-sat-data.c:528 ../src/tle-update.c:863 +#: ../src/gtk-sat-data.c:528 ../src/tle-update.c:901 #, c-format msgid "%s: Failed to open %s" msgstr "" @@ -1250,7 +1366,7 @@ #. delete module #: ../src/gtk-sat-module-popup.c:214 ../src/sat-pref-qth.c:490 -#: ../src/sat-pref-rig.c:298 ../src/sat-pref-rot.c:307 +#: ../src/sat-pref-rig.c:311 ../src/sat-pref-rot.c:307 msgid "Delete" msgstr "Suppression" @@ -1400,7 +1516,7 @@ #: ../src/sat-pref-list-view.c:253 ../src/sat-pref-map-view.c:644 #: ../src/sat-pref-multi-pass.c:190 ../src/sat-pref-polar-view.c:577 #: ../src/sat-pref-refresh.c:419 ../src/sat-pref-single-pass.c:184 -#: ../src/sat-pref-sky-at-glance.c:491 ../src/sat-pref-tle.c:328 +#: ../src/sat-pref-sky-at-glance.c:491 ../src/sat-pref-tle.c:348 msgid "Reset" msgstr "" @@ -1408,7 +1524,7 @@ msgid "Reset to current date and time" msgstr "" -#: ../src/gtk-sat-module-tmg.c:129 ../src/gtk-sat-module-tmg.c:556 +#: ../src/gtk-sat-module-tmg.c:129 ../src/gtk-sat-module-tmg.c:576 msgid "<b>Real-Time</b>" msgstr "" @@ -1467,16 +1583,16 @@ msgid "%s: Time Controller for %s closed. Time reset." msgstr "" -#: ../src/gtk-sat-module-tmg.c:474 +#: ../src/gtk-sat-module-tmg.c:483 #, c-format msgid "%s: %d/%d/%d %d:%d:%d.%d" msgstr "" -#: ../src/gtk-sat-module-tmg.c:547 +#: ../src/gtk-sat-module-tmg.c:567 msgid "<b>Simulated Real-Time</b>" msgstr "" -#: ../src/gtk-sat-module-tmg.c:551 +#: ../src/gtk-sat-module-tmg.c:571 msgid "<b>Manual Control</b>" msgstr "" @@ -1970,17 +2086,17 @@ msgid "%s: Attempt to save NULL data." msgstr "" -#: ../src/mod-cfg.c:362 ../src/sat-cfg.c:303 +#: ../src/mod-cfg.c:362 ../src/sat-cfg.c:305 #, c-format msgid "%s: Could not create config data (%s)." msgstr "" -#: ../src/mod-cfg.c:380 ../src/sat-cfg.c:322 +#: ../src/mod-cfg.c:380 ../src/sat-cfg.c:324 #, c-format msgid "%s: Could not create config file (%s)." msgstr "" -#: ../src/mod-cfg.c:399 ../src/sat-cfg.c:341 +#: ../src/mod-cfg.c:399 ../src/sat-cfg.c:343 #, c-format msgid "%s: Error writing config data (%s)." msgstr "" @@ -2281,28 +2397,28 @@ "LAT:%.2f LON:%.2f\n" msgstr "" -#: ../src/radio-conf.c:65 ../src/radio-conf.c:169 ../src/rotor-conf.c:65 +#: ../src/radio-conf.c:66 ../src/radio-conf.c:192 ../src/rotor-conf.c:65 #, c-format msgid "%s: NULL configuration name!" msgstr "" -#: ../src/radio-conf.c:82 ../src/rotor-conf.c:82 +#: ../src/radio-conf.c:83 ../src/rotor-conf.c:82 #, c-format msgid "%s: Could not load file %s\n" msgstr "" -#: ../src/radio-conf.c:95 ../src/radio-conf.c:105 ../src/radio-conf.c:115 -#: ../src/radio-conf.c:125 ../src/radio-conf.c:135 +#: ../src/radio-conf.c:96 ../src/radio-conf.c:106 ../src/radio-conf.c:118 +#: ../src/radio-conf.c:134 ../src/radio-conf.c:148 ../src/radio-conf.c:158 #, c-format msgid "%s: Error reading radio conf from %s (%s)." msgstr "" -#: ../src/radio-conf.c:145 +#: ../src/radio-conf.c:168 #, c-format msgid "%s: Read radio configuration %s" msgstr "" -#: ../src/radio-conf.c:199 +#: ../src/radio-conf.c:223 #, c-format msgid "%s: Saved radio configuration %s" msgstr "" @@ -2337,40 +2453,40 @@ msgid "%s: MaxEl not defined for %s. Assuming 90°." msgstr "" -#: ../src/sat-cfg.c:261 +#: ../src/sat-cfg.c:263 #, c-format msgid "%s: Error reading config file (%s)" msgstr "" -#: ../src/sat-cfg.c:265 +#: ../src/sat-cfg.c:267 #, c-format msgid "%s: Using built-in defaults" msgstr "" -#: ../src/sat-cfg.c:274 +#: ../src/sat-cfg.c:276 #, c-format msgid "%s: Everything OK." msgstr "" -#: ../src/sat-cfg.c:357 +#: ../src/sat-cfg.c:359 #, c-format msgid "%s: Configuration saved." msgstr "" -#: ../src/sat-cfg.c:400 ../src/sat-cfg.c:464 ../src/sat-cfg.c:490 -#: ../src/sat-cfg.c:523 ../src/sat-cfg.c:589 ../src/sat-cfg.c:625 +#: ../src/sat-cfg.c:402 ../src/sat-cfg.c:465 ../src/sat-cfg.c:491 +#: ../src/sat-cfg.c:524 ../src/sat-cfg.c:589 ../src/sat-cfg.c:625 #: ../src/sat-cfg.c:653 ../src/sat-cfg.c:709 ../src/sat-cfg.c:735 #, c-format msgid "%s: Module not initialised\n" msgstr "" -#: ../src/sat-cfg.c:423 ../src/sat-cfg.c:441 ../src/sat-cfg.c:477 -#: ../src/sat-cfg.c:503 +#: ../src/sat-cfg.c:425 ../src/sat-cfg.c:443 ../src/sat-cfg.c:478 +#: ../src/sat-cfg.c:504 #, c-format msgid "%s: Unknown BOOL param index (%d)\n" msgstr "" -#: ../src/sat-cfg.c:546 ../src/sat-cfg.c:569 ../src/sat-cfg.c:611 +#: ../src/sat-cfg.c:547 ../src/sat-cfg.c:570 ../src/sat-cfg.c:611 #: ../src/sat-cfg.c:638 #, c-format msgid "%s: Unknown STR param index (%d)\n" @@ -2382,122 +2498,164 @@ msgid "%s: Unknown INT param index (%d)\n" msgstr "" -#: ../src/sat-info.c:85 +#: ../src/sat-info.c:84 msgid "<b>Satellite name:</b>" msgstr "<b>Nom du satellite:</b>" -#: ../src/sat-info.c:90 +#: ../src/sat-info.c:89 #, c-format msgid "<b>%s</b>" msgstr "<b>%s</b>" #. operational status -#: ../src/sat-info.c:97 +#: ../src/sat-info.c:96 msgid "Operational Status:" msgstr "" -#: ../src/sat-info.c:104 +#: ../src/sat-info.c:103 msgid "Operational" msgstr "Opérationel" -#: ../src/sat-info.c:108 +#: ../src/sat-info.c:107 msgid "Non-operational" msgstr "Non-opérationel" -#: ../src/sat-info.c:112 +#: ../src/sat-info.c:111 msgid "Partially operational" msgstr "" -#: ../src/sat-info.c:116 +#: ../src/sat-info.c:115 msgid "Backup/Standby" msgstr "" -#: ../src/sat-info.c:120 +#: ../src/sat-info.c:119 msgid "Spare" msgstr "" -#: ../src/sat-info.c:124 +#: ../src/sat-info.c:123 msgid "Extended Mission" msgstr "" -#: ../src/sat-info.c:128 ../src/sat-vis.c:40 +#: ../src/sat-info.c:127 ../src/sat-vis.c:40 msgid "Unknown" msgstr "Inconnu" #. Catnum -#: ../src/sat-info.c:137 +#: ../src/sat-info.c:136 msgid "Catalogue number:" msgstr "Numéro catalogue:" #. international designator -#: ../src/sat-info.c:148 +#: ../src/sat-info.c:147 msgid "Internation designator:" msgstr "" #. elset number -#: ../src/sat-info.c:157 +#: ../src/sat-info.c:156 msgid "Element set number:" msgstr "" #. elset epoch -#: ../src/sat-info.c:168 +#: ../src/sat-info.c:167 msgid "Epoch time:" msgstr "" #. Revolution Number @ Epoch -#: ../src/sat-info.c:179 +#: ../src/sat-info.c:178 msgid "Orbit number @ epoch:" msgstr "" #. Orbit inclination -#: ../src/sat-info.c:197 +#: ../src/sat-info.c:196 msgid "Inclination:" msgstr "" #. RAAN -#: ../src/sat-info.c:208 +#: ../src/sat-info.c:207 msgid "RAAN:" msgstr "" #. Eccentricity -#: ../src/sat-info.c:219 +#: ../src/sat-info.c:218 msgid "Eccentricity:" msgstr "" #. Argument of perigee -#: ../src/sat-info.c:230 +#: ../src/sat-info.c:229 msgid "Arg. of perigee:" msgstr "" #. Mean Anomaly -#: ../src/sat-info.c:241 +#: ../src/sat-info.c:240 msgid "Mean anomaly:" msgstr "" #. Mean Motion -#: ../src/sat-info.c:252 +#: ../src/sat-info.c:251 msgid "Mean motion:" msgstr "" #. one half of the first time derivative of mean motion -#: ../src/sat-info.c:264 +#: ../src/sat-info.c:263 msgid "½ d/dt (mean motion):" msgstr "" -#: ../src/sat-info.c:279 +#: ../src/sat-info.c:278 msgid "1/6 d<sup>2</sup>/dt<sup>2</sup> (mean motion):" msgstr "" #. B* drag term -#: ../src/sat-info.c:292 +#: ../src/sat-info.c:291 msgid "B* drag term:" msgstr "" +#: ../src/sat-info.c:313 +#, fuzzy +msgid "Orbit Info" +msgstr "Orbite" + +#: ../src/sat-info.c:316 +#, fuzzy +msgid "Transponders" +msgstr "_Transpondeurs" + #. create dialog window with NULL parent -#: ../src/sat-info.c:312 +#: ../src/sat-info.c:319 msgid "Satellite Info" msgstr "Info Satellite" +#. we have a range +#: ../src/sat-info.c:454 +#, c-format +msgid "Uplink: %.4f ‒ %.4f MHz" +msgstr "" + +#: ../src/sat-info.c:458 +#, c-format +msgid "Uplink: %.4f MHz" +msgstr "" + +#. we have a range +#: ../src/sat-info.c:470 +#, c-format +msgid "Downlink: %.4f ‒ %.4f MHz" +msgstr "" + +#: ../src/sat-info.c:474 +#, c-format +msgid "Downlink: %.4f MHz" +msgstr "" + +#: ../src/sat-info.c:484 +#, c-format +msgid "Inverting: %s" +msgstr "" + +#: ../src/sat-info.c:493 +#, c-format +msgid "Mode: %s" +msgstr "" + #. * WARNING: Used directly in sat-log-browser #: ../src/sat-log.c:57 ../src/sat-log-browser.c:69 msgid "NONE" @@ -2823,7 +2981,7 @@ #: ../src/sat-pref-list-view.c:260 ../src/sat-pref-map-view.c:651 #: ../src/sat-pref-multi-pass.c:196 ../src/sat-pref-polar-view.c:584 #: ../src/sat-pref-refresh.c:426 ../src/sat-pref-single-pass.c:190 -#: ../src/sat-pref-sky-at-glance.c:497 ../src/sat-pref-tle.c:334 +#: ../src/sat-pref-sky-at-glance.c:497 ../src/sat-pref-tle.c:354 msgid "Reset settings to the default values." msgstr "" @@ -2842,68 +3000,69 @@ msgstr "" #. crate dialog and add contents -#: ../src/sat-pref-rig-editor.c:83 +#: ../src/sat-pref-rig-editor.c:85 msgid "Edit radio configuration" msgstr "" #. Config name #. QTH name -#: ../src/sat-pref-rig-editor.c:153 ../src/sat-pref-rot-editor.c:154 +#: ../src/sat-pref-rig-editor.c:155 ../src/sat-pref-rot-editor.c:154 #: ../src/sat-pref-qth.c:181 ../src/sat-pref-qth-editor.c:184 #: ../src/qth-editor.c:199 msgid "Name" msgstr "" -#: ../src/sat-pref-rig-editor.c:160 +#: ../src/sat-pref-rig-editor.c:162 msgid "" "Enter a short name for this configuration, e.g. IC910-1.\n" "Allowed charachters: 0..9, a..z, A..Z, - and _" msgstr "" #. Host -#: ../src/sat-pref-rig-editor.c:170 ../src/sat-pref-rot-editor.c:171 +#: ../src/sat-pref-rig-editor.c:172 ../src/sat-pref-rot-editor.c:171 #: ../src/sat-pref-rig.c:137 ../src/sat-pref-rot.c:125 msgid "Host" msgstr "" -#: ../src/sat-pref-rig-editor.c:177 +#: ../src/sat-pref-rig-editor.c:179 msgid "" "Enter the host where rigctld is running. You can use both host name and IP " "address, e.g. 192.168.1.100" msgstr "" #. port -#: ../src/sat-pref-rig-editor.c:183 ../src/sat-pref-rot-editor.c:183 +#: ../src/sat-pref-rig-editor.c:185 ../src/sat-pref-rot-editor.c:183 #: ../src/sat-pref-rig.c:144 ../src/sat-pref-rot.c:132 msgid "Port" msgstr "" -#: ../src/sat-pref-rig-editor.c:191 +#: ../src/sat-pref-rig-editor.c:193 msgid "Enter the port number where rigctld is listening" msgstr "" #. radio type -#: ../src/sat-pref-rig-editor.c:195 -msgid "Type" -msgstr "" +#: ../src/sat-pref-rig-editor.c:197 +#, fuzzy +msgid "Radio type" +msgstr "Radio:" -#: ../src/sat-pref-rig-editor.c:200 ../src/sat-pref-rig.c:644 +#: ../src/sat-pref-rig-editor.c:202 ../src/sat-pref-rig.c:664 msgid "RX only" msgstr "" -#: ../src/sat-pref-rig-editor.c:201 ../src/sat-pref-rig.c:648 +#: ../src/sat-pref-rig-editor.c:203 ../src/sat-pref-rig.c:668 msgid "TX only" msgstr "" -#: ../src/sat-pref-rig-editor.c:202 -msgid "RX/TX" +#: ../src/sat-pref-rig-editor.c:204 +msgid "Simplex TRX" msgstr "" -#: ../src/sat-pref-rig-editor.c:203 ../src/sat-pref-rig.c:656 -msgid "Duplex" +#: ../src/sat-pref-rig-editor.c:205 +msgid "Duplex TRX" msgstr "" -#: ../src/sat-pref-rig-editor.c:207 +#: ../src/sat-pref-rig-editor.c:209 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 " @@ -2912,8 +3071,8 @@ "<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" -"<b>RX/TX:</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 " +"<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" "<b>Duplex:</b> The radio is a full duplex radio, such as the IC910H. " "Gpredict will be continuously tuning both uplink and downlink simultaneously " @@ -2921,23 +3080,60 @@ msgstr "" #. ptt -#: ../src/sat-pref-rig-editor.c:225 -msgid "Monitor PTT status" +#: ../src/sat-pref-rig-editor.c:227 +msgid "PTT status" msgstr "" -#: ../src/sat-pref-rig-editor.c:227 +#: ../src/sat-pref-rig-editor.c:233 +#, fuzzy +msgid "Read PTT" +msgstr "Lecture: " + +#: ../src/sat-pref-rig-editor.c:234 +#, fuzzy +msgid "Read DCD" +msgstr "Lecture: " + +#: ../src/sat-pref-rig-editor.c:238 msgid "" -"If checked, the radio controller will monitor the status of the PTT and act " -"accordingly. For example, the doppler tuning on an RX only radio will be " -"suspended while PTT is active. This functionality is also required for " -"radios that are used as both TX and RX (simplex)" +"Select PTT type.\n" +"\n" +"<b>None:</b>\n" +"Don't read PTT status from this radio.\n" +"\n" +"<b>Read PTT:</b>\n" +"Read PTT status using get_ptt CAT command. You have to check that your radio " +"and hamlib supports this.\n" +"\n" +"<b>Read DCD:</b>\n" +"Read PTT status using get_dcd command. This can be used if your radio does " +"not support the read_ptt CAT command and you have a special interface that " +"can read squelch status and send it via CTS." msgstr "" -#. LO frequency -#: ../src/sat-pref-rig-editor.c:236 -msgid "LO" +#. Downconverter LO frequency +#: ../src/sat-pref-rig-editor.c:250 +msgid "LO Down:" msgstr "" +#: ../src/sat-pref-rig-editor.c:258 +msgid "" +"Enter the frequency of the local oscillator of the downconverter, if any." +msgstr "" + +#: ../src/sat-pref-rig-editor.c:262 ../src/sat-pref-rig-editor.c:279 +msgid "MHz" +msgstr "MHZ" + +#. Upconverter LO frequency +#: ../src/sat-pref-rig-editor.c:267 +msgid "LO Up:" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:275 +msgid "Enter the frequency of the local oscillator of the upconverter, if any." +msgstr "" + #. crate dialog and add contents #: ../src/sat-pref-rot-editor.c:85 msgid "Edit rotator configuration" @@ -3544,7 +3740,7 @@ msgid "%s:%d: This appears to be the default QTH." msgstr "" -#: ../src/sat-pref-qth.c:478 ../src/sat-pref-rig.c:286 +#: ../src/sat-pref-qth.c:478 ../src/sat-pref-rig.c:299 #: ../src/sat-pref-rot.c:295 msgid "Add New" msgstr "" @@ -3553,7 +3749,7 @@ msgid "Add a new ground station to the list" msgstr "" -#: ../src/sat-pref-qth.c:484 ../src/sat-pref-rig.c:292 +#: ../src/sat-pref-qth.c:484 ../src/sat-pref-rig.c:305 #: ../src/sat-pref-rot.c:301 msgid "Edit" msgstr "" @@ -3813,70 +4009,78 @@ msgstr "" #: ../src/sat-pref-rig.c:173 -msgid "LO Freq. (MHz)" +msgid "Downconverter LO" msgstr "" -#: ../src/sat-pref-rig.c:237 ../src/sat-pref-rot.c:247 +#: ../src/sat-pref-rig.c:184 +msgid "Upconverter LO" +msgstr "" + +#: ../src/sat-pref-rig.c:250 ../src/sat-pref-rot.c:247 #, c-format msgid "%s:%d: Read %s" msgstr "" -#: ../src/sat-pref-rig.c:250 ../src/sat-pref-rot.c:260 +#: ../src/sat-pref-rig.c:263 ../src/sat-pref-rot.c:260 #, c-format msgid "%s:%d: Failed to read %s" msgstr "" -#: ../src/sat-pref-rig.c:287 +#: ../src/sat-pref-rig.c:300 msgid "Add a new radio to the list" msgstr "" -#: ../src/sat-pref-rig.c:293 +#: ../src/sat-pref-rig.c:306 msgid "Edit the currently selected radio" msgstr "" -#: ../src/sat-pref-rig.c:299 +#: ../src/sat-pref-rig.c:312 msgid "Delete the selected radio" msgstr "" -#: ../src/sat-pref-rig.c:400 +#: ../src/sat-pref-rig.c:415 #, c-format msgid "%s: Failed to get RIG %s" msgstr "" -#: ../src/sat-pref-rig.c:483 ../src/sat-pref-rot.c:501 +#: ../src/sat-pref-rig.c:501 ../src/sat-pref-rot.c:501 #, c-format msgid "%s:%s: Edit button should have been disabled." msgstr "" -#: ../src/sat-pref-rig.c:512 +#: ../src/sat-pref-rig.c:531 msgid "" "Select the radio you want to edit\n" "and try again!" msgstr "" -#: ../src/sat-pref-rig.c:563 ../src/sat-pref-rot.c:586 +#: ../src/sat-pref-rig.c:583 ../src/sat-pref-rot.c:586 #, c-format msgid "%s:%s: Delete button should have been disabled." msgstr "" -#: ../src/sat-pref-rig.c:582 +#: ../src/sat-pref-rig.c:602 msgid "" "Select the radio you want to delete\n" "and try again!" msgstr "" -#: ../src/sat-pref-rig.c:652 +#: ../src/sat-pref-rig.c:672 msgid "RX + TX" msgstr "" -#: ../src/sat-pref-rig.c:688 -msgid "Monitor" +#: ../src/sat-pref-rig.c:676 +msgid "Duplex" msgstr "" -#: ../src/sat-pref-rig.c:690 -msgid "Ignore" +#: ../src/sat-pref-rig.c:712 +msgid "PTT" msgstr "" +#: ../src/sat-pref-rig.c:715 +msgid "DCD" +msgstr "" + #: ../src/sat-pref-rot.c:139 msgid "Min Az" msgstr "" @@ -4036,63 +4240,74 @@ msgid "Select colour 10" msgstr "" -#: ../src/sat-pref-tle.c:171 +#: ../src/sat-pref-tle.c:175 msgid "<b>Auto-Update:</b>" msgstr "" -#: ../src/sat-pref-tle.c:185 +#: ../src/sat-pref-tle.c:189 msgid "Check the age of TLE data:" msgstr "" #. radio buttons selecting action -#: ../src/sat-pref-tle.c:194 +#: ../src/sat-pref-tle.c:198 msgid "If TLEs are too old:" msgstr "" -#: ../src/sat-pref-tle.c:198 +#: ../src/sat-pref-tle.c:202 msgid "Notify me" msgstr "" -#: ../src/sat-pref-tle.c:201 +#: ../src/sat-pref-tle.c:205 msgid "Perform automatic update in the background" msgstr "" -#: ../src/sat-pref-tle.c:227 +#: ../src/sat-pref-tle.c:231 msgid "<b>Update from the Internet:</b>" msgstr "" #. server -#: ../src/sat-pref-tle.c:237 +#: ../src/sat-pref-tle.c:241 msgid "Remote server:" msgstr "" -#: ../src/sat-pref-tle.c:246 +#: ../src/sat-pref-tle.c:250 msgid "" "Enter URL for remote server including directory, i.e.\n" "protocol://servername/directory\n" "Protocol can be both http and ftp." msgstr "" +#. proxy +#: ../src/sat-pref-tle.c:259 +msgid "Proxy server:" +msgstr "" + +#: ../src/sat-pref-tle.c:268 +msgid "" +"Enter URL for local proxy server. e.g.\n" +"http://my.proxy.com" +msgstr "" + #. Files -#: ../src/sat-pref-tle.c:255 +#: ../src/sat-pref-tle.c:276 msgid "Files to fetch:" msgstr "" -#: ../src/sat-pref-tle.c:264 +#: ../src/sat-pref-tle.c:285 msgid "" "Enter list of files to fetch from remote server.\n" "The files should be separated with ; (semicolon)" msgstr "" -#: ../src/sat-pref-tle.c:284 +#: ../src/sat-pref-tle.c:305 msgid "Add new satellites to local database" msgstr "" -#: ../src/sat-pref-tle.c:286 +#: ../src/sat-pref-tle.c:307 msgid "Note that new satellites will be added to a group called Other" msgstr "" -#: ../src/sat-pref-tle.c:306 +#: ../src/sat-pref-tle.c:327 msgid "<b>Update from Local Files:</b>" msgstr "" @@ -4281,38 +4496,38 @@ msgid "%s: NULL output storage!" msgstr "" -#: ../src/tle-update.c:139 ../src/tle-update.c:212 +#: ../src/tle-update.c:140 ../src/tle-update.c:213 #, c-format msgid "%s: Error opening directory %s (%s)" msgstr "" -#: ../src/tle-update.c:144 ../src/tle-update.c:217 +#: ../src/tle-update.c:145 ../src/tle-update.c:218 #, c-format msgid "" "<b>ERROR</b> opening directory %s\n" "%s" msgstr "" -#: ../src/tle-update.c:162 +#: ../src/tle-update.c:163 #, c-format msgid "Reading data from %s" msgstr "" -#: ../src/tle-update.c:182 +#: ../src/tle-update.c:183 #, c-format msgid "%s: No valid TLE data found in %s" msgstr "" -#: ../src/tle-update.c:187 +#: ../src/tle-update.c:188 #, c-format msgid "%s: Read %d sats from %s into memory" msgstr "" -#: ../src/tle-update.c:268 +#: ../src/tle-update.c:269 msgid "Updating data..." msgstr "" -#: ../src/tle-update.c:272 +#: ../src/tle-update.c:273 #, c-format msgid "" "Satellites updated:\t %d\n" @@ -4320,7 +4535,7 @@ "Missing Satellites:\t %d\n" msgstr "" -#: ../src/tle-update.c:317 +#: ../src/tle-update.c:318 #, c-format msgid "" "Satellites updated:\t %d\n" @@ -4329,93 +4544,93 @@ "New Satellites:\t\t %d" msgstr "" -#: ../src/tle-update.c:328 +#: ../src/tle-update.c:329 #, c-format msgid "%s: Added %d new satellites to local database" msgstr "" -#: ../src/tle-update.c:345 +#: ../src/tle-update.c:346 #, c-format msgid "%s: TLE elements updated." msgstr "" -#: ../src/tle-update.c:446 +#: ../src/tle-update.c:451 #, c-format msgid "%s: No files to fetch from network." msgstr "" -#: ../src/tle-update.c:452 +#: ../src/tle-update.c:457 msgid "No files to fetch from network" msgstr "" -#: ../src/tle-update.c:472 +#: ../src/tle-update.c:484 #, c-format msgid "Fetching %s" msgstr "" -#: ../src/tle-update.c:495 +#: ../src/tle-update.c:510 #, c-format msgid "%s: Error fetching %s (%s)" msgstr "" -#: ../src/tle-update.c:502 +#: ../src/tle-update.c:516 #, c-format msgid "%s: Successfully fetched %s" msgstr "" -#: ../src/tle-update.c:554 +#: ../src/tle-update.c:573 #, c-format msgid "%s: Error opening %s (%s)" msgstr "" -#: ../src/tle-update.c:623 +#: ../src/tle-update.c:661 #, c-format msgid "%s:%s: Invalid data for %d" msgstr "" -#: ../src/tle-update.c:666 +#: ../src/tle-update.c:704 #, c-format msgid "%s:%s: Failed to open %s" msgstr "" -#: ../src/tle-update.c:752 +#: ../src/tle-update.c:790 #, c-format msgid "%s:%s: Original data for %d seems to be bad" msgstr "" -#: ../src/tle-update.c:817 +#: ../src/tle-update.c:855 #, c-format msgid "%s: Could not remove %s (file open?)" msgstr "" -#: ../src/tle-update.c:827 +#: ../src/tle-update.c:865 #, c-format msgid "%s: Could not rename %s to %s" msgstr "" -#: ../src/tle-update.c:840 +#: ../src/tle-update.c:878 #, c-format msgid "%s: Failed to open temp file %s" msgstr "" -#: ../src/tle-update.c:855 +#: ../src/tle-update.c:893 #, c-format msgid "%s: Update statistics for %s (U/O/N/T): %d/%d/%d/%d" msgstr "" -#: ../src/tle-update.c:958 +#: ../src/tle-update.c:996 msgid "Never" msgstr "" -#: ../src/tle-update.c:959 +#: ../src/tle-update.c:997 msgid "Monthly" msgstr "" -#: ../src/tle-update.c:960 +#: ../src/tle-update.c:998 msgid "Weekly" msgstr "" -#: ../src/tle-update.c:961 +#: ../src/tle-update.c:999 msgid "Daily" msgstr "" @@ -4656,3 +4871,36 @@ "%s:%d: Loaded %s for editing:\n" "LAT:%.2f LON:%.2f ALT:%d" msgstr "" + +#: ../src/trsp-conf.c:68 +#, c-format +msgid "%s: Error reading %s: %s" +msgstr "" + +#: ../src/trsp-conf.c:83 +#, c-format +msgid "%s: %s contains 0 transponders" +msgstr "" + +#: ../src/trsp-conf.c:91 +#, c-format +msgid "%s: Failed to allocate memory for transponder data :-(" +msgstr "" + +#: ../src/trsp-conf.c:101 ../src/trsp-conf.c:110 ../src/trsp-conf.c:119 +#: ../src/trsp-conf.c:128 ../src/trsp-conf.c:137 ../src/trsp-conf.c:146 +#, c-format +msgid "%s: Error reading %s:%s from %s" +msgstr "" + +#. FIXME +#: ../src/trsp-conf.c:176 +#, c-format +msgid "%s: Not implemented!" +msgstr "" + +#~ msgid "<b>Satellite</b>" +#~ msgstr "<b>Satellite</b>" + +#~ msgid "<b>Radio</b>" +#~ msgstr "<b>Radio</b>" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-04-15 21:04:13
|
Revision: 276 http://gpredict.svn.sourceforge.net/gpredict/?rev=276&view=rev Author: csete Date: 2009-04-15 21:04:03 +0000 (Wed, 15 Apr 2009) Log Message: ----------- Added file. Added Paths: ----------- trunk/po/gpredict.pot Added: trunk/po/gpredict.pot =================================================================== --- trunk/po/gpredict.pot (rev 0) +++ trunk/po/gpredict.pot 2009-04-15 21:04:03 UTC (rev 276) @@ -0,0 +1,4889 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-04-15 23:02+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL...@li...>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/about.c:57 +msgid "" +"Copyright (C) 2001-2008 Alexandru Csete OZ9AEC\n" +"Contact: oz9aec at googlemail.com\n" +"\n" +"Gpredict is free software; you can redistribute it and mofdify it under the " +"terms of the GNU General Public License as published by the Free Software " +"Foundation; either version 2 of the License, or (at your option) any later " +"version.\n" +"\n" +"This program is distributed free of charge in the hope that it will be " +"useful, but WITHOUT ANY WARRANTY; without even the implied warranty of " +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library " +"General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License along with " +"this program (see Help->License). Otherwise you can find a copy on the FSF " +"website http://www.fsf.org/licensing/licenses/gpl.html or you can write to " +"the\n" +"\n" +"Free Software Foundation, Inc.\n" +"59 Temple Place - Suite 330\n" +"Boston\n" +"MA 02111-1307\n" +"USA.\n" +msgstr "" + +#. window title +#. icon file name +#. create window title and file name for window icon +#: ../src/about.c:89 ../src/main.c:177 ../src/sat-log.c:57 +#: ../src/sat-log-browser.c:457 +msgid "GPREDICT" +msgstr "" + +#: ../src/about.c:92 +msgid "" +"Copyright (C) 2001-2008 Alexandru Csete OZ9AEC\n" +"\n" +"Gpredict is available free of charge from:" +msgstr "" + +#: ../src/about.c:109 +msgid "translator-credits" +msgstr "" + +#: ../src/first-time.c:132 ../src/first-time.c:267 ../src/first-time.c:338 +#: ../src/first-time.c:492 ../src/first-time.c:538 ../src/first-time.c:583 +#, c-format +msgid "%s: Check successful." +msgstr "" + +#: ../src/first-time.c:137 ../src/first-time.c:273 ../src/first-time.c:343 +#: ../src/first-time.c:497 ../src/first-time.c:543 ../src/first-time.c:588 +#, c-format +msgid "%s: Check failed. Creating %s" +msgstr "" + +#: ../src/first-time.c:148 ../src/first-time.c:284 ../src/first-time.c:352 +#: ../src/first-time.c:506 ../src/first-time.c:552 ../src/first-time.c:597 +#, c-format +msgid "%s: Failed to create %s" +msgstr "" + +#: ../src/first-time.c:153 ../src/first-time.c:289 ../src/first-time.c:357 +#: ../src/first-time.c:511 ../src/first-time.c:557 ../src/first-time.c:602 +#, c-format +msgid "%s: Created %s." +msgstr "" + +#: ../src/first-time.c:189 ../src/first-time.c:395 ../src/first-time.c:635 +#, c-format +msgid "%s: Could not open %s." +msgstr "" + +#: ../src/first-time.c:213 +#, c-format +msgid "%s: Found at least one .qth file." +msgstr "" + +#: ../src/first-time.c:224 +#, c-format +msgid "%s: Failed to copy sample.qth" +msgstr "" + +#: ../src/first-time.c:231 +#, c-format +msgid "%s: Copied sample.qth to %s/" +msgstr "" + +#: ../src/first-time.c:299 +#, c-format +msgid "%s: Failed to copy Amateur.mod" +msgstr "" + +#: ../src/first-time.c:306 +#, c-format +msgid "%s: Copied amateur.mod to %s/" +msgstr "" + +#: ../src/first-time.c:419 +#, c-format +msgid "%s: Found at least one .tle file." +msgstr "" + +#: ../src/first-time.c:447 ../src/first-time.c:665 +#, c-format +msgid "%s: Failed to copy %s" +msgstr "" + +#: ../src/first-time.c:454 +#, c-format +msgid "%s: Successfully copied %s" +msgstr "" + +#: ../src/first-time.c:658 +#, c-format +msgid "%s: %s does not appear to be in user conf dir; adding." +msgstr "" + +#: ../src/first-time.c:674 +#, c-format +msgid "%s: %s already in user conf dir." +msgstr "" + +#: ../src/gpredict-utils.c:293 ../src/gpredict-utils.c:332 +#: ../src/gpredict-utils.c:379 ../src/gpredict-utils.c:421 +#, c-format +msgid "%s:%s: %s called with color = NULL" +msgstr "" + +#: ../src/gpredict-utils.c:338 +#, c-format +msgid "%s:%s: %s called with alpha = NULL" +msgstr "" + +#: ../src/gpredict-utils.c:385 +#, c-format +msgid "%s:%s: %s called with rgb = NULL" +msgstr "" + +#: ../src/gpredict-utils.c:427 +#, c-format +msgid "%s:%s: %s called with rgba = NULL" +msgstr "" + +#: ../src/gtk-azel-plot.c:373 +msgid "Local Time" +msgstr "" + +#: ../src/gtk-azel-plot.c:383 ../src/pass-to-txt.c:160 +#: ../src/gtk-sky-glance.c:339 +msgid "UTC" +msgstr "" + +#. Az legend +#: ../src/gtk-azel-plot.c:404 ../src/gtk-sat-list.c:55 +#: ../src/sat-pass-dialogs.c:101 +msgid "Az" +msgstr "" + +#. El legend +#: ../src/gtk-azel-plot.c:414 ../src/gtk-sat-list.c:56 +#: ../src/sat-pass-dialogs.c:102 +msgid "El" +msgstr "" + +#: ../src/gtk-polar-plot.c:616 ../src/gtk-polar-view.c:331 +msgid "N" +msgstr "" + +#: ../src/gtk-polar-plot.c:627 ../src/gtk-polar-view.c:342 +msgid "S" +msgstr "" + +#: ../src/gtk-polar-plot.c:638 ../src/gtk-polar-view.c:353 +msgid "E" +msgstr "" + +#: ../src/gtk-polar-plot.c:649 ../src/gtk-polar-view.c:364 +msgid "W" +msgstr "" + +#: ../src/gtk-polar-plot.c:752 +#, c-format +msgid "%s:%d: Incorrect polar plot orientation." +msgstr "" + +#. next pass and predict passes +#: ../src/gtk-polar-view-popup.c:107 ../src/gtk-sat-list-popup.c:97 +#: ../src/gtk-sat-map-popup.c:106 ../src/gtk-single-sat.c:835 +msgid "Show next pass" +msgstr "" + +#: ../src/gtk-polar-view-popup.c:115 ../src/gtk-sat-list-popup.c:108 +#: ../src/gtk-sat-map-popup.c:114 ../src/gtk-single-sat.c:849 +msgid "Future passes" +msgstr "" + +#. show track +#: ../src/gtk-polar-view-popup.c:134 +msgid "Sky track" +msgstr "" + +#: ../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-popup.c:404 ../src/gtk-polar-view-popup.c:474 +#: ../src/gtk-sat-list-popup.c:176 ../src/gtk-sat-list-popup.c:246 +#: ../src/gtk-sat-map-popup.c:306 ../src/gtk-sat-map-popup.c:376 +#: ../src/gtk-single-sat.c:1052 ../src/gtk-single-sat.c:1123 +#, c-format +msgid "" +"Satellite %s has no passes\n" +"within the next %d days" +msgstr "" + +#: ../src/gtk-polar-view-popup.c:420 ../src/gtk-sat-list-popup.c:192 +#: ../src/gtk-sat-map-popup.c:322 ../src/gtk-single-sat.c:1068 +#, c-format +msgid "" +"Satellite %s has no passes for\n" +"the current ground station!\n" +"\n" +"This can be because the satellite\n" +"is geostationary, decayed or simply\n" +"never comes above the horizon" +msgstr "" + +#: ../src/gtk-polar-view-popup.c:493 ../src/gtk-sat-list-popup.c:265 +#: ../src/gtk-sat-map-popup.c:395 ../src/gtk-single-sat.c:1142 +#, c-format +msgid "" +"Satellite %s has no passes for\n" +"the current ground station!" +msgstr "" + +#: ../src/gtk-polar-view.c:719 +#, c-format +msgid "" +"Next: %s\n" +"in %s%d:%s%d%s%d" +msgstr "" + +#: ../src/gtk-polar-view.c:722 +#, c-format +msgid "" +"Next: %s\n" +"in %s%d%s%d" +msgstr "" + +#: ../src/gtk-polar-view.c:737 ../src/gtk-sat-map.c:694 +#, c-format +msgid "%s: Can not find NEXT satellite." +msgstr "" + +#: ../src/gtk-polar-view.c:740 ../src/gtk-sat-map.c:697 +msgid "Next: ERR" +msgstr "" + +#: ../src/gtk-polar-view.c:746 ../src/gtk-sat-map.c:703 +msgid "Next: N/A" +msgstr "" + +#: ../src/gtk-polar-view.c:902 +#, c-format +msgid "" +"%s\n" +"LOS in %s%d:%s%d%s%d" +msgstr "" + +#: ../src/gtk-polar-view.c:906 +#, c-format +msgid "" +"%s\n" +"LOS in %s%d%s%d" +msgstr "" + +#: ../src/gtk-polar-view.c:914 +#, c-format +msgid "" +"%s\n" +"Always in range" +msgstr "" + +#: ../src/gtk-polar-view.c:1223 +#, c-format +msgid "%s:%d: Could not find satellite (%d) in hash table" +msgstr "" + +#: ../src/gtk-polar-view.c:1271 ../src/gtk-sat-map.c:903 +#, c-format +msgid "%s:%d: Can not find clicked object (%d) in hash table" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:384 +msgid "<b> Downlink </b>" +msgstr "" + +#. Downlink doppler +#. Uplink doppler +#: ../src/gtk-rig-ctrl.c:399 ../src/gtk-rig-ctrl.c:461 +msgid "Doppler:" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:410 ../src/gtk-rig-ctrl.c:472 +msgid "LO:" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:446 +msgid "<b> Uplink </b>" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:523 ../src/gtk-rot-ctrl.c:420 +msgid "Select target object" +msgstr "" + +#. tracking button +#: ../src/gtk-rig-ctrl.c:528 ../src/gtk-rot-ctrl.c:425 +msgid "Track" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:529 ../src/gtk-rot-ctrl.c:426 +msgid "Track the satellite when it is within range" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:535 +msgid "Select a transponder" +msgstr "" + +#. buttons +#: ../src/gtk-rig-ctrl.c:542 +msgid "T" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:544 +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:550 +msgid "L" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:552 +msgid "" +"Lock the uplink and the downlink to each other. Whenever you change the " +"downlink (in the controller or on the dial, the uplink will track it " +"according to whether the transponder is inverting or not. Similarly, if you " +"change the uplink the downlink will track it automatically.\n" +"\n" +"If the downlink and uplink are initially out of sync when you enable this " +"function, the current downlink frequency will be used as baseline for " +"setting the new uplink frequency." +msgstr "" + +#. Azimuth +#: ../src/gtk-rig-ctrl.c:571 ../src/gtk-rot-ctrl.c:431 +msgid "Az:" +msgstr "" + +#. Elevation +#: ../src/gtk-rig-ctrl.c:579 ../src/gtk-rot-ctrl.c:441 +msgid "El:" +msgstr "" + +#. Range +#: ../src/gtk-rig-ctrl.c:587 +msgid " Range:" +msgstr "" + +#. Range rate +#: ../src/gtk-rig-ctrl.c:595 +msgid " Rate:" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:602 ../src/gtk-rot-ctrl.c:457 +msgid "Target" +msgstr "" + +#. Primary device +#: ../src/gtk-rig-ctrl.c:631 +msgid "1. Device:" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:636 +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:661 ../src/gtk-rig-ctrl.c:704 +#: ../src/gtk-rig-ctrl.c:2252 ../src/gtk-rot-ctrl.c:513 +#: ../src/gtk-rot-ctrl.c:1229 ../src/sat-pref-rig.c:273 +#: ../src/sat-pref-rot.c:270 +#, c-format +msgid "%s:%d: Failed to open hwconf dir (%s)" +msgstr "" + +#. config will be force-loaded after LO spin is created +#. Secondary device +#: ../src/gtk-rig-ctrl.c:674 +msgid "2. Device:" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:679 +msgid "" +"Select secondary radio device\n" +"This device will be used for uplink" +msgstr "" + +#. load config +#: ../src/gtk-rig-ctrl.c:683 ../src/sat-pref-rig-editor.c:232 +#: ../src/sat-pref-rig.c:709 ../src/sat-pref-rig.c:718 +msgid "None" +msgstr "" + +#. Engage button +#: ../src/gtk-rig-ctrl.c:719 ../src/gtk-rot-ctrl.c:526 +msgid "Engage" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:720 +msgid "Engage the selcted radio device" +msgstr "" + +#. Timeout +#: ../src/gtk-rig-ctrl.c:728 ../src/gtk-rot-ctrl.c:532 +msgid "Cycle:" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:735 +msgid "This parameter controls the delay between commands sent to the rig." +msgstr "" + +#: ../src/gtk-rig-ctrl.c:742 ../src/gtk-rot-ctrl.c:546 +msgid "msec" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:746 ../src/gtk-rot-ctrl.c:575 +msgid "Settings" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:763 +msgid "<span size='large'><b>ΔT: 00:00:00</b></span>" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:811 ../src/gtk-rot-ctrl.c:638 +#, c-format +msgid "%s:%s: Invalid satellite selection: %d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:848 +#, c-format +msgid "%s: Inconsistency detected in internal transponder data (%d,%d)" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:976 +#, c-format +msgid "%s:%s: Primary device selected: %d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:990 ../src/gtk-rig-ctrl.c:2340 +#, c-format +msgid "%s:%d: Failed to allocate memory for radio config" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:999 ../src/gtk-rig-ctrl.c:1100 +#, c-format +msgid "%s:%s: Loaded new radio configuration %s" +msgstr "" + +#. update LO widgets +#: ../src/gtk-rig-ctrl.c:1002 ../src/gtk-rig-ctrl.c:1007 +#: ../src/gtk-rig-ctrl.c:1059 ../src/gtk-rig-ctrl.c:1075 +#: ../src/gtk-rig-ctrl.c:1103 +#, c-format +msgid "%.0f MHz" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1014 ../src/gtk-rig-ctrl.c:1109 +#, c-format +msgid "%s:%s: Failed to load radio configuration %s" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1043 +#, c-format +msgid "%s:%s: Secondary device selected: %d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1091 +#, c-format +msgid "%s:%s: Failed to allocate memory for radio config" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1147 ../src/gtk-rot-ctrl.c:780 +#, c-format +msgid "%s: Controller does not have a valid configuration" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1243 ../src/gtk-rot-ctrl.c:808 +#, c-format +msgid "%s missed the deadline" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1275 +#, c-format +msgid "%s: Invalid radio type %d. Setting type to RIG_TYPE_RX" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1406 ../src/gtk-rig-ctrl.c:1530 +#: ../src/gtk-rig-ctrl.c:1784 ../src/gtk-rot-ctrl.c:897 +#, c-format +msgid "%s: MAX_ERROR_COUNT (%d) reached. Disengaging device!" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1813 ../src/gtk-rig-ctrl.c:2002 +#: ../src/gtk-rot-ctrl.c:965 ../src/gtk-rot-ctrl.c:1074 +#, c-format +msgid "%s:%d: Failed to create socket" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1819 ../src/gtk-rig-ctrl.c:2008 +#: ../src/gtk-rot-ctrl.c:971 ../src/gtk-rot-ctrl.c:1080 +#, c-format +msgid "%s:%d Network socket created successfully" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1833 ../src/gtk-rig-ctrl.c:2022 +#: ../src/gtk-rot-ctrl.c:985 ../src/gtk-rot-ctrl.c:1094 +#, c-format +msgid "%s:%d: Failed to connect to %s:%d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1839 ../src/gtk-rig-ctrl.c:2028 +#: ../src/gtk-rot-ctrl.c:991 ../src/gtk-rot-ctrl.c:1100 +#, c-format +msgid "%s:%d: Connection opened to %s:%d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1857 ../src/gtk-rig-ctrl.c:2039 +#: ../src/gtk-rot-ctrl.c:1002 ../src/gtk-rot-ctrl.c:1113 +#, c-format +msgid "%s:%d: SIZE ERROR %d / %d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1867 ../src/gtk-rig-ctrl.c:2049 +#: ../src/gtk-rot-ctrl.c:1012 +#, c-format +msgid "%s:%s: Failed to allocate 128 bytes (yes, this means trouble)" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1877 ../src/gtk-rig-ctrl.c:2059 +#, c-format +msgid "%s:%s: Got 0 bytes from rigctld" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1882 ../src/gtk-rig-ctrl.c:2064 +#, c-format +msgid "%s:%s: Read %d bytes from rigctld" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1925 +#, c-format +msgid "%s: Failed to create socket" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1931 +#, c-format +msgid "%s: Network socket created successfully" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1945 +#, c-format +msgid "%s: Failed to connect to %s:%d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1951 +#, c-format +msgid "%s: Connection opened to %s:%d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1962 +#, c-format +msgid "%s: SIZE ERROR %d / %d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:1993 ../src/gtk-rot-ctrl.c:956 +#, c-format +msgid "%s:%d: NULL storage." +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2103 +#, c-format +msgid "AOS in" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2107 +#, c-format +msgid "LOS in" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2190 +#, c-format +msgid "%s:%s: GtkSatModule has no target satellite." +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2202 +#, c-format +msgid "%s:%s: Satellite %d has %d transponder modes." +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2213 +#, c-format +msgid "%s:&s: Read transponder '%s' for satellite %d" +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2352 +#, c-format +msgid "%s:%d: Error reading radio configuration %s" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:328 ../src/gtk-sat-list.c:85 +#: ../src/sat-pass-dialogs.c:125 ../src/gtk-single-sat.c:84 +msgid "Azimuth" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:340 +msgid "Read:" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:367 ../src/gtk-sat-list.c:86 +#: ../src/sat-pass-dialogs.c:126 ../src/gtk-single-sat.c:85 +msgid "Elevation" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:379 +msgid "Read: " +msgstr "" + +#. count down +#: ../src/gtk-rot-ctrl.c:450 +msgid "ΔT:" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:485 +msgid "Device:" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:490 +msgid "Select antenna rotator device" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:527 +msgid "Engage the selcted rotor device" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:539 +msgid "This parameter controls the delay between commands sent to the rotator." +msgstr "" + +#. Tolerance +#: ../src/gtk-rot-ctrl.c:551 +msgid "Tolerance:" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:558 +msgid "" +"This parameter controls the tolerance between the target and rotator values " +"for the rotator.\n" +"If the difference between the target and rotator values is smaller than the " +"tolerance, no new commands are sent" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:568 +msgid "deg" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:729 +#, c-format +msgid "%s:%d: Failed to allocate memory for rotator config" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:738 +#, c-format +msgid "Loaded new rotator configuration %s" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:747 +#, c-format +msgid "%s:%d: Failed to load rotator configuration %s" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:868 ../src/gtk-rot-ctrl.c:869 +#: ../src/gtk-sat-data.c:95 ../src/gtk-sat-module-popup.c:899 +#: ../src/gtk-sat-module-popup.c:972 ../src/sat-log-browser.c:71 +#: ../src/sat-pref-rig.c:680 +msgid "ERROR" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:1022 +#, c-format +msgid "%s:%s: Got 0 bytes from rotctld" +msgstr "" + +#: ../src/gtk-rot-ctrl.c:1027 +#, c-format +msgid "%s:%s: Read %d bytes from rotctld" +msgstr "" + +#: ../src/gtk-sat-data.c:67 +#, c-format +msgid "%s: Could not load data from %s (%s)" +msgstr "" + +#: ../src/gtk-sat-data.c:75 +#, c-format +msgid "%s: QTH data: %s" +msgstr "" + +#: ../src/gtk-sat-data.c:92 +#, c-format +msgid "%s: Error reading QTH name (%s)." +msgstr "" + +#: ../src/gtk-sat-data.c:106 +#, c-format +msgid "%s: QTH has no location (%s)." +msgstr "" + +#: ../src/gtk-sat-data.c:120 +#, c-format +msgid "%s: QTH has no description." +msgstr "" + +#: ../src/gtk-sat-data.c:134 +#, c-format +msgid "%s: QTH has no weather station." +msgstr "" + +#: ../src/gtk-sat-data.c:148 +#, c-format +msgid "%s: Error reading QTH latitude (%s)." +msgstr "" + +#: ../src/gtk-sat-data.c:170 +#, c-format +msgid "%s: Error reading QTH longitude (%s)." +msgstr "" + +#: ../src/gtk-sat-data.c:192 +#, c-format +msgid "%s: Error reading QTH altitude (%s)." +msgstr "" + +#: ../src/gtk-sat-data.c:207 +#, c-format +msgid "%s: QTH data: %s, %.4f, %.4f, %d" +msgstr "" + +#: ../src/gtk-sat-data.c:301 +#, c-format +msgid "%s: Could not create QTH data (%s)." +msgstr "" + +#: ../src/gtk-sat-data.c:314 +#, c-format +msgid "" +"%s: Could not create QTH file %s\n" +"%s." +msgstr "" + +#: ../src/gtk-sat-data.c:333 +#, c-format +msgid "%s: Error writing QTH data (%s)." +msgstr "" + +#: ../src/gtk-sat-data.c:342 ../src/mod-cfg.c:408 ../src/sat-cfg.c:352 +#, c-format +msgid "%s: Wrote only %d out of %d chars." +msgstr "" + +#: ../src/gtk-sat-data.c:349 +#, c-format +msgid "%s: QTH data saved." +msgstr "" + +#: ../src/gtk-sat-data.c:429 +#, c-format +msgid "%s: Can not find #%d in any .tle file." +msgstr "" + +#: ../src/gtk-sat-data.c:463 +#, c-format +msgid "%s: Found #%d in %s" +msgstr "" + +#: ../src/gtk-sat-data.c:473 +#, c-format +msgid "%s: Invalid data for #%d" +msgstr "" + +#: ../src/gtk-sat-data.c:482 +#, c-format +msgid "%s: Good data for #%d" +msgstr "" + +#: ../src/gtk-sat-data.c:528 ../src/tle-update.c:901 +#, c-format +msgid "%s: Failed to open %s" +msgstr "" + +#: ../src/gtk-sat-list.c:53 ../src/gtk-sat-tree.c:212 +msgid "Satellite" +msgstr "" + +#: ../src/gtk-sat-list.c:54 ../src/gtk-sat-tree.c:221 +msgid "Catnum" +msgstr "" + +#: ../src/gtk-sat-list.c:57 +msgid "Dir" +msgstr "" + +#: ../src/gtk-sat-list.c:58 ../src/sat-pass-dialogs.c:103 +msgid "Ra" +msgstr "" + +#: ../src/gtk-sat-list.c:59 ../src/sat-pass-dialogs.c:104 +msgid "Dec" +msgstr "" + +#: ../src/gtk-sat-list.c:60 ../src/pass-to-txt.c:52 +#: ../src/sat-pass-dialogs.c:105 +msgid "Range" +msgstr "" + +#: ../src/gtk-sat-list.c:61 ../src/sat-pass-dialogs.c:106 +msgid "Rate" +msgstr "" + +#. Next Event +#: ../src/gtk-sat-list.c:62 ../src/gtk-sat-list.c:92 +#: ../src/sat-pref-map-view.c:241 ../src/sat-pref-polar-view.c:272 +#: ../src/gtk-single-sat.c:91 +msgid "Next Event" +msgstr "" + +#: ../src/gtk-sat-list.c:63 ../src/gtk-sat-list.c:93 +#: ../src/gtk-single-sat.c:92 +msgid "Next AOS" +msgstr "" + +#: ../src/gtk-sat-list.c:64 ../src/gtk-sat-list.c:94 +#: ../src/gtk-single-sat.c:93 +msgid "Next LOS" +msgstr "" + +#: ../src/gtk-sat-list.c:65 ../src/loc-tree.c:146 +#: ../src/sat-pass-dialogs.c:107 ../src/sat-pref-qth.c:195 +msgid "Lat" +msgstr "" + +#: ../src/gtk-sat-list.c:66 ../src/loc-tree.c:166 +#: ../src/sat-pass-dialogs.c:108 ../src/sat-pref-qth.c:208 +msgid "Lon" +msgstr "" + +#: ../src/gtk-sat-list.c:67 ../src/sat-pass-dialogs.c:109 +msgid "SSP" +msgstr "" + +#: ../src/gtk-sat-list.c:68 ../src/pass-to-txt.c:57 +#: ../src/sat-pass-dialogs.c:110 +msgid "Footp" +msgstr "" + +#: ../src/gtk-sat-list.c:69 ../src/loc-tree.c:186 +#: ../src/sat-pass-dialogs.c:111 +msgid "Alt" +msgstr "" + +#: ../src/gtk-sat-list.c:70 ../src/sat-pass-dialogs.c:112 +msgid "Vel" +msgstr "" + +#: ../src/gtk-sat-list.c:71 ../src/sat-pass-dialogs.c:113 +msgid "Dop" +msgstr "" + +#: ../src/gtk-sat-list.c:72 ../src/sat-pass-dialogs.c:114 +msgid "Loss" +msgstr "" + +#: ../src/gtk-sat-list.c:73 ../src/sat-pass-dialogs.c:115 +msgid "Del" +msgstr "" + +#: ../src/gtk-sat-list.c:74 ../src/sat-pass-dialogs.c:116 +msgid "MA" +msgstr "" + +#: ../src/gtk-sat-list.c:75 ../src/sat-pass-dialogs.c:117 +msgid "Phase" +msgstr "" + +#: ../src/gtk-sat-list.c:76 ../src/pass-to-txt.c:101 +#: ../src/sat-pass-dialogs.c:66 +msgid "Orbit" +msgstr "" + +#: ../src/gtk-sat-list.c:77 ../src/pass-to-txt.c:65 ../src/pass-to-txt.c:102 +#: ../src/sat-pass-dialogs.c:67 ../src/sat-pass-dialogs.c:118 +msgid "Vis" +msgstr "" + +#: ../src/gtk-sat-list.c:83 +msgid "Satellite Name" +msgstr "" + +#: ../src/gtk-sat-list.c:84 +msgid "Catalogue Number" +msgstr "" + +#: ../src/gtk-sat-list.c:87 ../src/gtk-single-sat.c:86 +msgid "Direction" +msgstr "" + +#: ../src/gtk-sat-list.c:88 ../src/sat-pass-dialogs.c:127 +#: ../src/gtk-single-sat.c:87 +msgid "Right Ascension" +msgstr "" + +#: ../src/gtk-sat-list.c:89 ../src/sat-pass-dialogs.c:128 +#: ../src/gtk-single-sat.c:88 +msgid "Declination" +msgstr "" + +#: ../src/gtk-sat-list.c:90 ../src/sat-pass-dialogs.c:129 +#: ../src/gtk-single-sat.c:89 +msgid "Slant Range" +msgstr "" + +#: ../src/gtk-sat-list.c:91 ../src/sat-pass-dialogs.c:130 +#: ../src/gtk-single-sat.c:90 +msgid "Range Rate" +msgstr "" + +#: ../src/gtk-sat-list.c:95 ../src/sat-pass-dialogs.c:131 +#: ../src/gtk-single-sat.c:94 +msgid "Latitude" +msgstr "" + +#: ../src/gtk-sat-list.c:96 ../src/sat-pass-dialogs.c:132 +#: ../src/gtk-single-sat.c:95 +msgid "Longitude" +msgstr "" + +#: ../src/gtk-sat-list.c:97 ../src/sat-pass-dialogs.c:133 +#: ../src/gtk-single-sat.c:96 +msgid "Sub-Satellite Point" +msgstr "" + +#: ../src/gtk-sat-list.c:98 ../src/sat-pass-dialogs.c:134 +#: ../src/gtk-single-sat.c:97 +msgid "Footprint" +msgstr "" + +#. altitude +#: ../src/gtk-sat-list.c:99 ../src/sat-pass-dialogs.c:135 +#: ../src/sat-pref-qth-editor.c:318 ../src/gtk-single-sat.c:98 +#: ../src/qth-editor.c:333 +msgid "Altitude" +msgstr "" + +#: ../src/gtk-sat-list.c:100 ../src/sat-pass-dialogs.c:136 +#: ../src/gtk-single-sat.c:99 +msgid "Velocity" +msgstr "" + +#: ../src/gtk-sat-list.c:101 ../src/sat-pass-dialogs.c:137 +#: ../src/gtk-single-sat.c:100 +msgid "Doppler Shift @ 100MHz" +msgstr "" + +#: ../src/gtk-sat-list.c:102 ../src/sat-pass-dialogs.c:138 +msgid "Signal Loss @ 100MHz" +msgstr "" + +#: ../src/gtk-sat-list.c:103 ../src/sat-pass-dialogs.c:139 +#: ../src/gtk-single-sat.c:102 +msgid "Signal Delay" +msgstr "" + +#: ../src/gtk-sat-list.c:104 ../src/sat-pass-dialogs.c:140 +#: ../src/gtk-single-sat.c:103 +msgid "Mean Anomaly" +msgstr "" + +#: ../src/gtk-sat-list.c:105 ../src/sat-pass-dialogs.c:141 +#: ../src/gtk-single-sat.c:104 +msgid "Orbit Phase" +msgstr "" + +#: ../src/gtk-sat-list.c:106 ../src/gtk-single-sat.c:105 +msgid "Orbit Number" +msgstr "" + +#: ../src/gtk-sat-list.c:107 ../src/sat-pass-dialogs.c:142 +#: ../src/gtk-single-sat.c:106 +msgid "Visibility" +msgstr "" + +#: ../src/gtk-sat-list.c:512 +#, c-format +msgid "%s: Invalid GtkSatList!" +msgstr "" + +#: ../src/gtk-sat-list.c:575 +#, c-format +msgid "%s: Failed to get data for #%d." +msgstr "" + +#: ../src/gtk-sat-list.c:581 +#, c-format +msgid "%s: Satellite #%d removed from list." +msgstr "" + +#: ../src/gtk-sat-list.c:935 ../src/sat-pass-dialogs.c:700 +#: ../src/sat-pref-qth.c:769 +#, c-format +msgid "%s:%d: Invalid column: %d" +msgstr "" + +#: ../src/gtk-sat-list.c:1228 +#, c-format +msgid "%s:%d Failed to get data for %d." +msgstr "" + +#: ../src/gtk-sat-list.c:1241 ../src/sat-pass-dialogs.c:1409 +#, c-format +msgid "%s:%d: There is no selection; skip popup." +msgstr "" + +#: ../src/gtk-sat-list-col-sel.c:153 +msgid "Column Name" +msgstr "" + +#: ../src/gtk-sat-list-col-sel.c:162 ../src/sat-vis.c:41 +msgid "Visible" +msgstr "" + +#: ../src/gtk-sat-list-col-sel.c:169 +msgid "Row" +msgstr "" + +#: ../src/gtk-sat-map-ground-track.c:82 +#, c-format +msgid "%s: Creating ground track for %s" +msgstr "" + +#: ../src/gtk-sat-map-ground-track.c:97 +#, c-format +msgid "%s: Start orbit: %d" +msgstr "" + +#: ../src/gtk-sat-map-ground-track.c:100 +#, c-format +msgid "%s: End orbit %d" +msgstr "" + +#: ../src/gtk-sat-map-ground-track.c:121 +#, c-format +msgid "%s: T0: %f (%d)" +msgstr "" + +#: ../src/gtk-sat-map-ground-track.c:144 +#, c-format +msgid "%s: MAYDAY: Insufficient memory for ground track!" +msgstr "" + +#: ../src/gtk-sat-map-ground-track.c:191 +#, c-format +msgid "%s: Updating ground track for %s" +msgstr "" + +#: ../src/gtk-sat-map-ground-track.c:221 +#, c-format +msgid "%s: Deleting ground track for %s" +msgstr "" + +#: ../src/gtk-sat-map-ground-track.c:239 +#, c-format +msgid "%s: Could not find part %d of ground track" +msgstr "" + +#. highlight cov. area +#: ../src/gtk-sat-map-popup.c:133 +msgid "Highlight footprint" +msgstr "" + +#. show track +#: ../src/gtk-sat-map-popup.c:142 +msgid "Ground Track" +msgstr "" + +#. target +#: ../src/gtk-sat-map-popup.c:154 +msgid "Set Target" +msgstr "" + +#: ../src/gtk-sat-map.c:671 +#, c-format +msgid "<span background=\"#%s\"> Next: %s in %s%d:%s%d%s%d </span>" +msgstr "" + +#: ../src/gtk-sat-map.c:677 +#, c-format +msgid "<span background=\"#%s\"> Next: %s in %s%d%s%d </span>" +msgstr "" + +#: ../src/gtk-sat-map.c:1048 +#, c-format +msgid "%s:%d: Loading map file %s" +msgstr "" + +#: ../src/gtk-sat-map.c:1054 +#, c-format +msgid "%s:%d: Map file found" +msgstr "" + +#: ../src/gtk-sat-map.c:1059 +#, c-format +msgid "%s:%d: Could not find map file %s" +msgstr "" + +#: ../src/gtk-sat-map.c:1067 +#, c-format +msgid "%s:%d: Using default map: %s" +msgstr "" + +#: ../src/gtk-sat-map.c:1076 +#, c-format +msgid "%s:%d: Error loading map file (%s)" +msgstr "" + +#: ../src/gtk-sat-module.c:267 +#, c-format +msgid "%s: Module %s is not valid." +msgstr "" + +#: ../src/gtk-sat-module.c:310 +msgid "Module options / shortcuts" +msgstr "" + +#: ../src/gtk-sat-module.c:316 +msgid "Close this module." +msgstr "" + +#: ../src/gtk-sat-module.c:450 +#, c-format +msgid "%s:%d: Invalid module layout (%d)" +msgstr "" + +#: ../src/gtk-sat-module.c:477 +#, c-format +msgid "%s:%d: Invalid child number (%d)" +msgstr "" + +#: ../src/gtk-sat-module.c:514 +#, c-format +msgid "" +"%s:%d: Invalid child type (%d)\n" +"Using GtkSatList..." +msgstr "" + +#: ../src/gtk-sat-module.c:553 +#, c-format +msgid "%s: Could not load config data from %s (%s)." +msgstr "" + +#: ../src/gtk-sat-module.c:563 +#, c-format +msgid "%s: Reading configuration from %s" +msgstr "" + +#: ../src/gtk-sat-module.c:607 +#, c-format +msgid "%s: Can not load default QTH file %s; using built-in defaults" +msgstr "" + +#. settings are really screwed up; we need some safe values here +#: ../src/gtk-sat-module.c:611 ../src/gtk-sat-module.c:612 +msgid "Error" +msgstr "" + +#: ../src/gtk-sat-module.c:681 ../src/mod-cfg.c:578 +#, c-format +msgid "%s: Failed to get list of satellites (%s)" +msgstr "" + +#: ../src/gtk-sat-module.c:703 +#, c-format +msgid "%s: Error reading data for #%d" +msgstr "" + +#: ../src/gtk-sat-module.c:727 +#, c-format +msgid "%s: Read data for #%d" +msgstr "" + +#: ../src/gtk-sat-module.c:734 +#, c-format +msgid "%s: Sat #%d already in list" +msgstr "" + +#: ../src/gtk-sat-module.c:745 +#, c-format +msgid "%s: Read %d out of %d satellites" +msgstr "" + +#: ../src/gtk-sat-module.c:783 +#, c-format +msgid "%s: Previous cycle missed it's deadline." +msgstr "" + +#: ../src/gtk-sat-module.c:922 ../src/gtk-sat-module.c:1556 +#, c-format +msgid "%f:%d: Unknown child type" +msgstr "" + +#: ../src/gtk-sat-module.c:1082 +#, c-format +msgid "%s: Module %s recevied CLOSE signal." +msgstr "" + +#: ../src/gtk-sat-module.c:1092 +#, c-format +msgid "%s: Module %s is in DOCKED state." +msgstr "" + +#: ../src/gtk-sat-module.c:1099 ../src/gtk-sat-module.c:1115 +#: ../src/gtk-sat-module.c:1143 +#, c-format +msgid "" +"%s: Module %s was not found in mod-mgr (%d)\n" +"Internal state is corrupt?" +msgstr "" + +#: ../src/gtk-sat-module.c:1108 +#, c-format +msgid "%s: Module %s is in WINDOW state." +msgstr "" + +#: ../src/gtk-sat-module.c:1136 +#, c-format +msgid "%s: Module %s is in FULLSCREEN state." +msgstr "" + +#: ../src/gtk-sat-module.c:1165 ../src/gtk-sat-module.c:1334 +#, c-format +msgid "%s: Module %s has unknown state: %d" +msgstr "" + +#: ../src/gtk-sat-module.c:1174 +#, c-format +msgid "%s: Module %s closed." +msgstr "" + +#: ../src/gtk-sat-module.c:1215 +#, c-format +msgid "%s: Module %s recevied CONFIG signal." +msgstr "" + +#: ../src/gtk-sat-module.c:1224 +#, c-format +msgid "" +"%s: Could not stop timeout callback\n" +"%s: Source ID %d seems invalid." +msgstr "" + +#: ../src/gtk-sat-module.c:1502 +#, c-format +msgid "%s: Reloading satellites for module %s" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:90 +#, c-format +msgid "%s:%d: %s called with NULL parameter!" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:100 +msgid "Detach module" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:111 +msgid "Attach module" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:124 +msgid "Leave fullscreen" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:133 +msgid "Fullscreen" +msgstr "" + +#. sky at a glance +#: ../src/gtk-sat-module-popup.c:147 +msgid "Sky at a glance" +msgstr "" + +#. time manager +#: ../src/gtk-sat-module-popup.c:157 ../src/gtk-sat-module-tmg.c:261 +msgid "Time Controller" +msgstr "" + +#. Radio Control +#: ../src/gtk-sat-module-popup.c:170 +msgid "Radio Control" +msgstr "" + +#. Antenna Control +#: ../src/gtk-sat-module-popup.c:179 +msgid "Antenna Control" +msgstr "" + +#. configure +#: ../src/gtk-sat-module-popup.c:192 +msgid "Configure" +msgstr "" + +#. clone +#: ../src/gtk-sat-module-popup.c:201 +msgid "Clone..." +msgstr "" + +#. delete module +#: ../src/gtk-sat-module-popup.c:214 ../src/sat-pref-qth.c:490 +#: ../src/sat-pref-rig.c:311 ../src/sat-pref-rot.c:307 +msgid "Delete" +msgstr "" + +#. close +#: ../src/gtk-sat-module-popup.c:223 +msgid "Close" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:257 +msgid "" +"A module can not be configured while the radio or rotator controller is " +"active.\n" +"\n" +"Please close the radio and rotator controllers and try again." +msgstr "" + +#. icon file name +#. window title +#: ../src/gtk-sat-module-popup.c:298 +msgid "Clone Module" +msgstr "" + +#. label +#: ../src/gtk-sat-module-popup.c:310 +msgid "Name of new module:" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:319 ../src/mod-cfg.c:515 +msgid "" +"Enter a short name for this module.\n" +"Allowed charachters: 0..9, a..z, A..Z, - and _" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:321 ../src/mod-cfg.c:517 +msgid "" +"The name will be used to identify the module and it is also used a file name " +"for saving the data.Max length is 25 charachters." +msgstr "" + +#. check button +#: ../src/gtk-sat-module-popup.c:338 +msgid "Open module when created" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:342 +msgid "If checked, the new module will be opened after it has been created" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:358 +#, c-format +msgid "%s:%d: Cloning %s => %s" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:376 +#, c-format +msgid "%s:%d: Failed to clone %s." +msgstr "" + +#: ../src/gtk-sat-module-popup.c:381 +#, c-format +msgid "%s:%d: Successfully cloned %s." +msgstr "" + +#: ../src/gtk-sat-module-popup.c:466 +#, c-format +msgid "%s:%d: Cloning cancelled by user." +msgstr "" + +#: ../src/gtk-sat-module-popup.c:472 +#, c-format +msgid "%s:%d: Cloning interrupted." +msgstr "" + +#: ../src/gtk-sat-module-popup.c:659 ../src/gtk-sat-module-popup.c:802 +#, c-format +msgid "%s:%d: Unknown module satate: %d" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:828 +#, c-format +msgid "The sky at a glance (%s)" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:894 +msgid "" +"You have no radio configuration!\n" +"Please configure a radio first." +msgstr "" + +#: ../src/gtk-sat-module-popup.c:907 +#, c-format +msgid "Gpredict Radio Control: %s" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:967 +msgid "" +"You have no rotator configuration!\n" +"Please configure an antenna rotator first." +msgstr "" + +#: ../src/gtk-sat-module-popup.c:980 +#, c-format +msgid "Gpredict Rotator Control: %s" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:1066 +#, c-format +msgid "" +"This operation will permanently delete\n" +"<b>%s</b>\n" +"from the disk.\n" +"Do you you want to proceed?" +msgstr "" + +#: ../src/gtk-sat-module-popup.c:1076 +#, c-format +msgid "%s:%d: Failed to delete %s." +msgstr "" + +#: ../src/gtk-sat-module-popup.c:1081 +#, c-format +msgid "%s:%d: %s deleted permanently." +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:70 +#, c-format +msgid "%s: Time Controller for %s is already active" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:94 +msgid "Play forward" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:104 +msgid "Stop" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:115 +msgid "Play backwards" +msgstr "" + +#. reset time +#. reset button +#: ../src/gtk-sat-module-tmg.c:120 ../src/sat-pref-conditions.c:427 +#: ../src/sat-pref-single-sat.c:220 ../src/sat-pref-debug.c:141 +#: ../src/sat-pref-formats.c:118 ../src/sat-pref-layout.c:576 +#: ../src/sat-pref-list-view.c:253 ../src/sat-pref-map-view.c:644 +#: ../src/sat-pref-multi-pass.c:190 ../src/sat-pref-polar-view.c:577 +#: ../src/sat-pref-refresh.c:419 ../src/sat-pref-single-pass.c:184 +#: ../src/sat-pref-sky-at-glance.c:491 ../src/sat-pref-tle.c:348 +msgid "Reset" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:122 +msgid "Reset to current date and time" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:129 ../src/gtk-sat-module-tmg.c:576 +msgid "<b>Real-Time</b>" +msgstr "" + +#. hour +#: ../src/gtk-sat-module-tmg.c:149 +msgid " Hour:" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:161 +msgid "Use this control to set the hour" +msgstr "" + +#. minutes +#: ../src/gtk-sat-module-tmg.c:169 +msgid " Min:" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:181 +msgid "Use this control to set the minutes" +msgstr "" + +#. seconds +#: ../src/gtk-sat-module-tmg.c:189 +msgid " Sec:" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:201 +msgid "Use this control to set the seconds" +msgstr "" + +#. milliseconds +#: ../src/gtk-sat-module-tmg.c:209 +msgid " Msec:" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:221 +msgid "Use this control to set the milliseconds" +msgstr "" + +#. time throttle +#: ../src/gtk-sat-module-tmg.c:229 +msgid "Throttle:" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:241 +msgid "Time throttle / compression factor" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:282 +#, c-format +msgid "%s: Time Controller for %s launched" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:313 +#, c-format +msgid "%s: Time Controller for %s closed. Time reset." +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:483 +#, c-format +msgid "%s: %d/%d/%d %d:%d:%d.%d" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:567 +msgid "<b>Simulated Real-Time</b>" +msgstr "" + +#: ../src/gtk-sat-module-tmg.c:571 +msgid "<b>Manual Control</b>" +msgstr "" + +#: ../src/gtk-sat-tree.c:231 +msgid "Epoch" +msgstr "" + +#: ../src/gtk-sat-tree.c:244 +msgid "Selected" +msgstr "" + +#. expand and collabse buttons +#: ../src/gtk-sat-tree.c:266 +msgid "Expand" +msgstr "" + +#: ../src/gtk-sat-tree.c:269 +msgid "Expand all nodes in the tree to make it searchable" +msgstr "" + +#: ../src/gtk-sat-tree.c:273 +msgid "Collapse" +msgstr "" + +#: ../src/gtk-sat-tree.c:276 +msgid "Collapse all nodes in the tree" +msgstr "" + +#: ../src/gtk-sat-tree.c:332 +#, c-format +msgid "%s:%d: Directory is: %s" +msgstr "" + +#: ../src/gtk-sat-tree.c:340 +#, c-format +msgid "%s:%d: No .tle files found in %s." +msgstr "" + +#: ../src/gtk-sat-tree.c:378 +#, c-format +msgid "%s:%d: Read %d sats from %s " +msgstr "" + +#: ../src/gtk-sat-tree.c:420 +#, c-format +msgid "%s:%d: Failed to open %s (%s)" +msgstr "" + +#: ../src/gtk-sat-tree.c:521 ../src/gtk-sat-tree.c:654 +#, c-format +msgid "%s:%d: Satellite %d selected." +msgstr "" + +#: ../src/gtk-sat-tree.c:537 ../src/gtk-sat-tree.c:659 +#, c-format +msgid "%s:%d: Satellite %d already selected; skip..." +msgstr "" + +#: ../src/gtk-sat-tree.c:545 +#, c-format +msgid "%s:%d: Satellite %d de-selected." +msgstr "" + +#: ../src/gtk-sat-tree.c:581 ../src/gtk-sat-tree.c:734 +#, c-format +msgid "%s: Invalid GtkSatTree!" +msgstr "" + +#: ../src/gtk-sat-tree.c:603 +#, c-format +msgid "%s: Satellite %d already selected; skip..." +msgstr "" + +#: ../src/gtk-sat-tree.c:745 +#, c-format +msgid "%s: There are no satellites selected => NULL." +msgstr "" + +#. location +#: ../src/loc-tree.c:133 ../src/sat-pref-qth.c:188 +#: ../src/sat-pref-qth-editor.c:220 ../src/qth-editor.c:235 +msgid "Location" +msgstr "" + +#: ../src/loc-tree.c:205 +msgid "WX" +msgstr "" + +#: ../src/loc-tree.c:221 +msgid "X" +msgstr "" + +#. dialog window +#: ../src/loc-tree.c:258 +msgid "Select Location" +msgstr "" + +#: ../src/loc-tree.c:293 +#, c-format +msgid "%s: Selected %s" +msgstr "" + +#: ../src/loc-tree.c:304 +#, c-format +msgid "%s: No location selected" +msgstr "" + +#: ../src/loc-tree.c:354 +#, c-format +msgid "%s: %s does not exist!" +msgstr "" + +#: ../src/loc-tree.c:445 +#, c-format +msgid "%s: Read %d cities." +msgstr "" + +#: ../src/loc-tree.c:463 +#, c-format +msgid "%s: Failed to open locfile (%s)" +msgstr "" + +#: ../src/loc-tree.c:522 +#, c-format +msgid "%s: Invalid column: %d" +msgstr "" + +#: ../src/loc-tree.c:670 +#, c-format +msgid "%s: Failed to get parent for %s." +msgstr "" + +#: ../src/loc-tree.c:684 +#, c-format +msgid "%s: No selection found!" +msgstr "" + +#: ../src/main.c:61 +msgid "just to have a pot" +msgstr "" + +#: ../src/main.c:113 +#, c-format +msgid "" +"%s: User config check failed (code %d). This is fatal.\n" +"A possible solution would be to remove the .gpredict2 data dir\n" +"in your home directory" +msgstr "" + +#: ../src/main.c:124 +#, c-format +msgid "%s: TLE check failed! This is fatal." +msgstr "" + +#: ../src/main.c:427 +#, c-format +msgid "%s: Time threshold has been passed." +msgstr "" + +#: ../src/main.c:435 +#, c-format +msgid "%s: Starting new update thread." +msgstr "" + +#: ../src/main.c:445 +#, c-format +msgid "%s: Failed to create TLE update thread (%s)" +msgstr "" + +#: ../src/main.c:455 +msgid "" +"Your TLE files are getting out of date.\n" +"You can update them by selecting\n" +"<b>Edit -> Update TLE</b>\n" +"in the menubar." +msgstr "" + +#: ../src/main.c:486 +#, c-format +msgid "%s: Could not find TLE monitoring task (ID = %d)" +msgstr "" + +#: ../src/menubar.c:88 +msgid "_File" +msgstr "" + +#: ../src/menubar.c:89 +msgid "_Edit" +msgstr "" + +#: ../src/menubar.c:90 +msgid "_Update TLE" +msgstr "" + +#: ../src/menubar.c:91 +msgid "_Tools" +msgstr "" + +#: ../src/menubar.c:92 +msgid "_Help" +msgstr "" + +#. File menu +#: ../src/menubar.c:95 +msgid "_New module" +msgstr "" + +#: ../src/menubar.c:96 +msgid "Create a new module" +msgstr "" + +#: ../src/menubar.c:97 +msgid "_Open module" +msgstr "" + +#: ../src/menubar.c:98 +msgid "Open an existing module" +msgstr "" + +#: ../src/menubar.c:100 +msgid "Open the message log browser" +msgstr "" + +#: ../src/menubar.c:101 +msgid "E_xit" +msgstr "" + +#: ../src/menubar.c:102 +msgid "Exit the program" +msgstr "" + +#. Edit menu +#. { "Tle", GTK_STOCK_REFRESH, N_("Update TLE"), NULL, +#. N_("Update Keplerian elements"), NULL}, +#: ../src/menubar.c:107 +msgid "From _network" +msgstr "" + +#: ../src/menubar.c:108 +msgid "Update Keplerian elements from a network server" +msgstr "" + +#: ../src/menubar.c:110 +msgid "From l_ocal files" +msgstr "" + +#: ../src/menubar.c:111 +msgid "Update Keplerian elements from local files" +msgstr "" + +#: ../src/menubar.c:113 +msgid "Using TLE _editor" +msgstr "" + +#: ../src/menubar.c:114 +msgid "Add or update Keplerian elements using the TLE editor" +msgstr "" + +#: ../src/menubar.c:116 +msgid "_Transponders" +msgstr "" + +#: ../src/menubar.c:117 +msgid "Edit satellite transponder frequencies" +msgstr "" + +#: ../src/menubar.c:119 +msgid "_Preferences" +msgstr "" + +#: ../src/menubar.c:120 +msgid "Edit user preferences" +msgstr "" + +#. Tools menu +#: ../src/menubar.c:123 +msgid "Comm Window" +msgstr "" + +#: ../src/menubar.c:124 +msgid "Predict windows between two observers" +msgstr "" + +#: ../src/menubar.c:126 +msgid "Advanced Predict" +msgstr "" + +#: ../src/menubar.c:127 +msgid "Open advanced pass predictor" +msgstr "" + +#. Help menu +#: ../src/menubar.c:130 +msgid "Getting Started" +msgstr "" + +#: ../src/menubar.c:131 +msgid "Show online user manual, Getting Started Section" +msgstr "" + +#: ../src/menubar.c:133 +msgid "User Manual" +msgstr "" + +#: ../src/menubar.c:134 +msgid "Show online user manual" +msgstr "" + +#: ../src/menubar.c:135 +msgid "_License" +msgstr "" + +#: ../src/menubar.c:136 +msgid "Show the Gpredict license" +msgstr "" + +#: ../src/menubar.c:137 +msgid "_News" +msgstr "" + +#: ../src/menubar.c:138 +msgid "Show what's new in this release" +msgstr "" + +#: ../src/menubar.c:139 +msgid "_About Gpredict" +msgstr "" + +#: ../src/menubar.c:140 +msgid "Show about dialog" +msgstr "" + +#: ../src/menubar.c:230 +#, c-format +msgid "Failed to build menubar: %s" +msgstr "" + +#: ../src/menubar.c:267 +#, c-format +msgid "%s: Starting new module configurator..." +msgstr "" + +#: ../src/menubar.c:274 +#, c-format +msgid "%s: New module name is %s." +msgstr "" + +#: ../src/menubar.c:295 ../src/menubar.c:363 +#, c-format +msgid "Could not open %s. Please examine the log messages for details." +msgstr "" + +#: ../src/menubar.c:319 +#, c-format +msgid "%s: New module config cancelled." +msgstr "" + +#: ../src/menubar.c:335 +#, c-format +msgid "%s: Open existing module..." +msgstr "" + +#: ../src/menubar.c:342 +#, c-format +msgid "%s: Open module %s." +msgstr "" + +#: ../src/menubar.c:401 +#, c-format +msgid "%s: Open module cancelled." +msgstr "" + +#. create new dialog with progress indicator +#: ../src/menubar.c:456 ../src/menubar.c:626 ../src/sat-pref-general.c:61 +msgid "TLE Update" +msgstr "" + +#: ../src/menubar.c:477 +msgid "<b>Updating TLE files from network</b>" +msgstr "" + +#. statistics +#: ../src/menubar.c:490 ../src/menubar.c:660 +msgid "" +"Satellites updated:\t 0\n" +"Satellites skipped:\t 0\n" +"Missing Satellites:\t 0\n" +msgstr "" + +#: ../src/menubar.c:516 ../src/menubar.c:686 +msgid "Finished" +msgstr "" + +#. create file chooser +#: ../src/menubar.c:569 +msgid "Select directory" +msgstr "" + +#. create label +#: ../src/menubar.c:575 +msgid "Select TLE directory:" +msgstr "" + +#. create the dalog +#: ../src/menubar.c:584 +msgid "Update TLE from files" +msgstr "" + +#: ../src/menubar.c:619 +#, c-format +msgid "%s: Running TLE update from %s" +msgstr "" + +#: ../src/menubar.c:646 +msgid "<b>Updating TLE files from files</b>" +msgstr "" + +#: ../src/menubar.c:714 ../src/menubar.c:738 ../src/menubar.c:759 +msgid "This function is still under development." +msgstr "" + +#: ../src/menubar.c:845 +#, c-format +msgid "%s:%s: Scanning directory %s for modules." +msgstr "" + +#: ../src/menubar.c:868 +#, c-format +msgid "%s:%d: Failed to open module dir %s (%s)" +msgstr "" + +#: ../src/menubar.c:883 +msgid "" +"You do not have any modules set up yet. Please use File->New in order to " +"create a module." +msgstr "" + +#: ../src/menubar.c:901 +msgid "Module" +msgstr "" + +#. create dialog +#: ../src/menubar.c:909 +msgid "Select a module" +msgstr "" + +#: ../src/menubar.c:936 +#, c-format +msgid "%s:%s: Selected module is: %s" +msgstr "" + +#: ../src/menubar.c:941 +#, c-format +msgid "%s:%s: No selection is list of modules." +msgstr "" + +#: ../src/mod-cfg.c:148 +#, c-format +msgid "%s: Already have module %s. Ask user to confirm..." +msgstr "" + +#: ../src/mod-cfg.c:157 +#, c-format +msgid "" +"There is already a module called %s.\n" +"Do you want to overwrite this module?" +msgstr "" + +#: ../src/mod-cfg.c:183 +#, c-format +msgid "%s: Error while saving module data (%d)." +msgstr "" + +#: ../src/mod-cfg.c:194 ../src/mod-cfg.c:283 +#, c-format +msgid "%s: User tried to create module with no sats." +msgstr "" + +#: ../src/mod-cfg.c:206 ../src/mod-cfg.c:294 +msgid "Please select at least one satellite from the list." +msgstr "" + +#: ../src/mod-cfg.c:344 +#, c-format +msgid "%s: Attempt to save data to empty file name." +msgstr "" + +#: ../src/mod-cfg.c:351 +#, c-format +msgid "%s: Attempt to save NULL data." +msgstr "" + +#: ../src/mod-cfg.c:362 ../src/sat-cfg.c:305 +#, c-format +msgid "%s: Could not create config data (%s)." +msgstr "" + +#: ../src/mod-cfg.c:380 ../src/sat-cfg.c:324 +#, c-format +msgid "%s: Could not create config file (%s)." +msgstr "" + +#: ../src/mod-cfg.c:399 ../src/sat-cfg.c:343 +#, c-format +msgid "%s: Error writing config data (%s)." +msgstr "" + +#: ../src/mod-cfg.c:415 +#, c-format +msgid "%s: Configuration saved for module %s." +msgstr "" + +#: ../src/mod-cfg.c:465 +msgid "Create New Module" +msgstr "" + +#: ../src/mod-cfg.c:478 +msgid "Edit Module" +msgstr "" + +#: ../src/mod-cfg.c:539 +msgid "Module Name" +msgstr "" + +#: ../src/mod-cfg.c:543 +msgid "Ground Station" +msgstr "" + +#. add button +#: ../src/mod-cfg.c:549 +msgid "Add new ground station" +msgstr "" + +#: ../src/mod-cfg.c:558 +msgid "<b>Select Satellites:</b>" +msgstr "" + +#: ../src/mod-cfg.c:698 +#, c-format +msgid "%s: Module has no QTH; use default." +msgstr "" + +#. finally, add "** DEFAULT **" string; secting this will +#. clear the MOD_CFG_QTH_FILE_KEY module configuration +#. key ensuring that the module will use the default QTH +#. +#. is buff == "** DEFAULT **" clear the configuration key +#. otherwise store the filename +#. +#: ../src/mod-cfg.c:701 ../src/mod-cfg.c:743 ../src/mod-cfg.c:791 +msgid "** DEFAULT **" +msgstr "" + +#: ../src/mod-cfg.c:734 +#, c-format +msgid "%s:%d: Failed to open user cfg dir %s (%s)" +msgstr "" + +#: ../src/mod-cfg.c:832 +#, c-format +msgid "%s: Applied changes to %s." +msgstr "" + +#. window icon file name +#: ../src/mod-cfg.c:854 +msgid "Module Properties" +msgstr "" + +#: ../src/mod-mgr.c:147 +#, c-format +msgid "%s: Failed to restore %s" +msgstr "" + +#: ../src/mod-mgr.c:169 +#, c-format +msgid "%s: No modules have to be restored." +msgstr "" + +#: ../src/mod-mgr.c:208 +#, c-format +msgid "%s: Added %s to module manger (page %d)." +msgstr "" + +#: ../src/mod-mgr.c:214 +#, c-format +msgid "%s: Added %s to module manger (NOT DOCKED)." +msgstr "" + +#: ../src/mod-mgr.c:221 +#, c-format +msgid "%s: Module %s seems to be NULL" +msgstr "" + +#: ../src/mod-mgr.c:262 +#, c-format +msgid "%s: Could not find child in notebook. This may hurt..." +msgstr "" + +#: ../src/mod-mgr.c:271 +#, c-format +msgid "%s: Removed child from notebook page %d." +msgstr "" + +#: ../src/mod-mgr.c:322 +#, c-format +msgid "%s: Attempt to save state but mod-mgr is NULL?" +msgstr "" + +#: ../src/mod-mgr.c:331 +#, c-format +msgid "%s: No modules need to save state." +msgstr "" + +#: ../src/mod-mgr.c:356 +#, c-format +msgid "%s: Stored %s" +msgstr "" + +#: ../src/mod-mgr.c:361 +#, c-format +msgid "%s: Saved states for %d modules." +msgstr "" + +#: ../src/mod-mgr.c:425 ../src/mod-mgr.c:494 +#, c-format +msgid "%s: Module %s not found in list. Trying to recover." +msgstr "" + +#: ../src/mod-mgr.c:433 +#, c-format +msgid "%s: Module %s already in notebook!" +msgstr "" + +#: ../src/mod-mgr.c:447 +#, c-format +msgid "%s: Docked %s into notebook (page %d)" +msgstr "" + +#: ../src/mod-mgr.c:502 +#, c-format +msgid "%s: Module %s does not seem to be docked!" +msgstr "" + +#: ../src/mod-mgr.c:511 +#, c-format +msgid "%s: Removed %s from notebook page %d." +msgstr "" + +#: ../src/mod-mgr.c:545 +msgid "GPREDICT: (none)" +msgstr "" + +#: ../src/mod-mgr.c:550 ../src/mod-mgr.c:567 +#, c-format +msgid "GPREDICT: %s" +msgstr "" + +#: ../src/mod-mgr.c:585 +#, c-format +msgid "%s: Attempt to reload sats but mod-mgr is NULL?" +msgstr "" + +#: ../src/mod-mgr.c:594 +#, c-format +msgid "%s: No modules need to reload sats." +msgstr "" + +#. pass details +#: ../src/pass-popup-menu.c:72 +msgid "Show details" +msgstr "" + +#. Polar plot pass +#: ../src/pass-popup-menu.c:89 +msgid "Polar plot" +msgstr "" + +#. Az/El plot pass +#: ../src/pass-popup-menu.c:103 +msgid "Az/El plot" +msgstr "" + +#: ../src/pass-to-txt.c:47 +msgid " Time" +msgstr "" + +#: ../src/pass-to-txt.c:48 +msgid " Az " +msgstr "" + +#. 6 +#: ../src/pass-to-txt.c:49 +msgid " El " +msgstr "" + +#: ../src/pass-to-txt.c:50 +msgid " Ra " +msgstr "" + +#: ../src/pass-to-txt.c:51 +msgid " Dec " +msgstr "" + +#: ../src/pass-to-txt.c:53 +msgid " Rate " +msgstr "" + +#: ../src/pass-to-txt.c:54 +msgid " Lat " +msgstr "" + +#: ../src/pass-to-txt.c:55 +msgid " Lon " +msgstr "" + +#: ../src/pass-to-txt.c:56 +msgid " SSP " +msgstr "" + +#: ../src/pass-to-txt.c:58 +msgid " Alt " +msgstr "" + +#: ../src/pass-to-txt.c:59 +msgid " Vel " +msgstr "" + +#: ../src/pass-to-txt.c:60 +msgid " Dop " +msgstr "" + +#: ../src/pass-to-txt.c:61 +msgid " Loss " +msgstr "" + +#: ../src/pass-to-txt.c:62 +msgid " Del " +msgstr "" + +#: ../src/pass-to-txt.c:63 +msgid " MA " +msgstr "" + +#: ../src/pass-to-txt.c:64 +msgid " Pha " +msgstr "" + +#: ../src/pass-to-txt.c:93 +msgid " AOS" +msgstr "" + +#: ../src/pass-to-txt.c:94 +msgid " TCA" +msgstr "" + +#. 6 +#: ../src/pass-to-txt.c:95 +msgid " LOS" +msgstr "" + +#: ../src/pass-to-txt.c:96 ../src/sat-pass-dialogs.c:61 +msgid "Duration" +msgstr "" + +#: ../src/pass-to-txt.c:97 ../src/sat-pass-dialogs.c:62 +#: ../src/sat-pref-rot.c:169 +msgid "Max El" +msgstr "" + +#: ../src/pass-to-txt.c:98 ../src/sat-pass-dialogs.c:63 +msgid "AOS Az" +msgstr "" + +#: ../src/pass-to-txt.c:99 ../src/sat-pass-dialogs.c:64 +msgid "Max El Az" +msgstr "" + +#: ../src/pass-to-txt.c:100 ../src/sat-pass-dialogs.c:65 +msgid "LOS Az" +msgstr "" + +#: ../src/pass-to-txt.c:142 +msgid "Local" +msgstr "" + +#: ../src/pass-to-txt.c:177 +#, c-format +msgid "" +"Pass details for %s (orbit %d)\n" +"Observer: %s, %s\n" +"LAT:%.2f LON:%.2f\n" +"AOS: %s %s\n" +"LOS: %s %s\n" +msgstr "" + +#: ../src/pass-to-txt.c:483 +#, c-format +msgid "" +"Upcoming passes for %s\n" +"Observer: %s, %s\n" +"LAT:%.2f LON:%.2f\n" +msgstr "" + +#: ../src/radio-conf.c:66 ../src/radio-conf.c:192 ../src/rotor-conf.c:65 +#, c-format +msgid "%s: NULL configuration name!" +msgstr "" + +#: ../src/radio-conf.c:83 ../src/rotor-conf.c:82 +#, c-format +msgid "%s: Could not load file %s\n" +msgstr "" + +#: ../src/radio-conf.c:96 ../src/radio-conf.c:106 ../src/radio-conf.c:118 +#: ../src/radio-conf.c:134 ../src/radio-conf.c:148 ../src/radio-conf.c:158 +#, c-format +msgid "%s: Error reading radio conf from %s (%s)." +msgstr "" + +#: ../src/radio-conf.c:168 +#, c-format +msgid "%s: Read radio configuration %s" +msgstr "" + +#: ../src/radio-conf.c:223 +#, c-format +msgid "%s: Saved radio configuration %s" +msgstr "" + +#: ../src/rotor-conf.c:95 ../src/rotor-conf.c:105 +#, c-format +msgid "%s: Error reading rotor conf from %s (%s)." +msgstr "" + +#: ../src/rotor-conf.c:115 +#, c-format +msgid "%s: Az type not defined for %s. Assuming 0..360°" +msgstr "" + +#: ../src/rotor-conf.c:125 +#, c-format +msgid "%s: MinAz not defined for %s. Assuming 0°." +msgstr "" + +#: ../src/rotor-conf.c:134 +#, c-format +msgid "%s: MaxAz not defined for %s. Assuming 360°." +msgstr "" + +#: ../src/rotor-conf.c:143 +#, c-format +msgid "%s: MinEl not defined for %s. Assuming 0°." +msgstr "" + +#: ../src/rotor-conf.c:152 +#, c-format +msgid "%s: MaxEl not defined for %s. Assuming 90°." +msgstr "" + +#: ../src/sat-cfg.c:263 +#, c-format +msgid "%s: Error reading config file (%s)" +msgstr "" + +#: ../src/sat-cfg.c:267 +#, c-format +msgid "%s: Using built-in defaults" +msgstr "" + +#: ../src/sat-cfg.c:276 +#, c-format +msgid "%s: Everything OK." +msgstr "" + +#: ../src/sat-cfg.c:359 +#, c-format +msgid "%s: Configuration saved." +msgstr "" + +#: ../src/sat-cfg.c:402 ../src/sat-cfg.c:465 ../src/sat-cfg.c:491 +#: ../src/sat-cfg.c:524 ../src/sat-cfg.c:589 ../src/sat-cfg.c:625 +#: ../src/sat-cfg.c:653 ../src/sat-cfg.c:709 ../src/sat-cfg.c:735 +#, c-format +msgid "%s: Module not initialised\n" +msgstr "" + +#: ../src/sat-cfg.c:425 ../src/sat-cfg.c:443 ../src/sat-cfg.c:478 +#: ../src/sat-cfg.c:504 +#, c-format +msgid "%s: Unknown BOOL param index (%d)\n" +msgstr "" + +#: ../src/sat-cfg.c:547 ../src/sat-cfg.c:570 ../src/sat-cfg.c:611 +#: ../src/sat-cfg.c:638 +#, c-format +msgid "%s: Unknown STR param index (%d)\n" +msgstr "" + +#: ../src/sat-cfg.c:676 ../src/sat-cfg.c:694 ../src/sat-cfg.c:722 +#: ../src/sat-cfg.c:748 +#, c-format +msgid "%s: Unknown INT param index (%d)\n" +msgstr "" + +#: ../src/sat-info.c:84 +msgid "<b>Satellite name:</b>" +msgstr "" + +#: ../src/sat-info.c:89 +#, c-format +msgid "<b>%s</b>" +msgstr "" + +#. operational status +#: ../src/sat-info.c:96 +msgid "Operational Status:" +msgstr "" + +#: ../src/sat-info.c:103 +msgid "Operational" +msgstr "" + +#: ../src/sat-info.c:107 +msgid "Non-operational" +msgstr "" + +#: ../src/sat-info.c:111 +msgid "Partially operational" +msgstr "" + +#: ../src/sat-info.c:115 +msgid "Backup/Standby" +msgstr "" + +#: ../src/sat-info.c:119 +msgid "Spare" +msgstr "" + +#: ../src/sat-info.c:123 +msgid "Extended Mission" +msgstr "" + +#: ../src/sat-info.c:127 ../src/sat-vis.c:40 +msgid "Unknown" +msgstr "" + +#. Catnum +#: ../src/sat-info.c:136 +msgid "Catalogue number:" +msgstr "" + +#. international designator +#: ../src/sat-info.c:147 +msgid "Internation designator:" +msgstr "" + +#. elset number +#: ../src/sat-info.c:156 +msgid "Element set number:" +msgstr "" + +#. elset epoch +#: ../src/sat-info.c:167 +msgid "Epoch time:" +msgstr "" + +#. Revolution Number @ Epoch +#: ../src/sat-info.c:178 +msgid "Orbit number @ epoch:" +msgstr "" + +#. Orbit inclination +#: ../src/sat-info.c:196 +msgid "Inclination:" +msgstr "" + +#. RAAN +#: ../src/sat-info.c:207 +msgid "RAAN:" +msgstr "" + +#. Eccentricity +#: ../src/sat-info.c:218 +msgid "Eccentricity:" +msgstr "" + +#. Argument of perigee +#: ../src/sat-info.c:229 +msgid "Arg. of perigee:" +msgstr "" + +#. Mean Anomaly +#: ../src/sat-info.c:240 +msgid "Mean anomaly:" +msgstr "" + +#. Mean Motion +#: ../src/sat-info.c:251 +msgid "Mean motion:" +msgstr "" + +#. one half of the first time derivative of mean motion +#: ../src/sat-info.c:263 +msgid "½ d/dt (mean motion):" +msgstr "" + +#: ../src/sat-info.c:278 +msgid "1/6 d<sup>2</sup>/dt<sup>2</sup> (mean motion):" +msgstr "" + +#. B* drag term +#: ../src/sat-info.c:291 +msgid "B* drag term:" +msgstr "" + +#: ../src/sat-info.c:313 +msgid "Orbit Info" +msgstr "" + +#: ../src/sat-info.c:316 +msgid "Transponders" +msgstr "" + +#. create dialog window with NULL parent +#: ../src/sat-info.c:319 +msgid "Satellite Info" +msgstr "" + +#. we have a range +#: ../src/sat-info.c:454 +#, c-format +msgid "Uplink: %.4f ‒ %.4f MHz" +msgstr "" + +#: ../src/sat-info.c:458 +#, c-format +msgid "Uplink: %.4f MHz" +msgstr "" + +#. we have a range +#: ../src/sat-info.c:470 +#, c-format +msgid "Downlink: %.4f ‒ %.4f MHz" +msgstr "" + +#: ../src/sat-info.c:474 +#, c-format +msgid "Downlink: %.4f MHz" +msgstr "" + +#: ../src/sat-info.c:484 +#, c-format +msgid "Inverting: %s" +msgstr "" + +#: ../src/sat-info.c:493 +#, c-format +msgid "Mode: %s" +msgstr "" + +#. * WARNING: Used directly in sat-log-browser +#: ../src/sat-log.c:57 ../src/sat-log-browser.c:69 +msgid "NONE" +msgstr "" + +#: ../src/sat-log.c:57 +msgid "HAMLIB" +msgstr "" + +#. print an error message +#: ../src/sat-log.c:101 +#, c-format +msgid "ERROR: Could not create %s\n" +msgstr "" + +#: ../src/sat-log.c:125 +#, c-format +msgid "" +"\n" +"\n" +"ERROR: Failed to create %s\n" +"%s\n" +"\n" +msgstr "" + +#: ../src/sat-log.c:138 +#, c-format +msgid "%s: Session started" +msgstr "" + +#: ../src/sat-log.c:150 +#, c-format +msgid "%s: Session ended" +msgstr "" + +#: ../src/sat-log-browser.c:56 ../src/sat-pass-dialogs.c:100 +#: ../src/sat-pass-dialogs.c:124 +msgid "Time" +msgstr "" + +#: ../src/sat-log-browser.c:57 +msgid "Source" +msgstr "" + +#: ../src/sat-log-browser.c:58 +msgid "Level" +msgstr "" + +#: ../src/sat-log-browser.c:59 +msgid "Message" +msgstr "" + +#: ../src/sat-log-browser.c:70 +msgid "BUG" +msgstr "" + +#: ../src/sat-log-browser.c:72 +msgid "WARNING" +msgstr "" + +#: ../src/sat-log-browser.c:73 +msgid "DEBUG" +msgstr "" + +#: ../src/sat-log-browser.c:74 +msgid "TRACE" +msgstr "" + +#. create dialog window; we use "fake" stock responses to catch user +#. button clicks (save_as and pause) +#. +#: ../src/sat-log-browser.c:152 +msgid "Log Browser" +msgstr "" + +#. create file chooser dialog +#: ../src/sat-log-browser.c:371 +msgid "Select Log File" +msgstr "" + +#: ../src/sat-log-browser.c:447 +msgid "SYS" +msgstr "" + +#: ../src/sat-log-browser.c:458 +msgid "Log file seems corrupt" +msgstr "" + +#: ../src/sat-log-browser.c:480 +#, c-format +msgid "%s:%d: Error open debug log (%s)" +msgstr "" + +#: ../src/sat-log-browser.c:654 +msgid "Hamlib" +msgstr "" + +#: ../src/sat-log-browser.c:660 +msgid "Gpredict" +msgstr "" + +#: ../src/sat-log-browser.c:666 +msgid "Other" +msgstr "" + +#: ../src/sat-log-browser.c:676 +msgid "Bugs" +msgstr "" + +#: ../src/sat-log-browser.c:682 +msgid "Errors" +msgstr "" + +#: ../src/sat-log-browser.c:688 +msgid "Warnings" +msgstr "" + +#: ../src/sat-log-browser.c:694 +msgid "Messages" +msgstr "" + +#: ../src/sat-log-browser.c:700 +msgid "Debug" +msgstr "" + +#: ../src/sat-log-browser.c:713 +msgid "<b>Total</b>" +msgstr "" + +#. frame around the table +#: ../src/sat-log-browser.c:738 +msgid " Summary " +msgstr "" + +#: ../src/sat-pass-dialogs.c:58 +msgid "AOS" +msgstr "" + +#: ../src/sat-pass-dialogs.c:59 +msgid "TCA" +msgstr "" + +#: ../src/sat-pass-dialogs.c:60 +msgid "LOS" +msgstr "" + +#: ../src/sat-pass-dialogs.c:72 +msgid "Aquisition of signal (AOS)" +msgstr "" + +#: ../src/sat-pass-dialogs.c:73 +msgid "Time of Closest Approach (TCA)" +msgstr "" + +#: ../src/sat-pass-dialogs.c:74 +msgid "Loss of signal (LOS)" +msgstr "" + +#: ../src/sat-pass-dialogs.c:75 +msgid "Duration of pass" +msgstr "" + +#: ../src/sat-pass-dialogs.c:76 +msgid "Maximum elevation" +msgstr "" + +#: ../src/sat-pass-dialogs.c:77 +msgid "Azimuth at AOS" +msgstr "" + +#: ../src/sat-pass-dialogs.c:78 +msgid "Az at max. elevation" +msgstr "" + +#: ../src/sat-pass-dialogs.c:79 +msgid "Azimuth at LOS" +msgstr "" + +#: ../src/sa... [truncated message content] |
From: <cs...@us...> - 2009-04-15 20:55:22
|
Revision: 275 http://gpredict.svn.sourceforge.net/gpredict/?rev=275&view=rev Author: csete Date: 2009-04-15 20:55:11 +0000 (Wed, 15 Apr 2009) Log Message: ----------- Updated version number. Modified Paths: -------------- trunk/configure.ac Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2009-04-15 10:28:27 UTC (rev 274) +++ trunk/configure.ac 2009-04-15 20:55:11 UTC (rev 275) @@ -2,7 +2,7 @@ AM_CONFIG_HEADER(build-config.h) -AM_INIT_AUTOMAKE(gpredict, 1.0b2) +AM_INIT_AUTOMAKE(gpredict, 1.0b3) AM_MAINTAINER_MODE AC_PROG_INTLTOOL([0.21]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-04-15 10:28:39
|
Revision: 274 http://gpredict.svn.sourceforge.net/gpredict/?rev=274&view=rev Author: csete Date: 2009-04-15 10:28:27 +0000 (Wed, 15 Apr 2009) Log Message: ----------- Removing old tag. Removed Paths: ------------- tags/release-1.0b1/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-04-15 10:26:16
|
Revision: 273 http://gpredict.svn.sourceforge.net/gpredict/?rev=273&view=rev Author: csete Date: 2009-04-15 10:26:15 +0000 (Wed, 15 Apr 2009) Log Message: ----------- Tagging release 1.0 beta 2. Added Paths: ----------- tags/release-1.0b2/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-04-15 10:25:18
|
Revision: 272 http://gpredict.svn.sourceforge.net/gpredict/?rev=272&view=rev Author: csete Date: 2009-04-15 10:25:16 +0000 (Wed, 15 Apr 2009) Log Message: ----------- Tagging release 1.0 beta 2. Added Paths: ----------- tags/release-1.0b1/trunk/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-04-14 22:36:58
|
Revision: 271 http://gpredict.svn.sourceforge.net/gpredict/?rev=271&view=rev Author: csete Date: 2009-04-14 22:36:49 +0000 (Tue, 14 Apr 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-04-14 22:33:46 UTC (rev 270) +++ trunk/ChangeLog 2009-04-14 22:36:49 UTC (rev 271) @@ -150,8 +150,8 @@ 2009-03-18 Alexandru Csete <oz...@gm...> - * src/sat-pref-qth.c: - Fixed typo (Debian bug #520203). + * src/sat-pref-qth.c: + Fixed typo (Debian bug #520203). 2009-03-16 Bruce Cowan <bc...@fa...> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-04-14 22:33:54
|
Revision: 270 http://gpredict.svn.sourceforge.net/gpredict/?rev=270&view=rev Author: csete Date: 2009-04-14 22:33:46 +0000 (Tue, 14 Apr 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/NEWS Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2009-04-14 22:30:50 UTC (rev 269) +++ trunk/NEWS 2009-04-14 22:33:46 UTC (rev 270) @@ -5,12 +5,13 @@ * Mac OS X package. -Changes in version 1.0 beta 2 (TBD Apr 2009): +Changes in version 1.0 beta 2 (15 Apr 2009): - Improved implementation of the radio controller to include uplink. - Added transponder data management (GUI editor to be added in beta 3). -- Feature request 2756021: Doppler tuning using two radios (duplex) -- Feature request 2691963: Doppler tuning on uplink (Simplex TRX) +- Libcurl is now required to build. +- Feature request 2756021: Doppler tuning using two radios (duplex). +- Feature request 2691963: Doppler tuning on uplink (Simplex TRX). - Feature request 2192404: Starting time for pass predictions. - Feature request 2347471: Use system goocanvas. - Feature request 2130940: Transponder info in gpredict. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-04-14 22:31:09
|
Revision: 269 http://gpredict.svn.sourceforge.net/gpredict/?rev=269&view=rev Author: csete Date: 2009-04-14 22:30:50 +0000 (Tue, 14 Apr 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/data/amateur.tle trunk/data/cubesat.tle trunk/data/galileo.tle trunk/data/geo.tle trunk/data/gps-ops.tle trunk/data/iridium.tle trunk/data/military.tle trunk/data/radar.tle trunk/data/science.tle trunk/data/weather.tle Modified: trunk/data/amateur.tle =================================================================== --- trunk/data/amateur.tle 2009-04-14 21:06:51 UTC (rev 268) +++ trunk/data/amateur.tle 2009-04-14 22:30:50 UTC (rev 269) @@ -1,177 +1,177 @@ OSCAR III [-] -1 01293U 65016F 09101.57626210 .00000127 00000-0 11234-3 0 4970 -2 01293 70.0754 315.3782 0020377 257.2167 102.6699 14.04699563250454 +1 01293U 65016F 09103.85492669 .00000198 00000-0 15668-3 0 4997 +2 01293 70.0745 310.4534 0020377 254.3041 105.5825 14.04701364250775 AO-5 [-] -1 04321U 70008B 09101.49574489 -.00000031 00000-0 10000-3 0 1458 -2 04321 102.1303 111.3520 0027777 106.4243 253.9883 12.52156298792417 +1 04321U 70008B 09103.57303574 -.00000031 00000-0 10000-3 0 1465 +2 04321 102.1308 113.4692 0027784 102.4644 257.9534 12.52156316792670 AO-6 [-] -1 06236U 72082B 09100.77273243 -.00000027 00000-0 10000-3 0 1447 -2 06236 101.3973 116.8695 0004070 25.2246 334.9026 12.53076878668960 +1 06236U 72082B 09102.92836293 -.00000027 00000-0 10000-3 0 1390 +2 06236 101.3977 118.9386 0004026 21.8467 338.2779 12.53076890669239 AO-7 [P] -1 07530U 74089B 09101.68986283 -.00000027 00000-0 10000-3 0 4498 -2 07530 101.4325 128.7951 0012094 39.9850 320.2105 12.53575523574384 +1 07530U 74089B 09103.12637683 -.00000027 00000-0 10000-3 0 4508 +2 07530 101.4321 130.1795 0012098 37.1001 323.0908 12.53575580574560 AO-8 [-] -1 10703U 78026B 09102.18132640 -.00000187 00000-0 -10050-3 0 4612 -2 10703 98.8403 149.7817 0006252 357.6551 2.4582 13.98831202586792 +1 10703U 78026B 09104.18409753 -.00000158 00000-0 -80559-4 0 4638 +2 10703 98.8397 151.7117 0006117 352.9513 7.1554 13.98830968587077 AO-10 [-] -1 14129U 83058B 09100.71468437 -.00000360 00000-0 10000-3 0 6431 -2 14129 25.9480 162.5203 5988261 213.1853 88.4147 2.05872259166261 +1 14129U 83058B 09103.14151878 -.00000390 00000-0 10000-3 0 6432 +2 14129 25.9457 162.1239 5989230 213.8487 87.0276 2.05871491166318 UO-11 [P] -1 14781U 84021B 09101.13375119 -.00000239 00000-0 -24637-4 0 9337 -2 14781 98.1139 144.9774 0008849 186.4699 173.6411 14.79702583347915 +1 14781U 84021B 09103.29765600 .00000399 00000-0 60284-4 0 9359 +2 14781 98.1127 147.1629 0009018 179.6903 180.4320 14.79705993348236 FO-12 [-] -1 16909U 86061B 09102.14864986 -.00000083 00000-0 10000-3 0 5390 -2 16909 50.0139 4.9042 0011392 39.6204 320.5460 12.44452466 30757 +1 16909U 86061B 09104.15642843 -.00000083 00000-0 10000-3 0 5401 +2 16909 50.0139 358.7319 0011424 44.6673 315.5080 12.44452449 31008 UO-14 [-] -1 20437U 90005B 09101.93756642 .00000001 00000-0 15944-4 0 8956 -2 20437 98.3336 62.7348 0011504 9.5168 350.6231 14.31541127 3574 +1 20437U 90005B 09102.98599045 .00000000 00000-0 15837-4 0 8965 +2 20437 98.3338 63.7416 0011452 6.6453 353.4877 14.31541200 3726 UO-15 [-] -1 20438U 90005C 09101.47267613 -.00000021 00000-0 79635-5 0 3889 -2 20438 98.3924 55.0387 0010738 38.5428 321.6520 14.30442206 2930 +1 20438U 90005C 09103.92087540 -.00000033 00000-0 36231-5 0 3901 +2 20438 98.3930 57.4019 0010710 31.7341 328.4483 14.30442144 3287 AO-16 [P] -1 20439U 90005D 09101.46738656 -.00000008 00000-0 12428-4 0 5781 -2 20439 98.2724 72.9271 0011327 14.4214 345.7284 14.31820600 3607 +1 20439U 90005D 09103.56382733 .00000004 00000-0 16880-4 0 5809 +2 20439 98.2732 74.9270 0011255 8.3292 351.8076 14.31820905 3903 DO-17 [-] -1 20440U 90005E 09101.41241243 -.00000007 00000-0 12597-4 0 2906 -2 20440 98.2478 77.7570 0011243 10.2062 349.9359 14.32123884 3736 +1 20440U 90005E 09103.85774311 .00000007 00000-0 17805-4 0 2921 +2 20440 98.2481 80.0835 0011201 3.0980 357.0273 14.32124261 4088 WO-18 [-] -1 20441U 90005F 09102.03356668 .00000005 00000-0 17360-4 0 7987 -2 20441 98.2542 76.9798 0011954 11.6074 348.5391 14.31888677 3759 +1 20441U 90005F 09103.08173751 .00000013 00000-0 19989-4 0 7992 +2 20441 98.2546 77.9777 0011959 8.5277 351.6110 14.31888828 3905 LO-19 [P] -1 20442U 90005G 09100.97634398 -.00000029 00000-0 45521-5 0 4983 -2 20442 98.2359 79.9794 0012203 12.5325 347.6169 14.32056747 3694 +1 20442U 90005G 09103.49165899 -.00000047 00000-0 -21968-5 0 5002 +2 20442 98.2372 82.3696 0012058 4.9492 355.1794 14.32056824 4051 FO-20 [-] -1 20480U 90013C 09101.29359454 -.00000088 00000-0 -11724-3 0 1111 -2 20480 99.0680 34.3998 0540066 321.8660 34.5362 12.83360667898326 +1 20480U 90013C 09103.71021412 -.00000052 00000-0 -35684-4 0 1135 +2 20480 99.0683 36.3676 0540026 316.3951 39.5639 12.83360968898632 AO-21 [-] -1 21087U 91006A 09102.09997403 .00000037 00000-0 22150-4 0 2422 -2 21087 82.9372 94.9826 0036688 107.3337 253.1832 13.75042238913332 +1 21087U 91006A 09103.33699822 .00000031 00000-0 16151-4 0 2433 +2 21087 82.9372 94.0658 0036738 104.0062 256.5173 13.75042210913505 RS-12 & RS-13 [-] -1 21089U 91007A 09101.14482759 .00000052 00000-0 38631-4 0 1228 -2 21089 82.9215 316.4043 0029604 153.5091 206.7598 13.74486156911985 +1 21089U 91007A 09103.47428837 .00000059 00000-0 46109-4 0 1241 +2 21089 82.9208 314.6749 0029695 147.0407 213.2612 13.74486371912305 UO-22 [-] -1 21575U 91050B 09101.46318613 -.00000032 00000-0 36284-5 0 5268 -2 21575 98.4402 51.3351 0006887 213.3370 146.7377 14.39669494931109 +1 21575U 91050B 09103.82620719 -.00000001 00000-0 13555-4 0 5286 +2 21575 98.4409 53.6637 0006985 206.1027 153.9820 14.39669857931449 KO-23 [-] -1 22077U 92052B 09101.12769337 -.00000037 00000-0 10000-3 0 7167 -2 22077 66.0826 107.0992 0013702 295.2042 64.7557 12.86448028782894 +1 22077U 92052B 09103.45992938 -.00000037 00000-0 10000-3 0 7182 +2 22077 66.0827 102.2141 0013803 294.7869 65.1707 12.86448074783198 AO-24 [-] 1 22654U 93031B 09096.01515389 -.00000128 00000-0 10000-3 0 2530 2 22654 5.1252 338.8141 2875731 156.5075 219.5322 1.42205278 78095 AO-27 [+] -1 22825U 93061C 09101.49981588 .00000014 00000-0 22063-4 0 2187 -2 22825 98.4310 57.0446 0009367 99.8658 260.3591 14.29262771810389 +1 22825U 93061C 09103.81002265 -.00000067 00000-0 -97729-5 0 2206 +2 22825 98.4326 59.2812 0009393 93.6368 266.5879 14.29262357810710 IO-26 [P] -1 22826U 93061D 09101.92171231 -.00000008 00000-0 13406-4 0 9410 -2 22826 98.4235 58.2302 0009970 95.2509 264.9813 14.29513984810545 +1 22826U 93061D 09103.32159149 -.00000008 00000-0 13351-4 0 9420 +2 22826 98.4239 59.5845 0009957 91.4277 268.8050 14.29514105810744 KO-25 [-] -1 22828U 93061F 09101.48002976 -.00000058 00000-0 -62631-5 0 1527 -2 22828 98.4166 57.7242 0010874 72.6075 287.6309 14.29814390778752 +1 22828U 93061F 09103.85932299 -.00000039 00000-0 11898-5 0 1549 +2 22828 98.4175 60.0258 0010835 66.4392 293.7922 14.29814657779099 PO-28 [+] -1 22829U 93061G 09100.92266102 -.00000064 00000-0 -84307-5 0 1889 -2 22829 98.4117 58.3138 0010644 71.6124 288.6235 14.30212397810688 +1 22829U 93061G 09103.44121208 -.00000031 00000-0 42853-5 0 1902 +2 22829 98.4122 60.7503 0010646 64.0858 296.1407 14.30212728811043 RS-15 [P] -1 23439U 94085A 09101.19502620 -.00000039 00000-0 10000-3 0 1936 -2 23439 64.8139 13.1471 0146911 64.5279 297.0759 11.27553191588562 +1 23439U 94085A 09102.96885713 -.00000039 00000-0 10000-3 0 2154 +2 23439 64.8140 10.2790 0146931 64.2062 297.3938 11.27553203588763 FO-29 [P] -1 24278U 96046B 09101.52005294 -.00000040 00000-0 -56005-5 0 130 -2 24278 98.5635 344.4883 0350837 162.9963 198.3292 13.52941999624735 +1 24278U 96046B 09101.66796276 -.00000034 00000-0 81136-7 0 173 +2 24278 98.5635 344.6166 0350800 162.6159 198.7353 13.52942059624757 MO-30 [-] -1 24305U 96052B 09101.37845968 .00000010 00000-0 -55662-5 0 876 -2 24305 82.9352 43.4461 0031693 80.3795 280.0942 13.73568359631501 +1 24305U 96052B 09103.92800012 -.00000004 00000-0 -20675-4 0 891 +2 24305 82.9362 41.5611 0031711 73.4021 287.0619 13.73568232631850 TO-31 [-] -1 25396U 98043C 09101.58781456 -.00000122 00000-0 -35638-4 0 3758 -2 25396 98.3373 133.0064 0003550 78.3863 281.7711 14.23774607558821 +1 25396U 98043C 09104.04747276 .00000054 00000-0 41602-4 0 3776 +2 25396 98.3364 135.3393 0003488 70.5599 289.5965 14.23775702559174 GO-32 [P] -1 25397U 98043D 09101.98459095 -.00000102 00000-0 -27006-4 0 8667 -2 25397 98.3305 127.8560 0002214 88.6220 271.5206 14.23156615558713 +1 25397U 98043D 09103.03918790 .00000032 00000-0 32143-4 0 8676 +2 25397 98.3306 128.8546 0002251 86.4444 273.6997 14.23157331558866 SO-33 [P] -1 25509U 98061B 09101.30498816 .00000061 00000-0 79486-6 0 4289 -2 25509 31.4283 70.6724 0354412 113.7335 250.0886 14.28248707546267 +1 25509U 98061B 09104.17056248 .00000082 00000-0 41162-5 0 4301 +2 25509 31.4297 54.4761 0354571 138.8615 223.9307 14.28248787546678 PO-34 [-] -1 25520U 98064B 09101.95615491 .00000373 00000-0 85371-5 0 2234 -2 25520 28.4599 338.3638 0005019 298.8517 61.1576 15.17320281578581 +1 25520U 98064B 09103.00854533 .00000406 00000-0 10170-4 0 2246 +2 25520 28.4600 331.3169 0004931 310.7059 49.3106 15.17320950578741 ARISS [+] -1 25544U 98067A 09102.11034844 .00011961 00000-0 93500-4 0 6555 -2 25544 51.6406 285.6193 0008747 228.3559 233.6853 15.72094567595553 +1 25544U 98067A 09104.08106641 .00010982 00000-0 86085-4 0 6684 +2 25544 51.6407 275.5284 0008674 236.5696 226.4625 15.72136261595864 SO-35 [-] -1 25636U 99008C 09101.64606013 .00000022 00000-0 13299-4 0 2798 -2 25636 96.4505 301.7617 0149530 72.6988 289.0507 14.43459805533500 +1 25636U 99008C 09103.10177624 .00000012 00000-0 10801-4 0 2809 +2 25636 96.4504 302.8663 0149515 68.1499 293.5525 14.43459860533716 UO-36 [-] -1 25693U 99021A 09101.79409465 -.00000071 00000-0 94320-5 0 8879 -2 25693 64.5591 319.8150 0012666 204.0183 156.0405 14.78744035538025 +1 25693U 99021A 09103.07903580 -.00000034 00000-0 14472-4 0 8888 +2 25693 64.5572 315.8669 0012439 203.7787 156.2759 14.78744494538213 OO-38 [-] -1 26063U 00004C 09100.97818905 -.00000008 00000-0 17446-4 0 4785 -2 26063 100.1979 235.2908 0037246 90.6796 269.8647 14.35860314482308 +1 26063U 00004C 09103.48676340 -.00000043 00000-0 52425-5 0 4808 +2 26063 100.1983 238.2547 0037212 83.4738 277.0676 14.35860128482669 SO-41 [-] -1 26545U 00057A 09102.09256765 .00000061 00000-0 26958-4 0 2271 -2 26545 64.5583 321.2350 0055004 288.7051 70.8112 14.80575684461419 +1 26545U 00057A 09103.44346522 .00000164 00000-0 40010-4 0 2282 +2 26545 64.5581 317.0723 0054983 288.6999 70.8172 14.80576836461617 MO-46 [-] -1 26548U 00057D 09102.04111790 -.00000010 00000-0 17198-4 0 3651 -2 26548 64.5560 285.4529 0050822 282.5791 76.9640 14.83352711462143 +1 26548U 00057D 09103.59174147 -.00000146 00000-0 10775-5 0 3663 +2 26548 64.5572 280.6536 0050715 282.1462 77.3933 14.83352503462377 SO-42 [-] -1 26549U 00057E 09101.93628681 -.00000052 00000-0 12889-4 0 3075 -2 26549 64.5603 337.9955 0058139 292.9227 66.5698 14.79431788461061 +1 26549U 00057E 09103.08543788 .00000007 00000-0 20463-4 0 3084 +2 26549 64.5597 334.4606 0058192 292.7466 66.7504 14.79432507461237 AO-40 [-] -1 26609U 00072B 09100.89618694 -.00000377 00000-0 10000-3 0 2134 -2 26609 9.1580 24.1038 7961656 193.4610 112.0629 1.25583972 38789 +1 26609U 00072B 09101.69023753 -.00000365 00000-0 10000-3 0 2147 +2 26609 9.1659 24.0036 7961285 193.6848 111.0582 1.25584529 38793 NO-44 [P] -1 26931U 01043C 09101.54004399 -.00000120 00000-0 -14364-4 0 1421 -2 26931 67.0511 236.0423 0005301 268.9146 91.1317 14.29551930393059 +1 26931U 01043C 09102.86933795 .00000077 00000-0 62495-4 0 1436 +2 26931 67.0515 232.6178 0005280 269.2958 90.7569 14.29553097393244 NO-45 [-] -1 26932U 01043D 09101.50597956 -.00000042 00000-0 16032-4 0 1453 -2 26932 67.0491 236.0636 0005335 241.9346 118.1210 14.29605873393095 +1 26932U 01043D 09102.83522368 -.00000058 00000-0 97361-5 0 1468 +2 26932 67.0492 232.6400 0005288 242.1027 117.9539 14.29605841393280 BO-47 & BO-48 [-] -1 27422U 02021B 09101.27910390 -.00000030 00000-0 49897-5 0 171 -2 27422 98.5229 182.0721 0013221 62.0180 298.2363 14.28487405359857 +1 27422U 02021B 09104.22095248 .00000023 00000-0 26456-4 0 193 +2 27422 98.5228 184.9463 0013162 54.1256 306.1141 14.28488073360273 AO-49 [-] -1 27605U 02058A 09101.30565554 -.00000159 00000-0 -21346-5 0 8828 -2 27605 64.5574 215.6161 0073981 221.2069 138.3464 14.72393298339096 +1 27605U 02058A 09103.68286274 -.00000021 00000-0 18651-4 0 8843 +2 27605 64.5586 208.3859 0073823 220.6097 138.9475 14.72394361339440 SO-50 [+] -1 27607U 02058C 09101.51477566 -.00000138 00000-0 85394-6 0 8581 -2 27607 64.5587 227.5814 0074400 220.1634 139.3905 14.71425851338867 +1 27607U 02058C 09103.82558308 -.00000035 00000-0 16651-4 0 8608 +2 27607 64.5592 220.5635 0074034 219.7171 139.8504 14.71426810339205 DTUSAT [-] -1 27842U 03031C 09101.56623025 .00000029 00000-0 33801-4 0 5301 -2 27842 98.7077 112.6530 0009061 321.2685 38.7853 14.20974191299882 +1 27842U 03031C 09102.62243855 .00000042 00000-0 39782-4 0 5318 +2 27842 98.7078 113.6945 0009055 318.3425 41.7069 14.20974510300034 CO-55 [+] -1 27844U 03031E 09100.59000319 .00000039 00000-0 38266-4 0 5536 -2 27844 98.7146 110.7081 0009814 344.3787 15.7080 14.20630920299668 +1 27844U 03031E 09103.26637653 .00000053 00000-0 44749-4 0 5551 +2 27844 98.7144 113.3465 0009704 336.6635 23.4109 14.20631532300048 AAU CUBESAT [-] -1 27846U 03031G 09101.00253706 .00000018 00000-0 28453-4 0 4651 -2 27846 98.7071 112.0926 0009043 322.2756 37.7767 14.20974048299809 +1 27846U 03031G 09102.55164328 .00000039 00000-0 38249-4 0 4661 +2 27846 98.7075 113.6203 0008834 317.6074 42.4427 14.20974471300029 CANX-1 [-] -1 27847U 03031H 09101.01028915 .00000000 00000-0 20258-4 0 4796 -2 27847 98.7079 112.0917 0009203 322.9151 37.1377 14.20957002299758 +1 27847U 03031H 09103.54521991 .00000026 00000-0 32251-4 0 4815 +2 27847 98.7077 114.5912 0009122 315.9085 44.1358 14.20957597300115 CO-57 [+] -1 27848U 03031J 09100.55813578 .00000039 00000-0 38799-4 0 4995 -2 27848 98.7172 109.7382 0009896 348.2634 11.8332 14.20434045299620 +1 27848U 03031J 09103.51664155 .00000026 00000-0 32616-4 0 5011 +2 27848 98.7171 112.6562 0009586 339.4311 20.6474 14.20434381300049 RS-22 [+] -1 27939U 03042A 09101.52907932 .00000061 00000-0 20626-4 0 7622 -2 27939 97.9554 338.7916 0013454 347.8667 12.2196 14.63306816295821 +1 27939U 03042A 09103.71721399 .00000042 00000-0 17069-4 0 7644 +2 27939 97.9542 340.9025 0013370 340.9679 19.1022 14.63307307296144 AO-51 [+] -1 28375U 04025K 09100.59379424 .00000004 00000-0 13897-4 0 3607 -2 28375 98.0554 114.1328 0084447 331.1447 28.5089 14.40637985251229 +1 28375U 04025K 09103.09412915 .00000004 00000-0 14011-4 0 3629 +2 28375 98.0551 116.4879 0084316 323.5879 35.9588 14.40638233251583 VO-52 [+] -1 28650U 05017B 09101.12046214 -.00000208 00000-0 -19669-4 0 2007 -2 28650 97.7488 164.9010 0026055 247.5906 112.2564 14.81568823212718 +1 28650U 05017B 09101.93091129 -.00000058 00000-0 -76273-6 0 2022 +2 28650 97.7490 165.6851 0026043 244.6955 115.1595 14.81569413212836 UWE-1 [-] -1 28892U 05043C 09101.88905233 .00000066 00000-0 23293-4 0 3090 -2 28892 98.0646 353.8372 0017010 191.8725 168.2068 14.59722565184175 +1 28892U 05043C 09102.91725867 .00000138 00000-0 38433-4 0 3102 +2 28892 98.0641 354.8371 0016980 188.6863 171.4048 14.59723257184322 XO-53 [-] -1 28894U 05043E 09102.05396022 .00000003 00000-0 10275-4 0 4337 -2 28894 98.0642 354.2444 0017053 194.0659 166.0071 14.59661837184204 +1 28894U 05043E 09104.17900780 .00000035 00000-0 16918-4 0 4351 +2 28894 98.0640 356.3106 0017157 187.2706 172.8246 14.59662466184514 CO-58 [+] -1 28895U 05043F 09101.16411984 .00000033 00000-0 16564-4 0 2758 -2 28895 98.0700 353.6304 0017424 194.3614 165.7078 14.59756459183953 +1 28895U 05043F 09101.36975667 -.00000040 00000-0 11429-5 0 2769 +2 28895 98.0696 353.8301 0017611 193.5404 166.5320 14.59756030183989 NCUBE-2 [-] -1 28897U 05043H 09101.16170062 .00000069 00000-0 23909-4 0 8205 -2 28897 98.0652 353.5392 0016649 195.5581 164.5066 14.59933326176249 +1 28897U 05043H 09104.17733673 .00000089 00000-0 28107-4 0 8221 +2 28897 98.0649 356.4727 0016872 186.0018 174.0983 14.59934441176688 CO-56 [P] -1 28941U 06005C 09102.07417136 .00059230 36832-5 24928-3 0 9833 -2 28941 98.1351 264.5098 0102871 21.2954 339.2524 15.77784026176806 +1 28941U 06005C 09103.97668116 .00051667 34351-5 21801-3 0 9892 +2 28941 98.1361 266.7456 0101360 14.1475 346.2513 15.77981695177101 PEHUENSAT 1 [+] -1 29712U 07001D 09102.12208312 .00000501 00000-0 72107-4 0 3935 -2 29712 97.8350 160.0927 0015138 126.9157 233.3468 14.80500998121691 +1 29712U 07001D 09104.21724610 .00000548 00000-0 78129-4 0 3998 +2 29712 97.8345 162.1388 0015233 120.4745 239.7975 14.80503990122001 DO-64 [+] -1 32789U 08021G 09101.77545984 .00000275 00000-0 41757-4 0 3389 -2 32789 97.9525 166.3144 0014642 245.7742 114.1939 14.81660848 51618 +1 32789U 08021G 09104.20664592 .00000508 00000-0 71228-4 0 3405 +2 32789 97.9519 168.7284 0014660 237.9563 122.0222 14.81663589 51973 Modified: trunk/data/cubesat.tle =================================================================== --- trunk/data/cubesat.tle 2009-04-14 21:06:51 UTC (rev 268) +++ trunk/data/cubesat.tle 2009-04-14 22:30:50 UTC (rev 269) @@ -1,75 +1,75 @@ DTUSAT -1 27842U 03031C 09101.56623025 .00000029 00000-0 33801-4 0 5301 -2 27842 98.7077 112.6530 0009061 321.2685 38.7853 14.20974191299882 +1 27842U 03031C 09102.62243855 .00000042 00000-0 39782-4 0 5318 +2 27842 98.7078 113.6945 0009055 318.3425 41.7069 14.20974510300034 CUTE-1 (CO-55) -1 27844U 03031E 09100.59000319 .00000039 00000-0 38266-4 0 5536 -2 27844 98.7146 110.7081 0009814 344.3787 15.7080 14.20630920299668 +1 27844U 03031E 09103.26637653 .00000053 00000-0 44749-4 0 5551 +2 27844 98.7144 113.3465 0009704 336.6635 23.4109 14.20631532300048 QUAKESAT -1 27845U 03031F 09101.57881754 .00000053 00000-0 45076-4 0 5292 -2 27845 98.7205 111.0821 0009154 359.5683 0.5492 14.20260519299719 +1 27845U 03031F 09103.05825088 .00000065 00000-0 50940-4 0 5306 +2 27845 98.7202 112.5409 0009132 355.3913 4.7177 14.20260971299921 AAU CUBESAT -1 27846U 03031G 09101.00253706 .00000018 00000-0 28453-4 0 4651 -2 27846 98.7071 112.0926 0009043 322.2756 37.7767 14.20974048299809 +1 27846U 03031G 09102.55164328 .00000039 00000-0 38249-4 0 4661 +2 27846 98.7075 113.6203 0008834 317.6074 42.4427 14.20974471300029 CANX-1 -1 27847U 03031H 09101.01028915 .00000000 00000-0 20258-4 0 4796 -2 27847 98.7079 112.0917 0009203 322.9151 37.1377 14.20957002299758 +1 27847U 03031H 09103.54521991 .00000026 00000-0 32251-4 0 4815 +2 27847 98.7077 114.5912 0009122 315.9085 44.1358 14.20957597300115 CUBESAT XI-IV (CO-57) -1 27848U 03031J 09100.55813578 .00000039 00000-0 38799-4 0 4995 -2 27848 98.7172 109.7382 0009896 348.2634 11.8332 14.20434045299620 +1 27848U 03031J 09103.51664155 .00000026 00000-0 32616-4 0 5011 +2 27848 98.7171 112.6562 0009586 339.4311 20.6474 14.20434381300049 UWE-1 -1 28892U 05043C 09101.88905233 .00000066 00000-0 23293-4 0 3090 -2 28892 98.0646 353.8372 0017010 191.8725 168.2068 14.59722565184175 +1 28892U 05043C 09102.91725867 .00000138 00000-0 38433-4 0 3102 +2 28892 98.0641 354.8371 0016980 188.6863 171.4048 14.59723257184322 CUBESAT XI-V (CO-58) -1 28895U 05043F 09101.16411984 .00000033 00000-0 16564-4 0 2758 -2 28895 98.0700 353.6304 0017424 194.3614 165.7078 14.59756459183953 +1 28895U 05043F 09101.36975667 -.00000040 00000-0 11429-5 0 2769 +2 28895 98.0696 353.8301 0017611 193.5404 166.5320 14.59756030183989 NCUBE-2 -1 28897U 05043H 09101.16170062 .00000069 00000-0 23909-4 0 8205 -2 28897 98.0652 353.5392 0016649 195.5581 164.5066 14.59933326176249 +1 28897U 05043H 09104.17733673 .00000089 00000-0 28107-4 0 8221 +2 28897 98.0649 356.4727 0016872 186.0018 174.0983 14.59934441176688 CUTE-1.7+APD (CO-56) -1 28941U 06005C 09102.07417136 .00059230 36832-5 24928-3 0 9833 -2 28941 98.1351 264.5098 0102871 21.2954 339.2524 15.77784026176806 +1 28941U 06005C 09103.97668116 .00051667 34351-5 21801-3 0 9892 +2 28941 98.1361 266.7456 0101360 14.1475 346.2513 15.77981695177101 GENESAT-1 -1 29655U 06058C 09101.56365814 .00013104 00000-0 13677-3 0 6819 -2 29655 40.0225 240.3402 0002164 298.8386 61.2222 15.64135756132031 +1 29655U 06058C 09102.77666865 .00014587 00000-0 15163-3 0 6822 +2 29655 40.0216 232.7559 0002200 314.0735 45.9899 15.64176532132226 CSTB1 -1 31122U 07012F 09101.72219268 .00000554 00000-0 13192-3 0 6076 -2 31122 98.0037 161.6092 0086901 120.5127 240.4642 14.55229121105498 +1 31122U 07012F 09104.12875427 .00000554 00000-0 13192-3 0 6090 +2 31122 97.9999 163.9133 0086939 112.9114 248.1263 14.55230433105847 MAST -1 31126U 07012K 09102.01672193 .00000169 00000-0 48522-4 0 5687 -2 31126 97.9963 159.8323 0095664 124.9277 236.0953 14.53489460105425 +1 31126U 07012K 09103.18702341 -.00000141 00000-0 -21396-4 0 5698 +2 31126 97.9949 160.9493 0095650 121.2339 239.8240 14.53488134105599 LIBERTAD-1 -1 31128U 07012M 09102.13630850 -.00000046 00000-0 00000+0 0 6024 -2 31128 97.9931 158.2621 0103489 129.5028 231.5409 14.52032032105318 +1 31128U 07012M 09104.20361598 -.00000046 00000-0 00000+0 0 6046 +2 31128 97.9927 160.2313 0103594 123.2499 237.8703 14.52032732105610 POLYSAT CP3 -1 31129U 07012N 09102.16128493 .00000113 00000-0 36448-4 0 8502 -2 31129 97.9959 158.3788 0103373 129.3255 231.7162 14.52121366105302 +1 31129U 07012N 09104.15956073 .00000121 00000-0 38330-4 0 8541 +2 31129 97.9947 160.2820 0103345 123.1510 237.9647 14.52122049105599 CAPE1 -1 31130U 07012P 09101.16314761 .00000227 00000-0 62859-4 0 5731 -2 31130 97.9981 157.3511 0104307 132.6759 228.3285 14.52048578104968 +1 31130U 07012P 09103.64389161 .00000028 00000-0 16953-4 0 5757 +2 31130 97.9969 159.7136 0104166 125.0831 236.0163 14.52048642105327 POLYSAT CP4 -1 31132U 07012Q 09101.86207781 -.00000188 00000-0 -31288-4 0 5801 -2 31132 98.0009 161.6727 0086854 119.7241 241.2628 14.55195683105383 +1 31132U 07012Q 09103.16852396 .00000249 00000-0 64782-4 0 5816 +2 31132 98.0006 162.9250 0086877 115.6980 245.3219 14.55197738105570 NTS (CANX-6) -1 32784U 08021B 09102.17017622 .00000210 00000-0 33927-4 0 3381 -2 32784 97.9525 166.5038 0014853 238.6557 121.3198 14.81032424 51650 +1 32784U 08021B 09104.19702709 .00000083 00000-0 17642-4 0 3409 +2 32784 97.9524 168.5143 0014961 231.8701 128.1162 14.81032168 51958 CUTE-1.7+APD II -1 32785U 08021C 09101.66443135 .00000088 00000-0 18021-4 0 3377 -2 32785 97.9522 166.1634 0013781 247.1110 112.8649 14.81466252 51594 +1 32785U 08021C 09104.23101889 .00000287 00000-0 43446-4 0 3392 +2 32785 97.9519 168.7108 0013806 238.4579 121.5281 14.81468830 51979 COMPASS-1 -1 32787U 08021E 09101.71401902 .00000051 00000-0 13277-4 0 3290 -2 32787 97.9483 166.0817 0014793 246.9239 113.0400 14.81575542 51600 +1 32787U 08021E 09104.21288100 .00000524 00000-0 73473-4 0 3313 +2 32787 97.9480 168.5623 0014850 237.7307 122.2467 14.81578766 51973 AAUSAT-II -1 32788U 08021F 09101.41725511 .00000499 00000-0 70055-4 0 3285 -2 32788 97.9487 165.8370 0014028 250.0966 109.8743 14.81698483 51568 +1 32788U 08021F 09103.44319498 .00000245 00000-0 37868-4 0 3300 +2 32788 97.9487 167.8475 0013969 242.2652 117.7151 14.81698720 51862 DELFI-C3 -1 32789U 08021G 09101.77545984 .00000275 00000-0 41757-4 0 3389 -2 32789 97.9525 166.3144 0014642 245.7742 114.1939 14.81660848 51618 +1 32789U 08021G 09104.20664592 .00000508 00000-0 71228-4 0 3405 +2 32789 97.9519 168.7284 0014660 237.9563 122.0222 14.81663589 51973 CANX-2 -1 32790U 08021H 09101.39624604 .00000060 00000-0 14468-4 0 3231 -2 32790 97.9523 165.8737 0014380 247.1633 112.8064 14.81453207 51538 +1 32790U 08021H 09103.82777229 .00000073 00000-0 16190-4 0 3253 +2 32790 97.9520 168.2869 0014384 237.6278 122.3527 14.81454475 51898 SEEDS II -1 32791U 08021J 09101.74932572 .00000388 00000-0 56409-4 0 3208 -2 32791 97.9508 166.1503 0014996 246.4317 113.5317 14.81412210 51573 +1 32791U 08021J 09104.18092247 .00000164 00000-0 27770-4 0 3228 +2 32791 97.9472 168.5611 0014990 238.6551 121.3195 14.81412933 51939 PSLV DEB 1 32797U 08021L 09102.15582155 .00002199 00000-0 27758-3 0 1538 2 32797 97.9759 167.5172 0015224 252.4668 107.4282 14.82873744 50379 Modified: trunk/data/galileo.tle =================================================================== --- trunk/data/galileo.tle 2009-04-14 21:06:51 UTC (rev 268) +++ trunk/data/galileo.tle 2009-04-14 22:30:50 UTC (rev 269) @@ -1,6 +1,6 @@ GIOVE-A -1 28922U 05051A 09099.96553225 .00000035 00000-0 10000-3 0 4737 -2 28922 56.0621 159.1646 0007715 330.3027 29.7438 1.70191108 20402 +1 28922U 05051A 09102.31576667 .00000029 00000-0 10000-3 0 4717 +2 28922 56.0622 159.1026 0007820 330.5253 29.5153 1.70191068 20446 GIOVE-B -1 32781U 08020A 09101.86705230 .00000001 00000-0 10000-3 0 1530 -2 32781 55.9533 194.0322 0019055 211.9356 147.9887 1.70950663 5995 +1 32781U 08020A 09102.45200554 .00000001 00000-0 10000-3 0 1546 +2 32781 55.9533 194.0164 0019074 211.9807 147.9459 1.70950658 6003 Modified: trunk/data/geo.tle =================================================================== --- trunk/data/geo.tle 2009-04-14 21:06:51 UTC (rev 268) +++ trunk/data/geo.tle 2009-04-14 22:30:50 UTC (rev 269) @@ -1,468 +1,468 @@ LES 9 -1 08747U 76023B 09102.15449278 -.00000065 00000-0 10000-3 0 2692 -2 08747 10.8386 150.2802 0023274 320.3463 40.8188 1.00266129 66762 +1 08747U 76023B 09103.25827060 -.00000065 00000-0 10000-3 0 2705 +2 08747 10.8397 150.2480 0023365 320.4277 79.1956 1.00266137 66779 MARISAT 2 -1 09478U 76101A 09098.83706918 -.00000105 00000-0 10000-3 0 1321 -2 09478 13.2264 356.3579 0098359 199.2400 160.3361 0.97590625 62219 +1 09478U 76101A 09101.91101131 -.00000163 00000-0 10000-3 0 1347 +2 09478 13.2268 356.3389 0098380 199.3032 160.2659 0.97591810 62247 GOES 3 -1 10953U 78062A 09099.73536865 -.00000140 00000-0 10000-3 0 4604 -2 10953 14.3374 0.6447 0003968 336.1490 23.7894 1.00268427 65986 +1 10953U 78062A 09102.72723886 -.00000136 00000-0 10000-3 0 4626 +2 10953 14.3386 0.6211 0003997 336.7946 23.1436 1.00268328 66013 ESIAFI 1 (COMSTAR 4) -1 12309U 81018A 09101.25686911 -.00000146 00000-0 10000-3 0 2182 -2 12309 13.8793 10.7500 0006817 280.9435 78.9294 1.00262325104526 +1 12309U 81018A 09102.25422122 -.00000145 00000-0 10000-3 0 2195 +2 12309 13.8803 10.7419 0006740 281.7548 78.1178 1.00262267104535 SATCOM C5 -1 13631U 82105A 09099.83025388 -.00000111 00000-0 10000-3 0 6135 -2 13631 12.4205 32.1840 0006608 275.8809 83.9876 1.00272989 63432 +1 13631U 82105A 09101.82473520 -.00000109 00000-0 10000-3 0 6129 +2 13631 12.4240 32.1662 0006400 276.3037 83.5604 1.00272894 63454 TDRS 1 -1 13969U 83026B 09100.05289291 -.00000307 00000-0 10000-3 0 8481 -2 13969 13.2893 9.7929 0022335 239.7445 278.8991 1.00266831 68310 +1 13969U 83026B 09102.90158280 -.00000303 00000-0 10000-3 0 8509 +2 13969 13.2920 9.7704 0021356 240.3271 226.6045 1.00265854 68347 GSTAR 1 -1 15677U 85035A 09099.88461653 -.00000102 00000-0 10000-3 0 1287 -2 15677 10.5368 51.5815 0008992 268.6407 91.2158 1.00272510 62290 +1 15677U 85035A 09101.87904190 -.00000100 00000-0 10000-3 0 1264 +2 15677 10.5414 51.5589 0009007 268.8335 91.0070 1.00272520 62315 INTELSAT 511 -1 15873U 85055A 09098.17995547 -.00000327 00000-0 10000-3 0 3687 -2 15873 11.8818 39.8443 0016475 288.5029 71.2731 1.00113589 61681 +1 15873U 85055A 09102.17523276 -.00000335 00000-0 10000-3 0 3688 +2 15873 11.8894 39.8010 0016257 288.8787 70.8868 1.00112039 61727 GOES 7 -1 17561U 87022A 09098.31846034 .00000049 00000-0 10000-3 0 9025 -2 17561 11.9810 37.9137 0003464 220.6863 236.4063 1.00258473 64213 +1 17561U 87022A 09102.62721679 .00000052 00000-0 10000-3 0 9059 +2 17561 11.9976 37.8104 0003047 219.4368 352.9456 1.00259366 64258 GSTAR 3 -1 19483U 88081A 09099.80239733 -.00000114 00000-0 10000-3 0 2019 -2 19483 14.2309 21.6351 0007279 330.2383 29.6655 1.00272757 71676 +1 19483U 88081A 09102.79413058 -.00000111 00000-0 10000-3 0 2002 +2 19483 14.2344 21.6077 0007277 331.5763 28.3216 1.00272624 71700 TDRS 3 -1 19548U 88091B 09100.76986782 -.00000197 00000-0 10000-3 0 2339 -2 19548 11.7127 40.5895 0024851 314.7711 205.7807 1.00273620 62461 +1 19548U 88091B 09102.81260266 -.00000195 00000-0 10000-3 0 2348 +2 19548 11.7168 40.5699 0024881 314.9461 223.0327 1.00273261 62488 ASTRA 1A -1 19688U 88109B 09100.33222722 -.00000078 00000-0 10000-3 0 5560 -2 19688 7.4506 65.1421 0017927 305.3416 54.4706 0.98335979 54382 +1 19688U 88109B 09102.36595695 -.00000022 00000-0 10000-3 0 5588 +2 19688 7.4558 65.1139 0018095 306.6693 53.1348 0.98335170 54407 TDRS 4 -1 19883U 89021B 09100.87235348 -.00000286 00000-0 10000-3 0 5592 -2 19883 10.3573 52.5713 0002997 296.0855 118.7673 1.00267390246042 +1 19883U 89021B 09103.45513796 -.00000283 00000-0 10000-3 0 5615 +2 19883 10.3633 52.5438 0002993 298.9811 328.1987 1.00266458246063 INTELSAT 602 (IS-602) -1 20315U 89087A 09100.49275715 .00000030 00000-0 10000-3 0 8674 -2 20315 6.7462 67.0121 0001344 300.0650 186.9944 1.00273555 69049 +1 20315U 89087A 09102.43279275 .00000032 00000-0 10000-3 0 8699 +2 20315 6.7499 66.9827 0001390 301.4654 165.9372 1.00272946 69067 LEASAT 5 -1 20410U 90002B 09100.75130161 -.00000319 00000-0 10000-3 0 968 -2 20410 8.1995 35.7514 0000394 20.1250 153.7148 1.00273453 55769 +1 20410U 90002B 09102.61377698 -.00000317 00000-0 10000-3 0 994 +2 20410 8.2028 35.7413 0000488 357.5280 128.6585 1.00272743 55788 INTELSAT 603 (IS-603) -1 20523U 90021A 09099.00391576 -.00000164 00000-0 10000-3 0 4454 -2 20523 6.2177 68.5932 0002056 307.4358 162.7572 1.00269608 62788 +1 20523U 90021A 09103.07838897 -.00000159 00000-0 10000-3 0 4475 +2 20523 6.2290 68.5606 0002331 324.0727 177.0157 1.00272572 62820 ASIASAT 1 -1 20558U 90030A 09101.39168981 .00000022 00000-0 10000-3 0 6847 -2 20558 8.8948 61.0970 0004382 225.0029 134.9327 0.99239838 69419 +1 20558U 90030A 09102.39926337 .00000042 00000-0 10000-3 0 6858 +2 20558 8.8972 61.0842 0004267 225.9285 133.9957 0.99239806 69423 INSAT-1D -1 20643U 90051A 09100.40580546 -.00000074 00000-0 10000-3 0 2070 -2 20643 9.6445 57.0851 0016682 22.1578 337.8791 1.00285620 55810 +1 20643U 90051A 09102.39996470 -.00000073 00000-0 10000-3 0 2098 +2 20643 9.6493 57.0618 0016938 22.0757 337.9424 1.00285721 55834 COSMOS 2085 -1 20693U 90061A 09101.32591693 -.00000144 00000-0 10000-3 0 9247 -2 20693 12.0223 36.3974 0004555 276.5755 83.3114 1.00266628 68577 +1 20693U 90061A 09102.32320099 -.00000143 00000-0 10000-3 0 9269 +2 20693 12.0243 36.3866 0004944 274.7069 85.1767 1.00266540 68587 SKYNET 4C -1 20776U 90079A 09101.68630008 .00000073 00000-0 00000+0 0 9145 -2 20776 9.7118 47.9827 0002801 326.5579 85.8453 1.00269466 68028 +1 20776U 90079A 09102.88478928 .00000074 00000-0 00000+0 0 9151 +2 20776 9.7144 47.9711 0002821 326.5048 158.5364 1.00269873 68034 EUTELSAT 2-F1 -1 20777U 90079B 09098.64366354 -.00000202 00000-0 10000-3 0 8753 -2 20777 9.0824 60.1983 0002146 167.0808 192.9271 0.99349850 48390 +1 20777U 90079B 09102.66950528 -.00000247 00000-0 10000-3 0 8752 +2 20777 9.0918 60.1501 0002019 166.0030 193.9585 0.99349654 48431 GALAXY 6 -1 20873U 90091B 09100.48037779 .00000110 00000-0 10000-3 0 2623 -2 20873 6.0094 69.4319 0000700 295.5387 64.4893 0.99755862 62170 +1 20873U 90091B 09102.48506328 .00000123 00000-0 10000-3 0 2631 +2 20873 6.0142 69.4067 0000578 314.7241 45.2664 0.99756514 62190 INMARSAT 2-F1 -1 20918U 90093A 09100.34311104 .00000103 00000-0 10000-3 0 3563 -2 20918 6.4557 55.8182 0003957 323.1065 161.2478 1.00270620 63996 +1 20918U 90093A 09102.29178251 .00000105 00000-0 10000-3 0 3598 +2 20918 6.4601 55.8019 0003950 325.1054 142.7045 1.00271622 64019 GSTAR 4 -1 20946U 90100B 09100.44463237 .00000068 00000-0 10000-3 0 2658 -2 20946 6.2004 69.2794 0004237 205.5438 154.4735 0.99139421 62066 +1 20946U 90100B 09102.46177134 .00000086 00000-0 10000-3 0 2661 +2 20946 6.2055 69.2531 0004239 208.5288 151.4506 0.99139776 62087 COSMOS 2133 -1 21111U 91010A 09100.35866634 -.00000103 00000-0 10000-3 0 1304 -2 21111 11.1305 42.5584 0004512 314.0570 45.8467 1.00285174 66508 +1 21111U 91010A 09102.35287332 -.00000102 00000-0 10000-3 0 1307 +2 21111 11.1344 42.5381 0004578 314.8090 45.0858 1.00285182 66520 INMARSAT 2-F2 -1 21149U 91018A 09102.23668963 -.00000142 00000-0 10000-3 0 4695 -2 21149 5.7729 56.0828 0004010 312.7886 178.9198 1.00271835 66303 +1 21149U 91018A 09103.31499336 -.00000141 00000-0 10000-3 0 4724 +2 21149 5.7754 56.0728 0004313 320.2031 200.7652 1.00271853 66312 TDRS 5 1 21639U 91054B 09101.49881197 .00000101 00000-0 10000-3 0 4270 2 21639 9.7082 56.3921 0010123 318.7207 196.5638 1.00272618 64791 ANIK E1 -1 21726U 91067A 09099.95001689 .00000040 00000-0 10000-3 0 1378 -2 21726 5.5942 71.4484 0006399 216.7612 143.2680 0.99167030 55026 +1 21726U 91067A 09102.97486706 .00000073 00000-0 10000-3 0 1378 +2 21726 5.6016 71.4094 0006398 216.8507 143.1146 0.99167404 55053 INTELSAT 601 (IS-601) -1 21765U 91075A 09099.99186795 .00000118 00000-0 10000-3 0 7558 -2 21765 4.3138 73.1790 0000752 341.0778 188.6568 1.00273746 63734 +1 21765U 91075A 09102.89281692 .00000122 00000-0 10000-3 0 7560 +2 21765 4.3203 73.1631 0001135 350.0022 146.9393 1.00271694 63765 EUTELSAT 2-F3 -1 21803U 91083A 09102.18885517 -.00000097 00000-0 10000-3 0 7001 -2 21803 8.2626 63.2401 0002086 278.0892 204.9087 0.99294355 59356 +1 21803U 91083A 09103.46502216 -.00000072 00000-0 10000-3 0 7019 +2 21803 8.2658 63.2249 0002300 279.3636 299.8428 0.99294412 59367 GALAXY 5 -1 21906U 92013A 09097.12007733 -.00000032 00000-0 10000-3 0 8901 -2 21906 4.0554 74.4135 0016429 275.6001 84.4423 0.99290288 54051 +1 21906U 92013A 09102.15506409 -.00000147 00000-0 10000-3 0 8913 +2 21906 4.0685 74.3423 0016182 276.9479 82.9440 0.99292020 54108 INMARSAT 2-F4 -1 21940U 92021B 09101.94880417 -.00000356 00000-0 10000-3 0 1814 -2 21940 4.3993 50.3043 0004428 305.6898 294.8310 1.00272736 62180 +1 21940U 92021B 09102.91845287 -.00000355 00000-0 10000-3 0 1839 +2 21940 4.4010 50.3007 0003282 318.9188 271.6361 1.00273164 62193 EUTELSAT 2-F4 -1 22028U 92041B 09100.38938979 -.00000010 00000-0 10000-3 0 1512 -2 22028 7.4526 66.4781 0003499 92.4648 267.5853 0.99075749 54049 +1 22028U 92041B 09102.40785633 .00000037 00000-0 10000-3 0 1523 +2 22028 7.4576 66.4526 0003413 88.7138 271.3062 0.99075470 54067 SATCOM C3 -1 22117U 92060B 09099.37348392 -.00000241 00000-0 10000-3 0 1091 -2 22117 4.2153 73.3282 0001278 334.5027 205.3184 1.00269871 60684 +1 22117U 92060B 09103.44809400 -.00000237 00000-0 10000-3 0 1092 +2 22117 4.2271 73.2663 0001804 11.2981 199.4713 1.00271972 60721 HELLAS SAT 1 (DFS 3) -1 22175U 92066A 09100.67801956 -.00000205 00000-0 10000-3 0 3538 -2 22175 6.7432 67.2994 0005912 269.8216 90.1261 0.99736697 58007 +1 22175U 92066A 09103.68567981 -.00000230 00000-0 10000-3 0 3548 +2 22175 6.7508 67.2590 0005830 274.8998 85.0148 0.99736434 58034 GORIZONT 27 -1 22245U 92082A 09098.13229330 -.00000126 00000-0 10000-3 0 4343 -2 22245 11.1258 45.6149 0014113 226.4810 133.3715 1.00229188 64247 +1 22245U 92082A 09103.12054950 -.00000127 00000-0 10000-3 0 4344 +2 22245 11.1362 45.5642 0014336 226.5528 133.2685 1.00229091 64297 COSMOS 2224 1 22269U 92088A 09098.60509719 -.00000073 00000-0 10000-3 0 5521 2 22269 10.2661 48.3479 0002243 72.1425 287.8116 1.00263054 59217 TDRS 6 -1 22314U 93003B 09098.49928645 .00000085 00000-0 10000-3 0 4532 -2 22314 9.0467 59.5198 0005916 316.0601 189.6803 1.00267102 59485 +1 22314U 93003B 09102.43445528 .00000089 00000-0 10000-3 0 4530 +2 22314 9.0568 59.4704 0006807 325.5126 160.7544 1.00268890 59528 ASTRA 1C -1 22653U 93031A 09100.83358022 .00000005 00000-0 10000-3 0 4012 -2 22653 2.4178 78.6251 0003971 293.9739 128.6486 1.00272106 53386 +1 22653U 93031A 09101.12422981 .00000006 00000-0 10000-3 0 4023 +2 22653 2.4186 78.6233 0003946 293.8242 233.7214 1.00272183 53387 INSAT-2B -1 22724U 93048B 09098.09985995 .00000065 00000-0 10000-3 0 2113 -2 22724 7.7539 64.3978 0011898 40.0334 320.0933 0.99978437 57815 +1 22724U 93048B 09102.10029998 .00000047 00000-0 10000-3 0 2124 +2 22724 7.7635 64.3477 0011959 39.5890 320.4747 0.99980015 57850 ACTS -1 22796U 93058B 09101.90004148 -.00000094 00000-0 10000-3 0 6353 -2 22796 9.2755 58.5993 0004014 330.8556 29.0768 1.00272938 63984 +1 22796U 93058B 09101.90004417 -.00000094 00000-0 10000-3 0 6363 +2 22796 9.2756 58.5990 0004013 330.8743 29.0594 1.00272941 63980 INTELSAT 701 (IS-701) -1 22871U 93066A 09098.65131713 .00000040 00000-0 10000-3 0 3450 -2 22871 0.0065 299.3333 0002684 69.8270 242.3265 1.00272245 56500 +1 22871U 93066A 09102.64480936 .00000048 00000-0 10000-3 0 3468 +2 22871 0.0219 206.7551 0002728 163.7203 242.6167 1.00273284 56546 GORIZONT 29 -1 22907U 93072A 09098.12436960 -.00000081 00000-0 10000-3 0 6472 -2 22907 10.6189 49.0487 0014286 207.5977 152.3020 1.00169685 56322 +1 22907U 93072A 09102.11730503 -.00000089 00000-0 10000-3 0 6486 +2 22907 10.6272 49.0123 0014230 207.7930 152.0647 1.00170015 56367 SOLIDARIDAD 1 -1 22911U 93073A 09099.90958502 -.00000122 00000-0 10000-3 0 1680 -2 22911 7.7394 64.3577 0000210 296.8741 63.1322 1.00273569 54974 +1 22911U 93073A 09102.90113089 -.00000119 00000-0 10000-3 0 1695 +2 22911 7.7467 64.3197 0000288 322.5225 37.4430 1.00273442 55001 METEOSAT-6 (MOP-3) -1 22912U 93073B 09101.84538997 -.00000023 00000-0 10000-3 0 117 -2 22912 8.2176 60.6668 0002207 298.3002 212.9964 1.00269025 54804 +1 22912U 93073B 09102.79346179 -.00000022 00000-0 10000-3 0 132 +2 22912 8.2199 60.6564 0002156 305.0521 188.4880 1.00269276 54812 NATO 4B -1 22921U 93076A 09100.49871244 .00000142 00000-0 10000-3 0 1476 -2 22921 7.6265 53.2652 0002982 304.2321 55.7087 1.00278022 56211 +1 22921U 93076A 09102.49301354 .00000144 00000-0 10000-3 0 1470 +2 22921 7.6322 53.2522 0005366 353.5876 6.2395 1.00269699 56237 THAICOM 1 -1 22931U 93078B 09101.79174394 -.00000368 00000-0 10000-3 0 3535 -2 22931 0.1670 63.8603 0001700 229.3920 311.9368 1.00272140 55653 +1 22931U 93078B 09102.81037669 -.00000367 00000-0 10000-3 0 3542 +2 22931 0.1688 64.1320 0001594 229.6219 319.1495 1.00271706 55666 GOES 8 -1 23051U 94022A 09099.80172091 -.00000190 00000-0 10000-3 0 7424 -2 23051 5.5773 74.5984 0007102 188.7824 171.2975 0.98905917 62047 +1 23051U 94022A 09102.83455839 -.00000125 00000-0 10000-3 0 7457 +2 23051 5.5851 74.5538 0006770 189.3597 170.6506 0.98904789 62075 INTELSAT 702 (IS-702) 1 23124U 94034A 09098.67053434 .00000073 00000-0 10000-3 0 1941 2 23124 0.0336 270.0650 0002596 109.5884 113.6288 1.00272139 68427 INTELSAT 2 (IS-2) -1 23175U 94040A 09098.61923596 -.00000042 00000-0 10000-3 0 4055 -2 23175 0.2815 85.9827 0002518 287.7392 215.2997 1.00272052 53337 +1 23175U 94040A 09102.54075912 -.00000035 00000-0 10000-3 0 4066 +2 23175 0.2959 86.2341 0002662 285.7280 192.6651 1.00271976 53378 BS-3N 1 23176U 94040B 09099.63534190 .00000000 00000-0 10000-3 0 9998 2 23176 0.0230 130.1365 0003024 250.8053 155.6007 1.00263528 53848 APSTAR 1 -1 23185U 94043A 09101.14408282 -.00000271 00000-0 10000-3 0 1592 -2 23185 4.2539 73.1846 0001134 291.1108 29.0563 1.00271663 53902 +1 23185U 94043A 09104.14619385 -.00000269 00000-0 10000-3 0 1613 +2 23185 4.2601 73.1268 0001084 300.1762 23.7597 1.00270566 53933 DIRECTV 2 (DBS 2) -1 23192U 94047A 09100.41485877 -.00000012 00000-0 10000-3 0 4381 -2 23192 2.2177 78.4815 0013479 197.8539 162.4554 0.98633163 63765 +1 23192U 94047A 09102.44211631 .00000030 00000-0 10000-3 0 4391 +2 23192 2.2230 78.4542 0013448 198.0743 162.1111 0.98632815 63789 BRASILSAT B1 -1 23199U 94049A 09100.27880956 -.00000278 00000-0 10000-3 0 2619 -2 23199 1.9885 79.3348 0002173 323.0057 188.6633 1.00269655 64597 +1 23199U 94049A 09102.38200384 -.00000275 00000-0 10000-3 0 2622 +2 23199 1.9937 79.3092 0002169 321.1543 229.7463 1.00268924 64614 OPTUS B3 -1 23227U 94055A 09098.31383914 -.00000087 00000-0 10000-3 0 3238 -2 23227 1.2739 80.4697 0004691 290.8632 102.3485 1.00272402 53508 +1 23227U 94055A 09102.45370166 -.00000079 00000-0 10000-3 0 3235 +2 23227 1.2856 80.4477 0004403 291.1352 156.5345 1.00272316 53542 NSS-703 -1 23305U 94064A 09099.59525991 .00000061 00000-0 10000-3 0 9225 -2 23305 0.0146 174.5755 0003164 203.9223 90.7550 1.00273758 53248 +1 23305U 94064A 09102.83014344 .00000066 00000-0 10000-3 0 9227 +2 23305 0.0219 161.0671 0003217 229.8669 166.0596 1.00272285 53271 SOLIDARIDAD 2 -1 23313U 94065A 09101.61973748 -.00000031 00000-0 10000-3 0 3175 -2 23313 1.0712 81.0009 0002312 295.1046 292.0437 1.00272522 53127 +1 23313U 94065A 09104.23008468 -.00000029 00000-0 10000-3 0 3193 +2 23313 1.0781 80.9617 0002432 310.7661 138.7328 1.00273391 53159 THAICOM 2 -1 23314U 94065B 09100.68236419 -.00000129 00000-0 10000-3 0 2402 -2 23314 0.1032 41.8410 0004076 258.5434 222.7774 1.00270996 53099 +1 23314U 94065B 09102.88746581 -.00000126 00000-0 10000-3 0 2410 +2 23314 0.1065 42.3786 0004093 258.0832 298.7070 1.00270908 53111 EXPRESS 1 -1 23319U 94067A 09100.75756215 -.00000284 00000-0 10000-3 0 6820 -2 23319 7.9425 63.6919 0000917 108.0903 251.9031 0.99828376 52942 +1 23319U 94067A 09101.75921706 -.00000282 00000-0 10000-3 0 6839 +2 23319 7.9455 63.6755 0002120 68.2589 291.7160 0.99827972 52955 ASTRA 1D 1 23331U 94070A 09101.00000000 .00000148 00000-0 00000+0 0 8938 2 23331 1.4660 79.1510 0002226 305.0040 206.5090 1.00271816 53363 RADUGA 32 -1 23448U 94087A 09100.39034453 -.00000091 00000-0 10000-3 0 1313 -2 23448 10.0805 53.1458 0004187 144.9622 215.0231 1.00283734 70000 +1 23448U 94087A 09102.38455384 -.00000090 00000-0 10000-3 0 1346 +2 23448 10.0851 53.1238 0004141 144.8778 215.0931 1.00283787 70025 INTELSAT 704 (IS-704) -1 23461U 95001A 09101.67055265 -.00000008 00000-0 10000-3 0 9294 -2 23461 0.0088 244.1552 0005166 127.2938 135.9636 1.00273107 52233 +1 23461U 95001A 09101.93448153 -.00000008 00000-0 10000-3 0 9307 +2 23461 0.0105 244.6527 0005142 128.8079 229.2252 1.00273093 52232 INTELSAT 705 (IS-705) 1 23528U 95013A 09100.91477079 -.00000290 00000-0 10000-3 0 8436 2 23528 0.0088 150.8330 0003185 239.7600 87.9600 1.00270105 51408 BRASILSAT B2 -1 23536U 95016A 09100.17128953 -.00000176 00000-0 00000+0 0 14 -2 23536 1.1631 83.0308 0002944 289.4916 155.6150 1.00269995 51463 +1 23536U 95016A 09103.47599113 -.00000173 00000-0 00000+0 0 28 +2 23536 1.1736 82.9437 0002260 318.7614 239.3939 1.00272605 51492 AMSC 1 -1 23553U 95019A 09100.43324491 -.00000120 00000-0 10000-3 0 1093 -2 23553 4.3456 73.2947 0002564 313.6898 226.4630 1.00272221 51274 +1 23553U 95019A 09103.48353532 -.00000117 00000-0 10000-3 0 1107 +2 23553 4.3507 73.2776 0002712 307.6187 253.6665 1.00271899 51304 INTELSAT 706 (IS-706) -1 23571U 95023A 09100.58411005 .00000057 00000-0 10000-3 0 9076 -2 23571 0.0314 264.2398 0025510 199.2094 0.6202 1.00401870 50892 +1 23571U 95023A 09103.48611111 .00000082 00000-0 10000-3 0 9100 +2 23571 0.0361 259.8536 0003399 137.1617 34.6394 1.00269479 50921 DIRECTV 3 (DBS 3) -1 23598U 95029A 09102.16089837 -.00000226 00000-0 10000-3 0 419 -2 23598 0.1189 88.7445 0002417 330.7517 116.9069 1.00271329 50635 +1 23598U 95029A 09103.31383897 -.00000225 00000-0 10000-3 0 420 +2 23598 0.1219 88.4842 0002350 331.2001 172.9144 1.00271161 50648 TDRS 7 1 23613U 95035B 09100.28391310 .00000115 00000-0 10000-3 0 4967 2 23613 10.8936 48.9351 0004150 335.5311 125.5126 1.00271274 50310 INTELSAT 4 (IS-4) -1 23636U 95040A 09101.66380000 -.00000064 00000-0 10000-3 0 9548 -2 23636 0.0642 80.8492 0003115 296.1813 133.9171 1.00272115 50105 +1 23636U 95040A 09102.73539381 -.00000063 00000-0 10000-3 0 9555 +2 23636 0.0663 80.8527 0003173 299.6747 157.2531 1.00272284 50112 COSMOS 2319 -1 23653U 95045A 09098.10693438 .00000039 00000-0 10000-3 0 9943 -2 23653 9.6951 55.4124 0002859 50.6620 309.3573 1.00274699 49826 +1 23653U 95045A 09102.09563342 .00000044 00000-0 10000-3 0 9954 +2 23653 9.7051 55.3671 0002840 49.3332 310.6396 1.00275850 49861 TELSTAR 4 (TELSTAR 402R) -1 23670U 95049A 09099.92356890 -.00000125 00000-0 10000-3 0 9144 -2 23670 5.1782 70.8593 0004638 232.7666 127.2725 1.00243388 49602 +1 23670U 95049A 09101.91846589 -.00000122 00000-0 10000-3 0 9110 +2 23670 5.1831 70.8345 0004679 232.9856 127.0029 1.00243266 49622 LUCH 1 -1 23680U 95054A 09101.40821124 -.00000118 00000-0 10000-3 0 7493 -2 23680 8.8144 64.2459 0007171 304.9193 54.9876 1.00273433 49477 +1 23680U 95054A 09101.40821133 -.00000118 00000-0 10000-3 0 7505 +2 23680 8.8144 64.2455 0007254 305.5753 54.3307 1.00273430 49474 ASTRA 1E 1 23686U 95055A 09101.00000000 .00000129 00000-0 00000+0 0 9889 2 23686 0.0680 164.0390 0002082 272.2080 146.5880 1.00266921 49436 ASIASAT 2 -1 23723U 95064A 09102.23331718 -.00000313 00000-0 10000-3 0 9106 -2 23723 0.0681 44.1741 0002553 329.6923 11.1731 1.00271968 48981 +1 23723U 95064A 09102.66204508 -.00000313 00000-0 10000-3 0 9110 +2 23723 0.0649 46.6405 0002533 327.8487 165.3175 1.00272116 48982 TELECOM 2C -1 23730U 95067A 09101.12004340 .00000013 00000-0 10000-3 0 884 -2 23730 5.0144 71.5536 0004034 293.0335 241.1374 1.00271192 48999 +1 23730U 95067A 09102.97034718 .00000015 00000-0 10000-3 0 893 +2 23730 5.0185 71.5319 0004293 297.5442 184.5798 1.00271667 49019 ECHOSTAR 1 -1 23754U 95073A 09099.26922113 .00000119 00000-0 10000-3 0 703 -2 23754 0.0582 81.9880 0002372 283.5904 140.9059 1.00274190 48494 +1 23754U 95073A 09102.59878751 .00000124 00000-0 10000-3 0 708 +2 23754 0.0669 74.7323 0002649 315.9539 237.6965 1.00272537 48520 INTELSAT 3R (IS-3R) 1 23764U 96002A 09093.90900823 -.00000287 00000-0 10000-3 0 6248 2 23764 0.0057 183.6313 0003630 182.2312 110.7007 1.00269361 48446 AFRICASAT-1 (MEASAT-1) -1 23765U 96002B 09101.68853436 .00000127 00000-0 10000-3 0 8201 -2 23765 1.4491 79.8660 0000812 358.0304 55.9790 1.00270677 48506 +1 23765U 96002B 09102.73359650 .00000128 00000-0 10000-3 0 8219 +2 23765 1.4515 79.8545 0000827 357.7326 73.5365 1.00271074 48518 KOREASAT 2 -1 23768U 96003A 09101.65807564 -.00000368 00000-0 10000-3 0 7356 -2 23768 2.1962 78.2350 0000424 344.9631 130.1971 1.00273956 48482 +1 23768U 96003A 09102.82094654 -.00000366 00000-0 10000-3 0 7363 +2 23768 2.1990 78.2171 0000543 359.0228 175.9409 1.00273284 48493 HGS-3 -1 23779U 96006A 09101.72819942 .00000148 00000-0 10000-3 0 1812 -2 23779 0.0532 118.7806 0002774 280.0263 101.4273 1.00273464 48267 +1 23779U 96006A 09102.94632659 .00000149 00000-0 10000-3 0 1827 +2 23779 0.0583 112.1698 0002755 287.2273 180.5768 1.00274265 48277 INTELSAT 707 (IS-707) -1 23816U 96015A 09100.41720841 -.00000293 00000-0 10000-3 0 8334 -2 23816 0.0214 161.7533 0003094 224.5489 269.6641 1.00271561 47890 +1 23816U 96015A 09103.36530722 -.00000289 00000-0 10000-3 0 8344 +2 23816 0.0237 206.8685 0003531 191.6235 241.6902 1.00270694 47923 INMARSAT 3-F1 -1 23839U 96020A 09100.73361709 .00000004 00000-0 10000-3 0 6803 -2 23839 0.2498 59.9894 0005411 312.7870 154.8639 1.00271861 47691 +1 23839U 96020A 09102.80336603 .00000007 00000-0 10000-3 0 6834 +2 23839 0.2571 60.8599 0005518 316.8451 177.0915 1.00272456 47712 ASTRA 1F 1 23842U 96021A 09101.00000000 .00000112 00000-0 00000+0 0 9722 2 23842 0.0310 218.6510 0004776 153.3080 206.5750 1.00264728 47604 MSAT M1 -1 23846U 96022A 09101.53453800 -.00000085 00000-0 10000-3 0 4523 -2 23846 1.6927 79.1179 0005895 301.8499 264.8354 1.00271702 47525 +1 23846U 96022A 09103.19952082 -.00000084 00000-0 10000-3 0 4533 +2 23846 1.6966 79.1157 0006102 303.1377 144.5890 1.00271888 47542 PALAPA C2 -1 23864U 96030A 09099.60135694 -.00000368 00000-0 10000-3 0 8500 -2 23864 0.0253 118.8837 0001899 297.6198 110.8516 1.00267047 47235 +1 23864U 96030A 09102.82394564 -.00000363 00000-0 10000-3 0 8518 +2 23864 0.0098 133.0844 0001574 265.9334 211.6967 1.00273126 47267 AMOS 1 -1 23865U 96030B 09101.74739520 -.00000021 00000-0 10000-3 0 652 -2 23865 0.7307 85.3104 0004312 287.9969 94.2740 1.00271891 47257 +1 23865U 96030B 09103.89615358 -.00000019 00000-0 10000-3 0 660 +2 23865 0.7365 85.1244 0004331 288.5226 149.6143 1.00272526 47278 GALAXY 9 (G-9) -1 23877U 96033A 09099.44250435 -.00000235 00000-0 10000-3 0 662 -2 23877 0.6079 81.2668 0001548 296.3279 258.5057 1.00269725 47171 +1 23877U 96033A 09103.48945359 -.00000229 00000-0 10000-3 0 683 +2 23877 0.6181 81.3059 0001501 322.2378 253.4445 1.00271027 47216 GORIZONT 32 -1 23880U 96034A 09101.91207959 -.00000118 00000-0 10000-3 0 1814 -2 23880 9.2803 57.2475 0002343 296.1968 161.5618 1.00272223 47174 +1 23880U 96034A 09103.02713580 -.00000117 00000-0 10000-3 0 1820 +2 23880 9.2828 57.2351 0002372 296.3967 203.8950 1.00272202 47184 INTELSAT 709 (IS-709) -1 23915U 96035A 09101.93047065 -.00000191 00000-0 10000-3 0 9219 -2 23915 0.0576 69.4697 0003527 337.0347 213.8590 1.00270965 46991 +1 23915U 96035A 09102.87911374 -.00000190 00000-0 10000-3 0 9226 +2 23915 0.0595 69.3688 0003528 335.9968 197.4457 1.00270925 47006 APSTAR 1A -1 23943U 96039A 09101.22431744 -.00000342 00000-0 10000-3 0 69 -2 23943 3.5617 74.6706 0001537 279.7091 55.9038 1.00275370 46797 +1 23943U 96039A 09102.71843622 -.00000341 00000-0 10000-3 0 87 +2 23943 3.5655 74.6473 0001508 279.1784 235.8351 1.00274996 46814 TURKSAT 1C 1 23949U 96040B 09099.88274038 .00000145 00000-0 10000-3 0 9931 2 23949 0.9966 79.4260 0003657 295.3134 172.2875 1.00275296 46717 TELECOM 2D -1 24209U 96044B 09101.15687922 -.00000070 00000-0 10000-3 0 8756 -2 24209 2.7375 76.6402 0004853 292.9142 238.5657 1.00272628 46540 +1 24209U 96044B 09104.09445146 -.00000068 00000-0 10000-3 0 8760 +2 24209 2.7508 76.6111 0005290 298.5474 213.4092 1.00274123 46571 INMARSAT 3-F2 -1 24307U 96053A 09101.90735998 -.00000129 00000-0 10000-3 0 7771 -2 24307 0.0820 14.2380 0005035 353.4196 143.7346 1.00272059 46127 +1 24307U 96053A 09103.00956275 -.00000128 00000-0 10000-3 0 7800 +2 24307 0.0855 14.7871 0005078 6.8020 167.6722 1.00271962 46133 ECHOSTAR 2 -1 24313U 96055A 09102.23165521 -.00000162 00000-0 10000-3 0 9876 -2 24313 0.7129 80.9113 0002162 260.7830 206.3526 1.00347898 46153 +1 24313U 96055A 09103.42411943 -.00000163 00000-0 10000-3 0 9882 +2 24313 0.7160 80.9211 0002187 261.7635 276.1568 1.00347898 46160 AMC-1 (GE-1) -1 24315U 96054A 09100.42534443 -.00000110 00000-0 10000-3 0 1111 -2 24315 0.0220 177.7327 0003424 189.3514 241.8011 1.00271496 46095 +1 24315U 96054A 09103.38087156 -.00000107 00000-0 10000-3 0 1120 +2 24315 0.0098 169.7795 0003378 201.3304 224.6931 1.00272288 46122 ARABSAT-2B -1 24652U 96063A 09098.99357709 .00000142 00000-0 10000-3 0 9708 -2 24652 0.0267 216.9088 0003636 181.4512 187.1208 1.00272904 45911 +1 24652U 96063A 09102.81547586 .00000149 00000-0 10000-3 0 9728 +2 24652 0.0264 216.3085 0004262 186.8617 121.9938 1.00275180 45959 MEASAT-2 -1 24653U 96063B 09098.62576553 -.00000230 00000-0 10000-3 0 9269 -2 24653 1.4007 80.0020 0000975 284.4357 205.8182 1.00269865 45471 +1 24653U 96063B 09103.19787179 -.00000222 00000-0 10000-3 0 9267 +2 24653 1.4120 79.8877 0001659 308.6895 32.1620 1.00272062 45515 EUROBIRD 9 -1 24665U 96067A 09100.96126565 .00000147 00000-0 10000-3 0 8480 -2 24665 0.1041 82.6386 0004162 284.5943 211.9072 1.00435929 45758 +1 24665U 96067A 09103.84355619 .00000147 00000-0 10000-3 0 8518 +2 24665 0.1107 82.1154 0003216 303.8896 155.2904 1.00436284 45782 INMARSAT 3-F3 -1 24674U 96070A 09100.49506051 .00000032 00000-0 10000-3 0 7442 -2 24674 0.1198 27.4851 0004084 352.7814 174.9198 1.00274592 45061 +1 24674U 96070A 09103.29473483 .00000036 00000-0 10000-3 0 7472 +2 24674 0.1299 37.0707 0004169 350.2996 98.4656 1.00274625 45097 AMC-2 (GE-2) -1 24713U 97002A 09102.22547552 -.00000120 00000-0 10000-3 0 8930 -2 24713 0.0564 98.2775 0002374 269.0276 173.3925 1.00271220 44687 +1 24713U 97002A 09103.35884044 -.00000119 00000-0 10000-3 0 8955 +2 24713 0.0605 91.3909 0002199 267.4850 230.9648 1.00271787 44692 NAHUEL 1A -1 24714U 97002B 09100.30351625 -.00000268 00000-0 10000-3 0 8676 -2 24714 1.5932 79.7794 0004921 298.2211 218.1670 1.00271112 44664 +1 24714U 97002B 09103.46326756 -.00000264 00000-0 10000-3 0 8691 +2 24714 1.6010 79.7335 0004916 298.3011 278.7472 1.00270135 44695 JCSAT 4 -1 24732U 97007A 09098.61659259 -.00000214 00000-0 10000-3 0 6236 -2 24732 0.0033 157.0153 0001582 212.6344 199.3244 1.00272380 44379 +1 24732U 97007A 09102.59308288 -.00000206 00000-0 10000-3 0 6244 +2 24732 0.0038 109.9234 0001517 255.5137 199.0055 1.00271798 44418 INTELSAT 801 (IS-801) 1 24742U 97009A 09100.99920260 -.00000231 00000-0 10000-3 0 6034 2 24742 0.5652 84.4766 0006241 308.9728 134.0666 1.00269562 44403 DIRECTV 6 (TEMPO 2) -1 24748U 97011A 09099.98280577 .00000056 00000-0 10000-3 0 374 -2 24748 3.0270 76.4194 0028286 159.8891 200.4679 0.99029612 44269 +1 24748U 97011A 09103.01166880 .00000068 00000-0 10000-3 0 377 +2 24748 3.0347 76.3807 0028241 160.0992 200.1311 0.99030265 44290 BSAT-1A -1 24769U 97016B 09100.79047633 -.00000357 00000-0 10000-3 0 8821 -2 24769 0.0570 52.1929 0001975 19.4142 161.7217 1.00271827 43924 +1 24769U 97016B 09102.68191929 -.00000355 00000-0 10000-3 0 8838 +2 24769 0.0601 53.7360 0002051 18.2761 124.0989 1.00270921 43949 GOES 10 -1 24786U 97019A 09100.35739424 -.00000290 00000-0 10000-3 0 8580 -2 24786 3.4640 75.4198 0004282 312.8393 238.8300 1.00258195 43827 +1 24786U 97019A 09102.35880009 -.00000287 00000-0 10000-3 0 8618 +2 24786 3.4686 75.3975 0004469 306.0915 247.9855 1.00257474 43848 DFH 3-2 -1 24798U 97021A 09100.37820792 -.00000305 00000-0 10000-3 0 6841 -2 24798 4.9046 71.7779 0010021 304.8351 55.1548 1.00363764 43657 +1 24798U 97021A 09101.37444578 -.00000305 00000-0 10000-3 0 6857 +2 24798 4.9070 71.7662 0010022 304.8615 55.0968 1.00363377 43665 THOR II 1 24808U 97025A 09101.12553292 .00000027 00000-0 10000-3 0 5882 2 24808 0.9192 82.1290 0001337 251.3475 276.2292 1.00266506 43573 GALAXY 25 (G-25) -1 24812U 97026A 09100.36734590 -.00000171 00000-0 10000-3 0 9071 -2 24812 0.0061 205.5617 0003019 171.6562 220.6261 1.00271067 43520 +1 24812U 97026A 09103.42571524 -.00000167 00000-0 10000-3 0 9083 +2 24812 0.0059 212.1530 0003032 161.7246 248.0080 1.00271634 43555 INMARSAT 3-F4 -1 24819U 97027A 09100.41720653 -.00000294 00000-0 10000-3 0 5207 -2 24819 0.1939 62.0687 0005270 320.4152 272.4976 1.00270471 43486 +1 24819U 97027A 09103.29222223 -.00000290 00000-0 10000-3 0 5246 +2 24819 0.1993 62.6196 0005008 331.2490 218.9353 1.00269670 43518 FENGYUN 2A -1 24834U 97029A 09100.44652933 -.00000058 00000-0 10000-3 0 3592 -2 24834 8.2229 63.3984 0094661 69.7606 291.2409 0.96050537 43110 +1 24834U 97029A 09102.52858705 -.00000092 00000-0 10000-3 0 3608 +2 24834 8.2281 63.3744 0094634 69.7961 291.1796 0.96051250 43139 INTELSAT 802 (IS-802) 1 24846U 97031A 09101.84246809 .00000150 00000-0 00000+0 0 7977 2 24846 0.0063 311.1673 0002402 69.7546 155.4337 1.00272435 43258 SUPERBIRD C -1 24880U 97036A 09098.32929157 -.00000265 00000-0 10000-3 0 5760 -2 24880 0.0174 159.3741 0001876 217.8869 81.9277 1.00269409 42... [truncated message content] |
From: <cs...@us...> - 2009-04-14 21:06:58
|
Revision: 268 http://gpredict.svn.sourceforge.net/gpredict/?rev=268&view=rev Author: csete Date: 2009-04-14 21:06:51 +0000 (Tue, 14 Apr 2009) Log Message: ----------- Reverted TLE updater to libcurl instead of GIO (was patch 2688135, see reason in comments). Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/README trunk/configure.ac trunk/src/sat-cfg.c trunk/src/sat-cfg.h trunk/src/sat-pref-tle.c trunk/src/tle-update.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-04-13 11:20:28 UTC (rev 267) +++ trunk/ChangeLog 2009-04-14 21:06:51 UTC (rev 268) @@ -1,3 +1,14 @@ +2009-04-14 Alexandru Csete <oz...@gm...> + + * configure.ac: + Require libcur 7.16.0 or later as mandatory dependency. + + * src/tle-update.c: + * src/sat-cfg.[ch]: + * src/sat-pref-tle.c: + Reverted TLE update to libcurl version. + + 2009-04-13 Alexandru Csete <oz...@gm...> * src/predict-tools.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2009-04-13 11:20:28 UTC (rev 267) +++ trunk/NEWS 2009-04-14 21:06:51 UTC (rev 268) @@ -20,8 +20,6 @@ - Fixed bug 2130914: Gpredict doesn't handle PTT. - Fixed bug 2170642: Small error in user manual. - Fixed bug 2750119: Unable to set the time correctly in Time Controller. -- Applied patch 2688135: Use GIO instead of libcurl for TLE download. - Note: This removes proxy management from gpredict. - Updated PDF user manual. - French translation. Modified: trunk/README =================================================================== --- trunk/README 2009-04-13 11:20:28 UTC (rev 267) +++ trunk/README 2009-04-14 21:06:51 UTC (rev 268) @@ -45,7 +45,7 @@ - Gtk+ 2.12 or later - GLib 2.16 or later -- Gio 2.16 or later (including gvfs) +- Libcurl 7.16.0 or later - GooCanvas 0.9 or later - Hamlib (runtime only, not required for build) Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2009-04-13 11:20:28 UTC (rev 267) +++ trunk/configure.ac 2009-04-14 21:06:51 UTC (rev 268) @@ -21,11 +21,12 @@ fi dnl check for glib, gtk, and goocanvas libraries -pkg_modules="gtk+-2.0 >= 2.12.0 glib-2.0 >= 2.16.0 gio-2.0 >= 2.16.0 gthread-2.0 >= 2.14.0 goocanvas >= 0.9" +pkg_modules="gtk+-2.0 >= 2.12.0 glib-2.0 >= 2.16.0 gthread-2.0 >= 2.14.0 goocanvas >= 0.9 libcurl >= 7.16.0" PKG_CHECK_MODULES(PACKAGE, [$pkg_modules]) AC_SUBST(PACKAGE_CFLAGS) AC_SUBST(PACKAGE_LIBS) + dnl Hamlib not needed if we go for the TCP based I/F dnl check for hamlib dnl PKG_CHECK_MODULES(HAMLIB, hamlib, [ @@ -65,6 +66,7 @@ GDK_V=`pkg-config --modversion gdk-2.0` GTK_V=`pkg-config --modversion gtk+-2.0` GOOC_V=`pkg-config --modversion goocanvas` +CURL_V=`pkg-config --modversion libcurl` dnl SQL_V=`pkg-config --modversion sqlite3` dnl if test "$havehamlib" = true ; then dnl HAML_V=`pkg-config --modversion hamlib` @@ -100,6 +102,7 @@ echo Gdk version........ : $GDK_V echo Gtk+ version....... : $GTK_V echo GooCanvas version.. : $GOOC_V +echo Liburl version..... : $CURL_V dnl echo SQLite version..... : $SQL_V dnl if test "$havehamlib" = true ; then dnl echo Hamlib version..... : $HAML_V Modified: trunk/src/sat-cfg.c =================================================================== --- trunk/src/sat-cfg.c 2009-04-13 11:20:28 UTC (rev 267) +++ trunk/src/sat-cfg.c 2009-04-14 21:06:51 UTC (rev 268) @@ -47,176 +47,178 @@ #define LIST_COLUMNS_DEFAULTS (SAT_LIST_FLAG_NAME |\ - SAT_LIST_FLAG_AZ |\ - SAT_LIST_FLAG_EL |\ - SAT_LIST_FLAG_RANGE |\ - SAT_LIST_FLAG_DIR |\ - SAT_LIST_FLAG_NEXT_EVENT |\ - SAT_LIST_FLAG_ALT |\ - SAT_LIST_FLAG_ORBIT) + SAT_LIST_FLAG_AZ |\ + SAT_LIST_FLAG_EL |\ + SAT_LIST_FLAG_RANGE |\ + SAT_LIST_FLAG_DIR |\ + SAT_LIST_FLAG_NEXT_EVENT |\ + SAT_LIST_FLAG_ALT |\ + SAT_LIST_FLAG_ORBIT) #define SINGLE_PASS_COL_DEFAULTS (SINGLE_PASS_FLAG_TIME |\ - SINGLE_PASS_FLAG_AZ |\ - SINGLE_PASS_FLAG_EL |\ - SINGLE_PASS_FLAG_RANGE |\ - SINGLE_PASS_FLAG_FOOTPRINT) + SINGLE_PASS_FLAG_AZ |\ + SINGLE_PASS_FLAG_EL |\ + SINGLE_PASS_FLAG_RANGE |\ + SINGLE_PASS_FLAG_FOOTPRINT) #define MULTI_PASS_COL_DEFAULTS (MULTI_PASS_FLAG_AOS_TIME |\ - MULTI_PASS_FLAG_LOS_TIME |\ - MULTI_PASS_FLAG_DURATION |\ - MULTI_PASS_FLAG_AOS_AZ |\ - MULTI_PASS_FLAG_MAX_EL |\ - MULTI_PASS_FLAG_LOS_AZ) + MULTI_PASS_FLAG_LOS_TIME |\ + MULTI_PASS_FLAG_DURATION |\ + MULTI_PASS_FLAG_AOS_AZ |\ + MULTI_PASS_FLAG_MAX_EL |\ + MULTI_PASS_FLAG_LOS_AZ) #define SINGLE_SAT_FIELD_DEF (SINGLE_SAT_FLAG_AZ |\ SINGLE_SAT_FLAG_EL |\ - SINGLE_SAT_FLAG_RANGE |\ - SINGLE_SAT_FLAG_RANGE_RATE |\ - SINGLE_SAT_FLAG_NEXT_EVENT |\ - SINGLE_SAT_FLAG_SSP |\ - SINGLE_SAT_FLAG_FOOTPRINT |\ - SINGLE_SAT_FLAG_ALT |\ - SINGLE_SAT_FLAG_VEL |\ - SINGLE_SAT_FLAG_DOPPLER |\ - SINGLE_SAT_FLAG_LOSS |\ - SINGLE_SAT_FLAG_DELAY |\ - SINGLE_SAT_FLAG_MA |\ - SINGLE_SAT_FLAG_PHASE |\ - SINGLE_SAT_FLAG_ORBIT |\ - SINGLE_SAT_FLAG_VISIBILITY) + SINGLE_SAT_FLAG_RANGE |\ + SINGLE_SAT_FLAG_RANGE_RATE |\ + SINGLE_SAT_FLAG_NEXT_EVENT |\ + SINGLE_SAT_FLAG_SSP |\ + SINGLE_SAT_FLAG_FOOTPRINT |\ + SINGLE_SAT_FLAG_ALT |\ + SINGLE_SAT_FLAG_VEL |\ + SINGLE_SAT_FLAG_DOPPLER |\ + SINGLE_SAT_FLAG_LOSS |\ + SINGLE_SAT_FLAG_DELAY |\ + SINGLE_SAT_FLAG_MA |\ + SINGLE_SAT_FLAG_PHASE |\ + SINGLE_SAT_FLAG_ORBIT |\ + SINGLE_SAT_FLAG_VISIBILITY) /** \brief Structure representing a boolean value */ typedef struct { - gchar *group; /*!< The configration group */ - gchar *key; /*!< The configuration key */ - gboolean defval; /*!< The default value */ + gchar *group; /*!< The configration group */ + gchar *key; /*!< The configuration key */ + gboolean defval; /*!< The default value */ } sat_cfg_bool_t; /** \brief Structure representing an integer value */ typedef struct { - gchar *group; /*!< The configration group */ - gchar *key; /*!< The configuration key */ - gint defval; /*!< The default value */ + gchar *group; /*!< The configration group */ + gchar *key; /*!< The configuration key */ + gint defval; /*!< The default value */ } sat_cfg_int_t; /** \brief Structure representing a string value */ typedef struct { - gchar *group; /*!< The configration group */ - gchar *key; /*!< The configuration key */ - gchar *defval; /*!< The default value */ + gchar *group; /*!< The configration group */ + gchar *key; /*!< The configuration key */ + gchar *defval; /*!< The default value */ } sat_cfg_str_t; /** \brief Array containing the boolean configuration values */ sat_cfg_bool_t sat_cfg_bool[SAT_CFG_BOOL_NUM] = { - { "GLOBAL", "USE_LOCAL_TIME", FALSE}, - { "GLOBAL", "USE_NSEW", FALSE}, - { "GLOBAL", "USE_IMPERIAL", FALSE}, - { "GLOBAL", "MAIN_WIN_POS", FALSE}, - { "GLOBAL", "MOD_WIN_POS", FALSE}, + { "GLOBAL", "USE_LOCAL_TIME", FALSE}, + { "GLOBAL", "USE_NSEW", FALSE}, + { "GLOBAL", "USE_IMPERIAL", FALSE}, + { "GLOBAL", "MAIN_WIN_POS", FALSE}, + { "GLOBAL", "MOD_WIN_POS", FALSE}, { "GLOBAL", "MOD_STATE", FALSE}, - { "MODULES", "RULES_HINT", TRUE}, - { "MODULES", "MAP_QTH_INFO", TRUE}, - { "MODULES", "MAP_NEXT_EVENT", TRUE}, - { "MODULES", "MAP_CURSOR_TRACK", FALSE}, - { "MODULES", "MAP_SHOW_GRID", FALSE}, - { "MODULES", "MAP_KEEP_RATIO", FALSE}, - { "MODULES", "POLAR_QTH_INFO", TRUE}, - { "MODULES", "POLAR_NEXT_EVENT", TRUE}, - { "MODULES", "POLAR_CURSOR_TRACK", TRUE}, + { "MODULES", "RULES_HINT", TRUE}, + { "MODULES", "MAP_QTH_INFO", TRUE}, + { "MODULES", "MAP_NEXT_EVENT", TRUE}, + { "MODULES", "MAP_CURSOR_TRACK", FALSE}, + { "MODULES", "MAP_SHOW_GRID", FALSE}, + { "MODULES", "MAP_KEEP_RATIO", FALSE}, + { "MODULES", "POLAR_QTH_INFO", TRUE}, + { "MODULES", "POLAR_NEXT_EVENT", TRUE}, + { "MODULES", "POLAR_CURSOR_TRACK", TRUE}, { "MODULES", "POLAR_EXTRA_AZ_TICKS", FALSE}, { "TLE", "SERVER_AUTH", FALSE}, + { "TLE", "PROXY_AUTH", FALSE}, { "TLE", "ADD_NEW_SATS", TRUE}, - { "LOG", "KEEP_LOG_FILES", FALSE}, + { "LOG", "KEEP_LOG_FILES", FALSE}, { "PREDICT", "USE_REAL_T0", FALSE} }; /** \brief Array containing the integer configuration parameters */ sat_cfg_int_t sat_cfg_int[SAT_CFG_INT_NUM] = { - { "MODULES", "DATA_TIMEOUT", 300}, - { "MODULES", "LAYOUT", GTK_SAT_MOD_LAYOUT_3}, - { "MODULES", "VIEW_1", GTK_SAT_MOD_VIEW_MAP}, - { "MODULES", "VIEW_2", GTK_SAT_MOD_VIEW_POLAR}, - { "MODULES", "VIEW_3", GTK_SAT_MOD_VIEW_SINGLE}, - { "GLOBAL", "WARP", 1}, - { "MODULES", "LIST_REFRESH", 1}, - { "MODULES", "LIST_COLUMNS", LIST_COLUMNS_DEFAULTS}, - { "MODULES", "MAP_REFRESH", 10}, - { "MODULES", "MAP_INFO_COLOUR", 0x00FF00FF}, - { "MODULES", "MAP_INFO_BGD_COLOUR", 0x000000FF}, - { "MODULES", "MAP_QTH_COLOUR", 0x00FFFFFF}, - { "MODULES", "MAP_SAT_COLOUR", 0xF0F000FF}, - { "MODULES", "MAP_SELECTED_SAT_COLOUR", 0xFFFFFFFF}, - { "MODULES", "MAP_COV_AREA_COLOUR", 0xFFFFFF1F}, - { "MODULES", "MAP_GRID_COLOUR", 0x7F7F7F7F}, - { "MODULES", "MAP_TICK_COLOUR", 0x7F7F7F7F}, - { "MODULES", "MAP_TRACK_COLOUR", 0x00FFFFFF}, - { "MODULES", "MAP_TRACK_NUM", 1}, - { "MODULES", "POLAR_REFRESH", 3}, - { "MODULES", "POLAR_CHART_ORIENT", POLAR_VIEW_NESW}, - { "MODULES", "POLAR_BGD_COLOUR", 0xFFFFFFFF}, - { "MODULES", "POLAR_AXIS_COLOUR", 0x0F0F0F7F}, - { "MODULES", "POLAR_TICK_COLOUR", 0x007F00FF}, - { "MODULES", "POLAR_SAT_COLOUR", 0x8F0000FF}, - { "MODULES", "POLAR_SELECTED_SAT_COL", 0xFF0D0BFF}, - { "MODULES", "POLAR_TRACK_COLOUR", 0x0000FFFF}, - { "MODULES", "POLAR_INFO_COLOUR", 0x00007FFF}, - { "MODULES", "SINGLE_SAT_REFRESH", 1}, - { "MODULES", "SINGLE_SAT_FIELDS", SINGLE_SAT_FIELD_DEF}, - { "PREDICT", "MINIMUM_ELEV", 5}, - { "PREDICT", "NUMBER_OF_PASSES", 10}, - { "PREDICT", "LOOK_AHEAD", 3}, - { "PREDICT", "TIME_RESOLUTION", 10}, - { "PREDICT", "NUMBER_OF_ENTRIES", 20}, - { "PREDICT", "SINGLE_PASS_COL", SINGLE_PASS_COL_DEFAULTS}, - { "PREDICT", "MULTI_PASS_COL", MULTI_PASS_COL_DEFAULTS}, - { "PREDICT", "SAVE_FORMAT", 0}, - { "PREDICT", "SAVE_CONTENTS", 0}, + { "MODULES", "DATA_TIMEOUT", 300}, + { "MODULES", "LAYOUT", GTK_SAT_MOD_LAYOUT_3}, + { "MODULES", "VIEW_1", GTK_SAT_MOD_VIEW_MAP}, + { "MODULES", "VIEW_2", GTK_SAT_MOD_VIEW_POLAR}, + { "MODULES", "VIEW_3", GTK_SAT_MOD_VIEW_SINGLE}, + { "GLOBAL", "WARP", 1}, + { "MODULES", "LIST_REFRESH", 1}, + { "MODULES", "LIST_COLUMNS", LIST_COLUMNS_DEFAULTS}, + { "MODULES", "MAP_REFRESH", 10}, + { "MODULES", "MAP_INFO_COLOUR", 0x00FF00FF}, + { "MODULES", "MAP_INFO_BGD_COLOUR", 0x000000FF}, + { "MODULES", "MAP_QTH_COLOUR", 0x00FFFFFF}, + { "MODULES", "MAP_SAT_COLOUR", 0xF0F000FF}, + { "MODULES", "MAP_SELECTED_SAT_COLOUR", 0xFFFFFFFF}, + { "MODULES", "MAP_COV_AREA_COLOUR", 0xFFFFFF1F}, + { "MODULES", "MAP_GRID_COLOUR", 0x7F7F7F7F}, + { "MODULES", "MAP_TICK_COLOUR", 0x7F7F7F7F}, + { "MODULES", "MAP_TRACK_COLOUR", 0x00FFFFFF}, + { "MODULES", "MAP_TRACK_NUM", 1}, + { "MODULES", "POLAR_REFRESH", 3}, + { "MODULES", "POLAR_CHART_ORIENT", POLAR_VIEW_NESW}, + { "MODULES", "POLAR_BGD_COLOUR", 0xFFFFFFFF}, + { "MODULES", "POLAR_AXIS_COLOUR", 0x0F0F0F7F}, + { "MODULES", "POLAR_TICK_COLOUR", 0x007F00FF}, + { "MODULES", "POLAR_SAT_COLOUR", 0x8F0000FF}, + { "MODULES", "POLAR_SELECTED_SAT_COL", 0xFF0D0BFF}, + { "MODULES", "POLAR_TRACK_COLOUR", 0x0000FFFF}, + { "MODULES", "POLAR_INFO_COLOUR", 0x00007FFF}, + { "MODULES", "SINGLE_SAT_REFRESH", 1}, + { "MODULES", "SINGLE_SAT_FIELDS", SINGLE_SAT_FIELD_DEF}, + { "PREDICT", "MINIMUM_ELEV", 5}, + { "PREDICT", "NUMBER_OF_PASSES", 10}, + { "PREDICT", "LOOK_AHEAD", 3}, + { "PREDICT", "TIME_RESOLUTION", 10}, + { "PREDICT", "NUMBER_OF_ENTRIES", 20}, + { "PREDICT", "SINGLE_PASS_COL", SINGLE_PASS_COL_DEFAULTS}, + { "PREDICT", "MULTI_PASS_COL", MULTI_PASS_COL_DEFAULTS}, + { "PREDICT", "SAVE_FORMAT", 0}, + { "PREDICT", "SAVE_CONTENTS", 0}, { "PREDICT", "TWILIGHT_THRESHOLD", -6}, - { "SKY_AT_GLANCE", "TIME_SPAN_HOURS", 8}, - { "SKY_AT_GLANCE", "COLOUR_01", 0x3c46c8}, - { "SKY_AT_GLANCE", "COLOUR_02", 0x00500a}, - { "SKY_AT_GLANCE", "COLOUR_03", 0xd5472b}, - { "SKY_AT_GLANCE", "COLOUR_04", 0xd06b38}, - { "SKY_AT_GLANCE", "COLOUR_05", 0xcf477a}, - { "SKY_AT_GLANCE", "COLOUR_06", 0xbf041f}, - { "SKY_AT_GLANCE", "COLOUR_07", 0x04bf20}, - { "SKY_AT_GLANCE", "COLOUR_08", 0x0420bf}, - { "SKY_AT_GLANCE", "COLOUR_09", 0xa304bf}, - { "SKY_AT_GLANCE", "COLOUR_10", 0x04bdbf}, - { "GLOBAL", "WINDOW_POS_X", 0}, - { "GLOBAL", "WINDOW_POS_Y", 0}, - { "GLOBAL", "WINDOW_WIDTH", 700}, - { "GLOBAL", "WINDOW_HEIGHT", 700}, - { "GLOBAL", "HTML_BROWSER_TYPE", 0}, - { "TLE", "AUTO_UPDATE_FREQ", 2}, - { "TLE", "AUTO_UPDATE_ACTION", 1}, - { "TLE", "LAST_UPDATE", 0}, - { "LOG", "CLEAN_AGE", 0}, /* 0 = Never clean */ - { "LOG", "LEVEL", 4} + { "SKY_AT_GLANCE", "TIME_SPAN_HOURS", 8}, + { "SKY_AT_GLANCE", "COLOUR_01", 0x3c46c8}, + { "SKY_AT_GLANCE", "COLOUR_02", 0x00500a}, + { "SKY_AT_GLANCE", "COLOUR_03", 0xd5472b}, + { "SKY_AT_GLANCE", "COLOUR_04", 0xd06b38}, + { "SKY_AT_GLANCE", "COLOUR_05", 0xcf477a}, + { "SKY_AT_GLANCE", "COLOUR_06", 0xbf041f}, + { "SKY_AT_GLANCE", "COLOUR_07", 0x04bf20}, + { "SKY_AT_GLANCE", "COLOUR_08", 0x0420bf}, + { "SKY_AT_GLANCE", "COLOUR_09", 0xa304bf}, + { "SKY_AT_GLANCE", "COLOUR_10", 0x04bdbf}, + { "GLOBAL", "WINDOW_POS_X", 0}, + { "GLOBAL", "WINDOW_POS_Y", 0}, + { "GLOBAL", "WINDOW_WIDTH", 700}, + { "GLOBAL", "WINDOW_HEIGHT", 700}, + { "GLOBAL", "HTML_BROWSER_TYPE", 0}, + { "TLE", "AUTO_UPDATE_FREQ", 2}, + { "TLE", "AUTO_UPDATE_ACTION", 1}, + { "TLE", "LAST_UPDATE", 0}, + { "LOG", "CLEAN_AGE", 0}, /* 0 = Never clean */ + { "LOG", "LEVEL", 4} }; /** \brief Array containing the string configuration values */ sat_cfg_str_t sat_cfg_str[SAT_CFG_STR_NUM] = { - { "GLOBAL", "TIME_FORMAT", "%Y/%m/%d %H:%M:%S"}, - { "GLOBAL", "DEFAULT_QTH", "sample.qth"}, - { "GLOBAL", "OPEN_MODULES", "Amateur"}, - { "GLOBAL", "HTML_BROWSER", NULL}, - { "MODULES", "MAP_FILE", "nasa-topo_800.png"}, - { "MODULES", "MAP_FONT", "Sans 10"}, - { "MODULES", "POLAR_FONT", "Sans 10"}, - { "TLE", "SERVER", "http://www.celestrak.com/NORAD/elements/"}, - { "TLE", "FILES", "amateur.txt;cubesat.txt;galileo.txt;geo.txt;gps-ops.txt;"\ - "iridium.txt;military.txt;radar.txt;science.txt;weather.txt"}, - { "TLE", "FILE_DIR", NULL}, - { "TLE", "EXTENSION", "*.*"}, - { "PREDICT", "SAVE_DIR", NULL} + { "GLOBAL", "TIME_FORMAT", "%Y/%m/%d %H:%M:%S"}, + { "GLOBAL", "DEFAULT_QTH", "sample.qth"}, + { "GLOBAL", "OPEN_MODULES", "Amateur"}, + { "GLOBAL", "HTML_BROWSER", NULL}, + { "MODULES", "MAP_FILE", "nasa-topo_800.png"}, + { "MODULES", "MAP_FONT", "Sans 10"}, + { "MODULES", "POLAR_FONT", "Sans 10"}, + { "TLE", "SERVER", "http://www.celestrak.com/NORAD/elements/"}, + { "TLE", "FILES", "amateur.txt;cubesat.txt;galileo.txt;geo.txt;gps-ops.txt;"\ + "iridium.txt;military.txt;radar.txt;science.txt;weather.txt"}, + { "TLE", "PROXY", NULL}, + { "TLE", "FILE_DIR", NULL}, + { "TLE", "EXTENSION", "*.*"}, + { "PREDICT", "SAVE_DIR", NULL} }; @@ -239,42 +241,42 @@ guint sat_cfg_load () { - gchar *keyfile; - GError *error = NULL; + gchar *keyfile; + GError *error = NULL; - if (config != NULL) - sat_cfg_close (); + if (config != NULL) + sat_cfg_close (); - /* load the configuration file */ - config = g_key_file_new (); - keyfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, - ".gpredict2", G_DIR_SEPARATOR_S, - "gpredict.cfg", NULL); + /* load the configuration file */ + config = g_key_file_new (); + keyfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, + ".gpredict2", G_DIR_SEPARATOR_S, + "gpredict.cfg", NULL); - g_key_file_load_from_file (config, keyfile, G_KEY_FILE_KEEP_COMMENTS, &error); + g_key_file_load_from_file (config, keyfile, G_KEY_FILE_KEEP_COMMENTS, &error); - g_free (keyfile); + g_free (keyfile); - if (error != NULL) { + if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_WARN, - _("%s: Error reading config file (%s)"), - __FUNCTION__, error->message); + sat_log_log (SAT_LOG_LEVEL_WARN, + _("%s: Error reading config file (%s)"), + __FUNCTION__, error->message); - sat_log_log (SAT_LOG_LEVEL_WARN, - _("%s: Using built-in defaults"), - __FUNCTION__); + sat_log_log (SAT_LOG_LEVEL_WARN, + _("%s: Using built-in defaults"), + __FUNCTION__); - g_clear_error (&error); + g_clear_error (&error); - return 1; - } - else { - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Everything OK."), __FUNCTION__); - } - - return 0; + return 1; + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Everything OK."), __FUNCTION__); + } + + return 0; } @@ -287,84 +289,84 @@ guint sat_cfg_save () { - gsize length; - gsize written; - GError *error = NULL; - gchar *cfgstr; - gchar *keyfile; - GIOChannel *cfgfile; - guint err = 0; + gsize length; + gsize written; + GError *error = NULL; + gchar *cfgstr; + gchar *keyfile; + GIOChannel *cfgfile; + guint err = 0; - /* convert configuration data struct to charachter string */ - cfgstr = g_key_file_to_data (config, &length, &error); + /* convert configuration data struct to charachter string */ + cfgstr = g_key_file_to_data (config, &length, &error); - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Could not create config data (%s)."), - __FUNCTION__, error->message); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Could not create config data (%s)."), + __FUNCTION__, error->message); - g_clear_error (&error); + g_clear_error (&error); - err = 1; - } - else { + err = 1; + } + else { - /* create and open a file for writing */ - keyfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, - ".gpredict2", G_DIR_SEPARATOR_S, - "gpredict.cfg", NULL); - cfgfile = g_io_channel_new_file (keyfile, "w", &error); - g_free (keyfile); + /* create and open a file for writing */ + keyfile = g_strconcat (g_get_home_dir (), G_DIR_SEPARATOR_S, + ".gpredict2", G_DIR_SEPARATOR_S, + "gpredict.cfg", NULL); + cfgfile = g_io_channel_new_file (keyfile, "w", &error); + g_free (keyfile); - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Could not create config file (%s)."), - __FUNCTION__, error->message); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Could not create config file (%s)."), + __FUNCTION__, error->message); - g_clear_error (&error); + g_clear_error (&error); - err = 1; - } - else { - g_io_channel_write_chars (cfgfile, - cfgstr, - length, - &written, - &error); + err = 1; + } + else { + g_io_channel_write_chars (cfgfile, + cfgstr, + length, + &written, + &error); - g_io_channel_shutdown (cfgfile, TRUE, NULL); - g_io_channel_unref (cfgfile); + g_io_channel_shutdown (cfgfile, TRUE, NULL); + g_io_channel_unref (cfgfile); - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Error writing config data (%s)."), - __FUNCTION__, error->message); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Error writing config data (%s)."), + __FUNCTION__, error->message); - g_clear_error (&error); + g_clear_error (&error); - err = 1; - } - else if (length != written) { - sat_log_log (SAT_LOG_LEVEL_WARN, - _("%s: Wrote only %d out of %d chars."), - __FUNCTION__, written, length); + err = 1; + } + else if (length != written) { + sat_log_log (SAT_LOG_LEVEL_WARN, + _("%s: Wrote only %d out of %d chars."), + __FUNCTION__, written, length); - err = 1; - } - else { - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Configuration saved."), - __FUNCTION__); + err = 1; + } + else { + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Configuration saved."), + __FUNCTION__); - err = 0; - } - } + err = 0; + } + } - g_free (cfgstr); - } + g_free (cfgstr); + } - return err; + return err; } @@ -379,10 +381,10 @@ void sat_cfg_close () { - if (config != NULL) { - g_key_file_free (config); - config = NULL; - } + if (config != NULL) { + g_key_file_free (config); + config = NULL; + } } @@ -390,60 +392,59 @@ gboolean sat_cfg_get_bool (sat_cfg_bool_e param) { - gboolean value = FALSE; - GError *error = NULL; + gboolean value = FALSE; + GError *error = NULL; - if (param < SAT_CFG_BOOL_NUM) { - - if (config == NULL) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module not initialised\n"), - __FUNCTION__); + if (param < SAT_CFG_BOOL_NUM) { + + if (config == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module not initialised\n"), + __FUNCTION__); - /* return default value */ - value = sat_cfg_bool[param].defval; - } - else { - /* fetch value */ - value = g_key_file_get_boolean (config, - sat_cfg_bool[param].group, - sat_cfg_bool[param].key, - &error); + /* return default value */ + value = sat_cfg_bool[param].defval; + } + else { + /* fetch value */ + value = g_key_file_get_boolean (config, + sat_cfg_bool[param].group, + sat_cfg_bool[param].key, + &error); - if (error != NULL) { - g_clear_error (&error); + if (error != NULL) { + g_clear_error (&error); - value = sat_cfg_bool[param].defval; - } - } + value = sat_cfg_bool[param].defval; + } + } - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Unknown BOOL param index (%d)\n"), - __FUNCTION__, param); - } + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Unknown BOOL param index (%d)\n"), + __FUNCTION__, param); + } - return value; + return value; } /** \brief Get default value of boolean parameter */ gboolean sat_cfg_get_bool_def (sat_cfg_bool_e param) { - gboolean value = FALSE; + gboolean value = FALSE; - if (param < SAT_CFG_BOOL_NUM) { - value = sat_cfg_bool[param].defval; - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Unknown BOOL param index (%d)\n"), - __FUNCTION__, param); - } + if (param < SAT_CFG_BOOL_NUM) { + value = sat_cfg_bool[param].defval; + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Unknown BOOL param index (%d)\n"), + __FUNCTION__, param); + } - - return value; + return value; } /** \brief Store a boolean configuration value. @@ -457,52 +458,52 @@ sat_cfg_set_bool (sat_cfg_bool_e param, gboolean value) { - if (param < SAT_CFG_BOOL_NUM) { - - if (config == NULL) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module not initialised\n"), - __FUNCTION__); - } - else { - g_key_file_set_boolean (config, - sat_cfg_bool[param].group, - sat_cfg_bool[param].key, - value); - } + if (param < SAT_CFG_BOOL_NUM) { + + if (config == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module not initialised\n"), + __FUNCTION__); + } + else { + g_key_file_set_boolean (config, + sat_cfg_bool[param].group, + sat_cfg_bool[param].key, + value); + } - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Unknown BOOL param index (%d)\n"), - __FUNCTION__, param); - } + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Unknown BOOL param index (%d)\n"), + __FUNCTION__, param); + } } void sat_cfg_reset_bool (sat_cfg_bool_e param) { - if (param < SAT_CFG_BOOL_NUM) { - - if (config == NULL) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module not initialised\n"), - __FUNCTION__); - } - else { - g_key_file_remove_key (config, - sat_cfg_bool[param].group, - sat_cfg_bool[param].key, - NULL); - } + if (param < SAT_CFG_BOOL_NUM) { + + if (config == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module not initialised\n"), + __FUNCTION__); + } + else { + g_key_file_remove_key (config, + sat_cfg_bool[param].group, + sat_cfg_bool[param].key, + NULL); + } - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Unknown BOOL param index (%d)\n"), - __FUNCTION__, param); - } + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Unknown BOOL param index (%d)\n"), + __FUNCTION__, param); + } } @@ -513,43 +514,43 @@ gchar * sat_cfg_get_str (sat_cfg_str_e param) { - gchar *value; - GError *error = NULL; + gchar *value; + GError *error = NULL; - if (param < SAT_CFG_STR_NUM) { - - if (config == NULL) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module not initialised\n"), - __FUNCTION__); + if (param < SAT_CFG_STR_NUM) { + + if (config == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module not initialised\n"), + __FUNCTION__); - /* return default value */ - value = g_strdup (sat_cfg_str[param].defval); - } - else { - /* fetch value */ - value = g_key_file_get_string (config, - sat_cfg_str[param].group, - sat_cfg_str[param].key, - &error); + /* return default value */ + value = g_strdup (sat_cfg_str[param].defval); + } + else { + /* fetch value */ + value = g_key_file_get_string (config, + sat_cfg_str[param].group, + sat_cfg_str[param].key, + &error); - if (error != NULL) { - g_clear_error (&error); + if (error != NULL) { + g_clear_error (&error); - value = g_strdup (sat_cfg_str[param].defval); - } - } + value = g_strdup (sat_cfg_str[param].defval); + } + } - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Unknown STR param index (%d)\n"), - __FUNCTION__, param); + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Unknown STR param index (%d)\n"), + __FUNCTION__, param); - value = g_strdup ("ERROR"); - } + value = g_strdup ("ERROR"); + } - return value; + return value; } /** \brief Get default value of string parameter @@ -559,21 +560,20 @@ gchar * sat_cfg_get_str_def (sat_cfg_str_e param) { - gchar *value; + gchar *value; - if (param < SAT_CFG_STR_NUM) { - value = g_strdup (sat_cfg_str[param].defval); - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Unknown STR param index (%d)\n"), - __FUNCTION__, param); + if (param < SAT_CFG_STR_NUM) { + value = g_strdup (sat_cfg_str[param].defval); + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Unknown STR param index (%d)\n"), + __FUNCTION__, param); - value = g_strdup ("ERROR"); - } + value = g_strdup ("ERROR"); + } - - return value; + return value; } /** \brief Store a str configuration value. @@ -582,35 +582,35 @@ sat_cfg_set_str (sat_cfg_str_e param, const gchar *value) { - if (param < SAT_CFG_STR_NUM) { - - if (config == NULL) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module not initialised\n"), - __FUNCTION__); - } - else { - if (value) { - g_key_file_set_string (config, - sat_cfg_str[param].group, - sat_cfg_str[param].key, - value); - } - else { - /* remove key from config */ - g_key_file_remove_key (config, - sat_cfg_str[param].group, - sat_cfg_str[param].key, - NULL); - } - } + if (param < SAT_CFG_STR_NUM) { + + if (config == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module not initialised\n"), + __FUNCTION__); + } + else { + if (value) { + g_key_file_set_string (config, + sat_cfg_str[param].group, + sat_cfg_str[param].key, + value); + } + else { + /* remove key from config */ + g_key_file_remove_key (config, + sat_cfg_str[param].group, + sat_cfg_str[param].key, + NULL); + } + } - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Unknown STR param index (%d)\n"), - __FUNCTION__, param); - } + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Unknown STR param index (%d)\n"), + __FUNCTION__, param); + } } @@ -618,136 +618,136 @@ sat_cfg_reset_str (sat_cfg_str_e param) { - if (param < SAT_CFG_STR_NUM) { - - if (config == NULL) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module not initialised\n"), - __FUNCTION__); - } - else { - g_key_file_remove_key (config, - sat_cfg_str[param].group, - sat_cfg_str[param].key, - NULL); - } + if (param < SAT_CFG_STR_NUM) { + + if (config == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module not initialised\n"), + __FUNCTION__); + } + else { + g_key_file_remove_key (config, + sat_cfg_str[param].group, + sat_cfg_str[param].key, + NULL); + } - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Unknown STR param index (%d)\n"), - __FUNCTION__, param); - } + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Unknown STR param index (%d)\n"), + __FUNCTION__, param); + } } gint sat_cfg_get_int (sat_cfg_int_e param) { - gint value = 0; - GError *error = NULL; + gint value = 0; + GError *error = NULL; - if (param < SAT_CFG_INT_NUM) { - - if (config == NULL) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module not initialised\n"), - __FUNCTION__); + if (param < SAT_CFG_INT_NUM) { + + if (config == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module not initialised\n"), + __FUNCTION__); - /* return default value */ - value = sat_cfg_int[param].defval; - } - else { - /* fetch value */ - value = g_key_file_get_integer (config, - sat_cfg_int[param].group, - sat_cfg_int[param].key, - &error); + /* return default value */ + value = sat_cfg_int[param].defval; + } + else { + /* fetch value */ + value = g_key_file_get_integer (config, + sat_cfg_int[param].group, + sat_cfg_int[param].key, + &error); - if (error != NULL) { - g_clear_error (&error); + if (error != NULL) { + g_clear_error (&error); - value = sat_cfg_int[param].defval; - } - } + value = sat_cfg_int[param].defval; + } + } - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Unknown INT param index (%d)\n"), - __FUNCTION__, param); - } + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Unknown INT param index (%d)\n"), + __FUNCTION__, param); + } - return value; + return value; } gint sat_cfg_get_int_def (sat_cfg_int_e param) { - gint value = 0; + gint value = 0; - if (param < SAT_CFG_INT_NUM) { - value = sat_cfg_int[param].defval; - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Unknown INT param index (%d)\n"), - __FUNCTION__, param); - } + if (param < SAT_CFG_INT_NUM) { + value = sat_cfg_int[param].defval; + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Unknown INT param index (%d)\n"), + __FUNCTION__, param); + } - return value; + return value; } void sat_cfg_set_int (sat_cfg_int_e param, gint value) { - if (param < SAT_CFG_INT_NUM) { - - if (config == NULL) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module not initialised\n"), - __FUNCTION__); - } - else { - g_key_file_set_integer (config, - sat_cfg_int[param].group, - sat_cfg_int[param].key, - value); - } + if (param < SAT_CFG_INT_NUM) { + + if (config == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module not initialised\n"), + __FUNCTION__); + } + else { + g_key_file_set_integer (config, + sat_cfg_int[param].group, + sat_cfg_int[param].key, + value); + } - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Unknown INT param index (%d)\n"), - __FUNCTION__, param); - } + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Unknown INT param index (%d)\n"), + __FUNCTION__, param); + } } void sat_cfg_reset_int (sat_cfg_int_e param) { - if (param < SAT_CFG_INT_NUM) { - - if (config == NULL) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Module not initialised\n"), - __FUNCTION__); - } - else { - g_key_file_remove_key (config, - sat_cfg_int[param].group, - sat_cfg_int[param].key, - NULL); - } + if (param < SAT_CFG_INT_NUM) { + + if (config == NULL) { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Module not initialised\n"), + __FUNCTION__); + } + else { + g_key_file_remove_key (config, + sat_cfg_int[param].group, + sat_cfg_int[param].key, + NULL); + } - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Unknown INT param index (%d)\n"), - __FUNCTION__, param); - } + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Unknown INT param index (%d)\n"), + __FUNCTION__, param); + } } Modified: trunk/src/sat-cfg.h =================================================================== --- trunk/src/sat-cfg.h 2009-04-13 11:20:28 UTC (rev 267) +++ trunk/src/sat-cfg.h 2009-04-14 21:06:51 UTC (rev 268) @@ -35,113 +35,115 @@ /** \brief Symbolic references for boolean config values. */ typedef enum { - SAT_CFG_BOOL_USE_LOCAL_TIME = 0, /*!< Display local time instead of UTC. */ - SAT_CFG_BOOL_USE_NSEW, /*!< Use N, S, E and W instead of sign */ - SAT_CFG_BOOL_USE_IMPERIAL, /*!< Use Imperial units instead of Metric */ - SAT_CFG_BOOL_MAIN_WIN_POS, /*!< Restore position of main window */ - SAT_CFG_BOOL_MOD_WIN_POS, /*!< Restore size and position of module windows */ + SAT_CFG_BOOL_USE_LOCAL_TIME = 0, /*!< Display local time instead of UTC. */ + SAT_CFG_BOOL_USE_NSEW, /*!< Use N, S, E and W instead of sign */ + SAT_CFG_BOOL_USE_IMPERIAL, /*!< Use Imperial units instead of Metric */ + SAT_CFG_BOOL_MAIN_WIN_POS, /*!< Restore position of main window */ + SAT_CFG_BOOL_MOD_WIN_POS, /*!< Restore size and position of module windows */ SAT_CFG_BOOL_MOD_STATE, /*!< Restore module state */ - SAT_CFG_BOOL_RULES_HINT, /*!< Enable rules hint in GtkSatList. */ - SAT_CFG_BOOL_MAP_SHOW_QTH_INFO, /*!< Show QTH info on map */ - SAT_CFG_BOOL_MAP_SHOW_NEXT_EV, /*!< Show next event on map */ - SAT_CFG_BOOL_MAP_SHOW_CURS_TRACK, /*!< Track mouse cursor on map. */ - SAT_CFG_BOOL_MAP_SHOW_GRID, /*!< Show grid on map. */ - SAT_CFG_BOOL_MAP_KEEP_RATIO, /*!< Keep original aspect ratio */ - SAT_CFG_BOOL_POL_SHOW_QTH_INFO, /*!< Show QTH info on polar plot */ - SAT_CFG_BOOL_POL_SHOW_NEXT_EV, /*!< Show next event on polar plot */ - SAT_CFG_BOOL_POL_SHOW_CURS_TRACK, /*!< Track mouse cursor on polar plot. */ - SAT_CFG_BOOL_POL_SHOW_EXTRA_AZ_TICKS, /*!< Extra Az ticks at every 30 deg. */ - SAT_CFG_BOOL_TLE_SERVER_AUTH, /*!< TLE server requires authentication. */ + SAT_CFG_BOOL_RULES_HINT, /*!< Enable rules hint in GtkSatList. */ + SAT_CFG_BOOL_MAP_SHOW_QTH_INFO, /*!< Show QTH info on map */ + SAT_CFG_BOOL_MAP_SHOW_NEXT_EV, /*!< Show next event on map */ + SAT_CFG_BOOL_MAP_SHOW_CURS_TRACK, /*!< Track mouse cursor on map. */ + SAT_CFG_BOOL_MAP_SHOW_GRID, /*!< Show grid on map. */ + SAT_CFG_BOOL_MAP_KEEP_RATIO, /*!< Keep original aspect ratio */ + SAT_CFG_BOOL_POL_SHOW_QTH_INFO, /*!< Show QTH info on polar plot */ + SAT_CFG_BOOL_POL_SHOW_NEXT_EV, /*!< Show next event on polar plot */ + SAT_CFG_BOOL_POL_SHOW_CURS_TRACK, /*!< Track mouse cursor on polar plot. */ + SAT_CFG_BOOL_POL_SHOW_EXTRA_AZ_TICKS, /*!< Extra Az ticks at every 30 deg. */ + SAT_CFG_BOOL_TLE_SERVER_AUTH, /*!< TLE server requires authentication. */ + SAT_CFG_BOOL_TLE_PROXY_AUTH, /*!< Proxy requires authentication. */ SAT_CFG_BOOL_TLE_ADD_NEW, /*!< Add new satellites to database. */ SAT_CFG_BOOL_KEEP_LOG_FILES, /*!< Whether to keep old log files */ SAT_CFG_BOOL_PRED_USE_REAL_T0, /*!< Whether to use current time as T0 fro predictions */ - SAT_CFG_BOOL_NUM /*!< Number of boolean parameters */ + SAT_CFG_BOOL_NUM /*!< Number of boolean parameters */ } sat_cfg_bool_e; /** \brief Symbolic references for integer config values. */ typedef enum { - SAT_CFG_INT_MODULE_TIMEOUT = 0, /*!< Module refresh rate */ - SAT_CFG_INT_MODULE_LAYOUT, /*!< Module layout */ - SAT_CFG_INT_MODULE_VIEW_1, /*!< Type of view 1 */ - SAT_CFG_INT_MODULE_VIEW_2, /*!< Type of view 2 */ - SAT_CFG_INT_MODULE_VIEW_3, /*!< Type of view 3 */ - SAT_CFG_INT_WARP_FACTOR, /*!< Time compression factor. */ - SAT_CFG_INT_LIST_REFRESH, /*!< List refresh rate (cycle). */ - SAT_CFG_INT_LIST_COLUMNS, /*!< List column visibility. */ - SAT_CFG_INT_MAP_REFRESH, /*!< Map refresh rate (cycle). */ - SAT_CFG_INT_MAP_INFO_COL, /*!< Info text colour on maps. */ - SAT_CFG_INT_MAP_INFO_BGD_COL, /*!< Info text bgd colour on maps. */ - SAT_CFG_INT_MAP_QTH_COL, /*!< QTH mark colour on map. */ - SAT_CFG_INT_MAP_SAT_COL, /*!< Satellite colour on maps */ - SAT_CFG_INT_MAP_SAT_SEL_COL, /*!< Selected satellite colour */ - SAT_CFG_INT_MAP_SAT_COV_COL, /*!< Map coverage area colour */ - SAT_CFG_INT_MAP_GRID_COL, /*!< Grid colour. */ - SAT_CFG_INT_MAP_TICK_COL, /*!< Tick labels colour. */ - SAT_CFG_INT_MAP_TRACK_COL, /*!< Ground Track colour. */ - SAT_CFG_INT_MAP_TRACK_NUM, /*!< Number of orbits to show ground track for */ - SAT_CFG_INT_POLAR_REFRESH, /*!< Polar refresh rate (cycle). */ - SAT_CFG_INT_POLAR_ORIENTATION, /*!< Orientation of the polar charts. */ - SAT_CFG_INT_POLAR_BGD_COL, /*!< Polar view, background colour. */ - SAT_CFG_INT_POLAR_AXIS_COL, /*!< Polar view, axis colour. */ - SAT_CFG_INT_POLAR_TICK_COL, /*!< Tick label colour, e.g. N/W/S/E */ - SAT_CFG_INT_POLAR_SAT_COL, /*!< Satellite colour. */ - SAT_CFG_INT_POLAR_SAT_SEL_COL, /*!< Selected satellite colour. */ - SAT_CFG_INT_POLAR_TRACK_COL, /*!< Track colour. */ - SAT_CFG_INT_POLAR_INFO_COL, /*!< Info colour. */ - SAT_CFG_INT_SINGLE_SAT_REFRESH, /*!< Single-sat refresh rate (cycle). */ - SAT_CFG_INT_SINGLE_SAT_FIELDS, /*!< Single-sat fields. */ - SAT_CFG_INT_PRED_MIN_EL, /*!< Minimum elevation for passes. */ - SAT_CFG_INT_PRED_NUM_PASS, /*!< Number of passes to predict. */ - SAT_CFG_INT_PRED_LOOK_AHEAD, /*!< Look-ahead time limit in days. */ - SAT_CFG_INT_PRED_RESOLUTION, /*!< Time resolution in seconds */ - SAT_CFG_INT_PRED_NUM_ENTRIES, /*!< Number of entries in single pass. */ - SAT_CFG_INT_PRED_SINGLE_COL, /*!< Visible columns in single-pass dialog */ - SAT_CFG_INT_PRED_MULTI_COL, /*!< Visible columns in multi-pass dialog */ - SAT_CFG_INT_PRED_SAVE_FORMAT, /*!< Last used save format for predictions */ - SAT_CFG_INT_PRED_SAVE_CONTENTS, /*!< Last selection for save file contents */ + SAT_CFG_INT_MODULE_TIMEOUT = 0, /*!< Module refresh rate */ + SAT_CFG_INT_MODULE_LAYOUT, /*!< Module layout */ + SAT_CFG_INT_MODULE_VIEW_1, /*!< Type of view 1 */ + SAT_CFG_INT_MODULE_VIEW_2, /*!< Type of view 2 */ + SAT_CFG_INT_MODULE_VIEW_3, /*!< Type of view 3 */ + SAT_CFG_INT_WARP_FACTOR, /*!< Time compression factor. */ + SAT_CFG_INT_LIST_REFRESH, /*!< List refresh rate (cycle). */ + SAT_CFG_INT_LIST_COLUMNS, /*!< List column visibility. */ + SAT_CFG_INT_MAP_REFRESH, /*!< Map refresh rate (cycle). */ + SAT_CFG_INT_MAP_INFO_COL, /*!< Info text colour on maps. */ + SAT_CFG_INT_MAP_INFO_BGD_COL, /*!< Info text bgd colour on maps. */ + SAT_CFG_INT_MAP_QTH_COL, /*!< QTH mark colour on map. */ + SAT_CFG_INT_MAP_SAT_COL, /*!< Satellite colour on maps */ + SAT_CFG_INT_MAP_SAT_SEL_COL, /*!< Selected satellite colour */ + SAT_CFG_INT_MAP_SAT_COV_COL, /*!< Map coverage area colour */ + SAT_CFG_INT_MAP_GRID_COL, /*!< Grid colour. */ + SAT_CFG_INT_MAP_TICK_COL, /*!< Tick labels colour. */ + SAT_CFG_INT_MAP_TRACK_COL, /*!< Ground Track colour. */ + SAT_CFG_INT_MAP_TRACK_NUM, /*!< Number of orbits to show ground track for */ + SAT_CFG_INT_POLAR_REFRESH, /*!< Polar refresh rate (cycle). */ + SAT_CFG_INT_POLAR_ORIENTATION, /*!< Orientation of the polar charts. */ + SAT_CFG_INT_POLAR_BGD_COL, /*!< Polar view, background colour. */ + SAT_CFG_INT_POLAR_AXIS_COL, /*!< Polar view, axis colour. */ + SAT_CFG_INT_POLAR_TICK_COL, /*!< Tick label colour, e.g. N/W/S/E */ + SAT_CFG_INT_POLAR_SAT_COL, /*!< Satellite colour. */ + SAT_CFG_INT_POLAR_SAT_SEL_COL, /*!< Selected satellite colour. */ + SAT_CFG_INT_POLAR_TRACK_COL, /*!< Track colour. */ + SAT_CFG_INT_POLAR_INFO_COL, /*!< Info colour. */ + SAT_CFG_INT_SINGLE_SAT_REFRESH, /*!< Single-sat refresh rate (cycle). */ + SAT_CFG_INT_SINGLE_SAT_FIELDS, /*!< Single-sat fields. */ + SAT_CFG_INT_PRED_MIN_EL, /*!< Minimum elevation for passes. */ + SAT_CFG_INT_PRED_NUM_PASS, /*!< Number of passes to predict. */ + SAT_CFG_INT_PRED_LOOK_AHEAD, /*!< Look-ahead time limit in days. */ + SAT_CFG_INT_PRED_RESOLUTION, /*!< Time resolution in seconds */ + SAT_CFG_INT_PRED_NUM_ENTRIES, /*!< Number of entries in single pass. */ + SAT_CFG_INT_PRED_SINGLE_COL, /*!< Visible columns in single-pass dialog */ + SAT_CFG_INT_PRED_MULTI_COL, /*!< Visible columns in multi-pass dialog */ + SAT_CFG_INT_PRED_SAVE_FORMAT, /*!< Last used save format for predictions */ + SAT_CFG_INT_PRED_SAVE_CONTENTS, /*!< Last selection for save file contents */ SAT_CFG_INT_PRED_TWILIGHT_THLD, /*!< Twilight zone threshold */ - SAT_CFG_INT_SKYATGL_TIME, /*!< Time span for sky at a glance predictions */ - SAT_CFG_INT_SKYATGL_COL_01, /*!< Colour 1 in sky at a glance predictions */ - SAT_CFG_INT_SKYATGL_COL_02, /*!< Colour 2 in sky at a glance predictions */ - SAT_CFG_INT_SKYATGL_COL_03, /*!< Colour 3 in sky at a glance predictions */ - SAT_CFG_INT_SKYATGL_COL_04, /*!< Colour 4 in sky at a glance predictions */ - SAT_CFG_INT_SKYATGL_COL_05, /*!< Colour 5 in sky at a glance predictions */ - SAT_CFG_INT_SKYATGL_COL_06, /*!< Colour 6 in sky at a glance predictions */ - SAT_CFG_INT_SKYATGL_COL_07, /*!< Colour 7 in sky at a glance predictions */ - SAT_CFG_INT_SKYATGL_COL_08, /*!< Colour 8 in sky at a glance predictions */ - SAT_CFG_INT_SKYATGL_COL_09, /*!< Colour 9 in sky at a glance predictions */ - SAT_CFG_INT_SKYATGL_COL_10, /*!< Colour 10 in sky at a glance predictions */ - SAT_CFG_INT_WINDOW_POS_X, /*!< Main window X during last session */ - SAT_CFG_INT_WINDOW_POS_Y, /*!< Main window Y during last session */ - SAT_CFG_INT_WINDOW_WIDTH, /*!< Main window width during last session */ - SAT_CFG_INT_WINDOW_HEIGHT, /*!< Main window height during last session */ - SAT_CFG_INT_WEB_BROWSER_TYPE, /*!< Web browser type, see browser_type_t */ - SAT_CFG_INT_TLE_AUTO_UPD_FREQ, /*!< TLE auto-update frequency. */ - SAT_CFG_INT_TLE_AUTO_UPD_ACTION, /*!< TLE auto-update action. */ - SAT_CFG_INT_TLE_LAST_UPDATE, /*!< Date and time of last update, Unix seconds. */ - SAT_CFG_INT_LOG_CLEAN_AGE, /*!< Age of log file to delete (seconds) */ - SAT_CFG_INT_LOG_LEVEL, /*!< Logging level */ - SAT_CFG_INT_NUM /*!< Number of integer parameters. */ + SAT_CFG_INT_SKYATGL_TIME, /*!< Time span for sky at a glance predictions */ + SAT_CFG_INT_SKYATGL_COL_01, /*!< Colour 1 in sky at a glance predictions */ + SAT_CFG_INT_SKYATGL_COL_02, /*!< Colour 2 in sky at a glance predictions */ + SAT_CFG_INT_SKYATGL_COL_03, /*!< Colour 3 in sky at a glance predictions */ + SAT_CFG_INT_SKYATGL_COL_04, /*!< Colour 4 in sky at a glance predictions */ + SAT_CFG_INT_SKYATGL_COL_05, /*!< Colour 5 in sky at a glance predictions */ + SAT_CFG_INT_SKYATGL_COL_06, /*!< Colour 6 in sky at a glance predictions */ + SAT_CFG_INT_SKYATGL_COL_07, /*!< Colour 7 in sky at a glance predictions */ + SAT_CFG_INT_SKYATGL_COL_08, /*!< Colour 8 in sky at a glance predictions */ + SAT_CFG_INT_SKYATGL_COL_09, /*!< Colour 9 in sky at a glance predictions */ + SAT_CFG_INT_SKYATGL_COL_10, /*!< Colour 10 in sky at a glance predictions */ + SAT_CFG_INT_WINDOW_POS_X, /*!< Main window X during last session */ + SAT_CFG_INT_WINDOW_POS_Y, /*!< Main window Y during last session */ + SAT_CFG_INT_WINDOW_WIDTH, /*!< Main window width during last session */ + SAT_CFG_INT_WINDOW_HEIGHT, /*!< Main window height during last session */ + SAT_CFG_INT_WEB_BROWSER_TYPE, /*!< Web browser type, see browser_type_t */ + SAT_CFG_INT_TLE_AUTO_UPD_FREQ, /*!< TLE auto-update frequency. */ + SAT_CFG_INT_TLE_AUTO_UPD_ACTION, /*!< TLE auto-update action. */ + SAT_CFG_INT_TLE_LAST_UPDATE, /*!< Date and time of last update, Unix seconds. */ + SAT_CFG_INT_LOG_CLEAN_AGE, /*!< Age of log file to delete (seconds) */ + SAT_CFG_INT_LOG_LEVEL, /*!< Logging level */ + SAT_CFG_INT_NUM /*!< Number of integer parameters. */ } sat_cfg_int_e; /** \brief Symbolic references for string config values. */ typedef enum { - SAT_CFG_STR_TIME_FORMAT = 0,/*!< Time format. */ - SAT_CFG_STR_DEF_QTH, /*!< Default QTH file. */ - SAT_CFG_STR_OPEN_MODULES, /*!< Open modules. */ - SAT_CFG_STR_WEB_BROWSER, /*!< Web browser string. */ - SAT_CFG_STR_MAP_FILE, /*!< Map file (abs or rel). */ - SAT_CFG_STR_MAP_FONT, /*!< Map font. */ - SAT_CFG_STR_POL_FONT, /*!< Polar view font. */ - SAT_CFG_STR_TLE_SERVER, /*!< Server for TLE updates. */ - SAT_CFG_STR_TLE_FILES, /*!< ; separated list of files on server. */ - SAT_CFG_STR_TLE_FILE_DIR, /*!< Local directory from which tle were last updated. */ - SAT_CFG_STR_TLE_FILE_EXT, /*!< File extensions. */ - SAT_CFG_STR_PRED_SAVE_DIR, /*!< Last used save directory for pass predictions */ - SAT_CFG_STR_NUM /*!< Number of string parameters */ + SAT_CFG_STR_TIME_FORMAT = 0,/*!< Time format. */ + SAT_CFG_STR_DEF_QTH, /*!< Default QTH file. */ + SAT_CFG_STR_OPEN_MODULES, /*!< Open modules. */ + SAT_CFG_STR_WEB_BROWSER, /*!< Web browser string. */ + SAT_CFG_STR_MAP_FILE, /*!< Map file (abs or rel). */ + SAT_CFG_STR_MAP_FONT, /*!< Map font. */ + SAT_CFG_STR_POL_FONT, /*!< Polar view font. */ + SAT_CFG_STR_TLE_SERVER, /*!< Server for TLE updates. */ + SAT_CFG_STR_TLE_FILES, /*!< ; separated list of files on server. */ + SAT_CFG_STR_TLE_PROXY, /*!< Proxy server. */ + SAT_CFG_STR_TLE_FILE_DIR, /*!< Local directory from which tle were last updated. */ + SAT_CFG_STR_TLE_FILE_EXT, /*!< File extensions. */ + SAT_CFG_STR_PRED_SAVE_DIR, /*!< Last used save directory for pass predictions */ + SAT_CFG_STR_NUM /*!< Number of string parameters */ } sat_cfg_str_e; Modified: trunk/src/sat-pref-tle.c =================================================================== --- trunk/src/sat-pref-tle.c 2009-04-13 11:20:28 UTC (rev 267) +++ trunk/src/sat-pref-tle.c 2009-04-14 21:06:51 UTC (rev 268) @@ -42,7 +42,7 @@ static GtkWidget *warn,*autom; /* internet updates */ -static GtkWidget *server,*files; +static GtkWidget *server,*proxy,*files; /* add new sats */ static GtkWidget *addnew; @@ -76,28 +76,27 @@ GtkWidget *sat_pref_tle_create () { - GtkWidget *vbox; + GtkWidget *vbox; - - /* vertical box */ - vbox = gtk_vbox_new (FALSE, 10); - gtk_container_set_border_width (GTK_CONTAINER (vbox), 20); + /* vertical box */ + vbox = gtk_vbox_new (FALSE, 10); + gtk_container_set_border_width (GTK_CONTAINER (vbox), 20); - /* add contents */ - create_auto_update (vbox); - gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, TRUE, 0); - create_network (vbox); - gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, TRUE, 0); + /* add contents */ + create_auto_update (vbox); + gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, TRUE, 0); + create_network (vbox); + gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, TRUE, 0); create_misc (vbox); #if 0 create_local (vbox); #endif - /* create RESET button */ - create_reset_button (GTK_BOX (vbox)); + /* create RESET button */ + create_reset_button (GTK_BOX (vbox)); - return vbox; + return vbox; } @@ -106,8 +105,8 @@ void sat_pref_tle_cancel () { - dirty = FALSE; - reset = FALSE; + dirty = FALSE; + reset = FALSE; } @@ -116,45 +115,50 @@ void sat_pref_tle_ok () { - if (dirty) { - - /* save settings */ + if (dirty) { + + /* save settings */ - /* update frequency */ - sat_cfg_set_int (SAT_CFG_INT_TLE_AUTO_UPD_FREQ, - gtk_combo_box_get_active (GTK_COMBO_BOX (freq))); + /* update frequency */ + sat_cfg_set_int (SAT_CFG_INT_TLE_AUTO_UPD_FREQ, + gtk_combo_box_get_active (GTK_COMBO_BOX (freq))); - /* action to take */ - if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (autom))) - sat_cfg_set_int (SAT_CFG_INT_TLE_AUTO_UPD_ACTION, TLE_AUTO_UPDATE_GOAHEAD); - else - sat_cfg_set_int (SAT_CFG_INT_TLE_AUTO_UPD_ACTION, TLE_AUTO_UPDATE_NOTIFY); + /* action to take */ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (autom))) + sat_cfg_set_int (SAT_CFG_INT_TLE_AUTO_UPD_ACTION, TLE_AUTO_UPDATE_GOAHEAD); + else + sat_cfg_set_int (SAT_CFG_INT_TLE_AUTO_UPD_ACTION, TLE_AUTO_UPDATE_NOTIFY); - /* server */ - sat_cfg_set_str (SAT_CFG_STR_TLE_SERVER, - gtk_entry_get_text (GTK_ENTRY (server))); + /* server */ + sat_cfg_set_str (SAT_CFG_STR_TLE_SERVER, + gtk_entry_get_text (GTK_ENTRY (server))); - /* files */ - sat_cfg_set_str (SAT_CFG_STR_TLE_FILES, - gtk_entry_get_text (GTK_ENTRY (files))); + /* proxy */ + sat_cfg_set_str (SAT_CFG_STR_TLE_PROXY, + gtk_entry_get_text (GTK_ENTRY (proxy))); + + /* files */ + sat_cfg_set_str (SAT_CFG_STR_TLE_FILES, + gtk_entry_get_text (GTK_ENTRY (files))); /* add new sats */ sat_cfg_set_bool (SAT_CFG_BOOL_TLE_ADD_NEW, - gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (addnew))); + gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (addnew))); - dirty = FALSE; - } - else if (reset) { + dirty = FALSE; + } + else if (reset) { - /* use sat_cfg_reset */ - sat_cfg_reset_int (SAT_CFG_INT_TLE_AUTO_UPD_FREQ); - sat_cfg_reset_int (SAT_CFG_INT_TLE_AUTO_UPD_ACTION); - sat_cfg_reset_str (SAT_CFG_STR_TLE_SERVER); - sat_cfg_reset_str (SAT_CFG_STR_TLE_FILES); + /* use sat_cfg_reset */ + sat_cfg_reset_int (SAT_CFG_INT_TLE_AUTO_UPD_FREQ); + sat_cfg_reset_int (SAT_CFG_INT_TLE_AUTO_UPD_ACTION); + sat_cfg_reset_str (SAT_CFG_STR_TLE_SERVER); + sat_cfg_reset_str (SAT_CFG_STR_TLE_PROXY); + sat_cfg_reset_str (SAT_CFG_STR_TLE_FILES); sat_cfg_reset_bool (SAT_CFG_BOOL_TLE_ADD_NEW); - reset = FALSE; - } + reset = FALSE; + } } @@ -162,53 +166,53 @@ static void create_auto_update (GtkWidget *vbox) { - GtkWidget *label; - GtkWidget *box; - guint i; + GtkWidget *label; + GtkWidget *box; + guint i; - /* auto update */ - label = gtk_label_new (NULL); - gtk_label_set_markup (GTK_LABEL (label), _("<b>Auto-Update:</b>")); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0); + /* auto update */ + label = gtk_label_new (NULL); + gtk_label_set_markup (GTK_LABEL (label), _("<b>Auto-Update:</b>")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0); - /* frequency */ - freq = gtk_combo_box_new_text (); - for (i = 0; i < TLE_AUTO_UPDATE_NUM; i++) { - gtk_combo_box_append_text (GTK_COMBO_BOX (freq), - tle_update_freq_to_str (i)); - } - gtk_combo_box_set_active (GTK_COMBO_BOX (freq), - sat_cfg_get_int (SAT_CFG_INT_TLE_AUTO_UPD_FREQ)); - g_signal_connect (freq, "changed", G_CALLBACK (value_changed_cb), NULL); + /* frequency */ + freq = gtk_combo_box_new_text (); + for (i = 0; i < TLE_AUTO_UPDATE_NUM; i++) { + gtk_combo_box_append_text (GTK_COMBO_BOX (freq), + tle_update_freq_to_str (i)); + } + gtk_combo_box_set_active (GTK_COMBO_BOX (freq), + sat_cfg_get_int (SAT_CFG_INT_TLE_AUTO_UPD_FREQ)); + g_signal_connect (freq, "changed", G_CALLBACK (value_changed_cb), NULL); - label = gtk_label_new (_("Check the age of TLE data:")); + label = gtk_label_new (_("Check the age of TLE data:")); - box = gtk_hbox_new (FALSE, 5); - gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (box), freq, FALSE, FALSE, 0); + box = gtk_hbox_new (FALSE, 5); + gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (box), freq, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, TRUE, 0); - /* radio buttons selecting action */ - label = gtk_label_new (_("If TLEs are too old:")); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0); - warn = gtk_radio_button_new_with_label (NULL, - _("Notify me")); - gtk_box_pack_start (GTK_BOX (vbox), warn, FALSE, TRUE, 0); - autom = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (warn), - _("Perform automatic update in the background")); - gtk_box_pack_start (GTK_BOX (vbox), autom, FALSE, TRUE, 0); + /* radio buttons selecting action */ + label = gtk_label_new (_("If TLEs are too old:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0); + warn = gtk_radio_button_new_with_label (NULL, + _("Notify me")); + gtk_box_pack_start (GTK_BOX (vbox), warn, FALSE, TRUE, 0); + autom = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (warn), + _("Perform automatic update in the background")); + gtk_box_pack_start (GTK_BOX (vbox), autom, FALSE, TRUE, 0); - /* warn is selected automatically by default */ - if (sat_cfg_get_int (SAT_CFG_INT_TLE_AUTO_UPD_ACTION) == TLE_AUTO_UPDATE_GOAHEAD) { - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (autom), TRUE); - } - + /* warn is selected automatically by default */ + if (sat_cfg_get_int (SAT_CFG_INT_TLE_AUTO_UPD_ACTION) == TLE_AUTO_UPDATE_GOAHEAD) { + gtk_toggle_b... [truncated message content] |
From: <cs...@us...> - 2009-04-13 11:20:38
|
Revision: 267 http://gpredict.svn.sourceforge.net/gpredict/?rev=267&view=rev Author: csete Date: 2009-04-13 11:20:28 +0000 (Mon, 13 Apr 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/README trunk/TODO Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-04-13 10:53:28 UTC (rev 266) +++ trunk/ChangeLog 2009-04-13 11:20:28 UTC (rev 267) @@ -1,3 +1,9 @@ +2009-04-13 Alexandru Csete <oz...@gm...> + + * src/predict-tools.c: + Fixed a bug that could cause find_aos() to go into infinite loop. + + 2009-04-12 Alexandru Csete <oz...@gm...> * src/gtk-rig-ctrl.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2009-04-13 10:53:28 UTC (rev 266) +++ trunk/NEWS 2009-04-13 11:20:28 UTC (rev 267) @@ -14,6 +14,7 @@ - Feature request 2192404: Starting time for pass predictions. - Feature request 2347471: Use system goocanvas. - Feature request 2130940: Transponder info in gpredict. +- Fixed a bug that could cause gpredict to hang during pass predictions. - Fixed bug 2139102: rigctld port. - Fixed bug 2130912: Crash when no rig or no rotator are defined. - Fixed bug 2130914: Gpredict doesn't handle PTT. Modified: trunk/README =================================================================== --- trunk/README 2009-04-13 10:53:28 UTC (rev 266) +++ trunk/README 2009-04-13 11:20:28 UTC (rev 267) @@ -1,9 +1,4 @@ - -TO BE UPDATED BEFORE NEXT RELEASE - - - WHAT IS GPREDICT? ================= @@ -49,10 +44,13 @@ for successful compilation of Gpredict: - Gtk+ 2.12 or later +- GLib 2.16 or later +- Gio 2.16 or later (including gvfs) +- GooCanvas 0.9 or later - Hamlib (runtime only, not required for build) If you compile Gpredict from source you will also need the development parts -of the above mentioned libraries, i.e. gtk+-dev or gtk+-devel and so on. +of the above mentioned libraries, e.g. gtk+-dev or gtk+-devel and so on. To install gpredict from source unpack the source package with: @@ -67,8 +65,12 @@ The last step usually requires you to become root, otherwise you may not have the required permissions to install gpredict. If you can not or do not want to install gpredict as root, you can install gpredict into a custom directory by - adding --prefix=somedir to the ./configure step. +adding --prefix=somedir to the ./configure step. For example + ./configure --prefix=/home/alexc/predict + +will configure the build to install the files into /home/alexc/gpredict folder. + If the configure step fails with an error, examine the output. It will usually tell you which package or libraries you need in order to build gpredict. Please note, that you also need the so-called development packages. In many GNU/Linux @@ -96,10 +98,11 @@ ==================== Gpredict is released under the GNU General Public License and comes with -NO WARRANTY whatsoever (well, maybe except that it works for us). See the +NO WARRANTY whatsoever (well, maybe except that it works for me). See the COPYING file for details. If you have problems installing or using Gpredict, feel free to ask for support. There is a web based forum at http://forum.oz9aec.net/ + Bug trackers, mailing lists, etc, can be accessed at the project page at sourceforge: http://sourceforge.net/projects/gpredict Modified: trunk/TODO =================================================================== --- trunk/TODO 2009-04-13 10:53:28 UTC (rev 266) +++ trunk/TODO 2009-04-13 11:20:28 UTC (rev 267) @@ -1,7 +1,6 @@ Future plans for gpredict development include: * Show day/night on satmap. -* Optionally, use simulated time as T0 for predictions. * TLE editor. * Advanced pass predictor. * Predict communication windows between two ground stations. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |