[Gpredict-svn] SF.net SVN: gpredict:[940] trunk
Real time satellite tracking and orbit prediction
Status: Beta
Brought to you by:
csete
From: <aa...@us...> - 2011-10-29 02:17:40
|
Revision: 940 http://gpredict.svn.sourceforge.net/gpredict/?rev=940&view=rev Author: aa1vs Date: 2011-10-29 02:17:34 +0000 (Sat, 29 Oct 2011) Log Message: ----------- Attempt to resolve "Show next pass shows the current pass". Modified Paths: -------------- trunk/ChangeLog trunk/src/gtk-sat-map-popup.c trunk/src/gtk-sat-popup-common.c trunk/src/gtk-sat-popup-common.h Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-10-27 22:13:31 UTC (rev 939) +++ trunk/ChangeLog 2011-10-29 02:17:34 UTC (rev 940) @@ -1,5 +1,12 @@ 2011-10-27 Charles Suprin <hamaa1vs at gmail.com> + * src/gtk-sat-popup-common.c + * src/gtk-sat-popup-common.h + * src/gtk-sat-map-popup.c + Attempt to resolve "Show next pass shows the current pass". + +2011-10-27 Charles Suprin <hamaa1vs at gmail.com> + * src/gtk-event-list-popup.c * src/gtk-sat-list-popup.c * src/gtk-sat-map-popup.c Modified: trunk/src/gtk-sat-map-popup.c =================================================================== --- trunk/src/gtk-sat-map-popup.c 2011-10-27 22:13:31 UTC (rev 939) +++ trunk/src/gtk-sat-map-popup.c 2011-10-29 02:17:34 UTC (rev 940) @@ -99,8 +99,20 @@ /* separator */ menuitem = gtk_separator_menu_item_new (); gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); - +#if 1 + add_pass_menu_items(menu,sat,qth,&satmap->tstamp,GTK_WIDGET(satmap)); +#else /* next pass and predict passes */ + if (sat->el > 0.0) { + menuitem = gtk_image_menu_item_new_with_label (_("Show current pass")); + image = gtk_image_new_from_stock (GTK_STOCK_JUSTIFY_FILL, GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); + g_object_set_data (G_OBJECT (menuitem), "sat", sat); + g_object_set_data (G_OBJECT (menuitem), "qth", qth); + g_object_set_data (G_OBJECT (menuitem), "tstamp", &(satmap->tstamp)); + g_signal_connect (menuitem, "activate", G_CALLBACK (show_current_pass_cb), satmap); + gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); + } menuitem = gtk_image_menu_item_new_with_label (_("Show next pass")); image = gtk_image_new_from_stock (GTK_STOCK_JUSTIFY_FILL, GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); @@ -118,7 +130,7 @@ g_object_set_data (G_OBJECT (menuitem), "tstamp", &(satmap->tstamp)); g_signal_connect (menuitem, "activate", G_CALLBACK (show_future_passes_cb), satmap); gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); - +#endif /* separator */ menuitem = gtk_separator_menu_item_new (); gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); Modified: trunk/src/gtk-sat-popup-common.c =================================================================== --- trunk/src/gtk-sat-popup-common.c 2011-10-27 22:13:31 UTC (rev 939) +++ trunk/src/gtk-sat-popup-common.c 2011-10-29 02:17:34 UTC (rev 940) @@ -39,7 +39,46 @@ #include "gtk-sat-popup-common.h" #include "sat-pass-dialogs.h" -void show_next_pass_cb (GtkWidget *menuitem, gpointer data) +void add_pass_menu_items (GtkWidget *menu, sat_t *sat, qth_t *qth, gdouble *tstamp, GtkWidget *widget) { + GtkWidget *menuitem; + GtkWidget *image; + + /* next pass and predict passes */ + if (sat->el > 0.0) { + menuitem = gtk_image_menu_item_new_with_label (_("Show current pass")); + image = gtk_image_new_from_stock (GTK_STOCK_JUSTIFY_FILL, GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); + g_object_set_data (G_OBJECT (menuitem), "sat", sat); + g_object_set_data (G_OBJECT (menuitem), "qth", qth); + g_object_set_data (G_OBJECT (menuitem), "tstamp", tstamp); + g_signal_connect (menuitem, "activate", G_CALLBACK (show_current_pass_cb), widget); + gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); + } + + /* the next pass menu item */ + menuitem = gtk_image_menu_item_new_with_label (_("Show next pass")); + image = gtk_image_new_from_stock (GTK_STOCK_JUSTIFY_FILL, GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); + g_object_set_data (G_OBJECT (menuitem), "sat", sat); + g_object_set_data (G_OBJECT (menuitem), "qth", qth); + g_object_set_data (G_OBJECT (menuitem), "tstamp", tstamp); + g_signal_connect (menuitem, "activate", G_CALLBACK (show_next_pass_cb), widget); + gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); + + /* finally the future pass menu item */ + menuitem = gtk_image_menu_item_new_with_label (_("Future passes")); + image = gtk_image_new_from_stock (GTK_STOCK_INDEX, GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); + g_object_set_data (G_OBJECT (menuitem), "sat", sat); + g_object_set_data (G_OBJECT (menuitem), "qth", qth); + g_object_set_data (G_OBJECT (menuitem), "tstamp", tstamp); + g_signal_connect (menuitem, "activate", G_CALLBACK (show_future_passes_cb), widget); + gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); + + +} + +void show_current_pass_cb (GtkWidget *menuitem, gpointer data) { sat_t *sat; qth_t *qth; @@ -50,10 +89,30 @@ qth = (qth_t *) (g_object_get_data (G_OBJECT (menuitem), "qth")); tstamp = (gdouble *) (g_object_get_data (G_OBJECT (menuitem), "tstamp")); - show_next_pass_dialog (sat,qth,*tstamp,toplevel); + if (sat->el>0.0) + show_next_pass_dialog (sat,qth,*tstamp,toplevel); } +void show_next_pass_cb (GtkWidget *menuitem, gpointer data) +{ + sat_t *sat; + qth_t *qth; + GtkWindow *toplevel = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (data))); + gdouble *tstamp; + sat = SAT(g_object_get_data (G_OBJECT (menuitem), "sat")); + qth = (qth_t *) (g_object_get_data (G_OBJECT (menuitem), "qth")); + tstamp = (gdouble *) (g_object_get_data (G_OBJECT (menuitem), "tstamp")); + + if (sat->el <0) + show_next_pass_dialog (sat,qth,*tstamp,toplevel); + else + /*if the satellite is currently visible + go to end of pass and then add 10 minutes*/ + show_next_pass_dialog (sat,qth,sat->los+0.007,toplevel); +} + + void show_future_passes_cb (GtkWidget *menuitem, gpointer data) { GtkWindow *toplevel = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (data))); Modified: trunk/src/gtk-sat-popup-common.h =================================================================== --- trunk/src/gtk-sat-popup-common.h 2011-10-27 22:13:31 UTC (rev 939) +++ trunk/src/gtk-sat-popup-common.h 2011-10-29 02:17:34 UTC (rev 940) @@ -32,7 +32,8 @@ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ - +void add_pass_menu_items (GtkWidget *menu, sat_t *sat, qth_t *qth, gdouble *tstamp, GtkWidget *widget); +void show_current_pass_cb (GtkWidget *menuitem, gpointer data); void show_next_pass_cb (GtkWidget *menuitem, gpointer data); void show_future_passes_cb (GtkWidget *menuitem, gpointer data); void show_next_pass_dialog (sat_t *sat, qth_t *qth, gdouble tstamp, GtkWindow *toplevel); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |