~ubuntu-branches/ubuntu/trusty/ggz-gtk-client/trusty

« back to all changes in this revision

Viewing changes to ggz-gtk/launch.c

  • Committer: Bazaar Package Importer
  • Author(s): Peter Eisentraut, Josef Spillner, Peter Eisentraut
  • Date: 2007-05-12 11:23:32 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20070512112332-0pmbvqpwv1xrgag2
Tags: 0.0.14-1
[ Josef Spillner ]
* New upstream version.

[ Peter Eisentraut ]
* Reenabled gaim plugin
* Soname change libggz-gtk0 -> libggz-gtk1

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 * File: launch.c
3
3
 * Author: Justin Zaun
4
4
 * Project: GGZ GTK Client
5
 
 * $Id: launch.c 7726 2006-01-06 01:08:10Z jdorje $
 
5
 * $Id: launch.c 8615 2006-10-04 02:37:04Z jdorje $
6
6
 *
7
7
 * Code for launching games through the GTK client
8
8
 *
100
100
static void launch_fill_defaults(GtkWidget * widget, gpointer data)
101
101
{
102
102
        GtkWidget *tmp;
103
 
        gchar *text, *seatstring;
 
103
        gchar *text;
104
104
        GGZRoom *room;
105
105
        GGZGameType *gt;
106
106
        GList *items = NULL;
162
162
 
163
163
        /* If bots are allowed, default to bot players, otherwise open */
164
164
        maxbots = ggzcore_gametype_get_max_bots(gt);
165
 
        if (maxbots > 0)
166
 
                seatstring = "seat%d_bot";
167
 
        else
168
 
                seatstring = "seat%d_open";
 
165
 
 
166
        if (maxbots < maxplayers) {
 
167
                tmp = ggz_lookup_widget(launch_dialog, "seat1_bot");
 
168
                gtk_widget_set_sensitive(GTK_WIDGET(tmp), FALSE);
 
169
        }
169
170
 
170
171
        for (x = 2; x <= maxplayers; x++) {
171
172
                char text[128];
172
 
                sprintf(text, seatstring, x);
173
 
                tmp = lookup_widget(launch_dialog, text);
 
173
 
 
174
                if (maxbots >= x - 1) {
 
175
                        snprintf(text, sizeof(text), "seat%d_bot", x);
 
176
                } else {
 
177
                        snprintf(text, sizeof(text), "seat%d_bot", x);
 
178
                        tmp = ggz_lookup_widget(launch_dialog, text);
 
179
                        gtk_widget_set_sensitive(GTK_WIDGET(tmp), FALSE);
 
180
 
 
181
                        snprintf(text, sizeof(text), "seat%d_open", x);
 
182
                }
 
183
                tmp = ggz_lookup_widget(launch_dialog, text);
174
184
                gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), TRUE);
175
185
        }
176
186
}
192
202
           sensitize others */
193
203
        for (i = 1; i <= seats; i++) {
194
204
                char text[128];
195
 
                sprintf(text, "seat%d_box", i);
 
205
                snprintf(text, sizeof(text), "seat%d_box", i);
196
206
                tmp = g_object_get_data(G_OBJECT(launch_dialog), text);
197
207
                gtk_widget_set_sensitive(tmp, TRUE);
198
208
        }
199
209
        for (i = (seats + 1); i <= max; i++) {
200
210
                char text[128];
201
 
                sprintf(text, "seat%d_box", i);
 
211
                snprintf(text, sizeof(text), "seat%d_box", i);
202
212
                tmp = g_object_get_data(G_OBJECT(launch_dialog), text);
203
213
                gtk_widget_set_sensitive(tmp, FALSE);
204
214
        }
235
245
        if (!launch_dialog)
236
246
                ggz_error_msg("Trying to launch table when "
237
247
                              "there is no launch dialog.");
238
 
        tmp = lookup_widget(launch_dialog, "seats_combo");
 
