[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.
|