24 |
#include "support.h" |
#include "support.h" |
25 |
#include "netkeyer.h" |
#include "netkeyer.h" |
26 |
#include "gui_netkeyer.h" |
#include "gui_netkeyer.h" |
27 |
|
#include "gui_utils.h" |
28 |
#include "utils.h" |
#include "utils.h" |
29 |
#include "types.h" |
#include "types.h" |
30 |
|
|
31 |
GtkWidget *keyerwindow = NULL; |
GtkWidget *keyerwindow = NULL; |
32 |
|
gchar *labelcolor; |
33 |
extern preferencestype preferences; |
extern preferencestype preferences; |
34 |
extern statetype state; |
keyerstatetype keyerstate; |
35 |
|
|
36 |
/* delete keyer window and save settings, close connection to cwdaemon */ |
/* delete keyer window and save settings, close connection to cwdaemon */ |
37 |
static gboolean |
static gboolean |
251 |
if (result < 0) update_statusbar (_("Keyer send failed")); |
if (result < 0) update_statusbar (_("Keyer send failed")); |
252 |
} |
} |
253 |
|
|
254 |
|
static void |
255 |
|
mode_change(GtkComboBox *widget, gpointer user_data) |
256 |
|
{ |
257 |
|
gint active; |
258 |
|
GtkWidget *cqlabel, *splabel; |
259 |
|
|
260 |
|
cqlabel = lookup_widget (keyerwindow, "cqlabel"); |
261 |
|
splabel = lookup_widget (keyerwindow, "splabel"); |
262 |
|
active = gtk_combo_box_get_active (widget); |
263 |
|
if (active == 0) |
264 |
|
{ |
265 |
|
keyerstate.cqmode = TRUE; |
266 |
|
setlabelstyle (cqlabel, "green", NULL); |
267 |
|
setlabelstyle (splabel, NULL, NULL); |
268 |
|
} |
269 |
|
else |
270 |
|
{ |
271 |
|
keyerstate.cqmode = FALSE; |
272 |
|
setlabelstyle (splabel, "green", NULL); |
273 |
|
setlabelstyle (cqlabel, NULL, NULL); |
274 |
|
} |
275 |
|
} |
276 |
|
|
277 |
|
static void |
278 |
|
on_shortnr_toggled (GtkToggleButton *togglebutton, gpointer user_data) |
279 |
|
{ |
280 |
|
keyerstate.shortnr = gtk_toggle_button_get_active (togglebutton); |
281 |
|
} |
282 |
|
|
283 |
/* activate keyer window and initialize UDP socket */ |
/* activate keyer window and initialize UDP socket */ |
284 |
void on_keyer_activate (GtkMenuItem * menuitem, gpointer user_data) |
void on_keyer_activate (GtkMenuItem * menuitem, gpointer user_data) |
285 |
{ |
{ |
286 |
GtkWidget *keyervbox, *hbox1, *hbox2, *hbox3, *hbox4, *hbox5, *hbox6, |
GtkWidget *keyervbox, *hbox1, *hbox2, *hbox3, *hbox4, *hbox5, *hbox6, |
287 |
*hbox7, *hbox8, *hsep, |
*hbox7, *hbox8, *hbox9, *hsep, |
288 |
*f1button, *f1entry, *f6button, *f6entry, |
*f1button, *f1entry, *f6button, *f6entry, |
289 |
*f2button, *f2entry, *f7button, *f7entry, *f3button, *f3entry, |
*f2button, *f2entry, *f7button, *f7entry, *f3button, *f3entry, |
290 |
*f8button, *f8entry, *f4button, *f4entry, *f9button, *f9entry, |
*f8button, *f8entry, *f4button, *f4entry, *f9button, *f9entry, |
291 |
*f5button, *f5entry, *f10button, *f10entry, *f11button, *f11entry, |
*f5button, *f5entry, *f10button, *f10entry, *f11button, *f11entry, |
292 |
*f12button, *f12entry, |
*f12button, *f12entry, |
293 |
*cqlabel, *cqentry, *splabel, *spentry, |
*cqlabel, *cqentry, *splabel, *spentry, *mode, *shortnr, |
294 |
*scrolledkeyerwindow, |
*scrolledkeyerwindow, |
295 |
*keyertext, *wpm, *wpmcountlabel, *count, *stopbutton; |
*keyertext, *wpm, *wpmcountlabel, *count, *stopbutton; |
296 |
GtkObject *wpm_adj, *count_adj; |
GtkObject *wpm_adj, *count_adj; |
297 |
GdkPixbuf *keyer_icon_pixbuf; |
GdkPixbuf *keyer_icon_pixbuf; |
298 |
GtkTextBuffer *buffer; |
GtkTextBuffer *buffer; |
299 |
|
GtkTooltips *tooltips; |
300 |
gint result = 0; |
gint result = 0; |
301 |
gchar *speed; |
gchar *speed; |
302 |
|
|
309 |
g_object_unref (keyer_icon_pixbuf); |
g_object_unref (keyer_icon_pixbuf); |
310 |
} |
} |
311 |
gtk_window_set_destroy_with_parent (GTK_WINDOW(keyerwindow), TRUE); |
gtk_window_set_destroy_with_parent (GTK_WINDOW(keyerwindow), TRUE); |
312 |
|
tooltips = gtk_tooltips_new (); |
313 |
|
|
314 |
keyervbox = gtk_vbox_new (FALSE, 0); |
keyervbox = gtk_vbox_new (FALSE, 0); |
315 |
gtk_container_add (GTK_CONTAINER (keyerwindow), keyervbox); |
gtk_container_add (GTK_CONTAINER (keyerwindow), keyervbox); |
395 |
|
|
396 |
hbox8 = gtk_hbox_new (FALSE, 0); |
hbox8 = gtk_hbox_new (FALSE, 0); |
397 |
gtk_box_pack_start (GTK_BOX (keyervbox), hbox8, TRUE, TRUE, 0); |
gtk_box_pack_start (GTK_BOX (keyervbox), hbox8, TRUE, TRUE, 0); |
398 |
cqlabel = gtk_label_new ("CQ_TU"); |
cqlabel = gtk_label_new ("CQTU"); |
399 |
gtk_box_pack_start (GTK_BOX (hbox8), cqlabel, FALSE, FALSE, 0); |
gtk_box_pack_start (GTK_BOX (hbox8), cqlabel, FALSE, FALSE, 0); |
400 |
gtk_widget_set_size_request (cqlabel, 50, -1); |
gtk_widget_set_size_request (cqlabel, 50, -1); |
401 |
cqentry = gtk_entry_new (); |
cqentry = gtk_entry_new (); |
405 |
gtk_widget_set_size_request (splabel, 50, -1); |
gtk_widget_set_size_request (splabel, 50, -1); |
406 |
spentry = gtk_entry_new (); |
spentry = gtk_entry_new (); |
407 |
gtk_box_pack_start (GTK_BOX (hbox8), spentry, TRUE, TRUE, 0); |
gtk_box_pack_start (GTK_BOX (hbox8), spentry, TRUE, TRUE, 0); |
408 |
|
gtk_tooltips_set_tip (tooltips, cqentry, |
409 |
|
_("Auto exchange message in CQ mode"), NULL); |
410 |
|
gtk_tooltips_set_tip (tooltips, spentry, |
411 |
|
_("Auto exchange message in S&P mode"), NULL); |
412 |
|
setlabelstyle (cqlabel, "green", NULL); |
413 |
|
|
414 |
|
hsep = gtk_hseparator_new (); |
415 |
|
gtk_box_pack_start (GTK_BOX (keyervbox), hsep, TRUE, TRUE, 3); |
416 |
|
|
417 |
|
hbox9 = gtk_hbox_new (TRUE, 0); |
418 |
|
gtk_box_pack_start (GTK_BOX (keyervbox), hbox9, TRUE, TRUE, 0); |
419 |
|
mode = gtk_combo_box_new_text (); |
420 |
|
gtk_box_pack_start (GTK_BOX (hbox9), mode, FALSE, FALSE, 0); |
421 |
|
gtk_combo_box_append_text (GTK_COMBO_BOX(mode), "CQ mode"); |
422 |
|
gtk_combo_box_append_text (GTK_COMBO_BOX(mode), "S&P mode"); |
423 |
|
gtk_combo_box_set_active (GTK_COMBO_BOX(mode), 0); |
424 |
|
shortnr = gtk_check_button_new_with_label (_("Short serial")); |
425 |
|
gtk_box_pack_start (GTK_BOX (hbox9), shortnr, FALSE, FALSE, 0); |
426 |
|
|
427 |
hsep = gtk_hseparator_new (); |
hsep = gtk_hseparator_new (); |
428 |
gtk_box_pack_start (GTK_BOX (keyervbox), hsep, TRUE, TRUE, 3); |
gtk_box_pack_start (GTK_BOX (keyervbox), hsep, TRUE, TRUE, 3); |
482 |
update_statusbar (_("creation of socket for keyer failed")); |
update_statusbar (_("creation of socket for keyer failed")); |
483 |
return; |
return; |
484 |
} |
} |
485 |
|
keyerstate.shortnr = FALSE; |
486 |
|
keyerstate.cqmode = TRUE; |
487 |
|
|
488 |
gtk_spin_button_set_value (GTK_SPIN_BUTTON (wpm), preferences.cwspeed); |
gtk_spin_button_set_value (GTK_SPIN_BUTTON (wpm), preferences.cwspeed); |
489 |
speed = g_strdup_printf ("%d", preferences.cwspeed); |
speed = g_strdup_printf ("%d", preferences.cwspeed); |
490 |
result = tonetkeyer (K_SPEED, speed); |
result = tonetkeyer (K_SPEED, speed); |
535 |
GLADE_HOOKUP_OBJECT (keyerwindow, cqentry, "cqentry"); |
GLADE_HOOKUP_OBJECT (keyerwindow, cqentry, "cqentry"); |
536 |
GLADE_HOOKUP_OBJECT (keyerwindow, spentry, "spentry"); |
GLADE_HOOKUP_OBJECT (keyerwindow, spentry, "spentry"); |
537 |
GLADE_HOOKUP_OBJECT (keyerwindow, wpm, "wpm"); |
GLADE_HOOKUP_OBJECT (keyerwindow, wpm, "wpm"); |
538 |
|
GLADE_HOOKUP_OBJECT (keyerwindow, cqlabel, "cqlabel"); |
539 |
|
GLADE_HOOKUP_OBJECT (keyerwindow, splabel, "splabel"); |
540 |
|
|
541 |
g_signal_connect ((gpointer) keyerwindow, "delete_event", |
g_signal_connect ((gpointer) keyerwindow, "delete_event", |
542 |
G_CALLBACK (on_keyerwindow_delete_event), NULL); |
G_CALLBACK (on_keyerwindow_delete_event), NULL); |
558 |
g_signal_connect (G_OBJECT (wpm), "value_changed", G_CALLBACK (change_wpm), NULL); |
g_signal_connect (G_OBJECT (wpm), "value_changed", G_CALLBACK (change_wpm), NULL); |
559 |
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(keyertext)); |
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(keyertext)); |
560 |
g_signal_connect (G_OBJECT(buffer), "insert-text", G_CALLBACK (send_text), NULL); |
g_signal_connect (G_OBJECT(buffer), "insert-text", G_CALLBACK (send_text), NULL); |
561 |
|
g_signal_connect (G_OBJECT(mode), "changed", G_CALLBACK (mode_change), NULL); |
562 |
|
g_signal_connect ((gpointer) shortnr, "toggled", G_CALLBACK (on_shortnr_toggled), NULL); |
563 |
gtk_widget_show_all (keyerwindow); |
gtk_widget_show_all (keyerwindow); |
564 |
} |
} |