/[xlog]/xlog/src/callbacks_toolbar.c
ViewVC logotype

Diff of /xlog/src/callbacks_toolbar.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by pa4tu, Sun Nov 10 19:43:08 2002 UTC revision 1.8 by pa4tu, Thu Nov 21 19:57:46 2002 UTC
# Line 41  extern gchar **qso; Line 41  extern gchar **qso;
41  extern GList *logwindowlist;  extern GList *logwindowlist;
42    
43  /* add a new qso to the log */  /* add a new qso to the log */
44  void on_abutton_clicked (GtkButton *button, gpointer user_data)  void
45    on_abutton_clicked (GtkButton * button, gpointer user_data)
46  {  {
47          GtkWidget *dateentry, *gmtentry, *callentry, *rstentry, *myrstentry,    GtkWidget *dateentry, *gmtentry, *callentry, *rstentry, *myrstentry,
48                  *remarksentry, *bandentry, *modeentry, *bandoptionmenu,        *remarksentry, *bandentry, *modeentry, *bandoptionmenu,
49                  *modeoptionmenu, *incheckbutton, *outcheckbutton, *gmtbutton,      *modeoptionmenu, *incheckbutton, *outcheckbutton, *gmtbutton,
50                  *qsoframe, *menu, *active_item, *endhbox, *endentry, *powerhbox,      *qsoframe, *menu, *active_item, *endhbox, *endentry, *powerhbox,
51                  *powerentry, *namehbox, *nameentry, *qthhbox, *qthentry,      *powerentry, *namehbox, *nameentry, *qthhbox, *qthentry,
52                  *locatorhbox, *locatorentry, *unknown1hbox, *unknownentry1,      *locatorhbox, *locatorentry, *unknown1hbox, *unknownentry1,
53                  *unknown2hbox, *unknownentry2, *qslhbox, *remarksvbox;      *unknown2hbox, *unknownentry2, *qslhbox, *remarksvbox;
54          gchar *frametext, *temp;    gchar *frametext, *temp;
55          gint newrow, bandindex, modeindex, i = 0, page;    gint newrow, bandindex, modeindex, i = 0, page;
56          logtype *logwindow = NULL;    logtype *logwindow = NULL;
57    
58          page = gtk_notebook_get_current_page(GTK_NOTEBOOK(mainnotebook));    page = gtk_notebook_get_current_page (GTK_NOTEBOOK (mainnotebook));
59          if (page >= 0)    if (page >= 0)
60          {      {
61                  logwindow =  g_list_nth_data(logwindowlist, page);        logwindow = g_list_nth_data (logwindowlist, page);
62    
63                  /* widgets which are always visible */        /* widgets which are always visible */
64                  dateentry = lookup_widget(mainwindow, "dateentry");        dateentry = lookup_widget (mainwindow, "dateentry");
65                  gmtentry = lookup_widget(mainwindow, "gmtentry");        gmtentry = lookup_widget (mainwindow, "gmtentry");
66                  callentry = lookup_widget(mainwindow, "callentry");        callentry = lookup_widget (mainwindow, "callentry");
67                  bandentry = lookup_widget(mainwindow, "bandentry");        bandentry = lookup_widget (mainwindow, "bandentry");
68                  bandoptionmenu = lookup_widget(mainwindow, "bandoptionmenu");        bandoptionmenu = lookup_widget (mainwindow, "bandoptionmenu");
69                  modeentry = lookup_widget(mainwindow, "modeentry");        modeentry = lookup_widget (mainwindow, "modeentry");
70                  modeoptionmenu = lookup_widget(mainwindow, "modeoptionmenu");        modeoptionmenu = lookup_widget (mainwindow, "modeoptionmenu");
71                  rstentry = lookup_widget(mainwindow, "rstentry");        rstentry = lookup_widget (mainwindow, "rstentry");
72                  myrstentry = lookup_widget(mainwindow, "myrstentry");        myrstentry = lookup_widget (mainwindow, "myrstentry");
73    
74                  for (i = 0; i < QSO_FIELDS; i++) qso[i] = g_strdup("");        for (i = 0; i < QSO_FIELDS; i++)
75                  qso[NR] = g_strdup_printf("%d", ++logwindow->qsos);          qso[i] = g_strdup ("");
76                  qso[DATE] = gtk_editable_get_chars(GTK_EDITABLE(dateentry), 0, -1);        qso[NR] = g_strdup_printf ("%d", ++logwindow->qsos);
77                  qso[GMT] = gtk_editable_get_chars(GTK_EDITABLE(gmtentry), 0, -1);        qso[DATE] = gtk_editable_get_chars (GTK_EDITABLE (dateentry), 0, -1);
78                  qso[CALL] = gtk_editable_get_chars(GTK_EDITABLE(callentry), 0, -1);        qso[GMT] = gtk_editable_get_chars (GTK_EDITABLE (gmtentry), 0, -1);
79          qso[CALL] = gtk_editable_get_chars (GTK_EDITABLE (callentry), 0, -1);
80                  if (preferences.bandseditbox == 0)  
81                  {        if (preferences.bandseditbox == 0)
82                          menu = GTK_OPTION_MENU(bandoptionmenu)->menu;          {
83                          active_item = gtk_menu_get_active(GTK_MENU(menu));            menu = GTK_OPTION_MENU (bandoptionmenu)->menu;
84                          bandindex = g_list_index(GTK_MENU_SHELL(menu)->children,            active_item = gtk_menu_get_active (GTK_MENU (menu));
85                                  active_item);            bandindex = g_list_index (GTK_MENU_SHELL (menu)->children,
86                          qso[BAND] = lookup_band(bandsplit[bandindex]);                                      active_item);
87                  }            qso[BAND] = lookup_band (bandsplit[bandindex]);
88                  else qso[BAND] = gtk_editable_get_chars(GTK_EDITABLE(bandentry), 0, -1);          }
89                  if (preferences.modeseditbox == 0)        else
90                  {          qso[BAND] = gtk_editable_get_chars (GTK_EDITABLE (bandentry), 0, -1);
91                                  menu = GTK_OPTION_MENU(modeoptionmenu)->menu;        if (preferences.modeseditbox == 0)
92                                  active_item = gtk_menu_get_active(GTK_MENU(menu));          {
93                                  modeindex = g_list_index(GTK_MENU_SHELL(menu)->children,            menu = GTK_OPTION_MENU (modeoptionmenu)->menu;
94                                          active_item);            active_item = gtk_menu_get_active (GTK_MENU (menu));
95                                  qso[MODE] = lookup_mode(modesplit[modeindex]);            modeindex = g_list_index (GTK_MENU_SHELL (menu)->children,
96                  }                                      active_item);
97                  else qso[MODE] = gtk_editable_get_chars(GTK_EDITABLE(modeentry), 0, -1);            qso[MODE] = lookup_mode (modesplit[modeindex]);
98            }
99                  powerhbox = lookup_widget(mainwindow, "powerhbox");        else
100                  powerentry = lookup_widget(mainwindow, "powerentry");          qso[MODE] = gtk_editable_get_chars (GTK_EDITABLE (modeentry), 0, -1);
101                  if (GTK_WIDGET_VISIBLE(powerhbox))  
102                  {        powerhbox = lookup_widget (mainwindow, "powerhbox");
103                          qso[POWER] = gtk_editable_get_chars(GTK_EDITABLE(powerentry), 0, -1);        powerentry = lookup_widget (mainwindow, "powerentry");
104                          gtk_editable_delete_text(GTK_EDITABLE(powerentry), 0, -1);        if (GTK_WIDGET_VISIBLE (powerhbox))
105                  }          {
106              qso[POWER] =
107                  qso[RST] = gtk_editable_get_chars(GTK_EDITABLE(rstentry), 0, -1);              gtk_editable_get_chars (GTK_EDITABLE (powerentry), 0, -1);
108                  qso[MYRST] = gtk_editable_get_chars(GTK_EDITABLE(myrstentry), 0, -1);            gtk_editable_delete_text (GTK_EDITABLE (powerentry), 0, -1);
109            }
110                  endhbox = lookup_widget(mainwindow, "endhbox");  
111                  if (GTK_WIDGET_VISIBLE(endhbox))        qso[RST] = gtk_editable_get_chars (GTK_EDITABLE (rstentry), 0, -1);
112                  {        qso[MYRST] = gtk_editable_get_chars (GTK_EDITABLE (myrstentry), 0, -1);
113                          endentry = lookup_widget(mainwindow, "endentry");  
114                          qso[GMTEND] = gtk_editable_get_chars(GTK_EDITABLE(endentry), 0, -1);        endhbox = lookup_widget (mainwindow, "endhbox");
115                          gtk_editable_delete_text(GTK_EDITABLE(endentry), 0, -1);        if (GTK_WIDGET_VISIBLE (endhbox))
116                  }          {
117              endentry = lookup_widget (mainwindow, "endentry");
118                  qslhbox = lookup_widget(mainwindow, "qslhbox");            qso[GMTEND] =
119                  if (GTK_WIDGET_VISIBLE(qslhbox))              gtk_editable_get_chars (GTK_EDITABLE (endentry), 0, -1);
120                  {            gtk_editable_delete_text (GTK_EDITABLE (endentry), 0, -1);
121                          incheckbutton = lookup_widget(mainwindow, "incheckbutton");          }
122                          outcheckbutton = lookup_widget(mainwindow, "outcheckbutton");  
123                          if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(outcheckbutton)))        qslhbox = lookup_widget (mainwindow, "qslhbox");
124                                  qso[QSLOUT] = g_strdup("X");        if (GTK_WIDGET_VISIBLE (qslhbox))
125                          else          {
126                                  qso[QSLOUT] = g_strdup("");            incheckbutton = lookup_widget (mainwindow, "incheckbutton");
127                          if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(incheckbutton)))            outcheckbutton = lookup_widget (mainwindow, "outcheckbutton");
128                                  qso[QSLIN] = g_strdup("X");            if (gtk_toggle_button_get_active
129                          else                (GTK_TOGGLE_BUTTON (outcheckbutton)))
130                                  qso[QSLIN] = g_strdup("");              qso[QSLOUT] = g_strdup ("X");
131                          gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(outcheckbutton), FALSE);            else
132                          gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(incheckbutton), FALSE);              qso[QSLOUT] = g_strdup ("");
133                  }            if (gtk_toggle_button_get_active
134                  (GTK_TOGGLE_BUTTON (incheckbutton)))
135                  namehbox = lookup_widget(mainwindow, "namehbox");              qso[QSLIN] = g_strdup ("X");
136                  if (GTK_WIDGET_VISIBLE(namehbox))            else
137                  {              qso[QSLIN] = g_strdup ("");
138                          nameentry = lookup_widget(mainwindow, "nameentry");            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (outcheckbutton),
139                          qso[NAME] = gtk_editable_get_chars(GTK_EDITABLE(nameentry), 0, -1);                                          FALSE);
140                          gtk_editable_delete_text(GTK_EDITABLE(nameentry), 0, -1);            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (incheckbutton),
141                  }                                          FALSE);
142            }
143                  qthhbox = lookup_widget(mainwindow, "qthhbox");  
144                  if (GTK_WIDGET_VISIBLE(qthhbox))        namehbox = lookup_widget (mainwindow, "namehbox");
145                  {        if (GTK_WIDGET_VISIBLE (namehbox))
146                          qthentry = lookup_widget(mainwindow, "qthentry");          {
147                          qso[QTH] = gtk_editable_get_chars(GTK_EDITABLE(qthentry), 0, -1);            nameentry = lookup_widget (mainwindow, "nameentry");
148                          gtk_editable_delete_text(GTK_EDITABLE(qthentry), 0, -1);            qso[NAME] =
149                  }              gtk_editable_get_chars (GTK_EDITABLE (nameentry), 0, -1);
150              gtk_editable_delete_text (GTK_EDITABLE (nameentry), 0, -1);
151                  locatorhbox = lookup_widget(mainwindow, "locatorhbox");          }
                 if (GTK_WIDGET_VISIBLE(locatorhbox))  
                 {  
                         locatorentry = lookup_widget(mainwindow, "locatorentry");  
                         qso[LOCATOR] = gtk_editable_get_chars(GTK_EDITABLE(locatorentry),  
                                 0, -1);  
                         gtk_editable_delete_text(GTK_EDITABLE(locatorentry), 0, -1);  
                 }  
   
                 unknown1hbox = lookup_widget(mainwindow, "unknown1hbox");  
                 unknownentry1 = lookup_widget(mainwindow, "unknownentry1");  
                 if (GTK_WIDGET_VISIBLE(unknown1hbox))  
                 {  
                         qso[U1] = gtk_editable_get_chars(GTK_EDITABLE(unknownentry1), 0, -1);  
                         gtk_editable_delete_text(GTK_EDITABLE(unknownentry1), 0, -1);  
                 }  
   
                 unknown2hbox = lookup_widget(mainwindow, "unknown2hbox");  
                 unknownentry2 = lookup_widget(mainwindow, "unknownentry2");  
                 if (GTK_WIDGET_VISIBLE(unknown2hbox))  
                 {  
                         qso[U2] = gtk_editable_get_chars(GTK_EDITABLE(unknownentry2), 0, -1);  
                         gtk_editable_delete_text(GTK_EDITABLE(unknownentry2), 0, -1);  
                 }  
   
                 remarksvbox = lookup_widget(mainwindow, "remarksvbox");  
                 remarksentry = lookup_widget(mainwindow, "remarksentry");  
                 if (GTK_WIDGET_VISIBLE(remarksvbox))  
                 {  
                         qso[REMARKS] = gtk_editable_get_chars(GTK_EDITABLE(remarksentry), 0, -1);  
                         gtk_editable_delete_text(GTK_EDITABLE(remarksentry), 0, -1);  
                 }  
   
                 newrow = gtk_clist_prepend(GTK_CLIST(logwindow->clist), qso);  
   
                 gtk_editable_delete_text(GTK_EDITABLE(gmtentry), 0, -1);  
                 gtk_editable_delete_text(GTK_EDITABLE(callentry), 0, -1);  
                 if (preferences.modeseditbox == 1)  
                         gtk_editable_delete_text(GTK_EDITABLE(modeentry), 0, -1);  
                 if (preferences.bandseditbox == 1)  
                         gtk_editable_delete_text(GTK_EDITABLE(bandentry), 0, -1);  
                 gtk_editable_delete_text(GTK_EDITABLE(rstentry), 0, -1);  
                 gtk_editable_delete_text(GTK_EDITABLE(myrstentry), 0, -1);  
   
                 if (preferences.logcolor == 1)  
                         setcallstyle(logwindow->clist, newrow,  
                                 preferences.themecolor, preferences.themefont);  
   
                 gtk_clist_unselect_all(GTK_CLIST(logwindow->clist));  
   
                 /* update status bar */  
                 temp = g_strdup_printf(_("QSO %s added to %s log"), qso[NR],  
                         logwindow->logname);  
                 update_statusbar(temp);  
                 g_free(temp);  
   
                 logwindow->logchanged = TRUE;  
                 gtk_label_set_text(GTK_LABEL(logwindow->label),  
                         g_strconcat(logwindow->logname, " *", NULL));  
   
                 qsoframe = lookup_widget(mainwindow, "qsoframe");  
                 frametext = g_strdup_printf(_("New QSO"));  
                 gtk_frame_set_label(GTK_FRAME(qsoframe), frametext);  
                 g_free(frametext);  
   
                 /* set defaults */  
                 if (g_strcasecmp(preferences.defaultrxrst, "?"))  
                         gtk_entry_set_text(GTK_ENTRY(myrstentry),  
                                 preferences.defaultrxrst);  
                 if (preferences.hamlib == 0)  
                 {  
                         if (g_strcasecmp(preferences.defaultmhz, "?"))  
                                 gtk_entry_set_text(GTK_ENTRY(bandentry),  
                                         preferences.defaultmhz);  
                         if (g_strcasecmp(preferences.defaultmode, "?"))  
                                 gtk_entry_set_text(GTK_ENTRY(modeentry),  
                                         preferences.defaultmode);  
                         if (g_strcasecmp(preferences.defaulttxrst, "?"))  
                                 gtk_entry_set_text(GTK_ENTRY(rstentry),  
                                         preferences.defaulttxrst);  
                         if (GTK_WIDGET_VISIBLE(powerhbox)  
                                 && g_strcasecmp(preferences.defaultpower, "?"))  
                                 gtk_entry_set_text(GTK_ENTRY(powerentry),  
                                         preferences.defaultpower);  
                 }  
                 if (GTK_WIDGET_VISIBLE(unknown1hbox)  
                         && g_strcasecmp(preferences.defaultfreefield1, "?"))  
                         gtk_entry_set_text(GTK_ENTRY(unknownentry1),  
                                 preferences.defaultfreefield1);  
                 if (GTK_WIDGET_VISIBLE(unknown2hbox)  
                         && g_strcasecmp(preferences.defaultfreefield2, "?"))  
                         gtk_entry_set_text(GTK_ENTRY(unknownentry2),  
                                 preferences.defaultfreefield2);  
                 if (GTK_WIDGET_VISIBLE(remarksvbox)  
                         && g_strcasecmp(preferences.defaultremarks, "?"))  
                         gtk_entry_set_text(GTK_ENTRY(remarksentry),  
                                 preferences.defaultremarks);  
152    
153                  /* set focus to the GMT button */        qthhbox = lookup_widget (mainwindow, "qthhbox");
154                  gmtbutton = lookup_widget(mainwindow, "gmtbutton");        if (GTK_WIDGET_VISIBLE (qthhbox))
155                  gtk_widget_grab_focus(gmtbutton);          {
156              qthentry = lookup_widget (mainwindow, "qthentry");
157              qso[QTH] = gtk_editable_get_chars (GTK_EDITABLE (qthentry), 0, -1);
158              gtk_editable_delete_text (GTK_EDITABLE (qthentry), 0, -1);
159          }          }
160    
161          locatorhbox = lookup_widget (mainwindow, "locatorhbox");
162          if (GTK_WIDGET_VISIBLE (locatorhbox))
163            {
164              locatorentry = lookup_widget (mainwindow, "locatorentry");
165              qso[LOCATOR] = gtk_editable_get_chars (GTK_EDITABLE (locatorentry),
166                                                     0, -1);
167              gtk_editable_delete_text (GTK_EDITABLE (locatorentry), 0, -1);
168            }
169    
170          unknown1hbox = lookup_widget (mainwindow, "unknown1hbox");
171          unknownentry1 = lookup_widget (mainwindow, "unknownentry1");
172          if (GTK_WIDGET_VISIBLE (unknown1hbox))
173            {
174              qso[U1] =
175                gtk_editable_get_chars (GTK_EDITABLE (unknownentry1), 0, -1);
176              gtk_editable_delete_text (GTK_EDITABLE (unknownentry1), 0, -1);
177            }
178    
179          unknown2hbox = lookup_widget (mainwindow, "unknown2hbox");
180          unknownentry2 = lookup_widget (mainwindow, "unknownentry2");
181          if (GTK_WIDGET_VISIBLE (unknown2hbox))
182            {
183              qso[U2] =
184                gtk_editable_get_chars (GTK_EDITABLE (unknownentry2), 0, -1);
185              gtk_editable_delete_text (GTK_EDITABLE (unknownentry2), 0, -1);
186            }
187    
188          remarksvbox = lookup_widget (mainwindow, "remarksvbox");
189          remarksentry = lookup_widget (mainwindow, "remarksentry");
190          if (GTK_WIDGET_VISIBLE (remarksvbox))
191            {
192              qso[REMARKS] =
193                gtk_editable_get_chars (GTK_EDITABLE (remarksentry), 0, -1);
194              gtk_editable_delete_text (GTK_EDITABLE (remarksentry), 0, -1);
195            }
196    
197          newrow = gtk_clist_prepend (GTK_CLIST (logwindow->clist), qso);
198    
199          gtk_editable_delete_text (GTK_EDITABLE (gmtentry), 0, -1);
200          gtk_editable_delete_text (GTK_EDITABLE (callentry), 0, -1);
201          if (preferences.modeseditbox == 1)
202            gtk_editable_delete_text (GTK_EDITABLE (modeentry), 0, -1);
203          if (preferences.bandseditbox == 1)
204            gtk_editable_delete_text (GTK_EDITABLE (bandentry), 0, -1);
205          gtk_editable_delete_text (GTK_EDITABLE (rstentry), 0, -1);
206          gtk_editable_delete_text (GTK_EDITABLE (myrstentry), 0, -1);
207    
208          if (preferences.logcolor == 1)
209            setcallstyle (logwindow->clist, newrow,
210                          preferences.themecolor, preferences.themefont);
211    
212          gtk_clist_unselect_all (GTK_CLIST (logwindow->clist));
213    
214          /* update status bar */
215          temp = g_strdup_printf (_("QSO %s added to %s log"), qso[NR],
216                                  logwindow->logname);
217          update_statusbar (temp);
218          g_free (temp);
219    
220          logwindow->logchanged = TRUE;
221          gtk_label_set_text (GTK_LABEL (logwindow->label),
222                              g_strconcat (logwindow->logname, " *", NULL));
223    
224          qsoframe = lookup_widget (mainwindow, "qsoframe");
225          frametext = g_strdup_printf (_("New QSO"));
226          gtk_frame_set_label (GTK_FRAME (qsoframe), frametext);
227          g_free (frametext);
228    
229          /* set defaults */
230          if (g_strcasecmp (preferences.defaultrxrst, "?"))
231            gtk_entry_set_text (GTK_ENTRY (myrstentry), preferences.defaultrxrst);
232          if (preferences.hamlib == 0)
233            {
234              if (g_strcasecmp (preferences.defaultmhz, "?"))
235                gtk_entry_set_text (GTK_ENTRY (bandentry),
236                                    preferences.defaultmhz);
237              if (g_strcasecmp (preferences.defaultmode, "?"))
238                gtk_entry_set_text (GTK_ENTRY (modeentry),
239                                    preferences.defaultmode);
240              if (g_strcasecmp (preferences.defaulttxrst, "?"))
241                gtk_entry_set_text (GTK_ENTRY (rstentry),
242                                    preferences.defaulttxrst);
243              if (GTK_WIDGET_VISIBLE (powerhbox)
244                  && g_strcasecmp (preferences.defaultpower, "?"))
245                gtk_entry_set_text (GTK_ENTRY (powerentry),
246                                    preferences.defaultpower);
247            }
248          if (GTK_WIDGET_VISIBLE (unknown1hbox)
249              && g_strcasecmp (preferences.defaultfreefield1, "?"))
250            gtk_entry_set_text (GTK_ENTRY (unknownentry1),
251                                preferences.defaultfreefield1);
252          if (GTK_WIDGET_VISIBLE (unknown2hbox)
253              && g_strcasecmp (preferences.defaultfreefield2, "?"))
254            gtk_entry_set_text (GTK_ENTRY (unknownentry2),
255                                preferences.defaultfreefield2);
256          if (GTK_WIDGET_VISIBLE (remarksvbox)
257              && g_strcasecmp (preferences.defaultremarks, "?"))
258            gtk_entry_set_text (GTK_ENTRY (remarksentry),
259                                preferences.defaultremarks);
260    
261          /* set focus to the GMT button */
262          gmtbutton = lookup_widget (mainwindow, "gmtbutton");
263          gtk_widget_grab_focus (gmtbutton);
264        }
265  }  }
266    
267  /* delete a qso from the log */  /* delete a qso from the log */
268  void on_dbutton_clicked (GtkButton *button, gpointer user_data)  void
269    on_dbutton_clicked (GtkButton * button, gpointer user_data)
270  {  {
271          GtkWidget *gmtbutton, *gmtentry, *endentry, *callentry, *bandentry,    GtkWidget *gmtbutton, *gmtentry, *endentry, *callentry, *bandentry,
272                  *modeentry, *rstentry, *myrstentry, *remarksentry, *powerentry,      *modeentry, *rstentry, *myrstentry, *remarksentry, *powerentry,
273                  *nameentry, *qthentry, *unknownentry1, *unknownentry2,      *nameentry, *qthentry, *unknownentry1, *unknownentry2,
274                  *locatorentry, *incheckbutton, *outcheckbutton, *powerhbox,      *locatorentry, *incheckbutton, *outcheckbutton, *powerhbox,
275                  *unknown1hbox, *unknown2hbox, *remarksvbox;      *unknown1hbox, *unknown2hbox, *remarksvbox;
276          gchar *statustext, *qsonumber;    gchar *statustext, *qsonumber;
277          gint i, selectedrow, page;    gint i, selectedrow, page;
278          logtype *logwindow;    logtype *logwindow;
279    
280          page = gtk_notebook_get_current_page(GTK_NOTEBOOK(mainnotebook));    page = gtk_notebook_get_current_page (GTK_NOTEBOOK (mainnotebook));
281          logwindow =  g_list_nth_data(logwindowlist, page);    logwindow = g_list_nth_data (logwindowlist, page);
282    
283          if (page >= 0)    if (page >= 0)
284          {      {
285                  while(GTK_CLIST(logwindow->clist)->selection)        while (GTK_CLIST (logwindow->clist)->selection)
286                  {          {
287                          gtk_clist_freeze(GTK_CLIST(logwindow->clist));            gtk_clist_freeze (GTK_CLIST (logwindow->clist));
288    
289                          /* get qso number from the first column */            /* get qso number from the first column */
290                          selectedrow = (gint)GTK_CLIST(logwindow->clist)->selection->data;            selectedrow = (gint) GTK_CLIST (logwindow->clist)->selection->data;
291                          gtk_clist_get_text(GTK_CLIST(logwindow->clist), selectedrow, NR,            gtk_clist_get_text (GTK_CLIST (logwindow->clist), selectedrow, NR,
292                                  &qsonumber);                                &qsonumber);
293    
294                          /* update statusbar */            /* update statusbar */
295                          statustext = g_strdup_printf(_("QSO %s deleted, %s log renumbered"),            statustext =
296                                  qsonumber, logwindow->logname);              g_strdup_printf (_("QSO %s deleted, %s log renumbered"),
297                          update_statusbar(statustext);                               qsonumber, logwindow->logname);
298                          g_free(statustext);            update_statusbar (statustext);
299              g_free (statustext);
300                          /* clear QSO frame */  
301                          gmtentry = lookup_widget(mainwindow, "gmtentry");            /* clear QSO frame */
302                          endentry = lookup_widget(mainwindow, "endentry");            gmtentry = lookup_widget (mainwindow, "gmtentry");
303                          callentry = lookup_widget(mainwindow, "callentry");            endentry = lookup_widget (mainwindow, "endentry");
304                          bandentry = lookup_widget(mainwindow, "bandentry");            callentry = lookup_widget (mainwindow, "callentry");
305                          modeentry = lookup_widget(mainwindow, "modeentry");            bandentry = lookup_widget (mainwindow, "bandentry");
306                          rstentry = lookup_widget(mainwindow, "rstentry");            modeentry = lookup_widget (mainwindow, "modeentry");
307                          myrstentry = lookup_widget(mainwindow, "myrstentry");            rstentry = lookup_widget (mainwindow, "rstentry");
308                          remarksentry = lookup_widget(mainwindow, "remarksentry");            myrstentry = lookup_widget (mainwindow, "myrstentry");
309                          incheckbutton = lookup_widget(mainwindow, "incheckbutton");            remarksentry = lookup_widget (mainwindow, "remarksentry");
310                          outcheckbutton = lookup_widget(mainwindow, "outcheckbutton");            incheckbutton = lookup_widget (mainwindow, "incheckbutton");
311                          powerentry = lookup_widget(mainwindow, "powerentry");            outcheckbutton = lookup_widget (mainwindow, "outcheckbutton");
312                          nameentry = lookup_widget(mainwindow, "nameentry");            powerentry = lookup_widget (mainwindow, "powerentry");
313                          qthentry = lookup_widget(mainwindow, "qthentry");            nameentry = lookup_widget (mainwindow, "nameentry");
314                          locatorentry = lookup_widget(mainwindow, "locatorentry");            qthentry = lookup_widget (mainwindow, "qthentry");
315                          unknownentry1 = lookup_widget(mainwindow, "unknownentry1");            locatorentry = lookup_widget (mainwindow, "locatorentry");
316                          unknownentry2 = lookup_widget(mainwindow, "unknownentry2");            unknownentry1 = lookup_widget (mainwindow, "unknownentry1");
317                          gtk_editable_delete_text(GTK_EDITABLE(gmtentry), 0, -1);            unknownentry2 = lookup_widget (mainwindow, "unknownentry2");
318                          gtk_editable_delete_text(GTK_EDITABLE(endentry), 0, -1);            gtk_editable_delete_text (GTK_EDITABLE (gmtentry), 0, -1);
319                          gtk_editable_delete_text(GTK_EDITABLE(callentry), 0, -1);            gtk_editable_delete_text (GTK_EDITABLE (endentry), 0, -1);
320                          gtk_editable_delete_text(GTK_EDITABLE(modeentry), 0, -1);            gtk_editable_delete_text (GTK_EDITABLE (callentry), 0, -1);
321                          gtk_editable_delete_text(GTK_EDITABLE(bandentry), 0, -1);            gtk_editable_delete_text (GTK_EDITABLE (modeentry), 0, -1);
322                          gtk_editable_delete_text(GTK_EDITABLE(rstentry), 0, -1);            gtk_editable_delete_text (GTK_EDITABLE (bandentry), 0, -1);
323                          gtk_editable_delete_text(GTK_EDITABLE(myrstentry), 0, -1);            gtk_editable_delete_text (GTK_EDITABLE (rstentry), 0, -1);
324                          gtk_editable_delete_text(GTK_EDITABLE(remarksentry), 0, -1);            gtk_editable_delete_text (GTK_EDITABLE (myrstentry), 0, -1);
325                          gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(outcheckbutton), FALSE);            gtk_editable_delete_text (GTK_EDITABLE (remarksentry), 0, -1);
326                          gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(incheckbutton), FALSE);            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (outcheckbutton),
327                          gtk_editable_delete_text(GTK_EDITABLE(powerentry), 0, -1);                                          FALSE);
328                          gtk_editable_delete_text(GTK_EDITABLE(nameentry), 0, -1);            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (incheckbutton),
329                          gtk_editable_delete_text(GTK_EDITABLE(qthentry), 0, -1);                                          FALSE);
330                          gtk_editable_delete_text(GTK_EDITABLE(locatorentry), 0, -1);            gtk_editable_delete_text (GTK_EDITABLE (powerentry), 0, -1);
331                          gtk_editable_delete_text(GTK_EDITABLE(unknownentry1), 0, -1);            gtk_editable_delete_text (GTK_EDITABLE (nameentry), 0, -1);
332                          gtk_editable_delete_text(GTK_EDITABLE(unknownentry2), 0, -1);            gtk_editable_delete_text (GTK_EDITABLE (qthentry), 0, -1);
333              gtk_editable_delete_text (GTK_EDITABLE (locatorentry), 0, -1);
334                          /* now remove the QSO from the log */            gtk_editable_delete_text (GTK_EDITABLE (unknownentry1), 0, -1);
335                          gtk_clist_remove(GTK_CLIST(logwindow->clist), selectedrow);            gtk_editable_delete_text (GTK_EDITABLE (unknownentry2), 0, -1);
336                          logwindow->qsos--;  
337              /* now remove the QSO from the log */
338                          /* update the first column with the number of qso's */            gtk_clist_remove (GTK_CLIST (logwindow->clist), selectedrow);
339                          for (i = 0; i < logwindow->qsos; i++)            logwindow->qsos--;
340                          {  
341                                  qsonumber = g_strdup_printf("%d", logwindow->qsos - i);            /* update the first column with the number of qso's */
342                                  gtk_clist_set_text(GTK_CLIST(logwindow->clist), i, 0,            for (i = 0; i < logwindow->qsos; i++)
343                                          qsonumber);              {
344                                  g_free(qsonumber);                qsonumber = g_strdup_printf ("%d", logwindow->qsos - i);
345                          }                gtk_clist_set_text (GTK_CLIST (logwindow->clist), i, 0,
346                          gtk_clist_thaw(GTK_CLIST(logwindow->clist));                                    qsonumber);
347                  g_free (qsonumber);
348                          logwindow->logchanged = TRUE;              }
349                          gtk_label_set_text(GTK_LABEL(logwindow->label),            gtk_clist_thaw (GTK_CLIST (logwindow->clist));
350                                  g_strconcat(logwindow->logname, " *", NULL));  
351              logwindow->logchanged = TRUE;
352                          /* set defaults */            gtk_label_set_text (GTK_LABEL (logwindow->label),
353                          if (g_strcasecmp(preferences.defaultrxrst, "?"))                                g_strconcat (logwindow->logname, " *", NULL));
354                                  gtk_entry_set_text(GTK_ENTRY(myrstentry),  
355                                          preferences.defaultrxrst);            /* set defaults */
356                          if (preferences.hamlib == 0)            if (g_strcasecmp (preferences.defaultrxrst, "?"))
357                          {              gtk_entry_set_text (GTK_ENTRY (myrstentry),
358                                  if (g_strcasecmp(preferences.defaultmhz, "?"))                                  preferences.defaultrxrst);
359                                          gtk_entry_set_text(GTK_ENTRY(bandentry),            if (preferences.hamlib == 0)
360                                                  preferences.defaultmhz);              {
361                                  if (g_strcasecmp(preferences.defaultmode, "?"))                if (g_strcasecmp (preferences.defaultmhz, "?"))
362                                          gtk_entry_set_text(GTK_ENTRY(modeentry),                  gtk_entry_set_text (GTK_ENTRY (bandentry),
363                                                  preferences.defaultmode);                                      preferences.defaultmhz);
364                                  if (g_strcasecmp(preferences.defaulttxrst, "?"))                if (g_strcasecmp (preferences.defaultmode, "?"))
365                                          gtk_entry_set_text(GTK_ENTRY(rstentry),                  gtk_entry_set_text (GTK_ENTRY (modeentry),
366                                                  preferences.defaulttxrst);                                      preferences.defaultmode);
367                                  powerhbox = lookup_widget(mainwindow, "powerhbox");                if (g_strcasecmp (preferences.defaulttxrst, "?"))
368                                  if (GTK_WIDGET_VISIBLE(powerhbox) &&                  gtk_entry_set_text (GTK_ENTRY (rstentry),
369                                          g_strcasecmp(preferences.defaultpower, "?"))                                      preferences.defaulttxrst);
370                                          gtk_entry_set_text(GTK_ENTRY(powerentry),                powerhbox = lookup_widget (mainwindow, "powerhbox");
371                                                  preferences.defaultpower);                if (GTK_WIDGET_VISIBLE (powerhbox) &&
372                          }                    g_strcasecmp (preferences.defaultpower, "?"))
373                          unknown1hbox = lookup_widget(mainwindow, "unknown1hbox");                  gtk_entry_set_text (GTK_ENTRY (powerentry),
374                          if (GTK_WIDGET_VISIBLE(unknown1hbox) &&                                      preferences.defaultpower);
375                                  g_strcasecmp(preferences.defaultfreefield1, "?"))              }
376                                  gtk_entry_set_text(GTK_ENTRY(unknownentry1),            unknown1hbox = lookup_widget (mainwindow, "unknown1hbox");
377                                          preferences.defaultfreefield1);            if (GTK_WIDGET_VISIBLE (unknown1hbox) &&
378                          unknown2hbox = lookup_widget(mainwindow, "unknown2hbox");                g_strcasecmp (preferences.defaultfreefield1, "?"))
379                          if (GTK_WIDGET_VISIBLE(unknown2hbox) &&              gtk_entry_set_text (GTK_ENTRY (unknownentry1),
380                                  g_strcasecmp(preferences.defaultfreefield2, "?"))                                  preferences.defaultfreefield1);
381                                  gtk_entry_set_text(GTK_ENTRY(unknownentry2),            unknown2hbox = lookup_widget (mainwindow, "unknown2hbox");
382                                          preferences.defaultfreefield2);            if (GTK_WIDGET_VISIBLE (unknown2hbox) &&
383                          remarksvbox = lookup_widget(mainwindow, "remarksvbox");                g_strcasecmp (preferences.defaultfreefield2, "?"))
384                          if (GTK_WIDGET_VISIBLE(remarksvbox) &&              gtk_entry_set_text (GTK_ENTRY (unknownentry2),
385                                  g_strcasecmp(preferences.defaultremarks, "?"))                                  preferences.defaultfreefield2);
386                                  gtk_entry_set_text(GTK_ENTRY(remarksentry),            remarksvbox = lookup_widget (mainwindow, "remarksvbox");
387                                          preferences.defaultremarks);            if (GTK_WIDGET_VISIBLE (remarksvbox) &&
388                  g_strcasecmp (preferences.defaultremarks, "?"))
389                          gmtbutton = lookup_widget(mainwindow, "gmtbutton");              gtk_entry_set_text (GTK_ENTRY (remarksentry),
390                          gtk_widget_grab_focus(gmtbutton);                                  preferences.defaultremarks);
391                  }  
392              gmtbutton = lookup_widget (mainwindow, "gmtbutton");
393              gtk_widget_grab_focus (gmtbutton);
394          }          }
395        }
396  }  }
397    
398  /* update/modify a log entry */  /* update/modify a log entry */
399  void on_ubutton_clicked(GtkButton *button, gpointer user_data)  void
400    on_ubutton_clicked (GtkButton * button, gpointer user_data)
401  {  {
402          GtkWidget *dateentry, *gmtentry, *callentry, *rstentry, *myrstentry,    GtkWidget *dateentry, *gmtentry, *callentry, *rstentry, *myrstentry,
403                  *remarksentry, *bandentry, *modeentry, *incheckbutton,      *remarksentry, *bandentry, *modeentry, *incheckbutton,
404                  *outcheckbutton, *modeoptionmenu, *bandoptionmenu, *menu,      *outcheckbutton, *modeoptionmenu, *bandoptionmenu, *menu,
405                  *active_item, *qsoframe, *endhbox, *endentry, *powerhbox,      *active_item, *qsoframe, *endhbox, *endentry, *powerhbox,
406                  *powerentry, *namehbox, *nameentry, *qthhbox, *qthentry,      *powerentry, *namehbox, *nameentry, *qthhbox, *qthentry,
407                  *locatorhbox, *locatorentry, *unknown1hbox, *unknownentry1,      *locatorhbox, *locatorentry, *unknown1hbox, *unknownentry1,
408                  *unknown2hbox, *unknownentry2, *qslhbox, *remarksvbox, *gmtbutton;      *unknown2hbox, *unknownentry2, *qslhbox, *remarksvbox, *gmtbutton;
409          gint bandindex, modeindex, updatedrow, i = 0, page;    gint bandindex, modeindex, updatedrow, i = 0, page;
410          gchar *frametext, *nr, *statustext;    gchar *frametext, *nr, *statustext;
411          logtype *logwindow;    logtype *logwindow;
412    
413          page = gtk_notebook_get_current_page(GTK_NOTEBOOK(mainnotebook));    page = gtk_notebook_get_current_page (GTK_NOTEBOOK (mainnotebook));
414          logwindow =  g_list_nth_data(logwindowlist, page);    logwindow = g_list_nth_data (logwindowlist, page);
415    
416          if (page >= 0)    if (page >= 0)
417          {      {
418                  /* visible widgets */        /* visible widgets */
419                  dateentry = lookup_widget(mainwindow, "dateentry");        dateentry = lookup_widget (mainwindow, "dateentry");
420                  gmtentry = lookup_widget(mainwindow, "gmtentry");        gmtentry = lookup_widget (mainwindow, "gmtentry");
421                  callentry = lookup_widget(mainwindow, "callentry");        callentry = lookup_widget (mainwindow, "callentry");
422                  bandentry = lookup_widget(mainwindow, "bandentry");        bandentry = lookup_widget (mainwindow, "bandentry");
423                  modeentry = lookup_widget(mainwindow, "modeentry");        modeentry = lookup_widget (mainwindow, "modeentry");
424                  rstentry = lookup_widget(mainwindow, "rstentry");        rstentry = lookup_widget (mainwindow, "rstentry");
425                  myrstentry = lookup_widget(mainwindow, "myrstentry");        myrstentry = lookup_widget (mainwindow, "myrstentry");
426                  modeoptionmenu = lookup_widget(mainwindow, "modeoptionmenu");        modeoptionmenu = lookup_widget (mainwindow, "modeoptionmenu");
427                  bandoptionmenu = lookup_widget(mainwindow, "bandoptionmenu");        bandoptionmenu = lookup_widget (mainwindow, "bandoptionmenu");
428    
429                  for (i = 0; i < QSO_FIELDS; i++) qso[i] = g_strdup("");        for (i = 0; i < QSO_FIELDS; i++)
430            qso[i] = g_strdup ("");
431                  while(GTK_CLIST(logwindow->clist)->selection)  
432                  {        while (GTK_CLIST (logwindow->clist)->selection)
433                          gtk_clist_freeze(GTK_CLIST(logwindow->clist));          {
434                          updatedrow = (gint)GTK_CLIST(logwindow->clist)->selection->data;            gtk_clist_freeze (GTK_CLIST (logwindow->clist));
435              updatedrow = (gint) GTK_CLIST (logwindow->clist)->selection->data;
436                          /* save the qso number */  
437                          gtk_clist_get_text(GTK_CLIST(logwindow->clist), updatedrow, NR, &nr);            /* save the qso number */
438                          qso[NR] = g_strdup(nr);            gtk_clist_get_text (GTK_CLIST (logwindow->clist), updatedrow, NR,
439                                  &nr);
440                          /* get all the other fields from the QSO frame */            qso[NR] = g_strdup (nr);
441                          qso[DATE] = gtk_editable_get_chars(GTK_EDITABLE(dateentry), 0, -1);  
442                          qso[GMT] = gtk_editable_get_chars(GTK_EDITABLE(gmtentry), 0, -1);            /* get all the other fields from the QSO frame */
443                          qso[CALL] = gtk_editable_get_chars(GTK_EDITABLE(callentry), 0, -1);            qso[DATE] =
444                gtk_editable_get_chars (GTK_EDITABLE (dateentry), 0, -1);
445                          if (preferences.bandseditbox == 1)            qso[GMT] = gtk_editable_get_chars (GTK_EDITABLE (gmtentry), 0, -1);
446                          {            qso[CALL] =
447                                  qso[BAND] = gtk_editable_get_chars(GTK_EDITABLE(bandentry), 0, -1);              gtk_editable_get_chars (GTK_EDITABLE (callentry), 0, -1);
448                          }  
449                          else            if (preferences.bandseditbox == 1)
450                          {              {
451                                  menu = GTK_OPTION_MENU(bandoptionmenu)->menu;                qso[BAND] =
452                                  active_item = gtk_menu_get_active(GTK_MENU(menu));                  gtk_editable_get_chars (GTK_EDITABLE (bandentry), 0, -1);
453                                  bandindex = g_list_index(GTK_MENU_SHELL(menu)->children, active_item);              }
454                                  qso[BAND] = lookup_band(bandsplit[bandindex]);            else
455                          }              {
456                  menu = GTK_OPTION_MENU (bandoptionmenu)->menu;
457                          if (preferences.modeseditbox == 1)                active_item = gtk_menu_get_active (GTK_MENU (menu));
458                          {                bandindex =
459                                  qso[MODE] = gtk_editable_get_chars(GTK_EDITABLE(modeentry), 0, -1);                  g_list_index (GTK_MENU_SHELL (menu)->children, active_item);
460                          }                qso[BAND] = lookup_band (bandsplit[bandindex]);
461                          else              }
462                          {  
463                                  menu = GTK_OPTION_MENU(modeoptionmenu)->menu;            if (preferences.modeseditbox == 1)
464                                  active_item = gtk_menu_get_active(GTK_MENU(menu));              {
465                                  modeindex = g_list_index(GTK_MENU_SHELL(menu)->children, active_item);                qso[MODE] =
466                                  qso[MODE] = lookup_mode(modesplit[modeindex]);                  gtk_editable_get_chars (GTK_EDITABLE (modeentry), 0, -1);
467                          }              }
468              else
469                          powerhbox = lookup_widget(mainwindow, "powerhbox");              {
470                          powerentry = lookup_widget(mainwindow, "powerentry");                menu = GTK_OPTION_MENU (modeoptionmenu)->menu;
471                          if (GTK_WIDGET_VISIBLE(powerhbox))                active_item = gtk_menu_get_active (GTK_MENU (menu));
472                          {                modeindex =
473                                  qso[POWER] = gtk_editable_get_chars(GTK_EDITABLE(powerentry), 0, -1);                  g_list_index (GTK_MENU_SHELL (menu)->children, active_item);
474                                  gtk_editable_delete_text(GTK_EDITABLE(powerentry), 0, -1);                qso[MODE] = lookup_mode (modesplit[modeindex]);
475                          }              }
476    
477                          qso[RST] = gtk_editable_get_chars(GTK_EDITABLE(rstentry), 0, -1);            powerhbox = lookup_widget (mainwindow, "powerhbox");
478                          qso[MYRST] = gtk_editable_get_chars(GTK_EDITABLE(myrstentry), 0, -1);            powerentry = lookup_widget (mainwindow, "powerentry");
479              if (GTK_WIDGET_VISIBLE (powerhbox))
480                          endhbox = lookup_widget(mainwindow, "endhbox");              {
481                          if (GTK_WIDGET_VISIBLE(endhbox))                qso[POWER] =
482                          {                  gtk_editable_get_chars (GTK_EDITABLE (powerentry), 0, -1);
483                                  endentry = lookup_widget(mainwindow, "endentry");                gtk_editable_delete_text (GTK_EDITABLE (powerentry), 0, -1);
484                                  qso[GMTEND] = gtk_editable_get_chars(GTK_EDITABLE(endentry), 0, -1);              }
485                                  gtk_editable_delete_text(GTK_EDITABLE(endentry), 0, -1);  
486                          }            qso[RST] = gtk_editable_get_chars (GTK_EDITABLE (rstentry), 0, -1);
487              qso[MYRST] =
488                          qslhbox = lookup_widget(mainwindow, "qslhbox");              gtk_editable_get_chars (GTK_EDITABLE (myrstentry), 0, -1);
489                          if (GTK_WIDGET_VISIBLE(qslhbox))  
490                          {            endhbox = lookup_widget (mainwindow, "endhbox");
491                                  incheckbutton = lookup_widget(mainwindow, "incheckbutton");            if (GTK_WIDGET_VISIBLE (endhbox))
492                                  outcheckbutton = lookup_widget(mainwindow, "outcheckbutton");              {
493                                  if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(outcheckbutton)))                endentry = lookup_widget (mainwindow, "endentry");
494                                          qso[QSLOUT] = g_strdup("X");                qso[GMTEND] =
495                                  else                  gtk_editable_get_chars (GTK_EDITABLE (endentry), 0, -1);
496                                          qso[QSLOUT] = g_strdup("");                gtk_editable_delete_text (GTK_EDITABLE (endentry), 0, -1);
497                                  if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(incheckbutton)))              }
498                                          qso[QSLIN] = g_strdup("X");  
499                                  else            qslhbox = lookup_widget (mainwindow, "qslhbox");
500                                          qso[QSLIN] = g_strdup("");            if (GTK_WIDGET_VISIBLE (qslhbox))
501                                  gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(outcheckbutton), FALSE);              {
502                                  gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(incheckbutton), FALSE);                incheckbutton = lookup_widget (mainwindow, "incheckbutton");
503                          }                outcheckbutton = lookup_widget (mainwindow, "outcheckbutton");
504                  if (gtk_toggle_button_get_active
505                          namehbox = lookup_widget(mainwindow, "namehbox");                    (GTK_TOGGLE_BUTTON (outcheckbutton)))
506                          if (GTK_WIDGET_VISIBLE(namehbox))                  qso[QSLOUT] = g_strdup ("X");
507                          {                else
508                                  nameentry = lookup_widget(mainwindow, "nameentry");                  qso[QSLOUT] = g_strdup ("");
509                                  qso[NAME] = gtk_editable_get_chars(GTK_EDITABLE(nameentry), 0, -1);                if (gtk_toggle_button_get_active
510                                  gtk_editable_delete_text(GTK_EDITABLE(nameentry), 0, -1);                    (GTK_TOGGLE_BUTTON (incheckbutton)))
511                          }                  qso[QSLIN] = g_strdup ("X");
512                  else
513                          qthhbox = lookup_widget(mainwindow, "qthhbox");                  qso[QSLIN] = g_strdup ("");
514                          if (GTK_WIDGET_VISIBLE(qthhbox))                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
515                          {                                              (outcheckbutton), FALSE);
516                                  qthentry = lookup_widget(mainwindow, "qthentry");                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (incheckbutton),
517                                  qso[QTH] = gtk_editable_get_chars(GTK_EDITABLE(qthentry), 0, -1);                                              FALSE);
518                                  gtk_editable_delete_text(GTK_EDITABLE(qthentry), 0, -1);              }
519                          }  
520              namehbox = lookup_widget (mainwindow, "namehbox");
521                          locatorhbox = lookup_widget(mainwindow, "locatorhbox");            if (GTK_WIDGET_VISIBLE (namehbox))
522                          if (GTK_WIDGET_VISIBLE(locatorhbox))              {
523                          {                nameentry = lookup_widget (mainwindow, "nameentry");
524                                  locatorentry = lookup_widget(mainwindow, "locatorentry");                qso[NAME] =
525                                  qso[LOCATOR] = gtk_editable_get_chars(GTK_EDITABLE(locatorentry), 0, -1);                  gtk_editable_get_chars (GTK_EDITABLE (nameentry), 0, -1);
526                                  gtk_editable_delete_text(GTK_EDITABLE(locatorentry), 0, -1);                gtk_editable_delete_text (GTK_EDITABLE (nameentry), 0, -1);
527                          }              }
528    
529                          unknown1hbox = lookup_widget(mainwindow, "unknown1hbox");            qthhbox = lookup_widget (mainwindow, "qthhbox");
530                          unknownentry1 = lookup_widget(mainwindow, "unknownentry1");            if (GTK_WIDGET_VISIBLE (qthhbox))
531                          if (GTK_WIDGET_VISIBLE(unknown1hbox))              {
532                          {                qthentry = lookup_widget (mainwindow, "qthentry");
533                                  qso[U1] = gtk_editable_get_chars(GTK_EDITABLE(unknownentry1), 0, -1);                qso[QTH] =
534                                  gtk_editable_delete_text(GTK_EDITABLE(unknownentry1), 0, -1);                  gtk_editable_get_chars (GTK_EDITABLE (qthentry), 0, -1);
535                          }                gtk_editable_delete_text (GTK_EDITABLE (qthentry), 0, -1);
536                }
537                          unknown2hbox = lookup_widget(mainwindow, "unknown2hbox");  
538                          unknownentry2 = lookup_widget(mainwindow, "unknownentry2");            locatorhbox = lookup_widget (mainwindow, "locatorhbox");
539                          if (GTK_WIDGET_VISIBLE(unknown2hbox))            if (GTK_WIDGET_VISIBLE (locatorhbox))
540                          {              {
541                                  qso[U2] = gtk_editable_get_chars(GTK_EDITABLE(unknownentry2), 0, -1);                locatorentry = lookup_widget (mainwindow, "locatorentry");
542                                  gtk_editable_delete_text(GTK_EDITABLE(unknownentry2), 0, -1);                qso[LOCATOR] =
543                          }                  gtk_editable_get_chars (GTK_EDITABLE (locatorentry), 0, -1);
544                  gtk_editable_delete_text (GTK_EDITABLE (locatorentry), 0, -1);
545                          remarksvbox = lookup_widget(mainwindow, "remarksvbox");              }
546                          remarksentry = lookup_widget(mainwindow, "remarksentry");  
547                          if (GTK_WIDGET_VISIBLE(remarksvbox))            unknown1hbox = lookup_widget (mainwindow, "unknown1hbox");
548                          {            unknownentry1 = lookup_widget (mainwindow, "unknownentry1");
549                                  qso[REMARKS] = gtk_editable_get_chars(GTK_EDITABLE(remarksentry), 0, -1);            if (GTK_WIDGET_VISIBLE (unknown1hbox))
550                                  gtk_editable_delete_text(GTK_EDITABLE(remarksentry), 0, -1);              {
551                          }                qso[U1] =
552                    gtk_editable_get_chars (GTK_EDITABLE (unknownentry1), 0, -1);
553                          /* remove logentry and enter a new one */                gtk_editable_delete_text (GTK_EDITABLE (unknownentry1), 0, -1);
554                          gtk_clist_remove(GTK_CLIST(logwindow->clist), updatedrow);              }
555                          gtk_clist_insert(GTK_CLIST(logwindow->clist), updatedrow, qso);  
556              unknown2hbox = lookup_widget (mainwindow, "unknown2hbox");
557                          /* update status bar */            unknownentry2 = lookup_widget (mainwindow, "unknownentry2");
558                          statustext = g_strdup_printf(_("QSO %s updated in %s log"), qso[NR],            if (GTK_WIDGET_VISIBLE (unknown2hbox))
559                                  logwindow->logname);              {
560                          update_statusbar(statustext);                qso[U2] =
561                          g_free(statustext);                  gtk_editable_get_chars (GTK_EDITABLE (unknownentry2), 0, -1);
562                  gtk_editable_delete_text (GTK_EDITABLE (unknownentry2), 0, -1);
563                          gtk_editable_delete_text(GTK_EDITABLE(gmtentry), 0, -1);              }
564                          gtk_editable_delete_text(GTK_EDITABLE(callentry), 0, -1);  
565                          if (preferences.modeseditbox == 1)            remarksvbox = lookup_widget (mainwindow, "remarksvbox");
566                                  gtk_editable_delete_text(GTK_EDITABLE(modeentry), 0, -1);            remarksentry = lookup_widget (mainwindow, "remarksentry");
567                          if (preferences.bandseditbox == 1)            if (GTK_WIDGET_VISIBLE (remarksvbox))
568                                  gtk_editable_delete_text(GTK_EDITABLE(bandentry), 0, -1);              {
569                          gtk_editable_delete_text(GTK_EDITABLE(rstentry), 0, -1);                qso[REMARKS] =
570                          gtk_editable_delete_text(GTK_EDITABLE(myrstentry), 0, -1);                  gtk_editable_get_chars (GTK_EDITABLE (remarksentry), 0, -1);
571                  gtk_editable_delete_text (GTK_EDITABLE (remarksentry), 0, -1);
572                          /* set style of the updated row */              }
573                          if (preferences.logcolor == 1)  
574                                  setcallstyle(logwindow->clist, updatedrow,            /* remove logentry and enter a new one */
575                                          preferences.themecolor, preferences.themefont);            gtk_clist_remove (GTK_CLIST (logwindow->clist), updatedrow);
576                          gtk_clist_thaw(GTK_CLIST(logwindow->clist));            gtk_clist_insert (GTK_CLIST (logwindow->clist), updatedrow, qso);
577    
578                          qsoframe = lookup_widget(mainwindow, "qsoframe");            /* update status bar */
579                          frametext = g_strdup_printf(_("New QSO"));            statustext =
580                          gtk_frame_set_label(GTK_FRAME(qsoframe), frametext);              g_strdup_printf (_("QSO %s updated in %s log"), qso[NR],
581                          g_free(frametext);                               logwindow->logname);
582              update_statusbar (statustext);
583                          gtk_label_set_text(GTK_LABEL(logwindow->label),            g_free (statustext);
584                                  g_strconcat(logwindow->logname, " *", NULL));  
585                          logwindow->logchanged = TRUE;            gtk_editable_delete_text (GTK_EDITABLE (gmtentry), 0, -1);
586              gtk_editable_delete_text (GTK_EDITABLE (callentry), 0, -1);
587                          /* set defaults */            if (preferences.modeseditbox == 1)
588                          if (g_strcasecmp(preferences.defaultrxrst, "?"))              gtk_editable_delete_text (GTK_EDITABLE (modeentry), 0, -1);
589                                  gtk_entry_set_text(GTK_ENTRY(myrstentry),            if (preferences.bandseditbox == 1)
590                                          preferences.defaultrxrst);              gtk_editable_delete_text (GTK_EDITABLE (bandentry), 0, -1);
591                          if (preferences.hamlib == 0)            gtk_editable_delete_text (GTK_EDITABLE (rstentry), 0, -1);
592                          {            gtk_editable_delete_text (GTK_EDITABLE (myrstentry), 0, -1);
593                                  if (g_strcasecmp(preferences.defaultmhz, "?"))  
594                                          gtk_entry_set_text(GTK_ENTRY(bandentry),            /* set style of the updated row */
595                                                  preferences.defaultmhz);            if (preferences.logcolor == 1)
596                                  if (g_strcasecmp(preferences.defaultmode, "?"))              setcallstyle (logwindow->clist, updatedrow,
597                                          gtk_entry_set_text(GTK_ENTRY(modeentry),                            preferences.themecolor, preferences.themefont);
598                                                  preferences.defaultmode);            gtk_clist_thaw (GTK_CLIST (logwindow->clist));
599                                  if (g_strcasecmp(preferences.defaulttxrst, "?"))  
600                                          gtk_entry_set_text(GTK_ENTRY(rstentry),            qsoframe = lookup_widget (mainwindow, "qsoframe");
601                                                  preferences.defaulttxrst);            frametext = g_strdup_printf (_("New QSO"));
602                                  if (GTK_WIDGET_VISIBLE(powerhbox)            gtk_frame_set_label (GTK_FRAME (qsoframe), frametext);
603                                          && g_strcasecmp(preferences.defaultpower, "?"))            g_free (frametext);
604                                          gtk_entry_set_text(GTK_ENTRY(powerentry),  
605                                                  preferences.defaultpower);            gtk_label_set_text (GTK_LABEL (logwindow->label),
606                          }                                g_strconcat (logwindow->logname, " *", NULL));
607                          if (GTK_WIDGET_VISIBLE(unknown1hbox)            logwindow->logchanged = TRUE;
608                                  && g_strcasecmp(preferences.defaultfreefield1, "?"))  
609                                  gtk_entry_set_text(GTK_ENTRY(unknownentry1),            /* set defaults */
610                                          preferences.defaultfreefield1);            if (g_strcasecmp (preferences.defaultrxrst, "?"))
611                          if (GTK_WIDGET_VISIBLE(unknown2hbox)              gtk_entry_set_text (GTK_ENTRY (myrstentry),
612                                  && g_strcasecmp(preferences.defaultfreefield2, "?"))                                  preferences.defaultrxrst);
613                                  gtk_entry_set_text(GTK_ENTRY(unknownentry2),            if (preferences.hamlib == 0)
614                                          preferences.defaultfreefield2);              {
615                          if (GTK_WIDGET_VISIBLE(remarksvbox)                if (g_strcasecmp (preferences.defaultmhz, "?"))
616                                  && g_strcasecmp(preferences.defaultremarks, "?"))                  gtk_entry_set_text (GTK_ENTRY (bandentry),
617                                  gtk_entry_set_text(GTK_ENTRY(remarksentry),                                      preferences.defaultmhz);
618                                          preferences.defaultremarks);                if (g_strcasecmp (preferences.defaultmode, "?"))
619                    gtk_entry_set_text (GTK_ENTRY (modeentry),
620                          gmtbutton = lookup_widget(mainwindow, "gmtbutton");                                      preferences.defaultmode);
621                          gtk_widget_grab_focus(gmtbutton);                if (g_strcasecmp (preferences.defaulttxrst, "?"))
622                  }                  gtk_entry_set_text (GTK_ENTRY (rstentry),
623                                        preferences.defaulttxrst);
624                  if (GTK_WIDGET_VISIBLE (powerhbox)
625                      && g_strcasecmp (preferences.defaultpower, "?"))
626                    gtk_entry_set_text (GTK_ENTRY (powerentry),
627                                        preferences.defaultpower);
628                }
629              if (GTK_WIDGET_VISIBLE (unknown1hbox)
630                  && g_strcasecmp (preferences.defaultfreefield1, "?"))
631                gtk_entry_set_text (GTK_ENTRY (unknownentry1),
632                                    preferences.defaultfreefield1);
633              if (GTK_WIDGET_VISIBLE (unknown2hbox)
634                  && g_strcasecmp (preferences.defaultfreefield2, "?"))
635                gtk_entry_set_text (GTK_ENTRY (unknownentry2),
636                                    preferences.defaultfreefield2);
637              if (GTK_WIDGET_VISIBLE (remarksvbox)
638                  && g_strcasecmp (preferences.defaultremarks, "?"))
639                gtk_entry_set_text (GTK_ENTRY (remarksentry),
640                                    preferences.defaultremarks);
641    
642              gmtbutton = lookup_widget (mainwindow, "gmtbutton");
643              gtk_widget_grab_focus (gmtbutton);
644          }          }
645        }
646  }  }

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26