MCPcopy Create free account
hub / github.com/TASEmulators/fceux / loadLua

Function loadLua

src/drivers/sdl/gui.cpp:1716–1776  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1714
1715#ifdef _S9XLUA_H
1716void loadLua (void)
1717{
1718 GtkWidget *fileChooser;
1719 GtkFileFilter *filterLua;
1720 GtkFileFilter *filterAll;
1721
1722 filterLua = gtk_file_filter_new ();
1723 gtk_file_filter_add_pattern (filterLua, "*.lua");
1724 gtk_file_filter_add_pattern (filterLua, "*.LUA");
1725 gtk_file_filter_set_name (filterLua, "Lua scripts");
1726
1727 filterAll = gtk_file_filter_new ();
1728 gtk_file_filter_add_pattern (filterAll, "*");
1729 gtk_file_filter_set_name (filterAll, "All Files");
1730
1731 fileChooser =
1732 gtk_file_chooser_dialog_new ("Open LUA Script",
1733 GTK_WINDOW (MainWindow),
1734 GTK_FILE_CHOOSER_ACTION_OPEN,
1735 "_Cancel", GTK_RESPONSE_CANCEL,
1736 "_Open", GTK_RESPONSE_ACCEPT,
1737 NULL);
1738
1739 gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (fileChooser), filterLua);
1740 gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (fileChooser), filterAll);
1741 const char *last_file;
1742 g_config->getOption ("SDL.LastLoadLua", &last_file);
1743 gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (fileChooser),
1744 last_file);
1745
1746 if (strcmp (last_file, "") == 0)
1747 gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER
1748 (fileChooser),
1749 "/usr/share/fceux/luaScripts");
1750
1751 if (gtk_dialog_run (GTK_DIALOG (fileChooser)) == GTK_RESPONSE_ACCEPT)
1752 {
1753 char *filename;
1754
1755 filename =
1756 gtk_file_chooser_get_filename (GTK_FILE_CHOOSER
1757 (fileChooser));
1758 g_config->setOption ("SDL.LastLoadLua", filename);
1759 gtk_widget_destroy (fileChooser);
1760 if (FCEU_LoadLuaCode (filename) == 0)
1761 {
1762 // This is necessary because lua scripts do not use FCEUD_PrintError to print errors.
1763 GtkWidget *d;
1764 d = gtk_message_dialog_new (GTK_WINDOW (MainWindow),
1765 GTK_DIALOG_MODAL,
1766 GTK_MESSAGE_ERROR,
1767 GTK_BUTTONS_OK,
1768 "Could not open the selected lua script.");
1769 gtk_dialog_run (GTK_DIALOG (d));
1770 gtk_widget_destroy (d);
1771 }
1772 g_free (filename);
1773 }

Callers 1

createMainMenuMethod · 0.85

Calls 3

FCEU_LoadLuaCodeFunction · 0.85
getOptionMethod · 0.80
setOptionMethod · 0.80

Tested by

no test coverage detected