Added file chooser function for loading cheats from file.
This commit is contained in:
parent
52cc2629eb
commit
37bb110601
|
@ -1536,6 +1536,51 @@ static void cheatSearchValueEntryCB( GtkWidget *widget,
|
||||||
//printf("Cheat Value Entry contents: '%s' Value: 0x%02lx\n", entry_text, value);
|
//printf("Cheat Value Entry contents: '%s' Value: 0x%02lx\n", entry_text, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void openCheatFile( GtkWidget *widget,
|
||||||
|
void *userData )
|
||||||
|
{
|
||||||
|
GtkWidget* fileChooser;
|
||||||
|
GtkFileFilter* filterCht;
|
||||||
|
GtkFileFilter* filterAll;
|
||||||
|
|
||||||
|
filterCht = gtk_file_filter_new();
|
||||||
|
filterAll = gtk_file_filter_new();
|
||||||
|
|
||||||
|
gtk_file_filter_add_pattern(filterCht, "*.cht");
|
||||||
|
gtk_file_filter_add_pattern(filterAll, "*");
|
||||||
|
|
||||||
|
gtk_file_filter_set_name(filterCht, "*.cht");
|
||||||
|
gtk_file_filter_set_name(filterAll, "All Files");
|
||||||
|
|
||||||
|
fileChooser = gtk_file_chooser_dialog_new ("Open Cheat", GTK_WINDOW(MainWindow),
|
||||||
|
GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||||
|
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
|
||||||
|
const char* last_dir;
|
||||||
|
g_config->getOption("SDL.LastOpenFile", &last_dir);
|
||||||
|
gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(fileChooser), last_dir);
|
||||||
|
|
||||||
|
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(fileChooser), filterCht);
|
||||||
|
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(fileChooser), filterAll);
|
||||||
|
|
||||||
|
if (gtk_dialog_run (GTK_DIALOG (fileChooser)) ==GTK_RESPONSE_ACCEPT)
|
||||||
|
{
|
||||||
|
char* filename;
|
||||||
|
|
||||||
|
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (fileChooser));
|
||||||
|
gtk_widget_destroy (fileChooser);
|
||||||
|
//g_config->setOption("SDL.LastOpenFile", filename);
|
||||||
|
// Error dialog no longer required with GTK implementation of FCEUD_PrintError()
|
||||||
|
|
||||||
|
resizeGtkWindow();
|
||||||
|
g_free( filename);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gtk_widget_destroy (fileChooser);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// creates and opens cheats window
|
// creates and opens cheats window
|
||||||
static void openCheatsWindow(void)
|
static void openCheatsWindow(void)
|
||||||
|
@ -1643,6 +1688,8 @@ static void openCheatsWindow(void)
|
||||||
hbox = gtk_hbox_new(FALSE, 1);
|
hbox = gtk_hbox_new(FALSE, 1);
|
||||||
button = gtk_button_new_with_label("Add from CHT file...");
|
button = gtk_button_new_with_label("Add from CHT file...");
|
||||||
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, FALSE, 1);
|
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, FALSE, 1);
|
||||||
|
g_signal_connect( button, "clicked",
|
||||||
|
G_CALLBACK (openCheatFile), (gpointer) NULL );
|
||||||
|
|
||||||
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 1);
|
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 1);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue