Mercurial > hg > xmms-sid
diff src/xs_interface.c @ 871:d183ac29b879
Add ROM image path configuration.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 09 Nov 2012 04:24:48 +0200 |
parents | 29f3c3f29c0d |
children | 350f755549dd |
line wrap: on
line diff
--- a/src/xs_interface.c Fri Nov 09 04:01:03 2012 +0200 +++ b/src/xs_interface.c Fri Nov 09 04:24:48 2012 +0200 @@ -87,6 +87,11 @@ GtkWidget *cfg_emu_resid_int; GtkWidget *cfg_emu_resid_res_fast; GtkWidget *cfg_emu_resid_res_int; + GtkWidget *cfg_rom_frame; + GtkWidget *w_rom_hbox; + GtkWidget *cfg_rom_label1; + GtkWidget *cfg_rom_path; + GtkWidget *cfg_rom_browse; GtkWidget *w_label48; GtkWidget *w_vbox25; GtkWidget *cfg_emu_filters; @@ -712,6 +717,48 @@ gtk_widget_show (cfg_emu_resid_res_int); gtk_box_pack_start (GTK_BOX (w_vbox37), cfg_emu_resid_res_int, FALSE, FALSE, 0); + cfg_rom_frame = gtk_frame_new (_("C64 Kernal/Basic/Chargen ROMs:")); + gtk_widget_set_name (cfg_rom_frame, "cfg_rom_frame"); + gtk_widget_ref (cfg_rom_frame); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_rom_frame", cfg_rom_frame, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_rom_frame); + gtk_box_pack_start (GTK_BOX (w_vbox29), cfg_rom_frame, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_rom_frame), 4); + + w_rom_hbox = gtk_hbox_new (FALSE, 4); + gtk_widget_set_name (w_rom_hbox, "w_rom_hbox"); + gtk_widget_ref (w_rom_hbox); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "w_rom_hbox", w_rom_hbox, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (w_rom_hbox); + gtk_container_add (GTK_CONTAINER (cfg_rom_frame), w_rom_hbox); + gtk_container_set_border_width (GTK_CONTAINER (w_rom_hbox), 2); + + cfg_rom_label1 = gtk_label_new (_("Path:")); + gtk_widget_set_name (cfg_rom_label1, "cfg_rom_label1"); + gtk_widget_ref (cfg_rom_label1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_rom_label1", cfg_rom_label1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_rom_label1); + gtk_box_pack_start (GTK_BOX (w_rom_hbox), cfg_rom_label1, FALSE, FALSE, 0); + + cfg_rom_path = gtk_entry_new (); + gtk_widget_set_name (cfg_rom_path, "cfg_rom_path"); + gtk_widget_ref (cfg_rom_path); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_rom_path", cfg_rom_path, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_rom_path); + gtk_box_pack_start (GTK_BOX (w_rom_hbox), cfg_rom_path, TRUE, TRUE, 0); + + cfg_rom_browse = gtk_button_new_with_label (_("Browse")); + gtk_widget_set_name (cfg_rom_browse, "cfg_rom_browse"); + gtk_widget_ref (cfg_rom_browse); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_rom_browse", cfg_rom_browse, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_rom_browse); + gtk_box_pack_start (GTK_BOX (w_rom_hbox), cfg_rom_browse, FALSE, FALSE, 0); + w_label48 = gtk_label_new (_("Emu#2")); gtk_widget_set_name (w_label48, "w_label48"); gtk_widget_ref (w_label48); @@ -1150,6 +1197,7 @@ (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cfg_sld_box); gtk_box_pack_start (GTK_BOX (w_vbox18), cfg_sld_box, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_sld_box), 2); cfg_sld_label1 = gtk_label_new (_("DB-file:")); gtk_widget_set_name (cfg_sld_label1, "cfg_sld_label1"); @@ -1617,6 +1665,9 @@ gtk_signal_connect (GTK_OBJECT (cfg_emu_sidplayfp), "toggled", GTK_SIGNAL_FUNC (xs_cfg_emu_sidplay2_toggled), NULL); + gtk_signal_connect (GTK_OBJECT (cfg_rom_browse), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_rom_browse), + NULL); gtk_signal_connect (GTK_OBJECT (cfg_emu_filters), "toggled", GTK_SIGNAL_FUNC (xs_cfg_emu_filters_toggled), NULL); @@ -2459,3 +2510,36 @@ return xs_filter_newwin; } +GtkWidget* +create_xs_rom_fs (void) +{ + GtkWidget *xs_rom_fs; + GtkWidget *ok_button65; + GtkWidget *cancel_button65; + + xs_rom_fs = gtk_file_selection_new (_("Select path to C64 ROM images")); + gtk_widget_set_name (xs_rom_fs, "xs_rom_fs"); + gtk_object_set_data (GTK_OBJECT (xs_rom_fs), "xs_rom_fs", xs_rom_fs); + gtk_container_set_border_width (GTK_CONTAINER (xs_rom_fs), 10); + gtk_window_set_modal (GTK_WINDOW (xs_rom_fs), TRUE); + gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (xs_rom_fs)); + + ok_button65 = GTK_FILE_SELECTION (xs_rom_fs)->ok_button; + gtk_widget_set_name (ok_button65, "ok_button65"); + gtk_object_set_data (GTK_OBJECT (xs_rom_fs), "ok_button65", ok_button65); + gtk_widget_show (ok_button65); + GTK_WIDGET_SET_FLAGS (ok_button65, GTK_CAN_DEFAULT); + + cancel_button65 = GTK_FILE_SELECTION (xs_rom_fs)->cancel_button; + gtk_widget_set_name (cancel_button65, "cancel_button65"); + gtk_object_set_data (GTK_OBJECT (xs_rom_fs), "cancel_button65", cancel_button65); + gtk_widget_show (cancel_button65); + GTK_WIDGET_SET_FLAGS (cancel_button65, GTK_CAN_DEFAULT); + + gtk_signal_connect (GTK_OBJECT (xs_rom_fs), "delete_event", + GTK_SIGNAL_FUNC (xs_rom_fs_delete), + NULL); + + return xs_rom_fs; +} +