44 |
|
const uint32 MSG_DOUBLE_SCAN = 'dbls'; |
45 |
|
const uint32 MSG_MAP_SLASH = 'mpsl'; |
46 |
|
const uint32 MSG_EMUL_1541_PROC = '15pr'; |
47 |
– |
const uint32 MSG_DRVTYPE_8 = 'drt8'; |
48 |
– |
const uint32 MSG_DRVTYPE_9 = 'drt9'; |
49 |
– |
const uint32 MSG_DRVTYPE_10 = 'drt:'; |
50 |
– |
const uint32 MSG_DRVTYPE_11 = 'drt;'; |
47 |
|
const uint32 MSG_GETDRIVE_8 = 'gtd8'; |
48 |
|
const uint32 MSG_GETDRIVE_9 = 'gtd9'; |
49 |
|
const uint32 MSG_GETDRIVE_10 = 'gtd:'; |
78 |
|
private: |
79 |
|
BCheckBox *make_checkbox(BRect frame, char *label, uint32 what, BView *parent); |
80 |
|
NumberControl *make_number_entry(BRect frame, char *label_text, BView *parent); |
85 |
– |
BPopUpMenu *make_drvtype_popup(BRect frame, uint32 what, BView *parent); |
81 |
|
PathControl *make_path_entry(BRect frame, char *label, BView *parent); |
82 |
|
BPopUpMenu *make_sidtype_popup(BRect frame, char *label_text, uint32 what, BView *parent); |
83 |
|
BPopUpMenu *make_reusize_popup(BRect frame, char *label_text, uint32 what, BView *parent); |
104 |
|
NumberControl *g_floppy_cycles; |
105 |
|
NumberControl *g_skip_frames; |
106 |
|
PathControl *g_drive_path[4]; |
112 |
– |
BPopUpMenu *g_drive_type[4]; |
107 |
|
BPopUpMenu *g_sid_type; |
108 |
|
BPopUpMenu *g_reu_size; |
109 |
|
BPopUpMenu *g_display_type; |
341 |
|
sprintf(str, "%d", i+8); |
342 |
|
g_drive_path[i] = make_path_entry(BRect(10, 14+i*20, 299, 30+i*20), str, drvbox); |
343 |
|
drvbox->AddChild(new BPictureButton(BRect(304, 16+i*20, 323, 31+i*20), "", new BPicture(*on), new BPicture(*off), new BMessage(MSG_GETDRIVE_8 + i))); |
350 |
– |
g_drive_type[i] = make_drvtype_popup(BRect(329, 14+i*20, 373, 30+i*20), MSG_DRVTYPE_8 + i, drvbox); |
344 |
|
} |
345 |
|
|
346 |
|
g_map_slash = make_checkbox(BRect(10, 94, 300, 110), "Map '/'<->'\\' in filenames", MSG_MAP_SLASH, drvbox); |
364 |
|
save_panel->Window()->SetTitle("Frodo: Save preferences"); |
365 |
|
file_panel = new BFilePanel(B_OPEN_PANEL, &this_messenger, NULL, 0, false, new BMessage(MSG_DRIVE_PANEL_RETURNED)); |
366 |
|
file_panel->SetPanelDirectory(&AppDirectory); |
367 |
+ |
file_panel->Window()->SetTitle("Frodo: Select disk image or archive file"); |
368 |
|
dir_panel = new BFilePanel(B_OPEN_PANEL, &this_messenger, NULL, B_DIRECTORY_NODE, false, new BMessage(MSG_DRIVE_PANEL_RETURNED)); |
369 |
|
dir_panel->SetPanelDirectory(&AppDirectory); |
370 |
|
dir_panel->Window()->SetTitle("Frodo: Select directory"); |
404 |
|
|
405 |
|
|
406 |
|
/* |
413 |
– |
* Create drive type popup menu |
414 |
– |
*/ |
415 |
– |
|
416 |
– |
BPopUpMenu *PrefsWindow::make_drvtype_popup(BRect frame, uint32 what, BView *parent) |
417 |
– |
{ |
418 |
– |
BPopUpMenu *popup = new BPopUpMenu("drive_type popup", true, true); |
419 |
– |
popup->AddItem(new BMenuItem("Dir", new BMessage(what))); |
420 |
– |
popup->AddItem(new BMenuItem("D64", new BMessage(what))); |
421 |
– |
popup->AddItem(new BMenuItem("T64", new BMessage(what))); |
422 |
– |
popup->SetTargetForItems(this); |
423 |
– |
BMenuField *menu_field = new BMenuField(frame, "drive_type", NULL, popup); |
424 |
– |
menu_field->SetDivider(0); |
425 |
– |
parent->AddChild(menu_field); |
426 |
– |
return popup; |
427 |
– |
} |
428 |
– |
|
429 |
– |
|
430 |
– |
/* |
407 |
|
* Create path entry field |
408 |
|
*/ |
409 |
|
|
512 |
|
g_floppy_cycles->SetValue(prefs->FloppyCycles); |
513 |
|
g_skip_frames->SetValue(prefs->SkipFrames); |
514 |
|
|
515 |
< |
for (int i=0; i<4; i++) { |
540 |
< |
g_drive_type[i]->ItemAt(prefs->DriveType[i])->SetMarked(true); |
515 |
> |
for (int i=0; i<4; i++) |
516 |
|
g_drive_path[i]->SetText(prefs->DrivePath[i]); |
542 |
– |
} |
517 |
|
|
518 |
|
g_sid_type->ItemAt(prefs->SIDType)->SetMarked(true); |
519 |
|
g_reu_size->ItemAt(prefs->REUSize)->SetMarked(true); |
664 |
|
prefs->Emul1541Proc = !prefs->Emul1541Proc; |
665 |
|
break; |
666 |
|
|
693 |
– |
case MSG_DRVTYPE_8: |
694 |
– |
case MSG_DRVTYPE_9: |
695 |
– |
case MSG_DRVTYPE_10: |
696 |
– |
case MSG_DRVTYPE_11: |
697 |
– |
prefs->DriveType[msg->what & 3] = msg->FindInt32("index"); |
698 |
– |
break; |
699 |
– |
|
667 |
|
case MSG_GETDRIVE_8: |
668 |
|
case MSG_GETDRIVE_9: |
669 |
|
case MSG_GETDRIVE_10: |
670 |
|
case MSG_GETDRIVE_11: |
671 |
|
panel_drive_num = msg->what & 3; |
672 |
< |
file_panel->Hide(); |
673 |
< |
dir_panel->Hide(); |
674 |
< |
if (prefs->DriveType[panel_drive_num] == DRVTYPE_D64) { |
675 |
< |
file_panel->Window()->SetTitle("Frodo: Select disk image file"); |
709 |
< |
file_panel->Show(); |
710 |
< |
} else if (prefs->DriveType[panel_drive_num] == DRVTYPE_T64) { |
711 |
< |
file_panel->Window()->SetTitle("Frodo: Select archive file"); |
712 |
< |
file_panel->Show(); |
713 |
< |
} else |
714 |
< |
dir_panel->Show(); |
672 |
> |
// file_panel->Hide(); |
673 |
> |
// dir_panel->Hide(); |
674 |
> |
file_panel->Show(); |
675 |
> |
// dir_panel->Show(); |
676 |
|
break; |
677 |
|
|
678 |
|
case MSG_DRIVE_PANEL_RETURNED: { // Drive path file panel returned |