61 |
#include "utils.h" |
#include "utils.h" |
62 |
#include "support.h" |
#include "support.h" |
63 |
|
|
64 |
|
#if WANT_HAMLIB |
65 |
|
# include "hamlib-utils.h" |
66 |
|
#endif |
67 |
|
|
68 |
msgtype msgbuf; |
msgtype msgbuf; |
69 |
remotetype remote; |
remotetype remote; |
70 |
extern statetype state; |
extern statetype state; |
94 |
static void |
static void |
95 |
addtolog_or_qsoframe (gint type, gchar * entry) |
addtolog_or_qsoframe (gint type, gchar * entry) |
96 |
{ |
{ |
97 |
GtkWidget *menu, *bandoptionmenu, *modeoptionmenu, *active_item, *bandentry, |
GtkWidget *menu, *bandoptionmenu, *modeoptionmenu, *active_item, |
98 |
*modeentry, *endhbox, *namehbox, *qthhbox, *locatorhbox, *powerhbox, |
*bandentry, *modeentry, *endhbox, *namehbox, *qthhbox, |
99 |
*unknown1hbox, *unknown2hbox, *dateentry, *gmtentry, *callentry, *endentry, |
*locatorhbox, *powerhbox, *unknown1hbox, *unknown2hbox, |
100 |
*rstentry, *myrstentry, *powerentry, *nameentry, *qthentry, *locatorentry, |
*dateentry, *gmtentry, *callentry, *endentry, *rstentry, |
101 |
*unknownentry1, *unknownentry2, *remarksentry, *remarksvbox; |
*myrstentry, *powerentry, *nameentry, *qthentry, |
102 |
|
*locatorentry, *unknownentry1, *unknownentry2, *remarksentry, |
103 |
|
*remarksvbox; |
104 |
gchar *temp, **remoteinfo, *argument = NULL, *remarks; |
gchar *temp, **remoteinfo, *argument = NULL, *remarks; |
105 |
gint i, j = 0, bandindex, modeindex; |
gint i, j = 0, bandindex, modeindex, err = 0; |
106 |
logtype *logwindow; |
logtype *logwindow; |
107 |
GtkTreeIter iter; |
GtkTreeIter iter; |
108 |
GtkTreeModel *model; |
GtkTreeModel *model; |
109 |
GtkTreePath *path; |
GtkTreePath *path; |
110 |
|
#if WANT_HAMLIB |
111 |
|
GString *digits = g_string_new (""); |
112 |
|
gchar *power; |
113 |
|
#endif |
114 |
|
|
115 |
if (type == 88) |
if (type == 88) |
116 |
{ |
{ |
117 |
logwindow = g_list_nth_data (logwindowlist, |
logwindow = g_list_nth_data (logwindowlist, |
118 |
gtk_notebook_get_current_page (GTK_NOTEBOOK(mainnotebook))); |
gtk_notebook_get_current_page (GTK_NOTEBOOK (mainnotebook))); |
119 |
for (i = 0; i < QSO_FIELDS; i++) |
for (i = 0; i < QSO_FIELDS; i++) |
120 |
qso[i] = g_strdup (""); |
qso[i] = g_strdup (""); |
121 |
remarks = g_strdup (""); |
remarks = g_strdup (""); |
122 |
bandentry = lookup_widget (mainwindow, "bandentry"); |
bandentry = lookup_widget (mainwindow, "bandentry"); |
123 |
bandoptionmenu = lookup_widget (mainwindow, "bandoptionmenu"); |
bandoptionmenu = lookup_widget (mainwindow, "bandoptionmenu"); |
133 |
|
|
134 |
remoteinfo = g_strsplit (entry, "\1", 0); |
remoteinfo = g_strsplit (entry, "\1", 0); |
135 |
for (;;) |
for (;;) |
136 |
{ |
{ |
137 |
if (remoteinfo[j] == NULL) |
if (remoteinfo[j] == NULL) |
138 |
break; |
break; |
139 |
if (g_ascii_strncasecmp (remoteinfo[j], "version:", 8) == 0) |
if (g_ascii_strncasecmp (remoteinfo[j], "version:", 8) == 0) |
140 |
{ |
{ |
141 |
if ((argument = getargument (remoteinfo[j]))) |
if ((argument = getargument (remoteinfo[j]))) |
142 |
remote.version = atoi (argument); |
remote.version = atoi (argument); |
143 |
} |
} |
144 |
else if (g_ascii_strncasecmp (remoteinfo[j], "program:", 8) == 0) |
else if (g_ascii_strncasecmp (remoteinfo[j], "program:", 8) == 0) |
145 |
{ |
{ |
146 |
if ((argument = getargument (remoteinfo[j]))) |
if ((argument = getargument (remoteinfo[j]))) |
147 |
remote.program = g_strdup (argument); |
remote.program = g_strdup (argument); |
148 |
} |
} |
149 |
else if (g_ascii_strncasecmp (remoteinfo[j], "date:", 5) == 0) |
else if (g_ascii_strncasecmp (remoteinfo[j], "date:", 5) == 0) |
150 |
{ |
{ |
151 |
if ((argument = getargument (remoteinfo[j]))) |
if ((argument = getargument (remoteinfo[j]))) |
152 |
qso[DATE] = g_strndup (argument, 15); |
qso[DATE] = g_strndup (argument, 15); |
153 |
else |
else |
154 |
qso[DATE] = getdate (); |
qso[DATE] = getdate (); |
155 |
} |
} |
156 |
else if (g_ascii_strncasecmp (remoteinfo[j], "time:", 5) == 0) |
else if (g_ascii_strncasecmp (remoteinfo[j], "time:", 5) == 0) |
157 |
{ |
{ |
158 |
if ((argument = getargument (remoteinfo[j]))) |
if ((argument = getargument (remoteinfo[j]))) |
159 |
qso[GMT] = g_strndup (argument, 8); |
qso[GMT] = g_strndup (argument, 8); |
160 |
else |
else |
161 |
qso[GMT] = gettime (); |
qso[GMT] = gettime (); |
162 |
} |
} |
163 |
else if (g_ascii_strncasecmp (remoteinfo[j], "call:", 5) == 0) |
else if (g_ascii_strncasecmp (remoteinfo[j], "call:", 5) == 0) |
164 |
{ |
{ |
165 |
if ((argument = getargument (remoteinfo[j]))) |
if ((argument = getargument (remoteinfo[j]))) |
166 |
{ |
{ |
167 |
g_ascii_strup (argument, -1); |
g_ascii_strup (argument, -1); |
168 |
qso[CALL] = g_strndup (argument, 15); |
qso[CALL] = g_strndup (argument, 15); |
169 |
} |
} |
170 |
} |
} |
171 |
else if (g_ascii_strncasecmp (remoteinfo[j], "mhz:", 4) == 0) |
else if (g_ascii_strncasecmp (remoteinfo[j], "mhz:", 4) == 0) |
172 |
{ |
{ |
173 |
if ((argument = getargument (remoteinfo[j]))) |
if ((argument = getargument (remoteinfo[j]))) |
174 |
qso[BAND] = g_strndup (argument, 15); |
{ |
175 |
} |
if (g_ascii_strcasecmp (argument, "HAMLIB") == 0) |
176 |
else if (g_ascii_strncasecmp (remoteinfo[j], "mode:", 5) == 0) |
#if WANT_HAMLIB |
177 |
{ |
{ |
178 |
if ((argument = getargument (remoteinfo[j]))) |
get_frequency (); |
179 |
{ |
digits = convert_frequency (); |
180 |
g_ascii_strup (argument, -1); |
qso[BAND] = g_strdup (digits->str); |
181 |
qso[MODE] = g_strndup (argument, 8); |
g_string_free (digits, TRUE); |
182 |
} |
} |
183 |
} |
else |
184 |
else if (g_ascii_strncasecmp (remoteinfo[j], "tx:", 3) == 0) |
qso[BAND] = g_strndup (argument, 15); |
185 |
{ |
#else |
186 |
if ((argument = getargument (remoteinfo[j]))) |
{ |
187 |
qso[RST] = g_strndup (argument, 15); |
err = 1; |
188 |
} |
qso[BAND] = g_strdup (""); |
189 |
else if (g_ascii_strncasecmp (remoteinfo[j], "rx:", 3) == 0) |
} |
190 |
{ |
else |
191 |
if ((argument = getargument (remoteinfo[j]))) |
qso[BAND] = g_strndup (argument, 15); |
192 |
qso[MYRST] = g_strndup (argument, 15); |
#endif |
193 |
} |
} |
194 |
|
} |
195 |
|
else if (g_ascii_strncasecmp (remoteinfo[j], "mode:", 5) == 0) |
196 |
|
{ |
197 |
|
if ((argument = getargument (remoteinfo[j]))) |
198 |
|
{ |
199 |
|
if (g_ascii_strcasecmp (argument, "HAMLIB") == 0) |
200 |
|
#if WANT_HAMLIB |
201 |
|
{ |
202 |
|
get_mode (); |
203 |
|
qso[MODE] = rigmode (state.rigmode); |
204 |
|
} |
205 |
|
else |
206 |
|
{ |
207 |
|
g_ascii_strup (argument, -1); |
208 |
|
qso[MODE] = g_strndup (argument, 8); |
209 |
|
} |
210 |
|
#else |
211 |
|
{ |
212 |
|
err = 1; |
213 |
|
qso[MODE] = g_strdup (""); |
214 |
|
} |
215 |
|
else |
216 |
|
{ |
217 |
|
g_ascii_strup (argument, -1); |
218 |
|
qso[MODE] = g_strndup (argument, 8); |
219 |
|
} |
220 |
|
#endif |
221 |
|
} |
222 |
|
} |
223 |
|
else if (g_ascii_strncasecmp (remoteinfo[j], "tx:", 3) == 0) |
224 |
|
{ |
225 |
|
if ((argument = getargument (remoteinfo[j]))) |
226 |
|
{ |
227 |
|
if (g_ascii_strcasecmp (argument, "HAMLIB") == 0) |
228 |
|
#if WANT_HAMLIB |
229 |
|
{ |
230 |
|
get_smeter (); |
231 |
|
qso[RST] = g_strdup (state.rigrst); |
232 |
|
} |
233 |
|
else |
234 |
|
qso[RST] = g_strndup (argument, 15); |
235 |
|
#else |
236 |
|
{ |
237 |
|
err = 1; |
238 |
|
qso[RST] = g_strdup (""); |
239 |
|
} |
240 |
|
else |
241 |
|
qso[RST] = g_strndup (argument, 15); |
242 |
|
#endif |
243 |
|
} |
244 |
|
} |
245 |
|
else if (g_ascii_strncasecmp (remoteinfo[j], "rx:", 3) == 0) |
246 |
|
{ |
247 |
|
if ((argument = getargument (remoteinfo[j]))) |
248 |
|
qso[MYRST] = g_strndup (argument, 15); |
249 |
|
} |
250 |
|
|
251 |
else if (g_ascii_strncasecmp (remoteinfo[j], "endtime:", 8) == 0) |
else if (g_ascii_strncasecmp (remoteinfo[j], "endtime:", 8) == 0) |
252 |
{ |
{ |
253 |
if ((argument = getargument (remoteinfo[j]))) |
if ((argument = getargument (remoteinfo[j]))) |
254 |
{ |
{ |
255 |
if (GTK_WIDGET_VISIBLE (endhbox)) |
if (GTK_WIDGET_VISIBLE (endhbox)) |
256 |
qso[GMTEND] = g_strndup (argument, 8); |
qso[GMTEND] = g_strndup (argument, 8); |
257 |
else |
else |
258 |
{ |
{ |
259 |
if (g_ascii_strcasecmp (remarks, "") == 0) |
if (g_ascii_strcasecmp (remarks, "") == 0) |
260 |
remarks = g_strdup (argument); |
remarks = g_strdup (argument); |
261 |
else |
else |
262 |
remarks = g_strconcat (remarks, ", ", argument, 0); |
remarks = g_strconcat (remarks, ", ", argument, 0); |
263 |
} |
} |
264 |
} |
} |
|
} |
|
|
else if (g_ascii_strncasecmp (remoteinfo[j], "name:", 5) == 0) |
|
|
{ |
|
|
if ((argument = getargument (remoteinfo[j]))) |
|
|
{ |
|
|
if (GTK_WIDGET_VISIBLE (namehbox)) |
|
|
qso[NAME] = g_strndup (argument, 30); |
|
|
else |
|
|
{ |
|
|
if (g_ascii_strcasecmp (remarks, "") == 0) |
|
|
remarks = g_strdup (argument); |
|
|
else |
|
|
remarks = g_strconcat (remarks, ", ", argument, 0); |
|
|
} |
|
|
} |
|
|
} |
|
|
else if (g_ascii_strncasecmp (remoteinfo[j], "qth:", 4) == 0) |
|
|
{ |
|
|
if ((argument = getargument (remoteinfo[j]))) |
|
|
{ |
|
|
if (GTK_WIDGET_VISIBLE (qthhbox)) |
|
|
qso[QTH] = g_strndup (argument, 30); |
|
|
else |
|
|
{ |
|
|
if (g_ascii_strcasecmp (remarks, "") == 0) |
|
|
remarks = g_strdup (argument); |
|
|
else |
|
|
remarks = g_strconcat (remarks, ", ", argument, 0); |
|
|
} |
|
|
} |
|
|
} |
|
|
else if (g_ascii_strncasecmp (remoteinfo[j], "notes:", 6) == 0) |
|
|
{ |
|
|
if ((argument = getargument (remoteinfo[j]))) |
|
|
{ |
|
|
if (g_ascii_strcasecmp (remarks, "") == 0) |
|
|
remarks = g_strdup (argument); |
|
|
else |
|
|
remarks = g_strconcat (remarks, ", ", argument, 0); |
|
|
} |
|
|
} |
|
|
else if (g_ascii_strncasecmp (remoteinfo[j], "power:", 6) == 0) |
|
|
{ |
|
|
if ((argument = getargument (remoteinfo[j]))) |
|
|
{ |
|
|
if (GTK_WIDGET_VISIBLE (powerhbox)) |
|
|
qso[POWER] = g_strndup (argument, 8); |
|
|
else |
|
|
{ |
|
|
if (g_ascii_strcasecmp (remarks, "") == 0) |
|
|
remarks = g_strdup (argument); |
|
|
else |
|
|
remarks = g_strconcat (remarks, ", ", argument, 0); |
|
|
} |
|
|
} |
|
|
} |
|
|
else if (g_ascii_strncasecmp (remoteinfo[j], "locator:", 8) == 0) |
|
|
{ |
|
|
if ((argument = getargument (remoteinfo[j]))) |
|
|
{ |
|
|
if (GTK_WIDGET_VISIBLE (locatorhbox)) |
|
|
qso[LOCATOR] = g_strndup (argument, 30); |
|
|
else |
|
|
{ |
|
|
if (g_ascii_strcasecmp (remarks, "") == 0) |
|
|
remarks = g_strdup (argument); |
|
|
else |
|
|
remarks = g_strconcat (remarks, ", ", argument, 0); |
|
|
} |
|
|
} |
|
265 |
} |
} |
266 |
else if (g_ascii_strncasecmp (remoteinfo[j], "free1:", 6) == 0) |
else if (g_ascii_strncasecmp (remoteinfo[j], "name:", 5) == 0) |
267 |
|
{ |
268 |
|
if ((argument = getargument (remoteinfo[j]))) |
269 |
|
{ |
270 |
|
if (GTK_WIDGET_VISIBLE (namehbox)) |
271 |
|
qso[NAME] = g_strndup (argument, 30); |
272 |
|
else |
273 |
|
{ |
274 |
|
if (g_ascii_strcasecmp (remarks, "") == 0) |
275 |
|
remarks = g_strdup (argument); |
276 |
|
else |
277 |
|
remarks = g_strconcat (remarks, ", ", argument, 0); |
278 |
|
} |
279 |
|
} |
280 |
|
} |
281 |
|
else if (g_ascii_strncasecmp (remoteinfo[j], "qth:", 4) == 0) |
282 |
|
{ |
283 |
|
if ((argument = getargument (remoteinfo[j]))) |
284 |
|
{ |
285 |
|
if (GTK_WIDGET_VISIBLE (qthhbox)) |
286 |
|
qso[QTH] = g_strndup (argument, 30); |
287 |
|
else |
288 |
|
{ |
289 |
|
if (g_ascii_strcasecmp (remarks, "") == 0) |
290 |
|
remarks = g_strdup (argument); |
291 |
|
else |
292 |
|
remarks = g_strconcat (remarks, ", ", argument, 0); |
293 |
|
} |
294 |
|
} |
295 |
|
} |
296 |
|
else if (g_ascii_strncasecmp (remoteinfo[j], "notes:", 6) == 0) |
297 |
|
{ |
298 |
|
if ((argument = getargument (remoteinfo[j]))) |
299 |
|
{ |
300 |
|
if (g_ascii_strcasecmp (remarks, "") == 0) |
301 |
|
remarks = g_strdup (argument); |
302 |
|
else |
303 |
|
remarks = g_strconcat (remarks, ", ", argument, 0); |
304 |
|
} |
305 |
|
} |
306 |
|
else if (g_ascii_strncasecmp (remoteinfo[j], "power:", 6) == 0) |
307 |
|
{ |
308 |
|
if ((argument = getargument (remoteinfo[j]))) |
309 |
|
{ |
310 |
|
if (g_ascii_strcasecmp (argument, "HAMLIB") == 0) |
311 |
|
#if WANT_HAMLIB |
312 |
|
{ |
313 |
|
get_powerlevel (); |
314 |
|
if (GTK_WIDGET_VISIBLE (powerhbox)) |
315 |
|
qso[POWER] = g_strdup_printf ("%d", state.rigpower * 256 / 100000); |
316 |
|
else |
317 |
|
{ |
318 |
|
if (g_ascii_strcasecmp (remarks, "") == 0) |
319 |
|
remarks = g_strdup_printf ("%d", state.rigpower * 256 / 100000); |
320 |
|
else |
321 |
|
{ |
322 |
|
power = g_strdup_printf ("%d", state.rigpower * 256 / 100000); |
323 |
|
remarks = g_strconcat (remarks, ", ", power, 0); |
324 |
|
g_free (power); |
325 |
|
} |
326 |
|
} |
327 |
|
} |
328 |
|
else |
329 |
|
{ |
330 |
|
if (GTK_WIDGET_VISIBLE (powerhbox)) |
331 |
|
qso[POWER] = g_strndup (argument, 8); |
332 |
|
else |
333 |
|
{ |
334 |
|
if (g_ascii_strcasecmp (remarks, "") == 0) |
335 |
|
remarks = g_strdup (argument); |
336 |
|
else |
337 |
|
remarks = g_strconcat (remarks, ", ", argument, 0); |
338 |
|
} |
339 |
|
} |
340 |
|
#else |
341 |
|
{ |
342 |
|
err = 1; |
343 |
|
if (GTK_WIDGET_VISIBLE (powerhbox)) |
344 |
|
qso[POWER] = g_strdup (""); |
345 |
|
else |
346 |
|
{ |
347 |
|
/* nothing to add */ |
348 |
|
} |
349 |
|
} |
350 |
|
else |
351 |
|
{ |
352 |
|
if (GTK_WIDGET_VISIBLE (powerhbox)) |
353 |
|
qso[POWER] = g_strndup (argument, 8); |
354 |
|
else |
355 |
|
{ |
356 |
|
if (g_ascii_strcasecmp (remarks, "") == 0) |
357 |
|
remarks = g_strdup (argument); |
358 |
|
else |
359 |
|
remarks = g_strconcat (remarks, ", ", argument, 0); |
360 |
|
} |
361 |
|
} |
362 |
|
#endif |
363 |
|
} |
364 |
|
} |
365 |
|
else if (g_ascii_strncasecmp (remoteinfo[j], "locator:", 8) == 0) |
366 |
|
{ |
367 |
|
if ((argument = getargument (remoteinfo[j]))) |
368 |
|
{ |
369 |
|
if (GTK_WIDGET_VISIBLE (locatorhbox)) |
370 |
|
qso[LOCATOR] = g_strndup (argument, 30); |
371 |
|
else |
372 |
|
{ |
373 |
|
if (g_ascii_strcasecmp (remarks, "") == 0) |
374 |
|
remarks = g_strdup (argument); |
375 |
|
else |
376 |
|
remarks = g_strconcat (remarks, ", ", argument, 0); |
377 |
|
} |
378 |
|
} |
379 |
|
} |
380 |
|
else if (g_ascii_strncasecmp (remoteinfo[j], "free1:", 6) == 0) |
381 |
{ |
{ |
382 |
if ((argument = getargument (remoteinfo[j]))) |
if ((argument = getargument (remoteinfo[j]))) |
383 |
{ |
{ |
416 |
qso[REMARKS] = g_strndup (remarks, 80); |
qso[REMARKS] = g_strndup (remarks, 80); |
417 |
g_free (remarks); |
g_free (remarks); |
418 |
|
|
419 |
|
/* try to fill in empty fields */ |
420 |
if (g_ascii_strcasecmp (qso[DATE], "") == 0) |
if (g_ascii_strcasecmp (qso[DATE], "") == 0) |
421 |
qso[DATE] = getdate (); |
qso[DATE] = getdate (); |
422 |
if (g_ascii_strcasecmp (qso[GMT], "") == 0) |
if (g_ascii_strcasecmp (qso[GMT], "") == 0) |
451 |
} |
} |
452 |
|
|
453 |
if (preferences.remoteadding == 1) |
if (preferences.remoteadding == 1) |
454 |
{ |
{ |
455 |
qso[NR] = g_strdup_printf ("%d", ++logwindow->qsos); |
qso[NR] = g_strdup_printf ("%d", ++logwindow->qsos); |
456 |
|
|
457 |
/* add the QSO */ |
/* add the QSO */ |
458 |
model = gtk_tree_view_get_model (GTK_TREE_VIEW(logwindow->treeview)); |
model = gtk_tree_view_get_model (GTK_TREE_VIEW |
459 |
gtk_tree_store_prepend (GTK_TREE_STORE(model), &iter, NULL); |
(logwindow->treeview)); |
460 |
gtk_tree_store_set (GTK_TREE_STORE(model), &iter, NR, qso[NR], |
gtk_tree_store_prepend (GTK_TREE_STORE (model), &iter, NULL); |
461 |
DATE, qso[DATE], GMT, qso[GMT], GMTEND, qso[GMTEND], CALL, qso[CALL], |
gtk_tree_store_set (GTK_TREE_STORE (model), &iter, NR, |
462 |
BAND, qso[BAND], MODE, qso[MODE], RST, qso[RST], MYRST, qso[MYRST], |
qso[NR], DATE, qso[DATE], GMT, |
463 |
QSLOUT, qso[QSLOUT], QSLIN, qso[QSLIN], POWER, qso[POWER], NAME, qso[NAME], |
qso[GMT], GMTEND, qso[GMTEND], |
464 |
QTH, qso[QTH], LOCATOR, qso[LOCATOR], U1, qso[U1], U2, qso[U2], |
CALL, qso[CALL], BAND, qso[BAND], |
465 |
REMARKS, qso[REMARKS], -1); |
MODE, qso[MODE], RST, qso[RST], |
466 |
|
MYRST, qso[MYRST], QSLOUT, |
467 |
/* scroll there */ |
qso[QSLOUT], QSLIN, qso[QSLIN], |
468 |
path = gtk_tree_path_new_from_string ("0"); |
POWER, qso[POWER], NAME, |
469 |
gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW(logwindow->treeview), |
qso[NAME], QTH, qso[QTH], LOCATOR, |
470 |
path, NULL, TRUE, 1.0, 0.0); |
qso[LOCATOR], U1, qso[U1], U2, |
471 |
gtk_tree_path_free (path); |
qso[U2], REMARKS, qso[REMARKS], -1); |
472 |
|
|
473 |
gtk_label_set_text (GTK_LABEL (logwindow->label), |
/* scroll there */ |
474 |
g_strconcat (logwindow->logname, " *", NULL)); |
path = gtk_tree_path_new_from_string ("0"); |
475 |
|
gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW |
476 |
temp = |
(logwindow->treeview), |
477 |
g_strdup_printf (_ |
path, NULL, TRUE, 1.0, 0.0); |
478 |
("Remote data received from %s (#%d), QSO %s added"), |
gtk_tree_path_free (path); |
479 |
remote.program, ++remote.nr, qso[NR]); |
|
480 |
logwindow->logchanged = TRUE; |
gtk_label_set_text (GTK_LABEL (logwindow->label), |
481 |
} |
g_strconcat (logwindow->logname, " *", NULL)); |
482 |
|
|
483 |
|
temp = g_strdup_printf (_ |
484 |
|
("Remote data received from %s (#%d), QSO %s added"), |
485 |
|
remote.program, ++remote.nr, qso[NR]); |
486 |
|
logwindow->logchanged = TRUE; |
487 |
|
} |
488 |
else |
else |
489 |
{ |
{ |
490 |
if (g_ascii_strcasecmp (qso[DATE], "") == 0) |
if (g_ascii_strcasecmp (qso[DATE], "") == 0) |
491 |
qso[DATE] = getdate (); |
qso[DATE] = getdate (); |
492 |
if (g_ascii_strcasecmp (qso[GMT], "") == 0) |
if (g_ascii_strcasecmp (qso[GMT], "") == 0) |
493 |
qso[GMT] = gettime (); |
qso[GMT] = gettime (); |
494 |
dateentry = lookup_widget(mainwindow, "dateentry"); |
dateentry = lookup_widget (mainwindow, "dateentry"); |
495 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (dateentry), 0, -1)) == 0) |
if (strlen |
496 |
gtk_entry_set_text (GTK_ENTRY (dateentry), qso[DATE]); |
(gtk_editable_get_chars (GTK_EDITABLE (dateentry), 0, -1)) == 0) |
497 |
gmtentry = lookup_widget(mainwindow, "gmtentry"); |
gtk_entry_set_text (GTK_ENTRY (dateentry), qso[DATE]); |
498 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (gmtentry), 0, -1)) == 0) |
gmtentry = lookup_widget (mainwindow, "gmtentry"); |
499 |
gtk_entry_set_text (GTK_ENTRY (gmtentry), qso[GMT]); |
if (strlen |
500 |
if (GTK_WIDGET_VISIBLE (endhbox)) |
(gtk_editable_get_chars (GTK_EDITABLE (gmtentry), 0, -1)) == 0) |
501 |
{ |
gtk_entry_set_text (GTK_ENTRY (gmtentry), qso[GMT]); |
502 |
endentry = lookup_widget(mainwindow, "endentry"); |
if (GTK_WIDGET_VISIBLE (endhbox)) |
503 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (endentry), |
{ |
504 |
0, -1)) == 0) |
endentry = lookup_widget (mainwindow, "endentry"); |
505 |
gtk_entry_set_text (GTK_ENTRY (endentry), qso[GMTEND]); |
if (strlen |
506 |
} |
(gtk_editable_get_chars |
507 |
callentry = lookup_widget(mainwindow, "callentry"); |
(GTK_EDITABLE (endentry), 0, -1)) == 0) |
508 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (callentry), |
gtk_entry_set_text (GTK_ENTRY (endentry), qso[GMTEND]); |
509 |
0, -1)) == 0) |
} |
510 |
gtk_entry_set_text (GTK_ENTRY (callentry), qso[CALL]); |
callentry = lookup_widget (mainwindow, "callentry"); |
511 |
if (preferences.modeseditbox == 1) |
if (strlen |
512 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (modeentry), |
(gtk_editable_get_chars (GTK_EDITABLE (callentry), 0, -1)) == 0) |
513 |
0, -1)) == 0) |
gtk_entry_set_text (GTK_ENTRY (callentry), qso[CALL]); |
514 |
gtk_entry_set_text (GTK_ENTRY (modeentry), qso[MODE]); |
if (preferences.modeseditbox == 1) |
515 |
if (preferences.bandseditbox == 1) |
if (strlen |
516 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (dateentry), |
(gtk_editable_get_chars |
517 |
0, -1)) == 0) |
(GTK_EDITABLE (modeentry), 0, -1)) == 0) |
518 |
gtk_entry_set_text (GTK_ENTRY (dateentry), qso[BAND]); |
gtk_entry_set_text (GTK_ENTRY (modeentry), qso[MODE]); |
519 |
rstentry = lookup_widget(mainwindow, "rstentry"); |
if (preferences.bandseditbox == 1) |
520 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (rstentry), 0, -1)) == 0) |
if (strlen |
521 |
gtk_entry_set_text (GTK_ENTRY (rstentry), qso[RST]); |
(gtk_editable_get_chars |
522 |
myrstentry = lookup_widget(mainwindow, "myrstentry"); |
(GTK_EDITABLE (dateentry), 0, -1)) == 0) |
523 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (myrstentry), 0, -1)) == 0) |
gtk_entry_set_text (GTK_ENTRY (dateentry), qso[BAND]); |
524 |
gtk_entry_set_text (GTK_ENTRY (myrstentry), qso[MYRST]); |
rstentry = lookup_widget (mainwindow, "rstentry"); |
525 |
if (GTK_WIDGET_VISIBLE (powerhbox)) |
if (strlen |
526 |
{ |
(gtk_editable_get_chars (GTK_EDITABLE (rstentry), 0, -1)) == 0) |
527 |
powerentry = lookup_widget(mainwindow, "powerentry"); |
gtk_entry_set_text (GTK_ENTRY (rstentry), qso[RST]); |
528 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (powerentry), |
myrstentry = lookup_widget (mainwindow, "myrstentry"); |
529 |
0, -1)) == 0) |
if (strlen |
530 |
gtk_entry_set_text (GTK_ENTRY (powerentry), qso[POWER]); |
(gtk_editable_get_chars |
531 |
} |
(GTK_EDITABLE (myrstentry), 0, -1)) == 0) |
532 |
if (GTK_WIDGET_VISIBLE (namehbox)) |
gtk_entry_set_text (GTK_ENTRY (myrstentry), qso[MYRST]); |
533 |
{ |
if (GTK_WIDGET_VISIBLE (powerhbox)) |
534 |
nameentry = lookup_widget(mainwindow, "nameentry"); |
{ |
535 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (nameentry), |
powerentry = lookup_widget (mainwindow, "powerentry"); |
536 |
0, -1)) == 0) |
if (strlen |
537 |
gtk_entry_set_text (GTK_ENTRY (nameentry), qso[NAME]); |
(gtk_editable_get_chars |
538 |
} |
(GTK_EDITABLE (powerentry), 0, -1)) == 0) |
539 |
if (GTK_WIDGET_VISIBLE (qthhbox)) |
gtk_entry_set_text (GTK_ENTRY (powerentry), qso[POWER]); |
540 |
{ |
} |
541 |
qthentry = lookup_widget(mainwindow, "qthentry"); |
if (GTK_WIDGET_VISIBLE (namehbox)) |
542 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (qthentry), |
{ |
543 |
0, -1)) == 0) |
nameentry = lookup_widget (mainwindow, "nameentry"); |
544 |
gtk_entry_set_text (GTK_ENTRY (qthentry), qso[QTH]); |
if (strlen |
545 |
} |
(gtk_editable_get_chars |
546 |
if (GTK_WIDGET_VISIBLE (locatorhbox)) |
(GTK_EDITABLE (nameentry), 0, -1)) == 0) |
547 |
{ |
gtk_entry_set_text (GTK_ENTRY (nameentry), qso[NAME]); |
548 |
locatorentry = lookup_widget(mainwindow, "locatorentry"); |
} |
549 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (locatorentry), |
if (GTK_WIDGET_VISIBLE (qthhbox)) |
550 |
0, -1)) == 0) |
{ |
551 |
gtk_entry_set_text (GTK_ENTRY (locatorentry), qso[LOCATOR]); |
qthentry = lookup_widget (mainwindow, "qthentry"); |
552 |
} |
if (strlen |
553 |
if (GTK_WIDGET_VISIBLE (unknown1hbox)) |
(gtk_editable_get_chars |
554 |
{ |
(GTK_EDITABLE (qthentry), 0, -1)) == 0) |
555 |
unknownentry1 = lookup_widget(mainwindow, "unknownentry1"); |
gtk_entry_set_text (GTK_ENTRY (qthentry), qso[QTH]); |
556 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (unknownentry1), |
} |
557 |
0, -1)) == 0) |
if (GTK_WIDGET_VISIBLE (locatorhbox)) |
558 |
gtk_entry_set_text (GTK_ENTRY (unknownentry1), qso[U1]); |
{ |
559 |
} |
locatorentry = lookup_widget (mainwindow, "locatorentry"); |
560 |
if (GTK_WIDGET_VISIBLE (unknown2hbox)) |
if (strlen |
561 |
{ |
(gtk_editable_get_chars |
562 |
unknownentry2 = lookup_widget(mainwindow, "unknownentry2"); |
(GTK_EDITABLE (locatorentry), 0, -1)) == 0) |
563 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (unknownentry2), |
gtk_entry_set_text (GTK_ENTRY (locatorentry), qso[LOCATOR]); |
564 |
0, -1)) == 0) |
} |
565 |
gtk_entry_set_text (GTK_ENTRY (unknownentry2), qso[U2]); |
if (GTK_WIDGET_VISIBLE (unknown1hbox)) |
566 |
} |
{ |
567 |
remarksvbox = lookup_widget(mainwindow, "remarksvbox"); |
unknownentry1 = lookup_widget (mainwindow, "unknownentry1"); |
568 |
if (GTK_WIDGET_VISIBLE (remarksvbox)) |
if (strlen |
569 |
{ |
(gtk_editable_get_chars |
570 |
remarksentry = lookup_widget(mainwindow, "remarksentry"); |
(GTK_EDITABLE (unknownentry1), 0, -1)) == 0) |
571 |
if (strlen(gtk_editable_get_chars (GTK_EDITABLE (remarksentry), |
gtk_entry_set_text (GTK_ENTRY (unknownentry1), qso[U1]); |
572 |
0, -1)) == 0) |
} |
573 |
gtk_entry_set_text (GTK_ENTRY (remarksentry), qso[REMARKS]); |
if (GTK_WIDGET_VISIBLE (unknown2hbox)) |
574 |
} |
{ |
575 |
temp = |
unknownentry2 = lookup_widget (mainwindow, "unknownentry2"); |
576 |
g_strdup_printf (_ |
if (strlen |
577 |
("Remote data received from %s (#%d)"), |
(gtk_editable_get_chars |
578 |
remote.program, ++remote.nr); |
(GTK_EDITABLE (unknownentry2), 0, -1)) == 0) |
579 |
} |
gtk_entry_set_text (GTK_ENTRY (unknownentry2), qso[U2]); |
580 |
update_statusbar (temp); |
} |
581 |
|
remarksvbox = lookup_widget (mainwindow, "remarksvbox"); |
582 |
|
if (GTK_WIDGET_VISIBLE (remarksvbox)) |
583 |
|
{ |
584 |
|
remarksentry = lookup_widget (mainwindow, "remarksentry"); |
585 |
|
if (strlen |
586 |
|
(gtk_editable_get_chars |
587 |
|
(GTK_EDITABLE (remarksentry), 0, -1)) == 0) |
588 |
|
gtk_entry_set_text (GTK_ENTRY (remarksentry), qso[REMARKS]); |
589 |
|
} |
590 |
|
temp = g_strdup_printf (_ |
591 |
|
("Remote data received from %s (#%d)"), |
592 |
|
remote.program, ++remote.nr); |
593 |
|
} |
594 |
|
if (err == 1) |
595 |
|
update_statusbar (_("Warning: No hamlib support for remote data")); |
596 |
|
else |
597 |
|
update_statusbar (temp); |
598 |
g_free (temp); |
g_free (temp); |
599 |
|
|
600 |
remote.program = g_strdup ("unknown"); |
remote.program = g_strdup ("unknown"); |
608 |
glong msgtyp = 0; |
glong msgtyp = 0; |
609 |
ssize_t status = -1; |
ssize_t status = -1; |
610 |
|
|
611 |
status = |
status = msgrcv (msgid, (void *) &msgbuf, 1024, msgtyp, |
612 |
msgrcv (msgid, (void *) &msgbuf, 1024, msgtyp, MSG_NOERROR | IPC_NOWAIT); |
MSG_NOERROR | IPC_NOWAIT); |
613 |
if (status != -1) |
if (status != -1) |
614 |
addtolog_or_qsoframe (msgbuf.mtype, msgbuf.mtext); |
addtolog_or_qsoframe (msgbuf.mtype, msgbuf.mtext); |
615 |
return 1; |
return 1; |