|
|
| version 1.3, 2005/03/12 12:36:57 | version 1.4, 2008/04/03 13:53:25 |
|---|---|
| Line 33 | Line 33 |
| #include "np2.h" | #include "np2.h" |
| #include "dosio.h" | #include "dosio.h" |
| #include "ini.h" | #include "ini.h" |
| #include "pccore.h" | |
| #include "fddfile.h" | #include "fddfile.h" |
| #include "newdisk.h" | #include "newdisk.h" |
| Line 42 | Line 43 |
| * create hard disk image | * create hard disk image |
| */ | */ |
| static const OEMCHAR *str_hddsize = OEMTEXT(" HDD Size"); | |
| static gint | static gint |
| anex_newdisk_dialog(GtkWidget *dialog) | anex_newdisk_dialog(GtkWidget *dialog) |
| { | { |
| Line 52 anex_newdisk_dialog(GtkWidget *dialog) | Line 55 anex_newdisk_dialog(GtkWidget *dialog) |
| char buf[32]; | char buf[32]; |
| GtkWidget *dialog_table; | GtkWidget *dialog_table; |
| GtkWidget *button[NELEMENTS(hddsize)]; | GtkWidget *button[NELEMENTS(hddsize)]; |
| GtkWidget *label; | |
| int i; | int i; |
| /* dialog table */ | /* dialog table */ |
| dialog_table = gtk_table_new(3, 2, FALSE); | dialog_table = gtk_table_new(4, 2, FALSE); |
| gtk_table_set_col_spacings(GTK_TABLE(dialog_table), 5); | gtk_table_set_col_spacings(GTK_TABLE(dialog_table), 5); |
| gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox),dialog_table); | gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox),dialog_table); |
| gtk_widget_show(dialog_table); | gtk_widget_show(dialog_table); |
| /* HD size radio button */ | /* "HDD Size" label */ |
| label = gtk_label_new(str_hddsize); | |
| gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| gtk_table_attach(GTK_TABLE(dialog_table), label, 0, 1, 0, 1, | |
| GTK_FILL|GTK_SHRINK, GTK_FILL|GTK_SHRINK, | |
| 0, 5); | |
| gtk_widget_show(label); | |
| /* HDD Size radio button */ | |
| for (i = 0; i < NELEMENTS(hddsize); ++i) { | for (i = 0; i < NELEMENTS(hddsize); ++i) { |
| g_snprintf(buf, sizeof(buf), "%dMB", hddsize[i]); | g_snprintf(buf, sizeof(buf), "%dMB", hddsize[i]); |
| button[i] = gtk_radio_button_new_with_label_from_widget( | button[i] = gtk_radio_button_new_with_label_from_widget( |
| (i > 0) ? GTK_RADIO_BUTTON(button[i-1]) : NULL, buf); | (i > 0) ? GTK_RADIO_BUTTON(button[i-1]) : NULL, buf); |
| gtk_widget_show(button[i]); | gtk_widget_show(button[i]); |
| gtk_table_attach_defaults(GTK_TABLE(dialog_table), | gtk_table_attach_defaults(GTK_TABLE(dialog_table), |
| button[i], i % 2, (i % 2) + 1, i / 2, (i / 2) + 1); | button[i], i % 2, (i % 2) + 1, (i / 2) + 1, (i / 2) + 2); |
| GTK_WIDGET_UNSET_FLAGS(button[i], GTK_CAN_FOCUS); | GTK_WIDGET_UNSET_FLAGS(button[i], GTK_CAN_FOCUS); |
| } | } |
| if (last >= NELEMENTS(hddsize)) { | if (last >= NELEMENTS(hddsize)) { |
| Line 128 t98_newdisk_dialog(GtkWidget *dialog, co | Line 140 t98_newdisk_dialog(GtkWidget *dialog, co |
| gtk_widget_show(dialog_table); | gtk_widget_show(dialog_table); |
| /* "HDD Size" label */ | /* "HDD Size" label */ |
| label = gtk_label_new(" HDD Size"); | label = gtk_label_new(str_hddsize); |
| gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5); | gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5); |
| gtk_table_attach_defaults(GTK_TABLE(dialog_table), label, 0, 1, 0, 1); | gtk_table_attach_defaults(GTK_TABLE(dialog_table), label, 0, 1, 0, 1); |
| gtk_widget_show(label); | gtk_widget_show(label); |
| Line 254 create_newdisk_fd_dialog(const char *fil | Line 266 create_newdisk_fd_dialog(const char *fil |
| GtkWidget *hbox; | GtkWidget *hbox; |
| GtkWidget *button[NELEMENTS(disktype)]; | GtkWidget *button[NELEMENTS(disktype)]; |
| const gchar *p; | const gchar *p; |
| int ndisktype; | |
| int i; | int i; |
| ndisktype = NELEMENTS(disktype); | |
| if (!np2cfg.usefd144) { | |
| ndisktype--; | |
| } | |
| dialog = gtk_dialog_new_with_buttons("Create new floppy disk image", | dialog = gtk_dialog_new_with_buttons("Create new floppy disk image", |
| GTK_WINDOW(main_window), | GTK_WINDOW(main_window), |
| GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL, | GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL, |
| Line 298 create_newdisk_fd_dialog(const char *fil | Line 316 create_newdisk_fd_dialog(const char *fil |
| hbox = gtk_hbox_new(FALSE, 3); | hbox = gtk_hbox_new(FALSE, 3); |
| gtk_table_attach_defaults(GTK_TABLE(dialog_table), hbox, 1, 2, 1, 2); | gtk_table_attach_defaults(GTK_TABLE(dialog_table), hbox, 1, 2, 1, 2); |
| gtk_widget_show(hbox); | gtk_widget_show(hbox); |
| for (i = 0; i < NELEMENTS(disktype); ++i) { | for (i = 0; i < ndisktype; ++i) { |
| button[i] = gtk_radio_button_new_with_label_from_widget( | button[i] = gtk_radio_button_new_with_label_from_widget( |
| (i > 0) ? GTK_RADIO_BUTTON(button[i-1]) : NULL, | (i > 0) ? GTK_RADIO_BUTTON(button[i-1]) : NULL, |
| disktype[i].str); | disktype[i].str); |
| Line 306 create_newdisk_fd_dialog(const char *fil | Line 324 create_newdisk_fd_dialog(const char *fil |
| gtk_box_pack_start(GTK_BOX(hbox), button[i], FALSE, FALSE, 1); | gtk_box_pack_start(GTK_BOX(hbox), button[i], FALSE, FALSE, 1); |
| GTK_WIDGET_UNSET_FLAGS(button[i], GTK_CAN_FOCUS); | GTK_WIDGET_UNSET_FLAGS(button[i], GTK_CAN_FOCUS); |
| } | } |
| for (i = 0; i < NELEMENTS(disktype); ++i) { | for (i = 0; i < ndisktype; ++i) { |
| if (disktype[i].fdtype == makefdtype) | if (disktype[i].fdtype == makefdtype) |
| break; | break; |
| } | } |
| if (i == NELEMENTS(disktype)) { | if (i == ndisktype) { |
| i = (i <= 1) ? 0 : 1; /* 2HD */ | i = (i <= 1) ? 0 : 1; /* 2HD */ |
| } | } |
| g_signal_emit_by_name(GTK_OBJECT(button[i]), "clicked"); | g_signal_emit_by_name(GTK_OBJECT(button[i]), "clicked"); |