[Gpredict-svn] SF.net SVN: gpredict:[825] trunk
Real time satellite tracking and orbit prediction
Status: Beta
Brought to you by:
csete
|
From: <aa...@us...> - 2011-05-26 13:00:56
|
Revision: 825
http://gpredict.svn.sourceforge.net/gpredict/?rev=825&view=rev
Author: aa1vs
Date: 2011-05-26 13:00:50 +0000 (Thu, 26 May 2011)
Log Message:
-----------
Save selected satellite in single satellite view.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/config-keys.h
trunk/src/gtk-sat-module.c
trunk/src/gtk-single-sat.c
trunk/src/sat-cfg.c
trunk/src/sat-cfg.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2011-05-24 12:25:51 UTC (rev 824)
+++ trunk/ChangeLog 2011-05-26 13:00:50 UTC (rev 825)
@@ -1,3 +1,14 @@
+2011-05-26 Charles Suprin <hamaa1vs at gmail.com>
+
+ * src/gtk-single-sat.c
+ * src/config-keys.h
+ * src/sat-cfg.c
+ * src/sat-cfg.h
+ * src/gtk-sat-module.c
+ * src/gtk-single-sat.c
+ Save selected satellite in single sat view.
+ Part of Feature Request: 3179738
+
2011-05-14 Charles Suprin <hamaa1vs at gmail.com>
* data/trsp/25338.trsp
Modified: trunk/src/config-keys.h
===================================================================
--- trunk/src/config-keys.h 2011-05-24 12:25:51 UTC (rev 824)
+++ trunk/src/config-keys.h 2011-05-26 13:00:50 UTC (rev 825)
@@ -130,6 +130,7 @@
#define MOD_CFG_SINGLE_SAT_SECTION "SINGLE_SAT"
#define MOD_CFG_SINGLE_SAT_REFRESH "REFRESH"
#define MOD_CFG_SINGLE_SAT_FIELDS "FIELDS"
+#define MOD_CFG_SINGLE_SAT_SELECT "SELECTED"
/* event list */
#define MOD_CFG_EVENT_LIST_SECTION "EVENT_LIST"
Modified: trunk/src/gtk-sat-module.c
===================================================================
--- trunk/src/gtk-sat-module.c 2011-05-24 12:25:51 UTC (rev 824)
+++ trunk/src/gtk-sat-module.c 2011-05-26 13:00:50 UTC (rev 825)
@@ -206,6 +206,8 @@
{
GtkSatModule *module = GTK_SAT_MODULE (object);
+ /*save the configuration*/
+ mod_cfg_save (module->name, module->cfgdata);
/* stop timeout */
if (module->timerid > 0)
@@ -977,9 +979,18 @@
sat->aos = find_aos (sat, module->qth, daynum, maxdt);
sat->los = find_los (sat, module->qth, daynum, maxdt);
+ }
+ /*update aos if it was known and is stale*/
+ if (sat->aos > 0 && sat->aos < daynum) {
+ maxdt = (gdouble) sat_cfg_get_int (SAT_CFG_INT_PRED_LOOK_AHEAD);
+ sat->aos = find_aos (sat, module->qth, daynum, maxdt);
+ }
+ /*update los if it was known is stale*/
+ if (sat->los > 0 && sat->los < daynum) {
+ maxdt = (gdouble) sat_cfg_get_int (SAT_CFG_INT_PRED_LOOK_AHEAD);
+ sat->los = find_los (sat, module->qth, daynum, maxdt);
}
-
/*data may have been updated by gpsd*/
obs_geodetic.lon = module->qth->lon * de2ra;
obs_geodetic.lat = module->qth->lat * de2ra;
@@ -1079,9 +1090,6 @@
_("%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) {
case GTK_SAT_MOD_STATE_DOCKED:
@@ -1163,7 +1171,11 @@
__FUNCTION__, name, module->state);
break;
}
+ /* save configuration to ensure that dynamic data like state is stored */
+ mod_cfg_save (module->name, module->cfgdata);
+
+
/* appearantly, module will be destroyed when removed from notebook */
/* gtk_widget_destroy (GTK_WIDGET (module)); */
Modified: trunk/src/gtk-single-sat.c
===================================================================
--- trunk/src/gtk-single-sat.c 2011-05-24 12:25:51 UTC (rev 824)
+++ trunk/src/gtk-single-sat.c 2011-05-26 13:00:50 UTC (rev 825)
@@ -197,6 +197,10 @@
static void
gtk_single_sat_destroy (GtkObject *object)
{
+ GtkSingleSat *ssat = GTK_SINGLE_SAT(object);
+ sat_t *sat = SAT (g_slist_nth_data (ssat->sats, ssat->selected));
+ g_key_file_set_integer (ssat->cfgdata,MOD_CFG_SINGLE_SAT_SECTION,MOD_CFG_SINGLE_SAT_SELECT,sat->tle.catnr);
+
(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
}
@@ -213,9 +217,8 @@
sat_t *sat;
gchar *title;
guint i;
+ gint selectedcatnum;
-
-
widget = g_object_new (GTK_TYPE_SINGLE_SAT, NULL);
GTK_SINGLE_SAT (widget)->update = gtk_single_sat_update;
@@ -244,7 +247,12 @@
MOD_CFG_SINGLE_SAT_REFRESH,
SAT_CFG_INT_SINGLE_SAT_REFRESH);
GTK_SINGLE_SAT (widget)->counter = 1;
-
+
+ /* get selected catnum if available */
+ selectedcatnum = mod_cfg_get_int (cfgdata,
+ MOD_CFG_SINGLE_SAT_SECTION,
+ MOD_CFG_SINGLE_SAT_SELECT,
+ SAT_CFG_INT_SINGLE_SAT_SELECT);
/* popup button */
GTK_SINGLE_SAT (widget)->popup_button =
gpredict_mini_mod_button ("gpredict-mod-popup.png",
@@ -321,6 +329,9 @@
gtk_widget_show_all (widget);
+ if (selectedcatnum) {
+ gtk_single_sat_select_sat ( widget, selectedcatnum );
+ }
return widget;
}
Modified: trunk/src/sat-cfg.c
===================================================================
--- trunk/src/sat-cfg.c 2011-05-24 12:25:51 UTC (rev 824)
+++ trunk/src/sat-cfg.c 2011-05-26 13:00:50 UTC (rev 825)
@@ -174,6 +174,7 @@
{ "MODULES", "POLAR_INFO_COLOUR", 0x00007FFF},
{ "MODULES", "SINGLE_SAT_REFRESH", 1},
{ "MODULES", "SINGLE_SAT_FIELDS", SINGLE_SAT_FIELD_DEF},
+ { "MODULES", "SINGLE_SAT_SELECTED", 0},
{ "MODULES", "EVENT_LIST_REFRESH", 1},
{ "PREDICT", "MINIMUM_ELEV", 5},
{ "PREDICT", "NUMBER_OF_PASSES", 10},
Modified: trunk/src/sat-cfg.h
===================================================================
--- trunk/src/sat-cfg.h 2011-05-24 12:25:51 UTC (rev 824)
+++ trunk/src/sat-cfg.h 2011-05-26 13:00:50 UTC (rev 825)
@@ -96,6 +96,7 @@
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_SINGLE_SAT_SELECT, /*!< Single-sat selected satellite. */
SAT_CFG_INT_EVENT_LIST_REFRESH, /*!< Event list refresh rate (cycle). */
SAT_CFG_INT_PRED_MIN_EL, /*!< Minimum elevation for passes. */
SAT_CFG_INT_PRED_NUM_PASS, /*!< Number of passes to predict. */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|