248
        tmp = ggz_lookup_widget(launch_dialog, "seats_combo");
239
249
        seats = atoi(gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(tmp)->entry)));
240
250
 
241
251
        /* Create a table for sending to the server */
242
252
        table = ggzcore_table_new();
243
253
        room = ggzcore_server_get_cur_room(server);
244
254
        gt = ggzcore_room_get_gametype(room);
245
 
        tmp = lookup_widget(launch_dialog, "desc_entry");
 
255
        tmp = ggz_lookup_widget(launch_dialog, "desc_entry");
246
256
        ggzcore_table_init(table, gt, gtk_entry_get_text(GTK_ENTRY(tmp)),
247
257
                           seats);
248
258
 
249
259
        for (x = 0; x < seats; x++) {
250
260
                /* Check to see if the seat is a bot. */
251
261
                char text[128];
252
 
                sprintf(text, "seat%d_bot", x + 1);
253
 
                tmp = lookup_widget(launch_dialog, text);
 
262
                snprintf(text, sizeof(text), "seat%d_bot", x + 1);
 
263
                tmp = ggz_lookup_widget(launch_dialog, text);
254
264
                if (GTK_TOGGLE_BUTTON(tmp)->active)
255
265
                        if (ggzcore_table_set_seat(table, x,
256
266
                                                   GGZ_SEAT_BOT, NULL) < 0)
257
267
                                assert(0);
258
268
 
259
269
                /* Check to see if the seat is reserved. */
260
 
                sprintf(text, "seat%d_resv", x + 1);
261
 
                tmp = lookup_widget(launch_dialog, text);
 
270
                snprintf(text, sizeof(text), "seat%d_resv", x + 1);
 
271
                tmp = ggz_lookup_widget(launch_dialog, text);
262
272
                if (GTK_TOGGLE_BUTTON(tmp)->active) {
263
273
                        const gchar *name;
264
 
                        sprintf(text, "seat%d_name", x + 1);
265
 
                        tmp = lookup_widget(launch_dialog, text);
 
274
                        snprintf(text, sizeof(text), "seat%d_name", x + 1);
 
275
                        tmp = ggz_lookup_widget(launch_dialog, text);
266
276
                        name = gtk_entry_get_text(GTK_ENTRY(tmp));
267
277
 
268
278
                        if (ggzcore_table_set_seat(table, x,
295
305
        gint x, seats, bots;
296
306
 
297
307
        /* Grab the number of seats */
298
 
        tmp = lookup_widget(launch_dialog, "seats_combo");
 
308
        tmp = ggz_lookup_widget(launch_dialog, "seats_combo");
299
309
        seats = atoi(gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(tmp)->entry)));
300
310
 
301
311
        /* Let's go bot counting.... */
302
312
        bots = 0;
303
313
        for (x = 0; x < seats; x++) {
304
314
                char text[128];
305
 
                sprintf(text, "seat%d_bot", x + 1);
306
 
                tmp = lookup_widget(launch_dialog, text);
 
315
                snprintf(text, sizeof(text), "seat%d_bot", x + 1);
 
316
                tmp = ggz_lookup_widget(launch_dialog, text);
307
317
                if (GTK_TOGGLE_BUTTON(tmp)->active)
308
318
                        bots++;
309
319
        }
343
353
        char text[128];
344
354
 
345
355
        /* Show seat's hbox */
346
 
        sprintf(text, "seat%d_box", seat);
 
356
        snprintf(text, sizeof(text), "seat%d_box", seat);
347
357
        tmp = g_object_get_data(G_OBJECT(launch_dialog), text);
348
358
        if (show)
349
359
                gtk_widget_show(GTK_WIDGET(tmp));
405
415
 
406
416
        dlg_launch = gtk_dialog_new();
407
417
        gtk_window_set_transient_for(GTK_WINDOW(dlg_launch),
408
 
                                     GTK_WINDOW(win_main));
 
418
                                     GTK_WINDOW(main_window));
409
419
        g_object_set_data(G_OBJECT(dlg_launch), "dlg_launch", dlg_launch);
410
420
        gtk_window_set_title(GTK_WINDOW(dlg_launch), _("Seat Assignments"));
411
421
        gtk_window_set_resizable(GTK_WINDOW(dlg_launch), TRUE);
565
575
 
566
576
                seats[i].box = gtk_hbox_new(FALSE, 0);
567
577
                gtk_widget_ref(seats[i].box);
568
 
                sprintf(text, "seat%d_box", i + 1);
 
578
                snprintf(text, sizeof(text), "seat%d_box", i + 1);
569
579
                g_object_set_data_full(G_OBJECT(dlg_launch), text,
570
580
                                         seats[i].box,
571
581
                                         (GtkDestroyNotify) gtk_widget_unref);
573
583
                gtk_box_pack_start(GTK_BOX(seat_box), seats[i].box, FALSE,
574
584
                                   FALSE, 0);
575
585
 
576
 
                sprintf(text, _("Seat %d:"), i + 1);
 
586
                snprintf(text, sizeof(text), _("Seat %d:"), i + 1);
577
587
                seats[i].label = gtk_label_new(text);
578
588
                gtk_widget_ref(seats[i].label);
579
 
                sprintf(text, "seat%d_lable", i + 1);
 
589
                snprintf(text, sizeof(text), "seat%d_lable", i + 1);
580
590
                g_object_set_data_full(G_OBJECT(dlg_launch), text,
581
591
                                         seats[i].label,
582
592
                                         (GtkDestroyNotify) gtk_widget_unref);
590
600
                        gtk_radio_button_get_group(GTK_RADIO_BUTTON
591
601
                                               (seats[i].bot));
592
602
                gtk_widget_ref(seats[i].bot);
593
 
                sprintf(text, "seat%d_bot", i + 1);
 
603
                snprintf(text, sizeof(text), "seat%d_bot", i + 1);
594
604
                g_object_set_data_full(G_OBJECT(dlg_launch), text,
595
605
                                         seats[i].bot,
596
606
                                         (GtkDestroyNotify) gtk_widget_unref);
605
615
                        gtk_radio_button_get_group(GTK_RADIO_BUTTON
606
616
                                               (seats[i].open));
607
617
                gtk_widget_ref(seats[i].open);
608
 
                sprintf(text, "seat%d_open", i + 1);
 
618
                snprintf(text, sizeof(text), "seat%d_open", i + 1);
609
619
                g_object_set_data_full(G_OBJECT(dlg_launch), text,
610
620
                                         seats[i].open,
611
621
                                         (GtkDestroyNotify) gtk_widget_unref);
620
630
                        gtk_radio_button_get_group(GTK_RADIO_BUTTON
621
631
                                               (seats[i].resv));
622
632
                gtk_widget_ref(seats[i].resv);
623
 
                sprintf(text, "seat%d_resv", i + 1);
 
633
                snprintf(text, sizeof(text), "seat%d_resv", i + 1);
624
634
                g_object_set_data_full(G_OBJECT(dlg_launch), text,
625
635
                                         seats[i].resv,
626
636
                                         (GtkDestroyNotify) gtk_widget_unref);
634
644
                gtk_entry_set_max_length(GTK_ENTRY(seats[i].name),
635
645
                                         MAX_RESERVED_NAME_LEN);
636
646
                gtk_widget_ref(seats[i].name);
637
 
                sprintf(text, "seat%d_name", i + 1);
 
647
                snprintf(text, sizeof(text), "seat%d_name", i + 1);
638
648
                g_object_set_data_full(G_OBJECT(dlg_launch), text,
639
649
                                         seats[i].name,
640
650
                                         (GtkDestroyNotify) gtk_widget_unref);