3434static GtkWidget * nesw , * nwse , * senw , * swne ;
3535
3636/* content selectors */
37- static GtkWidget * qth , * next , * curs , * xtick ;
37+ static GtkWidget * satname , * satmarker , * qth , * next , * curs , * xtick ;
3838
3939/* colour selectors */
4040static GtkWidget * bgd , * axis , * tick , * sat , * ssat , * track , * info ;
@@ -123,6 +123,10 @@ static void reset_cb(GtkWidget * button, gpointer cfg)
123123 /* global mode, get defaults */
124124
125125 /* extra contents */
126+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (satname ),
127+ sat_cfg_get_bool_def (SAT_CFG_BOOL_POL_SHOW_SAT_NAME ));
128+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (satmarker ),
129+ sat_cfg_get_bool_def (SAT_CFG_BOOL_POL_SHOW_SAT_MARKER ));
126130 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (qth ),
127131 sat_cfg_get_bool_def
128132 (SAT_CFG_BOOL_POL_SHOW_QTH_INFO ));
@@ -175,6 +179,10 @@ static void reset_cb(GtkWidget * button, gpointer cfg)
175179 /* local mode, get global value */
176180
177181 /* extra contents */
182+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (satname ),
183+ sat_cfg_get_bool (SAT_CFG_BOOL_POL_SHOW_SAT_NAME ));
184+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (satmarker ),
185+ sat_cfg_get_bool (SAT_CFG_BOOL_POL_SHOW_SAT_MARKER ));
178186 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (qth ),
179187 sat_cfg_get_bool
180188 (SAT_CFG_BOOL_POL_SHOW_QTH_INFO ));
@@ -385,18 +393,57 @@ static void create_orient_selector(GKeyFile * cfg, GtkBox * vbox)
385393static void create_bool_selectors (GKeyFile * cfg , GtkBox * vbox )
386394{
387395 GtkWidget * label ;
388- GtkWidget * hbox ;
396+ GtkWidget * grid ;
389397
390398 /* create header */
391399 label = gtk_label_new (NULL );
392400 g_object_set (label , "xalign" , 0.0f , "yalign" , 0.5f , NULL );
393- gtk_label_set_markup (GTK_LABEL (label ), _ ("<b>Extra Contents:</b>" ));
401+ gtk_label_set_markup (GTK_LABEL (label ), _ ("<b>Contents:</b>" ));
394402 gtk_box_pack_start (vbox , label , FALSE, TRUE, 0 );
395403
396- /* horizontal box to contain the radio buttons */
397- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL , 10 );
398- gtk_box_set_homogeneous (GTK_BOX (hbox ), TRUE);
399- gtk_box_pack_start (vbox , hbox , FALSE, TRUE, 0 );
404+ /* grid layout for show/hide checkboxes */
405+ grid = gtk_grid_new ();
406+ gtk_grid_set_column_homogeneous (GTK_GRID (grid ), FALSE);
407+ gtk_grid_set_row_homogeneous (GTK_GRID (grid ), TRUE);
408+ gtk_grid_set_column_spacing (GTK_GRID (grid ), 10 );
409+ gtk_grid_set_row_spacing (GTK_GRID (grid ), 3 );
410+ gtk_box_pack_start (vbox , grid , FALSE, TRUE, 0 );
411+
412+ /* Satellite name */
413+ satname = gtk_check_button_new_with_label (_ ("Satellite Name" ));
414+ gtk_widget_set_tooltip_text (satname , _ ("Show the satellite name on the polar plot" ));
415+ if (cfg != NULL )
416+ {
417+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (satname ),
418+ mod_cfg_get_bool (cfg , MOD_CFG_POLAR_SECTION ,
419+ MOD_CFG_POLAR_SHOW_SAT_NAME ,
420+ SAT_CFG_BOOL_POL_SHOW_SAT_NAME ));
421+ }
422+ else
423+ {
424+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (satname ),
425+ sat_cfg_get_bool (SAT_CFG_BOOL_POL_SHOW_SAT_NAME ));
426+ }
427+ g_signal_connect (satname , "toggled" , G_CALLBACK (content_changed ), NULL );
428+ gtk_grid_attach (GTK_GRID (grid ), satname , 0 , 0 , 1 , 1 );
429+
430+ /* Satellite marker */
431+ satmarker = gtk_check_button_new_with_label (_ ("Satellite Marker" ));
432+ gtk_widget_set_tooltip_text (satmarker , _ ("Show the satellite marker on the polar plot" ));
433+ if (cfg != NULL )
434+ {
435+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (satmarker ),
436+ mod_cfg_get_bool (cfg , MOD_CFG_POLAR_SECTION ,
437+ MOD_CFG_POLAR_SHOW_SAT_MARKER ,
438+ SAT_CFG_BOOL_POL_SHOW_SAT_MARKER ));
439+ }
440+ else
441+ {
442+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (satmarker ),
443+ sat_cfg_get_bool (SAT_CFG_BOOL_POL_SHOW_SAT_MARKER ));
444+ }
445+ g_signal_connect (satmarker , "toggled" , G_CALLBACK (content_changed ), NULL );
446+ gtk_grid_attach (GTK_GRID (grid ), satmarker , 1 , 0 , 1 , 1 );
400447
401448 /* QTH info */
402449 qth = gtk_check_button_new_with_label (_ ("QTH Info" ));
@@ -418,7 +465,7 @@ static void create_bool_selectors(GKeyFile * cfg, GtkBox * vbox)
418465 (SAT_CFG_BOOL_POL_SHOW_QTH_INFO ));
419466 }
420467 g_signal_connect (qth , "toggled" , G_CALLBACK (content_changed ), NULL );
421- gtk_box_pack_start ( GTK_BOX ( hbox ), qth , FALSE, TRUE, 0 );
468+ gtk_grid_attach ( GTK_GRID ( grid ), qth , 2 , 0 , 1 , 1 );
422469
423470 /* Next Event */
424471 next = gtk_check_button_new_with_label (_ ("Next Event" ));
@@ -440,7 +487,7 @@ static void create_bool_selectors(GKeyFile * cfg, GtkBox * vbox)
440487 (SAT_CFG_BOOL_POL_SHOW_NEXT_EV ));
441488 }
442489 g_signal_connect (next , "toggled" , G_CALLBACK (content_changed ), NULL );
443- gtk_box_pack_start ( GTK_BOX ( hbox ), next , FALSE, TRUE, 0 );
490+ gtk_grid_attach ( GTK_GRID ( grid ), next , 0 , 1 , 1 , 1 );
444491
445492 /* Cursor position */
446493 curs = gtk_check_button_new_with_label (_ ("Cursor Position" ));
@@ -462,7 +509,7 @@ static void create_bool_selectors(GKeyFile * cfg, GtkBox * vbox)
462509 (SAT_CFG_BOOL_POL_SHOW_CURS_TRACK ));
463510 }
464511 g_signal_connect (curs , "toggled" , G_CALLBACK (content_changed ), NULL );
465- gtk_box_pack_start ( GTK_BOX ( hbox ), curs , FALSE, TRUE, 0 );
512+ gtk_grid_attach ( GTK_GRID ( grid ), curs , 1 , 1 , 1 , 1 );
466513
467514 /* Extra tick marks */
468515 xtick = gtk_check_button_new_with_label (_ ("Extra Az Ticks" ));
@@ -484,7 +531,7 @@ static void create_bool_selectors(GKeyFile * cfg, GtkBox * vbox)
484531 (SAT_CFG_BOOL_POL_SHOW_EXTRA_AZ_TICKS ));
485532 }
486533 g_signal_connect (xtick , "toggled" , G_CALLBACK (content_changed ), NULL );
487- gtk_box_pack_start ( GTK_BOX ( hbox ), xtick , FALSE, TRUE, 0 );
534+ gtk_grid_attach ( GTK_GRID ( grid ), xtick , 2 , 1 , 1 , 1 );
488535}
489536
490537/**
@@ -790,6 +837,14 @@ void sat_pref_polar_view_ok(GKeyFile * cfg)
790837 MOD_CFG_POLAR_SECTION ,
791838 MOD_CFG_POLAR_ORIENTATION , orient );
792839 /* extra contents */
840+ g_key_file_set_boolean (cfg ,
841+ MOD_CFG_POLAR_SECTION ,
842+ MOD_CFG_POLAR_SHOW_SAT_NAME ,
843+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (satname )));
844+ g_key_file_set_boolean (cfg ,
845+ MOD_CFG_POLAR_SECTION ,
846+ MOD_CFG_POLAR_SHOW_SAT_MARKER ,
847+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (satmarker )));
793848 g_key_file_set_boolean (cfg ,
794849 MOD_CFG_POLAR_SECTION ,
795850 MOD_CFG_POLAR_SHOW_QTH_INFO ,
@@ -860,6 +915,10 @@ void sat_pref_polar_view_ok(GKeyFile * cfg)
860915 sat_cfg_set_int (SAT_CFG_INT_POLAR_ORIENTATION , orient );
861916
862917 /* extra contents */
918+ sat_cfg_set_bool (SAT_CFG_BOOL_POL_SHOW_SAT_NAME ,
919+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (satname )));
920+ sat_cfg_set_bool (SAT_CFG_BOOL_POL_SHOW_SAT_MARKER ,
921+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (satmarker )));
863922 sat_cfg_set_bool (SAT_CFG_BOOL_POL_SHOW_QTH_INFO ,
864923 gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON
865924 (qth )));
@@ -918,6 +977,8 @@ void sat_pref_polar_view_ok(GKeyFile * cfg)
918977 g_key_file_remove_key (cfg ,
919978 MOD_CFG_POLAR_SECTION ,
920979 MOD_CFG_POLAR_ORIENTATION , NULL );
980+ g_key_file_remove_key (cfg , MOD_CFG_POLAR_SECTION , MOD_CFG_POLAR_SHOW_SAT_NAME , NULL );
981+ g_key_file_remove_key (cfg , MOD_CFG_POLAR_SECTION , MOD_CFG_POLAR_SHOW_SAT_MARKER , NULL );
921982 g_key_file_remove_key (cfg ,
922983 MOD_CFG_POLAR_SECTION ,
923984 MOD_CFG_POLAR_SHOW_QTH_INFO , NULL );
@@ -962,6 +1023,8 @@ void sat_pref_polar_view_ok(GKeyFile * cfg)
9621023 /* orientation */
9631024 sat_cfg_reset_int (SAT_CFG_INT_POLAR_ORIENTATION );
9641025 /* extra contents */
1026+ sat_cfg_reset_bool (SAT_CFG_BOOL_POL_SHOW_SAT_NAME );
1027+ sat_cfg_reset_bool (SAT_CFG_BOOL_POL_SHOW_SAT_MARKER );
9651028 sat_cfg_reset_bool (SAT_CFG_BOOL_POL_SHOW_QTH_INFO );
9661029 sat_cfg_reset_bool (SAT_CFG_BOOL_POL_SHOW_NEXT_EV );
9671030 sat_cfg_reset_bool (SAT_CFG_BOOL_POL_SHOW_CURS_TRACK );
0 commit comments