Mercurial > hg > xmms-sid
diff src/xs_config.c @ 871:d183ac29b879
Add ROM image path configuration.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 09 Nov 2012 04:24:48 +0200 |
parents | 82e759a5c7e6 |
children | 350f755549dd |
line wrap: on
line diff
--- a/src/xs_config.c Fri Nov 09 04:01:03 2012 +0200 +++ b/src/xs_config.c Fri Nov 09 04:24:48 2012 +0200 @@ -65,6 +65,7 @@ *xs_sldb_fileselector = NULL, *xs_stil_fileselector = NULL, *xs_hvsc_selector = NULL, + *xs_rom_selector = NULL, *xs_filt_importselector = NULL, *xs_filt_exportselector = NULL; @@ -120,6 +121,8 @@ { CTYPE_STR, &xs_cfg.stilDBPath, "stilDBPath" }, { CTYPE_STR, &xs_cfg.hvscPath, "hvscPath" }, +{ CTYPE_STR, &xs_cfg.romPath, "romPath" }, + #ifndef AUDACIOUS_PLUGIN { CTYPE_INT, &xs_cfg.subsongControl, "subsongControl" }, { CTYPE_BOOL, &xs_cfg.detectMagic, "detectMagic" }, @@ -163,6 +166,8 @@ { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sp2_resid", &xs_cfg.sid2Builder, XS_BLD_RESID }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sp2_hardsid", &xs_cfg.sid2Builder, XS_BLD_HARDSID }, +{ WTYPE_TEXT, CTYPE_STR, "cfg_rom_path", &xs_cfg.hvscPath, 0 }, + { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_filters", &xs_cfg.emulateFilters, 0 }, { WTYPE_SCALE, CTYPE_FLOAT, "cfg_sp1_filter_fs", &xs_cfg.sid1Filter.fs, 0 }, { WTYPE_SCALE, CTYPE_FLOAT, "cfg_sp1_filter_fm", &xs_cfg.sid1Filter.fm, 0 }, @@ -1073,6 +1078,46 @@ XS_DEF_WINDOW_DELETE(hvsc_fs, hvsc_selector) +/* C64 ROM path selector response-functions + */ +void xs_cfg_rom_browse(GtkButton * button, gpointer user_data) +{ + (void) button; + (void) user_data; + + if (xs_rom_selector != NULL) + { + XS_WINDOW_PRESENT(xs_rom_selector); + return; + } + + xs_hvsc_selector = create_xs_rom_fs(); + XS_MUTEX_LOCK(xs_cfg); + gtk_file_selection_set_filename(GTK_FILE_SELECTION(xs_rom_selector), xs_cfg.romPath); + XS_MUTEX_UNLOCK(xs_cfg); + gtk_widget_show(xs_rom_selector); +} + + +void xs_rom_fs_ok(GtkButton *button, gpointer user_data) +{ + (void) button; + (void) user_data; + + /* Selection was accepted! */ + gtk_entry_set_text(GTK_ENTRY(LUW("cfg_rom_path")), + gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_rom_selector))); + + /* Close file selector window */ + gtk_widget_destroy(xs_rom_selector); + xs_rom_selector = NULL; +} + + +XS_DEF_WINDOW_CLOSE(rom_fs_cancel, rom_selector) +XS_DEF_WINDOW_DELETE(rom_fs, rom_selector) + + /* Filter handling */ void xs_cfg_sp1_filter_reset(GtkButton * button, gpointer user_data)