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

Diff of /xlog/src/gui_netkeyer.c

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

revision 1.4 by pa4tu, Thu Feb 24 16:53:54 2005 UTC revision 1.5 by pa4tu, Thu Feb 24 19:21:37 2005 UTC
# Line 24  Line 24 
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
# Line 249  send_text (GtkTextBuffer * buffer, GtkTe Line 251  send_text (GtkTextBuffer * buffer, GtkTe
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    
# Line 277  void on_keyer_activate (GtkMenuItem * me Line 309  void on_keyer_activate (GtkMenuItem * me
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);
# Line 362  void on_keyer_activate (GtkMenuItem * me Line 395  void on_keyer_activate (GtkMenuItem * me
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 ();
# Line 372  void on_keyer_activate (GtkMenuItem * me Line 405  void on_keyer_activate (GtkMenuItem * me
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);
# Line 431  void on_keyer_activate (GtkMenuItem * me Line 482  void on_keyer_activate (GtkMenuItem * me
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);
# Line 481  void on_keyer_activate (GtkMenuItem * me Line 535  void on_keyer_activate (GtkMenuItem * me
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);
# Line 502  void on_keyer_activate (GtkMenuItem * me Line 558  void on_keyer_activate (GtkMenuItem * me
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  }  }

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

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