Crossfire Client, Trunk
menubar.c
Go to the documentation of this file.
1 /*
2  * Crossfire -- cooperative multi-player graphical RPG and adventure game
3  *
4  * Copyright (c) 1999-2013 Mark Wedel and the Crossfire Development Team
5  * Copyright (c) 1992 Frank Tore Johansen
6  *
7  * Crossfire is free software and comes with ABSOLUTELY NO WARRANTY. You are
8  * welcome to redistribute it under certain conditions. For details, see the
9  * 'LICENSE' and 'COPYING' files.
10  *
11  * The authors can be reached via e-mail to crossfire-devel@real-time.com
12  */
13 
24 #include "client.h"
25 
26 #include <gtk/gtk.h>
27 
28 #ifdef WIN32
29 # include <windows.h>
30 #endif
31 
32 #include "p_cmd.h"
33 #include "main.h"
34 #include "image.h"
35 #include "gtk2proto.h"
36 #include "script.h"
37 
45 static void on_disconnect_activate(GtkMenuItem *menuitem, gpointer user_data) {
46  if (client_is_connected()) {
48  }
49 }
50 
58 static void menu_quit_program(GtkMenuItem *menuitem, gpointer user_data) {
60  LOG(LOG_INFO,"gtk-v2::client_exit","Exiting with return value 0.");
61  exit(0);
62 }
63 
71 static void menu_quit_character(GtkMenuItem *menuitem, gpointer user_data) {
73  extended_command("quit");
74 }
75 
79 static void menu_about(GtkMenuItem *menuitem, gpointer user_data) {
80  GtkWidget *about_window;
81  about_window = GTK_WIDGET(gtk_builder_get_object(dialog_xml, "about_window"));
82  gtk_dialog_run(GTK_DIALOG(about_window));
83  gtk_widget_hide(about_window);
84 }
85 
90  GtkWidget *widget;
91 
92  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "quit_character"));
93  g_signal_connect ((gpointer) widget, "activate",
94  G_CALLBACK (menu_quit_character), NULL);
95 
96  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "quit"));
97  g_signal_connect ((gpointer) widget, "activate",
98  G_CALLBACK (menu_quit_program), NULL);
99 
100  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "configure"));
101  g_signal_connect ((gpointer) widget, "activate",
102  G_CALLBACK (on_configure_activate), NULL);
103 
104  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "disconnect"));
105  g_signal_connect ((gpointer) widget, "activate",
106  G_CALLBACK (on_disconnect_activate), NULL);
107 
108  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "keybindings"));
109  g_signal_connect ((gpointer) widget, "activate",
110  G_CALLBACK (on_keybindings_activate), NULL);
111 
112  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "msgctrl"));
113  g_signal_connect ((gpointer) widget, "activate",
114  G_CALLBACK (on_msgctrl_activate), NULL);
115 
116  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "save_window_position"));
117  g_signal_connect ((gpointer) widget, "activate",
118  G_CALLBACK (on_save_window_position_activate), NULL);
119 
120  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "spells"));
121  g_signal_connect ((gpointer) widget, "activate",
122  G_CALLBACK (on_spells_activate), NULL);
123 
124  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "skills"));
125  g_signal_connect ((gpointer) widget, "activate",
126  G_CALLBACK (on_skills_activate), NULL);
127 
128  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "do_not_pickup"));
129  g_signal_connect ((gpointer) widget, "activate",
130  G_CALLBACK (on_menu_dont_pickup_activate), NULL);
131 
132  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "stop_before_pickup"));
133  g_signal_connect ((gpointer) widget, "activate",
134  G_CALLBACK (on_menu_stop_before_pickup_activate), NULL);
135 
136  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "body_armor"));
137  g_signal_connect ((gpointer) widget, "activate",
138  G_CALLBACK (on_menu_body_armor_activate), NULL);
139 
140  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "boots"));
141  g_signal_connect ((gpointer) widget, "activate",
142  G_CALLBACK (on_menu_boots_activate), NULL);
143 
144  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "cloaks"));
145  g_signal_connect ((gpointer) widget, "activate",
146  G_CALLBACK (on_menu_cloaks_activate), NULL);
147 
148  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "gloves"));
149  g_signal_connect ((gpointer) widget, "activate",
150  G_CALLBACK (on_menu_gloves_activate), NULL);
151 
152  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "helmets"));
153  g_signal_connect ((gpointer) widget, "activate",
154  G_CALLBACK (on_menu_helmets_activate), NULL);
155 
156  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "shields"));
157  g_signal_connect ((gpointer) widget, "activate",
158  G_CALLBACK (on_menu_shields_activate), NULL);
159 
160  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "skillscrolls"));
161  g_signal_connect ((gpointer) widget, "activate",
162  G_CALLBACK (on_menu_skillscrolls_activate), NULL);
163 
164  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "normal_book_scrolls"));
165  g_signal_connect ((gpointer) widget, "activate",
166  G_CALLBACK (on_menu_normal_book_scrolls_activate), NULL);
167 
168  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "spellbooks"));
169  g_signal_connect ((gpointer) widget, "activate",
170  G_CALLBACK (on_menu_spellbooks_activate), NULL);
171 
172  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "drinks"));
173  g_signal_connect ((gpointer) widget, "activate",
174  G_CALLBACK (on_menu_drinks_activate), NULL);
175 
176  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "food"));
177  g_signal_connect ((gpointer) widget, "activate",
178  G_CALLBACK (on_menu_food_activate), NULL);
179 
180  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "flesh"));
181  g_signal_connect ((gpointer) widget, "activate",
182  G_CALLBACK (on_menu_flesh_activate), NULL);
183 
184  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "keys"));
185  g_signal_connect ((gpointer) widget, "activate",
186  G_CALLBACK (on_menu_keys_activate), NULL);
187 
188  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "magical_items"));
189  g_signal_connect ((gpointer) widget, "activate",
190  G_CALLBACK (on_menu_magical_items_activate), NULL);
191 
192  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "potions"));
193  g_signal_connect ((gpointer) widget, "activate",
194  G_CALLBACK (on_menu_potions_activate), NULL);
195 
196  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "valuables"));
197  g_signal_connect ((gpointer) widget, "activate",
198  G_CALLBACK (on_menu_valuables_activate), NULL);
199 
200  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "wands_rods_horns"));
201  g_signal_connect ((gpointer) widget, "activate",
202  G_CALLBACK (on_menu_wands_rods_horns_activate), NULL);
203 
204  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "jewels"));
205  g_signal_connect ((gpointer) widget, "activate",
206  G_CALLBACK (on_menu_jewels_activate), NULL);
207 
208  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "containers"));
209  g_signal_connect ((gpointer) widget, "activate",
210  G_CALLBACK (on_menu_containers_activate), NULL);
211 
212  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "all_weapons"));
213  g_signal_connect ((gpointer) widget, "activate",
214  G_CALLBACK (on_menu_all_weapons_activate), NULL);
215 
216  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "missile_weapons"));
217  g_signal_connect ((gpointer) widget, "activate",
218  G_CALLBACK (on_menu_missile_weapons_activate), NULL);
219 
220  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "bows"));
221  g_signal_connect ((gpointer) widget, "activate",
222  G_CALLBACK (on_menu_bows_activate), NULL);
223 
224  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "arrows"));
225  g_signal_connect ((gpointer) widget, "activate",
226  G_CALLBACK (on_menu_arrows_activate), NULL);
227 
228  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "ratio_pickup_off"));
229  g_signal_connect ((gpointer) widget, "activate",
230  G_CALLBACK (on_menu_ratio_pickup_off_activate), NULL);
231 
232  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "ratio_5"));
233  g_signal_connect ((gpointer) widget, "activate",
234  G_CALLBACK (on_menu_ratio_5_activate), NULL);
235 
236  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "ratio_10"));
237  g_signal_connect ((gpointer) widget, "activate",
238  G_CALLBACK (on_menu_ratio_10_activate), NULL);
239 
240  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "ratio_15"));
241  g_signal_connect ((gpointer) widget, "activate",
242  G_CALLBACK (on_menu_ratio_15_activate), NULL);
243 
244  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "ratio_20"));
245  g_signal_connect ((gpointer) widget, "activate",
246  G_CALLBACK (on_menu_ratio_20_activate), NULL);
247 
248  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "ratio_25"));
249  g_signal_connect ((gpointer) widget, "activate",
250  G_CALLBACK (on_menu_ratio_25_activate), NULL);
251 
252  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "ratio_30"));
253  g_signal_connect ((gpointer) widget, "activate",
254  G_CALLBACK (on_menu_ratio_35_activate), NULL);
255 
256  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "ratio_35"));
257  g_signal_connect ((gpointer) widget, "activate",
258  G_CALLBACK (on_menu_ratio_35_activate), NULL);
259 
260  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "ratio_40"));
261  g_signal_connect ((gpointer) widget, "activate",
262  G_CALLBACK (on_menu_ratio_40_activate), NULL);
263 
264  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "ratio_45"));
265  g_signal_connect ((gpointer) widget, "activate",
266  G_CALLBACK (on_menu_ratio_45_activate), NULL);
267 
268  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "ratio_50"));
269  g_signal_connect ((gpointer) widget, "activate",
270  G_CALLBACK (on_menu_ratio_50_activate), NULL);
271 
272  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "not_cursed"));
273  g_signal_connect ((gpointer) widget, "activate",
274  G_CALLBACK (on_menu_not_cursed_activate), NULL);
275 
276  widget = GTK_WIDGET(gtk_builder_get_object(window_xml, "about"));
277  g_signal_connect ((gpointer) widget, "activate",
278  G_CALLBACK (menu_about), NULL);
279 }
on_menu_gloves_activate
void on_menu_gloves_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:156
LOG_INFO
@ LOG_INFO
Minor, non-harmful issues.
Definition: client.h:434
on_disconnect_activate
static void on_disconnect_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: menubar.c:45
script_killall
void script_killall(void)
Definition: script.c:541
on_menu_containers_activate
void on_menu_containers_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:269
on_keybindings_activate
void on_keybindings_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: keys.c:1927
client_disconnect
void client_disconnect()
Definition: client.c:175
on_menu_drinks_activate
void on_menu_drinks_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:206
extended_command
void extended_command(const char *ocommand)
Definition: p_cmd.c:515
init_menu_items
void init_menu_items()
Definition: menubar.c:89
on_menu_ratio_15_activate
void on_menu_ratio_15_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:340
on_menu_missile_weapons_activate
void on_menu_missile_weapons_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:294
on_menu_normal_book_scrolls_activate
void on_menu_normal_book_scrolls_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:189
on_menu_stop_before_pickup_activate
void on_menu_stop_before_pickup_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:124
on_menu_ratio_pickup_off_activate
void on_menu_ratio_pickup_off_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:319
client_is_connected
bool client_is_connected()
Definition: client.c:320
on_menu_flesh_activate
void on_menu_flesh_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:276
on_menu_arrows_activate
void on_menu_arrows_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:308
on_spells_activate
void on_spells_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: spells.c:283
on_skills_activate
void on_skills_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: skills.c:106
on_menu_all_weapons_activate
void on_menu_all_weapons_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:287
on_menu_ratio_50_activate
void on_menu_ratio_50_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:389
on_menu_jewels_activate
void on_menu_jewels_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:262
on_menu_ratio_35_activate
void on_menu_ratio_35_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:368
on_menu_food_activate
void on_menu_food_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:213
on_menu_spellbooks_activate
void on_menu_spellbooks_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:197
gtk2proto.h
on_menu_boots_activate
void on_menu_boots_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:142
menu_quit_character
static void menu_quit_character(GtkMenuItem *menuitem, gpointer user_data)
Definition: menubar.c:71
on_save_window_position_activate
void on_save_window_position_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: config.c:834
on_menu_magical_items_activate
void on_menu_magical_items_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:227
on_menu_bows_activate
void on_menu_bows_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:301
LOG
void LOG(LogLevel level, const char *origin, const char *format,...)
Definition: misc.c:111
image.h
on_menu_ratio_20_activate
void on_menu_ratio_20_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:347
on_menu_ratio_25_activate
void on_menu_ratio_25_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:354
on_menu_helmets_activate
void on_menu_helmets_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:163
on_menu_ratio_40_activate
void on_menu_ratio_40_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:375
on_menu_potions_activate
void on_menu_potions_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:234
p_cmd.h
menu_about
static void menu_about(GtkMenuItem *menuitem, gpointer user_data)
Definition: menubar.c:79
dialog_xml
GtkBuilder * dialog_xml
Definition: main.c:102
on_menu_ratio_5_activate
void on_menu_ratio_5_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:326
on_menu_ratio_10_activate
void on_menu_ratio_10_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:333
main.h
on_menu_shields_activate
void on_menu_shields_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:170
on_menu_ratio_45_activate
void on_menu_ratio_45_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:382
on_menu_skillscrolls_activate
void on_menu_skillscrolls_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:181
on_menu_wands_rods_horns_activate
void on_menu_wands_rods_horns_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:248
on_menu_body_armor_activate
void on_menu_body_armor_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:135
script.h
on_msgctrl_activate
void on_msgctrl_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: info.c:1907
on_menu_keys_activate
void on_menu_keys_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:220
menu_quit_program
static void menu_quit_program(GtkMenuItem *menuitem, gpointer user_data)
Definition: menubar.c:58
on_menu_cloaks_activate
void on_menu_cloaks_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:149
on_menu_valuables_activate
void on_menu_valuables_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:241
on_menu_dont_pickup_activate
void on_menu_dont_pickup_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:117
on_menu_not_cursed_activate
void on_menu_not_cursed_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: pickup.c:255
on_configure_activate
void on_configure_activate(GtkWidget *menuitem, gpointer user_data)
Definition: config.c:778
client.h
window_xml
GtkBuilder * window_xml
Definition: main.c:102