24 |
*/ |
*/ |
25 |
|
|
26 |
#include <gtk/gtk.h> |
#include <gtk/gtk.h> |
27 |
|
#include <gdk/gdkkeysyms.h> |
28 |
|
#include <string.h> |
29 |
|
|
30 |
|
#if WANT_HAMLIB |
31 |
|
# include <hamlib/rig.h> |
32 |
|
# include "hamlib-utils.h" |
33 |
|
#endif |
34 |
|
|
35 |
#include "callbacks_mainwindow.h" |
#include "callbacks_mainwindow.h" |
36 |
#include "gui_savedialog.h" |
#include "gui_savedialog.h" |
39 |
#include "utils.h" |
#include "utils.h" |
40 |
#include "types.h" |
#include "types.h" |
41 |
#include "log.h" |
#include "log.h" |
42 |
#if WANT_HAMLIB |
#include "gui_netkeyer.h" |
43 |
# include <hamlib/rig.h> |
#include "netkeyer.h" |
|
# include "hamlib-utils.h" |
|
|
#endif |
|
44 |
|
|
45 |
extern GtkWidget *mainwindow; |
extern GtkWidget *mainwindow; |
46 |
extern GtkWidget *mainnotebook; |
extern GtkWidget *mainnotebook; |
47 |
|
extern GtkWidget *keyerwindow; |
48 |
extern preferencestype preferences; |
extern preferencestype preferences; |
49 |
extern statetype state; |
extern statetype state; |
50 |
extern GList *logwindowlist; |
extern GList *logwindowlist; |
78 |
} |
} |
79 |
} |
} |
80 |
|
|
81 |
|
/* switch between pages of the notebook */ |
82 |
void |
void |
83 |
on_mainnotebook_switch_page (GtkNotebook * notebook, GtkNotebookPage * page, |
on_mainnotebook_switch_page (GtkNotebook * notebook, GtkNotebookPage * page, |
84 |
gint page_num, gpointer user_data) |
gint page_num, gpointer user_data) |
93 |
} |
} |
94 |
if (logwindow) set_qsoframe (logwindow); |
if (logwindow) set_qsoframe (logwindow); |
95 |
} |
} |
96 |
|
|
97 |
|
/* catch keypresses when keyer is active, don't use PgUp/PgDn here */ |
98 |
|
gboolean |
99 |
|
on_mainwindow_keypress (GtkWidget *widget, GdkEventKey *event, gpointer data) |
100 |
|
{ |
101 |
|
gint result; |
102 |
|
GtkWidget *callentry, *myrstentry; |
103 |
|
gchar *call; |
104 |
|
|
105 |
|
if (keyerwindow) |
106 |
|
switch (event->keyval) |
107 |
|
{ |
108 |
|
case GDK_F1: cw (NULL, "f1"); |
109 |
|
break; |
110 |
|
case GDK_F2: cw (NULL, "f2"); |
111 |
|
break; |
112 |
|
case GDK_F3: cw (NULL, "f3"); |
113 |
|
break; |
114 |
|
case GDK_F4: cw (NULL, "f4"); |
115 |
|
break; |
116 |
|
case GDK_F5: cw (NULL, "f5"); |
117 |
|
break; |
118 |
|
case GDK_F6: cw (NULL, "f6"); |
119 |
|
break; |
120 |
|
case GDK_F7: cw (NULL, "f7"); |
121 |
|
break; |
122 |
|
case GDK_F8: cw (NULL, "f8"); |
123 |
|
break; |
124 |
|
case GDK_F9: cw (NULL, "f9"); |
125 |
|
break; |
126 |
|
case GDK_F10: cw (NULL, "f10"); |
127 |
|
break; |
128 |
|
case GDK_Escape: |
129 |
|
result = tonetkeyer (K_ABORT, NULL); |
130 |
|
break; |
131 |
|
case GDK_Return: |
132 |
|
callentry = lookup_widget (mainwindow, "callentry"); |
133 |
|
myrstentry = lookup_widget (mainwindow, "myrstentry"); |
134 |
|
if (GTK_WIDGET_HAS_FOCUS (myrstentry) && state.contest) |
135 |
|
{ |
136 |
|
cw (NULL, "f3"); |
137 |
|
} |
138 |
|
if (GTK_WIDGET_HAS_FOCUS (callentry) && state.contest) |
139 |
|
{ |
140 |
|
call = gtk_editable_get_chars (GTK_EDITABLE (callentry), 0, -1); |
141 |
|
if (strlen (call) > 2) |
142 |
|
{ |
143 |
|
cw (NULL, "f2"); |
144 |
|
gtk_widget_grab_focus (myrstentry); |
145 |
|
gtk_editable_set_position (GTK_EDITABLE(myrstentry), -1); |
146 |
|
} |
147 |
|
} |
148 |
|
break; |
149 |
|
default: |
150 |
|
break; |
151 |
|
} |
152 |
|
|
153 |
|
return FALSE; |
154 |
|
} |