static void OnPluginPath_Changed(GtkWidget *wdg, gpointer data) { gchar *path; path = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (wdg)); strcpy(Config.PluginsDir, path); UpdatePluginsBIOS(); UpdatePluginsBIOS_UpdateGUI(data); g_free(path); }
static void OnBiosPath_Changed(GtkWidget *wdg, gpointer data) { gchar *foldername; foldername = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (wdg)); strcpy(Config.BiosDir, foldername); UpdatePluginsBIOS(); UpdatePluginsBIOS_UpdateGUI(data); g_free(foldername); }
static void OnBiosPath_Changed(GtkWidget *wdg, gpointer data) { gchar *foldername; foldername = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (wdg)); GSList * l = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER (wdg)); //printf(("%s and %s\n"), foldername, l->data); if (l) foldername = l->data; strcpy(Config.BiosDir, foldername); UpdatePluginsBIOS(); UpdatePluginsBIOS_UpdateGUI(data); g_free(foldername); }
static void OnPluginPath_Changed(GtkWidget *wdg, gpointer data) { gchar *path; path = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (wdg)); GSList * l = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER (wdg)); //printf(("%s and %s\n"), path, l->data); if (l) path = l->data; strcpy(Config.PluginsDir, path); UpdatePluginsBIOS(); UpdatePluginsBIOS_UpdateGUI(data); g_free(path); }
void ConfigurePlugins() { if (!UseGui) { /* How do we get here if we're not running the GUI? */ /* Ryan: we're going to imagine that someday, there will be a way * to configure plugins from the commandline */ printf("ERROR: Plugins cannot be configured without the GUI."); return; } GtkWidget *widget; gchar *path; UpdatePluginsBIOS(); builder = gtk_builder_new(); if (!gtk_builder_add_from_file(builder, PACKAGE_DATA_DIR "pcsxr.ui", NULL)) { g_warning("Error: interface could not be loaded!"); return; } UpdatePluginsBIOS_UpdateGUI(builder); ConfDlg = gtk_builder_get_object(builder, "ConfDlg"); gtk_window_set_title(GTK_WINDOW(ConfDlg), _("Configure PCSXR")); gtk_widget_show (ConfDlg); /* Set the paths in the file choosers to be based on the saved configurations */ widget = gtk_builder_get_object(builder, "GtkFileChooser_Bios"); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (widget), Config.BiosDir); widget = gtk_builder_get_object(builder, "GtkFileChooser_Plugin"); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (widget), Config.PluginsDir); if (strlen(Config.PluginsDir) == 0) { if((path = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (widget))) != NULL) { strcpy(Config.PluginsDir, path); g_free(path); } } widget = gtk_builder_get_object(builder, "btn_ConfGpu"); g_signal_connect_data(G_OBJECT(widget), "clicked", G_CALLBACK(on_configure_plugin), (gpointer) PSE_LT_GPU, NULL, G_CONNECT_AFTER); widget = gtk_builder_get_object(builder, "btn_ConfSpu"); g_signal_connect_data(G_OBJECT(widget), "clicked", G_CALLBACK(on_configure_plugin), (gpointer) PSE_LT_SPU, NULL, G_CONNECT_AFTER); /* ADB TODO Does pad 1 and 2 need to be different? */ widget = gtk_builder_get_object(builder, "btn_ConfPad1"); g_signal_connect_data(G_OBJECT(widget), "clicked", G_CALLBACK(OnConfConf_Pad1Conf), builder, NULL, G_CONNECT_AFTER); widget = gtk_builder_get_object(builder, "btn_ConfPad2"); g_signal_connect_data(G_OBJECT(widget), "clicked", G_CALLBACK(OnConfConf_Pad2Conf), builder, NULL, G_CONNECT_AFTER); widget = gtk_builder_get_object(builder, "btn_ConfCdr"); g_signal_connect_data(G_OBJECT(widget), "clicked", G_CALLBACK(on_configure_plugin), (gpointer) PSE_LT_CDR, NULL, G_CONNECT_AFTER); widget = gtk_builder_get_object(builder, "btn_AboutGpu"); g_signal_connect_data(G_OBJECT(widget), "clicked", G_CALLBACK(on_about_plugin), (gpointer) PSE_LT_GPU, NULL, G_CONNECT_AFTER); widget = gtk_builder_get_object(builder, "btn_AboutSpu"); g_signal_connect_data(G_OBJECT(widget), "clicked", G_CALLBACK(on_about_plugin), (gpointer) PSE_LT_SPU, NULL, G_CONNECT_AFTER); widget = gtk_builder_get_object(builder, "btn_AboutPad1"); g_signal_connect_data(G_OBJECT(widget), "clicked", G_CALLBACK(OnConfConf_Pad1About), builder, NULL, G_CONNECT_AFTER); widget = gtk_builder_get_object(builder, "btn_AboutPad2"); g_signal_connect_data(G_OBJECT(widget), "clicked", G_CALLBACK(OnConfConf_Pad2About), builder, NULL, G_CONNECT_AFTER); widget = gtk_builder_get_object(builder, "btn_AboutCdr"); g_signal_connect_data(G_OBJECT(widget), "clicked", G_CALLBACK(on_about_plugin), (gpointer) PSE_LT_CDR, NULL, G_CONNECT_AFTER); widget = gtk_builder_get_object(builder, "GtkFileChooser_Bios"); g_signal_connect_data(G_OBJECT(widget), "current_folder_changed", G_CALLBACK(OnBiosPath_Changed), builder, NULL, G_CONNECT_AFTER); widget = gtk_builder_get_object(builder, "GtkFileChooser_Plugin"); g_signal_connect_data(G_OBJECT(widget), "current_folder_changed", G_CALLBACK(OnPluginPath_Changed), builder, NULL, G_CONNECT_AFTER); g_signal_connect_data(G_OBJECT(ConfDlg), "response", G_CALLBACK(OnConf_Clicked), builder, (GClosureNotify)g_object_unref, G_CONNECT_AFTER); }