| 524 | } |
| 525 | |
| 526 | static void openCheatFile (GtkWidget * widget, cheat_win_t * cw) |
| 527 | { |
| 528 | GtkWidget *fileChooser; |
| 529 | GtkFileFilter *filterCht; |
| 530 | GtkFileFilter *filterAll; |
| 531 | |
| 532 | filterCht = gtk_file_filter_new (); |
| 533 | filterAll = gtk_file_filter_new (); |
| 534 | |
| 535 | gtk_file_filter_add_pattern (filterCht, "*.cht"); |
| 536 | gtk_file_filter_add_pattern (filterAll, "*"); |
| 537 | |
| 538 | gtk_file_filter_set_name (filterCht, "*.cht"); |
| 539 | gtk_file_filter_set_name (filterAll, "All Files"); |
| 540 | |
| 541 | fileChooser = |
| 542 | gtk_file_chooser_dialog_new ("Open Cheat", |
| 543 | GTK_WINDOW (cw->win), |
| 544 | GTK_FILE_CHOOSER_ACTION_OPEN, |
| 545 | "_Cancel", GTK_RESPONSE_CANCEL, |
| 546 | "_Open", GTK_RESPONSE_ACCEPT, |
| 547 | NULL); |
| 548 | const char *last_dir; |
| 549 | g_config->getOption ("SDL.LastOpenFile", &last_dir); |
| 550 | gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (fileChooser), |
| 551 | last_dir); |
| 552 | |
| 553 | gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (fileChooser), filterCht); |
| 554 | gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (fileChooser), filterAll); |
| 555 | |
| 556 | if (gtk_dialog_run (GTK_DIALOG (fileChooser)) == GTK_RESPONSE_ACCEPT) |
| 557 | { |
| 558 | FILE *fp; |
| 559 | char *filename; |
| 560 | |
| 561 | filename = |
| 562 | gtk_file_chooser_get_filename (GTK_FILE_CHOOSER |
| 563 | (fileChooser)); |
| 564 | gtk_widget_destroy (fileChooser); |
| 565 | |
| 566 | fp = fopen (filename, "r"); |
| 567 | |
| 568 | if (fp != NULL) |
| 569 | { |
| 570 | FCEU_LoadGameCheats (fp, 0); |
| 571 | fclose (fp); |
| 572 | } |
| 573 | //g_config->setOption("SDL.LastOpenFile", filename); |
| 574 | // Error dialog no longer required with GTK implementation of FCEUD_PrintError() |
| 575 | |
| 576 | resizeGtkWindow (); |
| 577 | g_free (filename); |
| 578 | } |
| 579 | else |
| 580 | { |
| 581 | gtk_widget_destroy (fileChooser); |
| 582 | } |
| 583 |
nothing calls this directly
no test coverage detected