Thread: [Gpredict-svn] SF.net SVN: gpredict:[556] trunk/src/sat-pref-layout.c
Real time satellite tracking and orbit prediction
Status: Beta
Brought to you by:
csete
|
From: <cs...@us...> - 2009-12-26 22:58:01
|
Revision: 556
http://gpredict.svn.sourceforge.net/gpredict/?rev=556&view=rev
Author: csete
Date: 2009-12-26 22:57:52 +0000 (Sat, 26 Dec 2009)
Log Message:
-----------
Finished implementation of layout configurator.
Modified Paths:
--------------
trunk/src/sat-pref-layout.c
Modified: trunk/src/sat-pref-layout.c
===================================================================
--- trunk/src/sat-pref-layout.c 2009-12-26 00:21:15 UTC (rev 555)
+++ trunk/src/sat-pref-layout.c 2009-12-26 22:57:52 UTC (rev 556)
@@ -11,7 +11,7 @@
More details can be found at the project home page:
http://gpredict.oz9aec.net/
-
+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
@@ -48,23 +48,32 @@
/* Text entry for layout string */
static GtkWidget *gridstr;
+static gulong gridstr_sigid;
+/* layout selector combo */
+static GtkWidget *selector;
+
+/* layout thumbnail */
+static GtkWidget *thumb;
+
+
/* private functions */
static void create_layout_selector (GKeyFile *cfg, GtkTable *table);
-static void layout_selected_cb (GtkToggleButton *but, gpointer data);
+static void layout_selected_cb (GtkComboBox *combo, gpointer data);
static void create_window_placement (GtkBox *vbox);
static void create_reset_button (GKeyFile *cfg, GtkBox *vbox);
-static GtkWidget *create_combo (void);
-static void combo_changed_cb (GtkComboBox *widget, gpointer data);
static void reset_cb (GtkWidget *button, gpointer cfg);
static void window_pos_toggle_cb (GtkWidget *toggle, gpointer data);
static void layout_code_changed (GtkWidget *widget, gpointer data);
+static gchar *thumb_file_from_sel (guint sel);
+/** \brief the number of predefined layouts (+1 for custom). */
#define PREDEF_NUM 10
+/** \brief Predefined layouts. */
gchar *predef_layout[PREDEF_NUM][3] = {
- { "1;0;2;0;1;2;0;1;1;2;3;1;2;1;2", N_("World map, polar and single sat (default)"), "gpredict-layout-00.png" },
+ { "1;0;2;0;1;2;0;1;1;2;3;1;2;1;2", N_("World map, polar and single sat"), "gpredict-layout-00.png" },
{ "1;0;2;0;1", N_("World map"), "gpredict-layout-01.png" },
{ "1;0;2;0;1", N_("Table"), "gpredict-layout-02.png" },
{ "1;0;2;0;2;0;0;2;2;3", N_("World map and table"), "gpredict-layout-03.png" },
@@ -85,44 +94,44 @@
*/
GtkWidget *sat_pref_layout_create (GKeyFile *cfg)
{
- GtkWidget *table;
- GtkWidget *vbox;
+ GtkWidget *table;
+ GtkWidget *vbox;
- /* create the table */
- table = gtk_table_new (8, 5, FALSE);
- gtk_table_set_row_spacings (GTK_TABLE (table), 10);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
+ /* create the table */
+ table = gtk_table_new (8, 5, FALSE);
+ gtk_table_set_row_spacings (GTK_TABLE (table), 10);
+ gtk_table_set_col_spacings (GTK_TABLE (table), 5);
- /* layout selector */
- create_layout_selector (cfg, GTK_TABLE (table));
+ /* layout selector */
+ create_layout_selector (cfg, GTK_TABLE (table));
- /* separator */
- gtk_table_attach (GTK_TABLE (table),
- gtk_hseparator_new (),
+ /* separator */
+ gtk_table_attach (GTK_TABLE (table),
+ gtk_hseparator_new (),
0, 5, 3, 4,
- GTK_FILL | GTK_EXPAND, GTK_SHRINK, 0, 0);
+ GTK_FILL | GTK_EXPAND, GTK_SHRINK, 0, 0);
- /* create vertical box */
- vbox = gtk_vbox_new (FALSE, 5);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 20);
- gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, TRUE, 0);
+ /* create vertical box */
+ vbox = gtk_vbox_new (FALSE, 5);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox), 20);
+ gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, TRUE, 0);
- /* window placement */
- if (cfg == NULL) {
- create_window_placement (GTK_BOX (vbox));
- }
+ /* window placement */
+ if (cfg == NULL) {
+ create_window_placement (GTK_BOX (vbox));
+ }
- /* create RESET button */
- create_reset_button (cfg, GTK_BOX (vbox));
+ /* create RESET button */
+ create_reset_button (cfg, GTK_BOX (vbox));
- /* reset flags */
- dirty = FALSE;
- reset = FALSE;
+ /* reset flags */
+ dirty = FALSE;
+ reset = FALSE;
- return vbox;;
+ return vbox;;
}
@@ -136,7 +145,7 @@
gtk_entry_set_text (GTK_ENTRY (gridstr), str);
g_free (str);
- dirty = FALSE;
+ dirty = FALSE;
}
@@ -144,74 +153,61 @@
*/
void sat_pref_layout_ok (GKeyFile *cfg)
{
- if (dirty) {
- /* we have new settings */
- if (cfg != NULL) {
+ if (dirty) {
+ /* we have new settings */
+ if (cfg != NULL) {
g_key_file_set_string (cfg,
MOD_CFG_GLOBAL_SECTION,
MOD_CFG_GRID,
gtk_entry_get_text (GTK_ENTRY (gridstr)));
- }
- else {
+ }
+ else {
sat_cfg_set_str (SAT_CFG_STR_MODULE_GRID,
gtk_entry_get_text (GTK_ENTRY (gridstr)));
- sat_cfg_set_bool (SAT_CFG_BOOL_MAIN_WIN_POS,
- gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (mwin)));
- sat_cfg_set_bool (SAT_CFG_BOOL_MOD_WIN_POS,
- gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (mod)));
+ sat_cfg_set_bool (SAT_CFG_BOOL_MAIN_WIN_POS,
+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (mwin)));
+ sat_cfg_set_bool (SAT_CFG_BOOL_MOD_WIN_POS,
+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (mod)));
sat_cfg_set_bool (SAT_CFG_BOOL_MOD_STATE,
gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (state)));
}
- }
+ }
- else if (reset) {
- /* we have to reset the values to global or default settings */
- if (cfg == NULL) {
+ else if (reset) {
+ /* we have to reset the values to global or default settings */
+ if (cfg == NULL) {
- /* layout */
+ /* layout */
sat_cfg_reset_str (SAT_CFG_STR_MODULE_GRID);
- /* window placement */
- sat_cfg_reset_bool (SAT_CFG_BOOL_MAIN_WIN_POS);
- sat_cfg_reset_bool (SAT_CFG_BOOL_MOD_WIN_POS);
+ /* window placement */
+ sat_cfg_reset_bool (SAT_CFG_BOOL_MAIN_WIN_POS);
+ sat_cfg_reset_bool (SAT_CFG_BOOL_MOD_WIN_POS);
sat_cfg_reset_bool (SAT_CFG_BOOL_MOD_STATE);
}
- else {
+ else {
g_key_file_remove_key ((GKeyFile *)(cfg),
MOD_CFG_GLOBAL_SECTION,
MOD_CFG_GRID,
NULL);
- }
+ }
- }
- dirty = FALSE;
- reset = FALSE;
+ }
+ dirty = FALSE;
+ reset = FALSE;
}
/** \brief Create layout selector. */
static void create_layout_selector (GKeyFile *cfg, GtkTable *table)
{
- GtkWidget *label;
+ GtkWidget *label;
gchar *buffer;
- GtkWidget *image;
- gchar *fname;
+ gchar *thumbfile;
+ guint i,sel=PREDEF_NUM-1;
- /* create header */
- label = gtk_label_new (NULL);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_label_set_markup (GTK_LABEL (label),
- _("<b>Select Layout:</b>"));
- gtk_table_attach (GTK_TABLE (table), label, 0, 2, 0, 1,
- GTK_FILL, GTK_SHRINK, 0, 0);
-
- /* layout string */
- label = gtk_label_new (_("Layout code:"));
- gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3,
- GTK_SHRINK | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 0);
-
+ /* get the current settings */
if (cfg != NULL) {
buffer = mod_cfg_get_str (cfg,
MOD_CFG_GLOBAL_SECTION,
@@ -222,6 +218,49 @@
buffer = sat_cfg_get_str (SAT_CFG_STR_MODULE_GRID);
}
+ /* create header */
+ label = gtk_label_new (_("Select layout:"));
+ gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5);
+ gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
+ GTK_SHRINK | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 0);
+
+ /* layout selector */
+ selector = gtk_combo_box_new_text ();
+ gtk_table_attach (GTK_TABLE (table), selector, 1, 3, 0, 1,
+ GTK_FILL, GTK_SHRINK, 0, 0);
+
+ for (i = 0; i < PREDEF_NUM; i++) {
+ /* append default layout string to combo box */
+ gtk_combo_box_append_text (GTK_COMBO_BOX (selector), predef_layout[i][1]);
+
+ /* check if this layout corresponds to the settings */
+ if (!g_ascii_strcasecmp (buffer, predef_layout[i][0])) {
+ sel = i;
+ }
+ }
+
+ /* select settings */
+ gtk_combo_box_set_active (GTK_COMBO_BOX (selector), sel);
+
+ /* connect signal handler */
+ g_signal_connect (selector, "changed", G_CALLBACK (layout_selected_cb), NULL);
+
+
+ /* layout preview thumbnail */
+ thumbfile = thumb_file_from_sel (sel);
+ thumb = gtk_image_new_from_file (thumbfile);
+ g_free (thumbfile);
+ gtk_table_attach (GTK_TABLE (table), thumb, 1, 3, 1, 2,
+ GTK_EXPAND, GTK_EXPAND, 0, 5);
+
+
+ /* layout string */
+ label = gtk_label_new (_("Layout code:"));
+ gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5);
+ gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3,
+ GTK_SHRINK | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 0);
+
+
gridstr = gtk_entry_new ();
gtk_entry_set_text (GTK_ENTRY (gridstr), buffer);
g_free (buffer);
@@ -231,24 +270,79 @@
"Consult the user manual for how to create custom layouts "\
"using layout codes."));
+ /* disable if it is a predefined layout */
+ if (sel < PREDEF_NUM-1) {
+ gtk_widget_set_sensitive (gridstr, FALSE);
+ }
+
/* connect changed signal handler */
- g_signal_connect (gridstr, "changed", G_CALLBACK (layout_code_changed), NULL);
+ gridstr_sigid = g_signal_connect (gridstr, "changed", G_CALLBACK (layout_code_changed), NULL);
- gtk_table_attach_defaults (GTK_TABLE (table), gridstr, 1, 2, 2, 3);
+ gtk_table_attach_defaults (GTK_TABLE (table), gridstr, 1, 4, 2, 3);
}
-/** \brief Callback to manage radio button clicks.
+
+/** \brief Get thumbnail icon filename from selection ID.
+ * \param sel The ID of the predefined layout or PREDEF_NUM-1 for custom.
+ * \return A newly allocated string containing the full path of the icon.
+ *
+ * This function generates an icon file name from the ID of a predefined
+ * layout. PREDEF_NUM-1 corresponds to the last entry in predef_layout[][],
+ * which is the custom layout. The returned string should be freed when no
+ * longer needed.
+ *
+ * The function checks that sel is within valid range (0...PREDEF_NUM-1). If
+ * sel is outside the range, the custom layout icon is returned.
+ */
+static gchar *thumb_file_from_sel (guint sel)
+{
+ gchar *fname;
+
+ if (sel < PREDEF_NUM) {
+ fname = icon_file_name (predef_layout[sel][2]);
+ }
+ else {
+ fname = icon_file_name (predef_layout[PREDEF_NUM-1][2]);
+ }
+
+ return fname;
+}
+
+
+/** \brief Callback to manage layout selection via combo box.
*
- * This function is called when the user makes a new layout selection,
- * i.e. a radio button is clicked. The function is called for both the
- * newly selected radio button and the de-selected radio button. It must
- * therefore check whether the button is currently active or not
+ * This function is called when the user selects a new layout using the
+ * layout selector combo box. The function updates the thumbnail and the
+ * layout code text entry.
*/
-static void layout_selected_cb (GtkToggleButton *but, gpointer data)
+static void layout_selected_cb (GtkComboBox *combo, gpointer data)
{
+ gint idx;
+ gchar *icon;
+
+ idx = gtk_combo_box_get_active (combo);
+ if (idx < PREDEF_NUM) {
+ dirty = TRUE;
+
+ /* update icon */
+ icon = thumb_file_from_sel (idx);
+ gtk_image_set_from_file (GTK_IMAGE (thumb), icon);
+ g_free (icon);
+
+ /* update layout code, unless Custom is selected */
+ if (idx < PREDEF_NUM-1) {
+ g_signal_handler_block (gridstr, gridstr_sigid);
+ gtk_entry_set_text (GTK_ENTRY (gridstr), predef_layout[idx][0]);
+ g_signal_handler_unblock (gridstr, gridstr_sigid);
+ gtk_widget_set_sensitive (gridstr, FALSE);
+ }
+ else {
+ gtk_widget_set_sensitive (gridstr, TRUE);
+ }
+ }
}
@@ -260,46 +354,46 @@
*/
static void create_window_placement (GtkBox *vbox)
{
- GtkWidget *label;
- GtkTooltips *tips;
+ GtkWidget *label;
+ GtkTooltips *tips;
- /* create header */
- label = gtk_label_new (NULL);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_label_set_markup (GTK_LABEL (label),
- _("<b>Window Placements:</b>"));
- gtk_box_pack_start (vbox, label, FALSE, FALSE, 0);
+ /* create header */
+ label = gtk_label_new (NULL);
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_label_set_markup (GTK_LABEL (label),
+ _("<b>Window Placements:</b>"));
+ gtk_box_pack_start (vbox, label, FALSE, FALSE, 0);
- /* main window setting */
- mwin = gtk_check_button_new_with_label (_("Restore position of main window"));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mwin),
- sat_cfg_get_bool (SAT_CFG_BOOL_MAIN_WIN_POS));
- tips = gtk_tooltips_new ();
- gtk_tooltips_set_tip (tips, mwin,
- _("If you check this button, gpredict will try to "\
- "place the main window at the position it was "\
- "during the last session.\n"\
- "Note that window managers can ignore this request."),
- NULL);
- g_signal_connect (G_OBJECT (mwin), "toggled",
- G_CALLBACK (window_pos_toggle_cb), NULL);
- gtk_box_pack_start (vbox, mwin, FALSE, FALSE, 0);
+ /* main window setting */
+ mwin = gtk_check_button_new_with_label (_("Restore position of main window"));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mwin),
+ sat_cfg_get_bool (SAT_CFG_BOOL_MAIN_WIN_POS));
+ tips = gtk_tooltips_new ();
+ gtk_tooltips_set_tip (tips, mwin,
+ _("If you check this button, gpredict will try to "\
+ "place the main window at the position it was "\
+ "during the last session.\n"\
+ "Note that window managers can ignore this request."),
+ NULL);
+ g_signal_connect (G_OBJECT (mwin), "toggled",
+ G_CALLBACK (window_pos_toggle_cb), NULL);
+ gtk_box_pack_start (vbox, mwin, FALSE, FALSE, 0);
- /* module window setting */
- mod = gtk_check_button_new_with_label (_("Restore position of module windows"));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mod),
- sat_cfg_get_bool (SAT_CFG_BOOL_MOD_WIN_POS));
- tips = gtk_tooltips_new ();
- gtk_tooltips_set_tip (tips, mod,
- _("If you check this button, gpredict will try to "\
- "place the module windows at the position they were "\
- "the last time.\n"\
- "Note that window managers can ignore this request."),
- NULL);
- g_signal_connect (G_OBJECT (mod), "toggled",
- G_CALLBACK (window_pos_toggle_cb), NULL);
- gtk_box_pack_start (vbox, mod, FALSE, FALSE, 0);
+ /* module window setting */
+ mod = gtk_check_button_new_with_label (_("Restore position of module windows"));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mod),
+ sat_cfg_get_bool (SAT_CFG_BOOL_MOD_WIN_POS));
+ tips = gtk_tooltips_new ();
+ gtk_tooltips_set_tip (tips, mod,
+ _("If you check this button, gpredict will try to "\
+ "place the module windows at the position they were "\
+ "the last time.\n"\
+ "Note that window managers can ignore this request."),
+ NULL);
+ g_signal_connect (G_OBJECT (mod), "toggled",
+ G_CALLBACK (window_pos_toggle_cb), NULL);
+ gtk_box_pack_start (vbox, mod, FALSE, FALSE, 0);
/* module state */
state = gtk_check_button_new_with_label (_("Restore the state of modules when reopened (docked or window)"));
@@ -325,32 +419,32 @@
*/
static void create_reset_button (GKeyFile *cfg, GtkBox *vbox)
{
- GtkWidget *button;
- GtkWidget *butbox;
- GtkTooltips *tips;
+ GtkWidget *button;
+ GtkWidget *butbox;
+ GtkTooltips *tips;
- button = gtk_button_new_with_label (_("Reset"));
- g_signal_connect (G_OBJECT (button), "clicked",
- G_CALLBACK (reset_cb), cfg);
+ button = gtk_button_new_with_label (_("Reset"));
+ g_signal_connect (G_OBJECT (button), "clicked",
+ G_CALLBACK (reset_cb), cfg);
- tips = gtk_tooltips_new ();
- if (cfg == NULL) {
- gtk_tooltips_set_tip (tips, button,
- _("Reset settings to the default values."),
- NULL);
- }
- else {
- gtk_tooltips_set_tip (tips, button,
- _("Reset module settings to the global values."),
- NULL);
- }
+ tips = gtk_tooltips_new ();
+ if (cfg == NULL) {
+ gtk_tooltips_set_tip (tips, button,
+ _("Reset settings to the default values."),
+ NULL);
+ }
+ else {
+ gtk_tooltips_set_tip (tips, button,
+ _("Reset module settings to the global values."),
+ NULL);
+ }
- butbox = gtk_hbutton_box_new ();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (butbox), GTK_BUTTONBOX_END);
- gtk_box_pack_end (GTK_BOX (butbox), button, FALSE, TRUE, 10);
+ butbox = gtk_hbutton_box_new ();
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (butbox), GTK_BUTTONBOX_END);
+ gtk_box_pack_end (GTK_BOX (butbox), button, FALSE, TRUE, 10);
- gtk_box_pack_end (vbox, butbox, FALSE, TRUE, 0);
+ gtk_box_pack_end (vbox, butbox, FALSE, TRUE, 0);
}
@@ -366,38 +460,47 @@
*/
static void reset_cb (GtkWidget *button, gpointer cfg)
{
- gint idx;
+ guint i,sel=PREDEF_NUM-1;
gchar *buffer;
- /* views */
- if (cfg == NULL) {
- /* global mode, get defaults */
+ /* views */
+ if (cfg == NULL) {
+ /* global mode, get defaults */
buffer = sat_cfg_get_str_def (SAT_CFG_STR_MODULE_GRID);
gtk_entry_set_text (GTK_ENTRY (gridstr), buffer);
- g_free (buffer);
- }
- else {
- /* local mode, get global value */
+ }
+ else {
+ /* local mode, get global value */
buffer = sat_cfg_get_str (SAT_CFG_STR_MODULE_GRID);
gtk_entry_set_text (GTK_ENTRY (gridstr), buffer);
- g_free (buffer);
- }
+ }
- /* window placement settings */
- if (cfg == NULL) {
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mwin),
- sat_cfg_get_bool_def (SAT_CFG_BOOL_MAIN_WIN_POS));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mod),
- sat_cfg_get_bool_def (SAT_CFG_BOOL_MOD_WIN_POS));
+ /* findcombo box setting */
+ for (i = 0; i < PREDEF_NUM; i++) {
+ /* check if this layout corresponds to the settings */
+ if (!g_ascii_strcasecmp (buffer, predef_layout[i][0])) {
+ sel = i;
+ }
+ }
+ gtk_combo_box_set_active (GTK_COMBO_BOX(selector),sel);
+ g_free (buffer);
+
+
+ /* window placement settings */
+ if (cfg == NULL) {
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mwin),
+ sat_cfg_get_bool_def (SAT_CFG_BOOL_MAIN_WIN_POS));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mod),
+ sat_cfg_get_bool_def (SAT_CFG_BOOL_MOD_WIN_POS));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (state),
sat_cfg_get_bool_def (SAT_CFG_BOOL_MOD_STATE));
}
- /* reset flags */
- reset = TRUE;
- dirty = FALSE;
+ /* reset flags */
+ reset = TRUE;
+ dirty = FALSE;
}
@@ -406,7 +509,7 @@
/** \brief Toggle window positioning settings. */
static void window_pos_toggle_cb (GtkWidget *toggle, gpointer data)
{
- dirty = TRUE;
+ dirty = TRUE;
}
/** \brief Manage layout code changes.
@@ -432,6 +535,10 @@
case '0' ... '9':
case ';':
dirty = TRUE;
+ /* ensure combo box is set to custom */
+ if (gtk_combo_box_get_active (GTK_COMBO_BOX(selector)) != PREDEF_NUM-1) {
+ gtk_combo_box_set_active (GTK_COMBO_BOX(selector), PREDEF_NUM-1);
+ }
break;
default:
gdk_beep ();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cs...@us...> - 2009-12-30 20:29:45
|
Revision: 568
http://gpredict.svn.sourceforge.net/gpredict/?rev=568&view=rev
Author: csete
Date: 2009-12-30 20:29:36 +0000 (Wed, 30 Dec 2009)
Log Message:
-----------
Fixed a bug in the predefined layouts table.
Modified Paths:
--------------
trunk/src/sat-pref-layout.c
Modified: trunk/src/sat-pref-layout.c
===================================================================
--- trunk/src/sat-pref-layout.c 2009-12-30 18:45:18 UTC (rev 567)
+++ trunk/src/sat-pref-layout.c 2009-12-30 20:29:36 UTC (rev 568)
@@ -75,7 +75,7 @@
gchar *predef_layout[PREDEF_NUM][3] = {
{ "1;0;2;0;1;2;0;1;1;2;3;1;2;1;2", N_("World map, polar and single sat"), "gpredict-layout-00.png" },
{ "1;0;2;0;1", N_("World map"), "gpredict-layout-01.png" },
- { "1;0;2;0;1", N_("Table"), "gpredict-layout-02.png" },
+ { "0;0;2;0;1", N_("Table"), "gpredict-layout-02.png" },
{ "1;0;2;0;2;0;0;2;2;3", N_("World map and table"), "gpredict-layout-03.png" },
{ "2;0;1;0;1;3;1;2;0;1", N_("Polar and single sat"), "gpredict-layout-04.png" },
{ "2;0;1;0;1;4;1;2;0;1", N_("Polar and upcoming passes"), "gpredict-layout-05.png" },
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|