[Gpredict-svn] SF.net SVN: gpredict:[559] trunk/src
Real time satellite tracking and orbit prediction
Status: Beta
Brought to you by:
csete
From: <cs...@us...> - 2009-12-27 01:28:05
|
Revision: 559 http://gpredict.svn.sourceforge.net/gpredict/?rev=559&view=rev Author: csete Date: 2009-12-27 00:12:09 +0000 (Sun, 27 Dec 2009) Log Message: ----------- Fixed indentation. Modified Paths: -------------- trunk/src/sat-pass-dialogs.c trunk/src/save-pass.c Modified: trunk/src/sat-pass-dialogs.c =================================================================== --- trunk/src/sat-pass-dialogs.c 2009-12-26 23:03:45 UTC (rev 558) +++ trunk/src/sat-pass-dialogs.c 2009-12-27 00:12:09 UTC (rev 559) @@ -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 @@ -266,7 +266,7 @@ * */ void -show_pass (const gchar *satname, qth_t *qth, pass_t *pass, GtkWidget *toplevel) + show_pass (const gchar *satname, qth_t *qth, pass_t *pass, GtkWidget *toplevel) { GtkWidget *dialog; /* the dialogue window */ GtkWidget *notebook; /* the notebook widet */ @@ -369,7 +369,7 @@ SINGLE_PASS_COL_MA, detail->ma, SINGLE_PASS_COL_PHASE, detail->phase, -1); - + /* SINGLE_PASS_COL_RA */ /* SINGLE_PASS_COL_DEC */ if (flags & (SINGLE_PASS_FLAG_RA | SINGLE_PASS_FLAG_DEC)) { @@ -516,7 +516,7 @@ g_signal_connect (dialog, "response", G_CALLBACK (single_pass_response), NULL); - g_signal_connect (dialog, "destroy", + g_signal_connect (dialog, "destroy", G_CALLBACK (single_pass_dialog_destroy), NULL); g_signal_connect (dialog, "delete_event", G_CALLBACK (single_pass_dialog_delete), NULL); @@ -539,7 +539,7 @@ * */ static void -single_pass_response (GtkWidget *dialog, gint response, gpointer data) + single_pass_response (GtkWidget *dialog, gint response, gpointer data) { switch (response) { @@ -547,7 +547,7 @@ case RESPONSE_PRINT: sat_log_log (SAT_LOG_LEVEL_ERROR, _("%s: PRINT not implemented"), - __FUNCTION__); + __FUNCTION__); break; case RESPONSE_SAVE: @@ -565,9 +565,9 @@ /** \brief Set cell renderer function. */ static void -check_and_set_single_cell_renderer (GtkTreeViewColumn *column, - GtkCellRenderer *renderer, - gint i) + check_and_set_single_cell_renderer (GtkTreeViewColumn *column, + GtkCellRenderer *renderer, + gint i) { switch (i) { @@ -661,11 +661,11 @@ original flaoting point numbers. Very cool! */ static void -latlon_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + latlon_cell_data_function (GtkTreeViewColumn *col, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { gdouble number = 0.0; gchar *buff; @@ -718,11 +718,11 @@ /* general floats with 2 digits + degree char */ static void -degree_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + degree_cell_data_function (GtkTreeViewColumn *col, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { gdouble number; gchar *buff; @@ -742,11 +742,11 @@ /* distance and velocity, 0 decimal digits */ static void -distance_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + distance_cell_data_function (GtkTreeViewColumn *col, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { gdouble number; gchar *buff; @@ -771,11 +771,11 @@ and want 2-3 decimal digits. */ static void -range_rate_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + range_rate_cell_data_function (GtkTreeViewColumn *col, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { gdouble number; gchar *buff; @@ -798,11 +798,11 @@ /* 0 decimal digits */ static void -float_to_int_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + float_to_int_cell_data_function (GtkTreeViewColumn *col, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { gdouble number; gchar *buff; @@ -820,11 +820,11 @@ /* 2 decimal digits */ static void -two_dec_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + two_dec_cell_data_function (GtkTreeViewColumn *col, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { gdouble number; gchar *buff; @@ -843,11 +843,11 @@ /* AOS/LOS; convert julian date to string */ static void -time_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + time_cell_data_function (GtkTreeViewColumn *col, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { gdouble number; gchar buff[TIME_FORMAT_MAX_LENGTH]; @@ -899,14 +899,14 @@ static gint -single_pass_dialog_delete (GtkWidget *dialog, GdkEvent *event, gpointer pass) + single_pass_dialog_delete (GtkWidget *dialog, GdkEvent *event, gpointer pass) { /* dialog will be destroyed */ return FALSE; } static void -single_pass_dialog_destroy (GtkWidget *dialog, gpointer data) + single_pass_dialog_destroy (GtkWidget *dialog, gpointer data) { pass_t *pass = PASS(g_object_get_data (G_OBJECT (dialog), "pass")); @@ -918,13 +918,13 @@ /*** FIXME: formalise with other copies */ static void -Calc_RADec (gdouble jul_utc, gdouble saz, gdouble sel, - qth_t *qth, obs_astro_t *obs_set) + Calc_RADec (gdouble jul_utc, gdouble saz, gdouble sel, + qth_t *qth, obs_astro_t *obs_set) { double phi,theta,sin_theta,cos_theta,sin_phi,cos_phi, - az,el,Lxh,Lyh,Lzh,Sx,Ex,Zx,Sy,Ey,Zy,Sz,Ez,Zz, - Lx,Ly,Lz,cos_delta,sin_alpha,cos_alpha; + az,el,Lxh,Lyh,Lzh,Sx,Ex,Zx,Sy,Ey,Zy,Sz,Ez,Zz, + Lx,Ly,Lz,cos_delta,sin_alpha,cos_alpha; geodetic_t geodetic; @@ -979,7 +979,7 @@ * */ void -show_passes (const gchar *satname, qth_t *qth, GSList *passes, GtkWidget *toplevel) + show_passes (const gchar *satname, qth_t *qth, GSList *passes, GtkWidget *toplevel) { GtkWidget *dialog; GtkWidget *list; @@ -1152,14 +1152,14 @@ * */ static void -multi_pass_response (GtkWidget *dialog, gint response, gpointer data) + multi_pass_response (GtkWidget *dialog, gint response, gpointer data) { switch (response) { case RESPONSE_PRINT: sat_log_log (SAT_LOG_LEVEL_ERROR, _("%s: PRINT not implemented"), - __FUNCTION__); + __FUNCTION__); break; case RESPONSE_SAVE: @@ -1176,7 +1176,7 @@ static gint -multi_pass_dialog_delete (GtkWidget *dialog, GdkEvent *event, gpointer pass) + multi_pass_dialog_delete (GtkWidget *dialog, GdkEvent *event, gpointer pass) { /* dialog will be destroyed */ return FALSE; @@ -1184,7 +1184,7 @@ static void -multi_pass_dialog_destroy (GtkWidget *dialog, gpointer data) + multi_pass_dialog_destroy (GtkWidget *dialog, gpointer data) { GSList *passes = (GSList *) g_object_get_data (G_OBJECT (dialog), "passes"); @@ -1197,9 +1197,9 @@ /** \brief Set cell renderer function. */ static void -check_and_set_multi_cell_renderer (GtkTreeViewColumn *column, - GtkCellRenderer *renderer, - gint i) + check_and_set_multi_cell_renderer (GtkTreeViewColumn *column, + GtkCellRenderer *renderer, + gint i) { switch (i) { @@ -1247,11 +1247,11 @@ /* duration; convert delta t in days to HH:MM:SS */ static void -duration_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + duration_cell_data_function (GtkTreeViewColumn *col, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { gdouble number; gchar *buff; @@ -1324,7 +1324,7 @@ * for the function that actually creates the popup menu. */ static gboolean -popup_menu_cb (GtkWidget *treeview, gpointer data) + popup_menu_cb (GtkWidget *treeview, gpointer data) { /* if there is no selection, select the first row */ @@ -1343,7 +1343,7 @@ * */ static gboolean -button_press_cb (GtkWidget *treeview, GdkEventButton *event, gpointer data) + button_press_cb (GtkWidget *treeview, GdkEventButton *event, gpointer data) { /* single click with the right mouse button? */ @@ -1385,7 +1385,7 @@ static void -view_popup_menu (GtkWidget *treeview, GdkEventButton *event, gpointer data) + view_popup_menu (GtkWidget *treeview, GdkEventButton *event, gpointer data) { GtkTreeSelection *selection; GtkTreeModel *model; @@ -1413,8 +1413,8 @@ pass = copy_pass (PASS (g_slist_nth_data (passes, rownum))); pass_popup_menu_exec (qth, pass, event, gtk_widget_get_toplevel (treeview)); - + } else { sat_log_log (SAT_LOG_LEVEL_BUG, Modified: trunk/src/save-pass.c =================================================================== --- trunk/src/save-pass.c 2009-12-26 23:03:45 UTC (rev 558) +++ trunk/src/save-pass.c 2009-12-27 00:12:09 UTC (rev 559) @@ -11,17 +11,17 @@ 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 (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program; if not, visit http://www.fsf.org/ */ @@ -49,25 +49,25 @@ static void file_changed (GtkWidget *widget, gpointer data); static void save_pass_exec (GtkWidget *parent, - pass_t *pass, qth_t *qth, - const gchar *savedir, const gchar *savefile, - gint format, gint contents); + pass_t *pass, qth_t *qth, + const gchar *savedir, const gchar *savefile, + gint format, gint contents); static void save_passes_exec (GtkWidget *parent, - GSList *passes, qth_t *qth, - const gchar *savedir, const gchar *savefile, - gint format, gint contents); + GSList *passes, qth_t *qth, + const gchar *savedir, const gchar *savefile, + gint format, gint contents); static void save_to_file (GtkWidget *parent, const gchar *fname, const gchar *data); enum pass_content_e { - PASS_CONTENT_ALL = 0, - PASS_CONTENT_TABLE, - PASS_CONTENT_DATA, + PASS_CONTENT_ALL = 0, + PASS_CONTENT_TABLE, + PASS_CONTENT_DATA, }; enum passes_content_e { - PASSES_CONTENT_FULL = 0, - PASSES_CONTENT_SUM, + PASSES_CONTENT_FULL = 0, + PASSES_CONTENT_SUM, }; @@ -85,152 +85,152 @@ * \note All the relevant data are attached to the parent dialogue window. */ void -save_pass (GtkWidget *parent) + save_pass (GtkWidget *parent) { - GtkWidget *dialog; - GtkWidget *table; - GtkWidget *dirchooser; - GtkWidget *filchooser; - GtkWidget *fmtchooser; - GtkWidget *contents; - GtkWidget *label; - gint response; - pass_t *pass; - gchar *sat; - qth_t *qth; - gchar *savedir = NULL; - gchar *savefile; - gint format; - gint cont; + GtkWidget *dialog; + GtkWidget *table; + GtkWidget *dirchooser; + GtkWidget *filchooser; + GtkWidget *fmtchooser; + GtkWidget *contents; + GtkWidget *label; + gint response; + pass_t *pass; + gchar *sat; + qth_t *qth; + gchar *savedir = NULL; + gchar *savefile; + gint format; + gint cont; - /* get data attached to parent */ - sat = (gchar *) g_object_get_data (G_OBJECT (parent), "sat"); - qth = (qth_t *) g_object_get_data (G_OBJECT (parent), "qth"); - pass = (pass_t *) g_object_get_data (G_OBJECT (parent), "pass"); + /* get data attached to parent */ + sat = (gchar *) g_object_get_data (G_OBJECT (parent), "sat"); + qth = (qth_t *) g_object_get_data (G_OBJECT (parent), "qth"); + pass = (pass_t *) g_object_get_data (G_OBJECT (parent), "pass"); - - /* create the dialog */ - dialog = gtk_dialog_new_with_buttons (_("Save Pass Details"), GTK_WINDOW (parent), - GTK_DIALOG_MODAL | - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CANCEL, - GTK_RESPONSE_REJECT, - GTK_STOCK_SAVE, - GTK_RESPONSE_ACCEPT, - NULL); - gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); + /* create the dialog */ + dialog = gtk_dialog_new_with_buttons (_("Save Pass Details"), GTK_WINDOW (parent), + GTK_DIALOG_MODAL | + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CANCEL, + GTK_RESPONSE_REJECT, + GTK_STOCK_SAVE, + GTK_RESPONSE_ACCEPT, + NULL); + gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); - /* create the table */ - table = gtk_table_new (4, 2, FALSE); - gtk_table_set_col_spacings (GTK_TABLE (table), 10); - gtk_table_set_row_spacings (GTK_TABLE (table), 10); - gtk_container_set_border_width (GTK_CONTAINER (table), 10); - /* directory chooser */ - label = gtk_label_new (_("Save in folder:")); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 0, 1); + /* create the table */ + table = gtk_table_new (4, 2, FALSE); + gtk_table_set_col_spacings (GTK_TABLE (table), 10); + gtk_table_set_row_spacings (GTK_TABLE (table), 10); + gtk_container_set_border_width (GTK_CONTAINER (table), 10); - dirchooser = gtk_file_chooser_button_new (_("Select a folder"), - GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); - savedir = sat_cfg_get_str (SAT_CFG_STR_PRED_SAVE_DIR); - if (savedir) { - gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dirchooser), savedir); - g_free (savedir); - } - else { - gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dirchooser), - g_get_home_dir ()); - } - gtk_table_attach_defaults (GTK_TABLE (table), dirchooser, 1, 2, 0, 1); + /* directory chooser */ + label = gtk_label_new (_("Save in folder:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 0, 1); - /* file name */ - label = gtk_label_new (_("Save using file name:")); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 1, 2); + dirchooser = gtk_file_chooser_button_new (_("Select a folder"), + GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); + savedir = sat_cfg_get_str (SAT_CFG_STR_PRED_SAVE_DIR); + if (savedir) { + gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dirchooser), savedir); + g_free (savedir); + } + else { + gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dirchooser), + g_get_home_dir ()); + } + gtk_table_attach_defaults (GTK_TABLE (table), dirchooser, 1, 2, 0, 1); - filchooser = gtk_entry_new (); - gtk_entry_set_max_length (GTK_ENTRY (filchooser), 100); - g_signal_connect (filchooser, "changed", G_CALLBACK (file_changed), dialog); - gtk_table_attach_defaults (GTK_TABLE (table), filchooser, 1, 2, 1, 2); + /* file name */ + label = gtk_label_new (_("Save using file name:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 1, 2); - /* use satellite name + orbit num as default; replace invalid characters + filchooser = gtk_entry_new (); + gtk_entry_set_max_length (GTK_ENTRY (filchooser), 100); + g_signal_connect (filchooser, "changed", G_CALLBACK (file_changed), dialog); + gtk_table_attach_defaults (GTK_TABLE (table), filchooser, 1, 2, 1, 2); + + /* use satellite name + orbit num as default; replace invalid characters with dash */ - savefile = g_strdup_printf ("%s-%d", pass->satname, pass->orbit); - savefile = g_strdelimit (savefile, " ", '-'); - savefile = g_strdelimit (savefile, "!?/\()*&%$#@[]{}=+<>,.|:;", '_'); - gtk_entry_set_text (GTK_ENTRY (filchooser), savefile); - g_free (savefile); - + savefile = g_strdup_printf ("%s-%d", pass->satname, pass->orbit); + savefile = g_strdelimit (savefile, " ", '-'); + savefile = g_strdelimit (savefile, "!?/\()*&%$#@[]{}=+<>,.|:;", '_'); + gtk_entry_set_text (GTK_ENTRY (filchooser), savefile); + g_free (savefile); - /* file format */ - label = gtk_label_new (_("Save as:")); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3); - fmtchooser = gtk_combo_box_new_text (); - gtk_combo_box_append_text (GTK_COMBO_BOX (fmtchooser), _("Plain text (*.txt)")); -/* gtk_combo_box_append_text (GTK_COMBO_BOX (fmtchooser), _("Hypertext (*.html)")); */ -/* gtk_combo_box_append_text (GTK_COMBO_BOX (fmtchooser), _("Docbook (*.xml)")); */ - gtk_combo_box_set_active (GTK_COMBO_BOX (fmtchooser), - sat_cfg_get_int (SAT_CFG_INT_PRED_SAVE_FORMAT)); - gtk_table_attach_defaults (GTK_TABLE (table), fmtchooser, 1, 2, 2, 3); + /* file format */ + label = gtk_label_new (_("Save as:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3); - gtk_widget_set_sensitive (fmtchooser, FALSE); + fmtchooser = gtk_combo_box_new_text (); + gtk_combo_box_append_text (GTK_COMBO_BOX (fmtchooser), _("Plain text (*.txt)")); + /* gtk_combo_box_append_text (GTK_COMBO_BOX (fmtchooser), _("Hypertext (*.html)")); */ + /* gtk_combo_box_append_text (GTK_COMBO_BOX (fmtchooser), _("Docbook (*.xml)")); */ + gtk_combo_box_set_active (GTK_COMBO_BOX (fmtchooser), + sat_cfg_get_int (SAT_CFG_INT_PRED_SAVE_FORMAT)); + gtk_table_attach_defaults (GTK_TABLE (table), fmtchooser, 1, 2, 2, 3); - /* file contents */ - label = gtk_label_new (_("File contents:")); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 3, 4); + gtk_widget_set_sensitive (fmtchooser, FALSE); - contents = gtk_combo_box_new_text (); - gtk_combo_box_append_text (GTK_COMBO_BOX (contents), _("Info+header+data")); - gtk_combo_box_append_text (GTK_COMBO_BOX (contents), _("Header + data")); - gtk_combo_box_append_text (GTK_COMBO_BOX (contents), _("Data only")); - gtk_combo_box_set_active (GTK_COMBO_BOX (contents), - sat_cfg_get_int (SAT_CFG_INT_PRED_SAVE_CONTENTS)); - gtk_table_attach_defaults (GTK_TABLE (table), contents, 1, 2, 3, 4); - - gtk_widget_show_all (table); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), table); - + /* file contents */ + label = gtk_label_new (_("File contents:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 3, 4); - /* run the dialog */ - response = gtk_dialog_run (GTK_DIALOG (dialog)); + contents = gtk_combo_box_new_text (); + gtk_combo_box_append_text (GTK_COMBO_BOX (contents), _("Info+header+data")); + gtk_combo_box_append_text (GTK_COMBO_BOX (contents), _("Header + data")); + gtk_combo_box_append_text (GTK_COMBO_BOX (contents), _("Data only")); + gtk_combo_box_set_active (GTK_COMBO_BOX (contents), + sat_cfg_get_int (SAT_CFG_INT_PRED_SAVE_CONTENTS)); + gtk_table_attach_defaults (GTK_TABLE (table), contents, 1, 2, 3, 4); - switch (response) { + gtk_widget_show_all (table); + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), table); - /* user clicked the save button */ - case GTK_RESPONSE_ACCEPT: - /* get file and directory */ - savedir = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dirchooser)); - savefile = g_strdup (gtk_entry_get_text (GTK_ENTRY (filchooser))); - format = gtk_combo_box_get_active (GTK_COMBO_BOX (fmtchooser)); - cont = gtk_combo_box_get_active (GTK_COMBO_BOX (contents)); + /* run the dialog */ + response = gtk_dialog_run (GTK_DIALOG (dialog)); - /* call saver */ - save_pass_exec (dialog, pass, qth, savedir, savefile, format, cont); + switch (response) { - /* store new settings */ - sat_cfg_set_str (SAT_CFG_STR_PRED_SAVE_DIR, savedir); - sat_cfg_set_int (SAT_CFG_INT_PRED_SAVE_FORMAT, format); - sat_cfg_set_int (SAT_CFG_INT_PRED_SAVE_CONTENTS, cont); + /* user clicked the save button */ + case GTK_RESPONSE_ACCEPT: - /* clean up */ - g_free (savedir); - g_free (savefile); - break; + /* get file and directory */ + savedir = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dirchooser)); + savefile = g_strdup (gtk_entry_get_text (GTK_ENTRY (filchooser))); + format = gtk_combo_box_get_active (GTK_COMBO_BOX (fmtchooser)); + cont = gtk_combo_box_get_active (GTK_COMBO_BOX (contents)); - /* cancel */ - default: - break; + /* call saver */ + save_pass_exec (dialog, pass, qth, savedir, savefile, format, cont); - } + /* store new settings */ + sat_cfg_set_str (SAT_CFG_STR_PRED_SAVE_DIR, savedir); + sat_cfg_set_int (SAT_CFG_INT_PRED_SAVE_FORMAT, format); + sat_cfg_set_int (SAT_CFG_INT_PRED_SAVE_CONTENTS, cont); - gtk_widget_destroy (dialog); + /* clean up */ + g_free (savedir); + g_free (savefile); + break; + + /* cancel */ + default: + break; + + } + + gtk_widget_destroy (dialog); } @@ -249,150 +249,150 @@ * \note All the relevant data are attached to the parent dialogue window. */ void -save_passes (GtkWidget *parent) + save_passes (GtkWidget *parent) { - GtkWidget *dialog; - GtkWidget *table; - GtkWidget *dirchooser; - GtkWidget *filchooser; - GtkWidget *fmtchooser; - GtkWidget *contents; - GtkWidget *label; - gint response; - GSList *passes; - gchar *sat; - qth_t *qth; - gchar *savedir = NULL; - gchar *savefile; - gint format; - gint cont; + GtkWidget *dialog; + GtkWidget *table; + GtkWidget *dirchooser; + GtkWidget *filchooser; + GtkWidget *fmtchooser; + GtkWidget *contents; + GtkWidget *label; + gint response; + GSList *passes; + gchar *sat; + qth_t *qth; + gchar *savedir = NULL; + gchar *savefile; + gint format; + gint cont; - /* get data attached to parent */ - sat = (gchar *) g_object_get_data (G_OBJECT (parent), "sat"); - qth = (qth_t *) g_object_get_data (G_OBJECT (parent), "qth"); - passes = (GSList *) g_object_get_data (G_OBJECT (parent), "passes"); + /* get data attached to parent */ + sat = (gchar *) g_object_get_data (G_OBJECT (parent), "sat"); + qth = (qth_t *) g_object_get_data (G_OBJECT (parent), "qth"); + passes = (GSList *) g_object_get_data (G_OBJECT (parent), "passes"); - - /* create the dialog */ - dialog = gtk_dialog_new_with_buttons (_("Save Passes"), GTK_WINDOW (parent), - GTK_DIALOG_MODAL | - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CANCEL, - GTK_RESPONSE_REJECT, - GTK_STOCK_SAVE, - GTK_RESPONSE_ACCEPT, - NULL); - gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); + /* create the dialog */ + dialog = gtk_dialog_new_with_buttons (_("Save Passes"), GTK_WINDOW (parent), + GTK_DIALOG_MODAL | + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CANCEL, + GTK_RESPONSE_REJECT, + GTK_STOCK_SAVE, + GTK_RESPONSE_ACCEPT, + NULL); + gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); - /* create the table */ - table = gtk_table_new (4, 2, FALSE); - gtk_table_set_col_spacings (GTK_TABLE (table), 10); - gtk_table_set_row_spacings (GTK_TABLE (table), 10); - gtk_container_set_border_width (GTK_CONTAINER (table), 10); - /* directory chooser */ - label = gtk_label_new (_("Save in folder:")); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 0, 1); + /* create the table */ + table = gtk_table_new (4, 2, FALSE); + gtk_table_set_col_spacings (GTK_TABLE (table), 10); + gtk_table_set_row_spacings (GTK_TABLE (table), 10); + gtk_container_set_border_width (GTK_CONTAINER (table), 10); - dirchooser = gtk_file_chooser_button_new (_("Select a folder"), - GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); - savedir = sat_cfg_get_str (SAT_CFG_STR_PRED_SAVE_DIR); - if (savedir) { - gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dirchooser), savedir); - g_free (savedir); - } - else { - gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dirchooser), - g_get_home_dir ()); - } - gtk_table_attach_defaults (GTK_TABLE (table), dirchooser, 1, 2, 0, 1); + /* directory chooser */ + label = gtk_label_new (_("Save in folder:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 0, 1); - /* file name */ - label = gtk_label_new (_("Save using file name:")); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 1, 2); + dirchooser = gtk_file_chooser_button_new (_("Select a folder"), + GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); + savedir = sat_cfg_get_str (SAT_CFG_STR_PRED_SAVE_DIR); + if (savedir) { + gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dirchooser), savedir); + g_free (savedir); + } + else { + gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dirchooser), + g_get_home_dir ()); + } + gtk_table_attach_defaults (GTK_TABLE (table), dirchooser, 1, 2, 0, 1); - filchooser = gtk_entry_new (); - gtk_entry_set_max_length (GTK_ENTRY (filchooser), 100); - g_signal_connect (filchooser, "changed", G_CALLBACK (file_changed), dialog); - gtk_table_attach_defaults (GTK_TABLE (table), filchooser, 1, 2, 1, 2); + /* file name */ + label = gtk_label_new (_("Save using file name:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 1, 2); - /* use satellite name + orbit num as default; replace invalid characters + filchooser = gtk_entry_new (); + gtk_entry_set_max_length (GTK_ENTRY (filchooser), 100); + g_signal_connect (filchooser, "changed", G_CALLBACK (file_changed), dialog); + gtk_table_attach_defaults (GTK_TABLE (table), filchooser, 1, 2, 1, 2); + + /* use satellite name + orbit num as default; replace invalid characters with dash */ - savefile = g_strdup_printf ("%s-passes", sat); - savefile = g_strdelimit (savefile, " ", '-'); - savefile = g_strdelimit (savefile, "!?/\()*&%$#@[]{}=+<>,.|:;", '_'); - gtk_entry_set_text (GTK_ENTRY (filchooser), savefile); - g_free (savefile); - + savefile = g_strdup_printf ("%s-passes", sat); + savefile = g_strdelimit (savefile, " ", '-'); + savefile = g_strdelimit (savefile, "!?/\()*&%$#@[]{}=+<>,.|:;", '_'); + gtk_entry_set_text (GTK_ENTRY (filchooser), savefile); + g_free (savefile); - /* file format */ - label = gtk_label_new (_("Save as:")); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3); - fmtchooser = gtk_combo_box_new_text (); - gtk_combo_box_append_text (GTK_COMBO_BOX (fmtchooser), _("Plain text (*.txt)")); -/* gtk_combo_box_append_text (GTK_COMBO_BOX (fmtchooser), _("Hypertext (*.html)")); */ -/* gtk_combo_box_append_text (GTK_COMBO_BOX (fmtchooser), _("Docbook (*.xml)")); */ - gtk_combo_box_set_active (GTK_COMBO_BOX (fmtchooser), - sat_cfg_get_int (SAT_CFG_INT_PRED_SAVE_FORMAT)); - gtk_table_attach_defaults (GTK_TABLE (table), fmtchooser, 1, 2, 2, 3); + /* file format */ + label = gtk_label_new (_("Save as:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3); - gtk_widget_set_sensitive (fmtchooser, FALSE); + fmtchooser = gtk_combo_box_new_text (); + gtk_combo_box_append_text (GTK_COMBO_BOX (fmtchooser), _("Plain text (*.txt)")); + /* gtk_combo_box_append_text (GTK_COMBO_BOX (fmtchooser), _("Hypertext (*.html)")); */ + /* gtk_combo_box_append_text (GTK_COMBO_BOX (fmtchooser), _("Docbook (*.xml)")); */ + gtk_combo_box_set_active (GTK_COMBO_BOX (fmtchooser), + sat_cfg_get_int (SAT_CFG_INT_PRED_SAVE_FORMAT)); + gtk_table_attach_defaults (GTK_TABLE (table), fmtchooser, 1, 2, 2, 3); - /* file contents */ - label = gtk_label_new (_("File contents:")); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 3, 4); + gtk_widget_set_sensitive (fmtchooser, FALSE); - contents = gtk_combo_box_new_text (); - gtk_combo_box_append_text (GTK_COMBO_BOX (contents), _("Complete report")); - gtk_combo_box_append_text (GTK_COMBO_BOX (contents), _("Summary")); - gtk_combo_box_set_active (GTK_COMBO_BOX (contents), 0); - gtk_table_attach_defaults (GTK_TABLE (table), contents, 1, 2, 3, 4); - - gtk_widget_show_all (table); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), table); - + /* file contents */ + label = gtk_label_new (_("File contents:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 3, 4); - /* run the dialog */ - response = gtk_dialog_run (GTK_DIALOG (dialog)); + contents = gtk_combo_box_new_text (); + gtk_combo_box_append_text (GTK_COMBO_BOX (contents), _("Complete report")); + gtk_combo_box_append_text (GTK_COMBO_BOX (contents), _("Summary")); + gtk_combo_box_set_active (GTK_COMBO_BOX (contents), 0); + gtk_table_attach_defaults (GTK_TABLE (table), contents, 1, 2, 3, 4); - switch (response) { + gtk_widget_show_all (table); + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), table); - /* user clicked the save button */ - case GTK_RESPONSE_ACCEPT: - /* get file and directory */ - savedir = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dirchooser)); - savefile = g_strdup (gtk_entry_get_text (GTK_ENTRY (filchooser))); - format = gtk_combo_box_get_active (GTK_COMBO_BOX (fmtchooser)); - cont = gtk_combo_box_get_active (GTK_COMBO_BOX (contents)); + /* run the dialog */ + response = gtk_dialog_run (GTK_DIALOG (dialog)); - /* call saver */ - save_passes_exec (dialog, passes, qth, savedir, savefile, format, cont); + switch (response) { - /* store new settings */ - sat_cfg_set_str (SAT_CFG_STR_PRED_SAVE_DIR, savedir); - sat_cfg_set_int (SAT_CFG_INT_PRED_SAVE_FORMAT, format); + /* user clicked the save button */ + case GTK_RESPONSE_ACCEPT: - /* clean up */ - g_free (savedir); - g_free (savefile); - break; + /* get file and directory */ + savedir = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dirchooser)); + savefile = g_strdup (gtk_entry_get_text (GTK_ENTRY (filchooser))); + format = gtk_combo_box_get_active (GTK_COMBO_BOX (fmtchooser)); + cont = gtk_combo_box_get_active (GTK_COMBO_BOX (contents)); - /* cancel */ - default: - break; + /* call saver */ + save_passes_exec (dialog, passes, qth, savedir, savefile, format, cont); - } + /* store new settings */ + sat_cfg_set_str (SAT_CFG_STR_PRED_SAVE_DIR, savedir); + sat_cfg_set_int (SAT_CFG_INT_PRED_SAVE_FORMAT, format); - gtk_widget_destroy (dialog); + /* clean up */ + g_free (savedir); + g_free (savefile); + break; + /* cancel */ + default: + break; + + } + + gtk_widget_destroy (dialog); + } @@ -408,51 +408,51 @@ * of the current file name. */ static void -file_changed (GtkWidget *widget, gpointer data) + file_changed (GtkWidget *widget, gpointer data) { - gchar *entry, *end, *j; - gint len, pos; - const gchar *text; - GtkWidget *dialog = GTK_WIDGET (data); + gchar *entry, *end, *j; + gint len, pos; + const gchar *text; + GtkWidget *dialog = GTK_WIDGET (data); - /* ensure that only valid characters are entered + /* ensure that only valid characters are entered (stolen from xlog, tnx pg4i) */ - entry = gtk_editable_get_chars (GTK_EDITABLE (widget), 0, -1); - if ((len = g_utf8_strlen (entry, -1)) > 0) { - end = entry + g_utf8_strlen (entry, -1); - for (j = entry; j < end; ++j) { - switch (*j) { - case '0' ... '9': - case 'a' ... 'z': - case 'A' ... 'Z': - case '-': - case '_': - break; - default: - gdk_beep (); - pos = gtk_editable_get_position (GTK_EDITABLE (widget)); - gtk_editable_delete_text (GTK_EDITABLE (widget), - pos, pos+1); - break; - } - } - } + entry = gtk_editable_get_chars (GTK_EDITABLE (widget), 0, -1); + if ((len = g_utf8_strlen (entry, -1)) > 0) { + end = entry + g_utf8_strlen (entry, -1); + for (j = entry; j < end; ++j) { + switch (*j) { + case '0' ... '9': + case 'a' ... 'z': + case 'A' ... 'Z': + case '-': + case '_': + break; + default: + gdk_beep (); + pos = gtk_editable_get_position (GTK_EDITABLE (widget)); + gtk_editable_delete_text (GTK_EDITABLE (widget), + pos, pos+1); + break; + } + } + } - /* step 2: if name seems all right, enable OK button */ - text = gtk_entry_get_text (GTK_ENTRY (widget)); + /* step 2: if name seems all right, enable OK button */ + text = gtk_entry_get_text (GTK_ENTRY (widget)); - if (g_utf8_strlen (text, -1) > 0) { - gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), - GTK_RESPONSE_ACCEPT, - TRUE); - } - else { - gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), - GTK_RESPONSE_ACCEPT, - FALSE); - } + if (g_utf8_strlen (text, -1) > 0) { + gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), + GTK_RESPONSE_ACCEPT, + TRUE); + } + else { + gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), + GTK_RESPONSE_ACCEPT, + FALSE); + } } /** \brief Save data to file. @@ -473,76 +473,76 @@ * file format. */ static void -save_passes_exec (GtkWidget *parent, - GSList *passes, qth_t *qth, - const gchar *savedir, const gchar *savefile, - gint format, gint contents) + save_passes_exec (GtkWidget *parent, + GSList *passes, qth_t *qth, + const gchar *savedir, const gchar *savefile, + gint format, gint contents) { - gchar *fname; - gchar *pgheader; - gchar *tblheader; - gchar *tblcontents; - gchar *buff = NULL; - gchar *data = NULL; - pass_t *pass; - gint fields; - guint i,n; + gchar *fname; + gchar *pgheader; + gchar *tblheader; + gchar *tblcontents; + gchar *buff = NULL; + gchar *data = NULL; + pass_t *pass; + gint fields; + guint i,n; - switch (format) { + switch (format) { - case SAVE_FORMAT_TXT: + case SAVE_FORMAT_TXT: - /* prepare full file name */ - fname = g_strconcat (savedir, G_DIR_SEPARATOR_S, savefile, ".txt", NULL); + /* prepare full file name */ + fname = g_strconcat (savedir, G_DIR_SEPARATOR_S, savefile, ".txt", NULL); - /* get visible columns for summary */ - fields = sat_cfg_get_int (SAT_CFG_INT_PRED_MULTI_COL); + /* get visible columns for summary */ + fields = sat_cfg_get_int (SAT_CFG_INT_PRED_MULTI_COL); - /* create file contents */ - pgheader = passes_to_txt_pgheader (passes, qth, fields); - tblheader = passes_to_txt_tblheader (passes, qth, fields); - tblcontents = passes_to_txt_tblcontents (passes, qth, fields); + /* create file contents */ + pgheader = passes_to_txt_pgheader (passes, qth, fields); + tblheader = passes_to_txt_tblheader (passes, qth, fields); + tblcontents = passes_to_txt_tblcontents (passes, qth, fields); - data = g_strconcat (pgheader, tblheader, tblcontents, NULL); + data = g_strconcat (pgheader, tblheader, tblcontents, NULL); - g_free (pgheader); - g_free (tblheader); - g_free (tblcontents); + g_free (pgheader); + g_free (tblheader); + g_free (tblcontents); - if (contents == PASSES_CONTENT_FULL) { - fields = sat_cfg_get_int (SAT_CFG_INT_PRED_SINGLE_COL); - n = g_slist_length (passes); - for (i = 0; i < n; i++) { + if (contents == PASSES_CONTENT_FULL) { + fields = sat_cfg_get_int (SAT_CFG_INT_PRED_SINGLE_COL); + n = g_slist_length (passes); + for (i = 0; i < n; i++) { - pass = PASS (g_slist_nth_data (passes, i)); + pass = PASS (g_slist_nth_data (passes, i)); - tblheader = pass_to_txt_tblheader (pass, qth, fields); - tblcontents = pass_to_txt_tblcontents (pass, qth, fields); - buff = g_strdup_printf ("%s\n Orbit %d\n%s%s", - data, pass->orbit, - tblheader, tblcontents); - g_free (data); - data = g_strdup (buff); - g_free (buff); + tblheader = pass_to_txt_tblheader (pass, qth, fields); + tblcontents = pass_to_txt_tblcontents (pass, qth, fields); + buff = g_strdup_printf ("%s\n Orbit %d\n%s%s", + data, pass->orbit, + tblheader, tblcontents); + g_free (data); + data = g_strdup (buff); + g_free (buff); - } - } + } + } - /* save data */ - save_to_file (parent, fname, data); - g_free (data); - g_free (fname); - - break; + /* save data */ + save_to_file (parent, fname, data); + g_free (data); + g_free (fname); + break; + default: - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Invalid file format: %d"), - __FUNCTION__, format); - break; - } + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Invalid file format: %d"), + __FUNCTION__, format); + break; + } } @@ -567,84 +567,84 @@ * file format. */ static void -save_pass_exec (GtkWidget *parent, - pass_t *pass, qth_t *qth, - const gchar *savedir, const gchar *savefile, - gint format, gint contents) + save_pass_exec (GtkWidget *parent, + pass_t *pass, qth_t *qth, + const gchar *savedir, const gchar *savefile, + gint format, gint contents) { - gchar *fname; - gchar *pgheader; - gchar *tblheader; - gchar *tblcontents; - gchar *buff = NULL; - gchar *data = NULL; - gint fields; + gchar *fname; + gchar *pgheader; + gchar *tblheader; + gchar *tblcontents; + gchar *buff = NULL; + gchar *data = NULL; + gint fields; - switch (format) { + switch (format) { - case SAVE_FORMAT_TXT: + case SAVE_FORMAT_TXT: - /* prepare full file name */ - fname = g_strconcat (savedir, G_DIR_SEPARATOR_S, savefile, ".txt", NULL); + /* prepare full file name */ + fname = g_strconcat (savedir, G_DIR_SEPARATOR_S, savefile, ".txt", NULL); - /* get visible columns */ - fields = sat_cfg_get_int (SAT_CFG_INT_PRED_SINGLE_COL); + /* get visible columns */ + fields = sat_cfg_get_int (SAT_CFG_INT_PRED_SINGLE_COL); - /* create file contents */ - pgheader = pass_to_txt_pgheader (pass, qth, fields); - tblheader = pass_to_txt_tblheader (pass, qth, fields); - tblcontents = pass_to_txt_tblcontents (pass, qth, fields); + /* create file contents */ + pgheader = pass_to_txt_pgheader (pass, qth, fields); + tblheader = pass_to_txt_tblheader (pass, qth, fields); + tblcontents = pass_to_txt_tblcontents (pass, qth, fields); - /* Add page header if selected */ - if (contents == PASS_CONTENT_ALL) { - data = g_strdup (pgheader); - } + /* Add page header if selected */ + if (contents == PASS_CONTENT_ALL) { + data = g_strdup (pgheader); + } - /* Add table header if selected */ - if ((contents == PASS_CONTENT_ALL) || (contents == PASS_CONTENT_TABLE)) { + /* Add table header if selected */ + if ((contents == PASS_CONTENT_ALL) || (contents == PASS_CONTENT_TABLE)) { - if (data != NULL) { - buff = g_strdup (data); - g_free (data); - data = g_strconcat (buff, tblheader, NULL); - g_free (buff); - } - else { - data = g_strdup (tblheader); - } + if (data != NULL) { + buff = g_strdup (data); + g_free (data); + data = g_strconcat (buff, tblheader, NULL); + g_free (buff); + } + else { + data = g_strdup (tblheader); + } - } + } - /* Add data */ - if (data != NULL) { - buff = g_strdup (data); - g_free (data); - data = g_strconcat (buff, tblcontents, NULL); - g_free (buff); - } - else { - data = g_strdup (tblcontents); - } + /* Add data */ + if (data != NULL) { + buff = g_strdup (data); + g_free (data); + data = g_strconcat (buff, tblcontents, NULL); + g_free (buff); + } + else { + data = g_strdup (tblcontents); + } - /* save data */ - save_to_file (parent, fname, data); + /* save data */ + save_to_file (parent, fname, data); - /* clean up memory */ - g_free (fname); - g_free (data); - g_free (pgheader); - g_free (tblheader); - g_free (tblcontents); - - break; + /* clean up memory */ + g_free (fname); + g_free (data); + g_free (pgheader); + g_free (tblheader); + g_free (tblcontents); + break; + default: - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Invalid file format: %d"), - __FUNCTION__, format); - break; - } + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Invalid file format: %d"), + __FUNCTION__, format); + break; + } } @@ -652,65 +652,65 @@ static void -save_to_file (GtkWidget *parent, const gchar *fname, const gchar *data) + save_to_file (GtkWidget *parent, const gchar *fname, const gchar *data) { - GIOChannel *chan; - GError *err = NULL; - GtkWidget *dialog; - gsize count; + GIOChannel *chan; + GError *err = NULL; + GtkWidget *dialog; + gsize count; - /* create file */ - chan = g_io_channel_new_file (fname, "w", &err); - if (err != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Could not create file %s (%s)"), - __FUNCTION__, fname, err->message); - - /* error dialog */ - dialog = gtk_message_dialog_new (GTK_WINDOW (parent), - GTK_DIALOG_MODAL | - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_CLOSE, - _("Could not create file %s\n\n%s"), - fname, err->message); - gtk_dialog_run (GTK_DIALOG (dialog)); - gtk_widget_destroy (dialog); - - /* clean up and return */ - g_clear_error (&err); - - return; - } + /* create file */ + chan = g_io_channel_new_file (fname, "w", &err); + if (err != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Could not create file %s (%s)"), + __FUNCTION__, fname, err->message); - /* save contents to file */ - g_io_channel_write_chars (chan, data, -1, &count, &err); - if (err != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: An error occurred while saving data to %s (%s)"), - __FUNCTION__, fname, err->message); - - dialog = gtk_message_dialog_new (GTK_WINDOW (parent), - GTK_DIALOG_MODAL | - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_CLOSE, - _("An error occurred while saving data to %s\n\n%s"), - fname, err->message); - gtk_dialog_run (GTK_DIALOG (dialog)); - gtk_widget_destroy (dialog); - g_clear_error (&err); - } - else { - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Written %d characters to %s"), - __FUNCTION__, count, fname); - } - - /* close file, we don't care about errors here */ - g_io_channel_shutdown (chan, TRUE, NULL); - g_io_channel_unref (chan); - + /* error dialog */ + dialog = gtk_message_dialog_new (GTK_WINDOW (parent), + GTK_DIALOG_MODAL | + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_CLOSE, + _("Could not create file %s\n\n%s"), + fname, err->message); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); + + /* clean up and return */ + g_clear_error (&err); + + return; + } + + /* save contents to file */ + g_io_channel_write_chars (chan, data, -1, &count, &err); + if (err != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: An error occurred while saving data to %s (%s)"), + __FUNCTION__, fname, err->message); + + dialog = gtk_message_dialog_new (GTK_WINDOW (parent), + GTK_DIALOG_MODAL | + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_CLOSE, + _("An error occurred while saving data to %s\n\n%s"), + fname, err->message); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); + g_clear_error (&err); + } + else { + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Written %d characters to %s"), + __FUNCTION__, count, fname); + } + + /* close file, we don't care about errors here */ + g_io_channel_shutdown (chan, TRUE, NULL); + g_io_channel_unref (chan); + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |