mirror of
https://github.com/kanjitalk755/macemu.git
synced 2024-11-27 02:49:42 +00:00
GTK2: More fixes
- Fix JIT combo box error - Make ignore illegal instructions checkbox visible but disabled if HAVE_SIGSEGV_SKIP_INSTRUCTION is not enabled - Make file choosers open at the folder that was selected
This commit is contained in:
parent
3f00759e54
commit
d284e9976b
@ -99,6 +99,7 @@ static void cb_browse(GtkWidget *button, GtkWidget *entry)
|
|||||||
"Cancel", GTK_RESPONSE_CANCEL,
|
"Cancel", GTK_RESPONSE_CANCEL,
|
||||||
"Open", GTK_RESPONSE_ACCEPT,
|
"Open", GTK_RESPONSE_ACCEPT,
|
||||||
NULL);
|
NULL);
|
||||||
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), g_path_get_dirname(gtk_entry_get_text(GTK_ENTRY(entry))));
|
||||||
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
||||||
gtk_window_set_transient_for(GTK_WINDOW(chooser), GTK_WINDOW(win));
|
gtk_window_set_transient_for(GTK_WINDOW(chooser), GTK_WINDOW(win));
|
||||||
gtk_window_set_modal(GTK_WINDOW(chooser), true);
|
gtk_window_set_modal(GTK_WINDOW(chooser), true);
|
||||||
@ -115,6 +116,7 @@ static void cb_browse_dir(GtkWidget *button, GtkWidget *entry)
|
|||||||
"Cancel", GTK_RESPONSE_CANCEL,
|
"Cancel", GTK_RESPONSE_CANCEL,
|
||||||
"Select", GTK_RESPONSE_ACCEPT,
|
"Select", GTK_RESPONSE_ACCEPT,
|
||||||
NULL);
|
NULL);
|
||||||
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), gtk_entry_get_text(GTK_ENTRY(entry)));
|
||||||
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
||||||
gtk_window_set_transient_for(GTK_WINDOW(chooser), GTK_WINDOW(win));
|
gtk_window_set_transient_for(GTK_WINDOW(chooser), GTK_WINDOW(win));
|
||||||
gtk_window_set_modal(GTK_WINDOW(chooser), true);
|
gtk_window_set_modal(GTK_WINDOW(chooser), true);
|
||||||
@ -588,6 +590,7 @@ static void cb_add_volume (...)
|
|||||||
"Cancel", GTK_RESPONSE_CANCEL,
|
"Cancel", GTK_RESPONSE_CANCEL,
|
||||||
"Add", GTK_RESPONSE_ACCEPT,
|
"Add", GTK_RESPONSE_ACCEPT,
|
||||||
NULL);
|
NULL);
|
||||||
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), g_get_home_dir());
|
||||||
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
||||||
gtk_window_set_modal(GTK_WINDOW(chooser), true);
|
gtk_window_set_modal(GTK_WINDOW(chooser), true);
|
||||||
g_signal_connect(chooser, "response", G_CALLBACK(cb_add_volume_response), NULL);
|
g_signal_connect(chooser, "response", G_CALLBACK(cb_add_volume_response), NULL);
|
||||||
@ -603,6 +606,7 @@ static void cb_create_volume (...)
|
|||||||
"Cancel", GTK_RESPONSE_CANCEL,
|
"Cancel", GTK_RESPONSE_CANCEL,
|
||||||
"Create", GTK_RESPONSE_ACCEPT,
|
"Create", GTK_RESPONSE_ACCEPT,
|
||||||
NULL);
|
NULL);
|
||||||
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), g_get_home_dir());
|
||||||
gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(chooser), TRUE);
|
gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(chooser), TRUE);
|
||||||
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
||||||
gtk_window_set_transient_for(GTK_WINDOW(chooser), GTK_WINDOW(win));
|
gtk_window_set_transient_for(GTK_WINDOW(chooser), GTK_WINDOW(win));
|
||||||
@ -776,7 +780,7 @@ static void read_jit_settings(void)
|
|||||||
{
|
{
|
||||||
bool jit_enabled = is_jit_capable() && PrefsFindBool("jit");
|
bool jit_enabled = is_jit_capable() && PrefsFindBool("jit");
|
||||||
if (jit_enabled) {
|
if (jit_enabled) {
|
||||||
const char *str = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(w_jit_cache_size)->entry));
|
const char *str = gtk_combo_box_get_active_text(GTK_COMBO_BOX(w_jit_cache_size));
|
||||||
PrefsReplaceInt32("jitcachesize", atoi(str));
|
PrefsReplaceInt32("jitcachesize", atoi(str));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1437,12 +1441,10 @@ static void tb_idlewait(GtkWidget *widget)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// "Ignore SEGV" button toggled
|
// "Ignore SEGV" button toggled
|
||||||
#ifdef HAVE_SIGSEGV_SKIP_INSTRUCTION
|
|
||||||
static void tb_ignoresegv(GtkWidget *widget)
|
static void tb_ignoresegv(GtkWidget *widget)
|
||||||
{
|
{
|
||||||
PrefsReplaceBool("ignoresegv", GTK_TOGGLE_BUTTON(widget)->active);
|
PrefsReplaceBool("ignoresegv", GTK_TOGGLE_BUTTON(widget)->active);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
// Model ID selected
|
// Model ID selected
|
||||||
static void mn_modelid_5(...) {PrefsReplaceInt32("modelid", 5);}
|
static void mn_modelid_5(...) {PrefsReplaceInt32("modelid", 5);}
|
||||||
@ -1472,7 +1474,7 @@ static void read_memory_settings(void)
|
|||||||
// Create "Memory/Misc" pane
|
// Create "Memory/Misc" pane
|
||||||
static void create_memory_pane(GtkWidget *top)
|
static void create_memory_pane(GtkWidget *top)
|
||||||
{
|
{
|
||||||
GtkWidget *box, *table;
|
GtkWidget *box, *table, *w_ignoresegv;
|
||||||
|
|
||||||
box = make_pane(top, STR_MEMORY_MISC_PANE_TITLE);
|
box = make_pane(top, STR_MEMORY_MISC_PANE_TITLE);
|
||||||
table = make_table(box, 2, 5);
|
table = make_table(box, 2, 5);
|
||||||
@ -1529,8 +1531,10 @@ static void create_memory_pane(GtkWidget *top)
|
|||||||
w_rom_file = table_make_file_entry(table, 4, STR_ROM_FILE_CTRL, "rom");
|
w_rom_file = table_make_file_entry(table, 4, STR_ROM_FILE_CTRL, "rom");
|
||||||
|
|
||||||
make_checkbox(box, STR_IDLEWAIT_CTRL, "idlewait", G_CALLBACK(tb_idlewait));
|
make_checkbox(box, STR_IDLEWAIT_CTRL, "idlewait", G_CALLBACK(tb_idlewait));
|
||||||
#ifdef HAVE_SIGSEGV_SKIP_INSTRUCTION
|
w_ignoresegv = make_checkbox(box, STR_IGNORESEGV_CTRL, "ignoresegv", G_CALLBACK(tb_ignoresegv));
|
||||||
make_checkbox(box, STR_IGNORESEGV_CTRL, "ignoresegv", G_CALLBACK(tb_ignoresegv));
|
#ifndef HAVE_SIGSEGV_SKIP_INSTRUCTION
|
||||||
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w_ignoresegv), false);
|
||||||
|
gtk_widget_set_sensitive(w_ignoresegv, false);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ user_string_def common_strings[] = {
|
|||||||
{STR_DEVICE_CTRL, "Device"},
|
{STR_DEVICE_CTRL, "Device"},
|
||||||
{STR_UNIT_CTRL, "Unit"},
|
{STR_UNIT_CTRL, "Unit"},
|
||||||
{STR_ADD_VOLUME_TITLE, "Add Volume"},
|
{STR_ADD_VOLUME_TITLE, "Add Volume"},
|
||||||
{STR_CREATE_VOLUME_TITLE, "Create Hardfile"},
|
{STR_CREATE_VOLUME_TITLE, "Create Volume File"},
|
||||||
{STR_EDIT_VOLUME_TITLE, "Edit Volume"},
|
{STR_EDIT_VOLUME_TITLE, "Edit Volume"},
|
||||||
{STR_HARDFILE_SIZE_CTRL, "Size (MB)"},
|
{STR_HARDFILE_SIZE_CTRL, "Size (MB)"},
|
||||||
{STR_VOL_READONLY_CTRL, "Read-Only"},
|
{STR_VOL_READONLY_CTRL, "Read-Only"},
|
||||||
|
@ -99,6 +99,7 @@ static void cb_browse(GtkWidget *button, GtkWidget *entry)
|
|||||||
"Cancel", GTK_RESPONSE_CANCEL,
|
"Cancel", GTK_RESPONSE_CANCEL,
|
||||||
"Open", GTK_RESPONSE_ACCEPT,
|
"Open", GTK_RESPONSE_ACCEPT,
|
||||||
NULL);
|
NULL);
|
||||||
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), g_dirname(gtk_entry_get_text(GTK_ENTRY(entry))));
|
||||||
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
||||||
gtk_window_set_transient_for(GTK_WINDOW(chooser), GTK_WINDOW(win));
|
gtk_window_set_transient_for(GTK_WINDOW(chooser), GTK_WINDOW(win));
|
||||||
gtk_window_set_modal(GTK_WINDOW(chooser), true);
|
gtk_window_set_modal(GTK_WINDOW(chooser), true);
|
||||||
@ -115,6 +116,7 @@ static void cb_browse_dir(GtkWidget *button, GtkWidget *entry)
|
|||||||
"Cancel", GTK_RESPONSE_CANCEL,
|
"Cancel", GTK_RESPONSE_CANCEL,
|
||||||
"Select", GTK_RESPONSE_ACCEPT,
|
"Select", GTK_RESPONSE_ACCEPT,
|
||||||
NULL);
|
NULL);
|
||||||
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), gtk_entry_get_text(GTK_ENTRY(entry)));
|
||||||
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
||||||
gtk_window_set_transient_for(GTK_WINDOW(chooser), GTK_WINDOW(win));
|
gtk_window_set_transient_for(GTK_WINDOW(chooser), GTK_WINDOW(win));
|
||||||
gtk_window_set_modal(GTK_WINDOW(chooser), true);
|
gtk_window_set_modal(GTK_WINDOW(chooser), true);
|
||||||
@ -564,6 +566,7 @@ static void cb_add_volume (...)
|
|||||||
"Cancel", GTK_RESPONSE_CANCEL,
|
"Cancel", GTK_RESPONSE_CANCEL,
|
||||||
"Add", GTK_RESPONSE_ACCEPT,
|
"Add", GTK_RESPONSE_ACCEPT,
|
||||||
NULL);
|
NULL);
|
||||||
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), g_get_home_dir());
|
||||||
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
||||||
gtk_window_set_modal(GTK_WINDOW(chooser), true);
|
gtk_window_set_modal(GTK_WINDOW(chooser), true);
|
||||||
g_signal_connect(chooser, "response", G_CALLBACK(cb_add_volume_response), NULL);
|
g_signal_connect(chooser, "response", G_CALLBACK(cb_add_volume_response), NULL);
|
||||||
@ -579,6 +582,7 @@ static void cb_create_volume (...)
|
|||||||
"Cancel", GTK_RESPONSE_CANCEL,
|
"Cancel", GTK_RESPONSE_CANCEL,
|
||||||
"Create", GTK_RESPONSE_ACCEPT,
|
"Create", GTK_RESPONSE_ACCEPT,
|
||||||
NULL);
|
NULL);
|
||||||
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), g_get_home_dir());
|
||||||
gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(chooser), TRUE);
|
gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(chooser), TRUE);
|
||||||
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
gtk_dialog_set_default_response(GTK_DIALOG(chooser), GTK_RESPONSE_ACCEPT);
|
||||||
gtk_window_set_transient_for(GTK_WINDOW(chooser), GTK_WINDOW(win));
|
gtk_window_set_transient_for(GTK_WINDOW(chooser), GTK_WINDOW(win));
|
||||||
|
@ -101,7 +101,7 @@ user_string_def common_strings[] = {
|
|||||||
{STR_BOOT_CDROM_LAB, "CD-ROM"},
|
{STR_BOOT_CDROM_LAB, "CD-ROM"},
|
||||||
{STR_NOCDROM_CTRL, "Disable CD-ROM Driver"},
|
{STR_NOCDROM_CTRL, "Disable CD-ROM Driver"},
|
||||||
{STR_ADD_VOLUME_TITLE, "Add Volume"},
|
{STR_ADD_VOLUME_TITLE, "Add Volume"},
|
||||||
{STR_CREATE_VOLUME_TITLE, "Create Hardfile"},
|
{STR_CREATE_VOLUME_TITLE, "Create Volume File"},
|
||||||
{STR_HARDFILE_SIZE_CTRL, "Size (MiB)"},
|
{STR_HARDFILE_SIZE_CTRL, "Size (MiB)"},
|
||||||
|
|
||||||
{STR_GRAPHICS_SOUND_PANE_TITLE, "Graphics/Sound"},
|
{STR_GRAPHICS_SOUND_PANE_TITLE, "Graphics/Sound"},
|
||||||
|
Loading…
Reference in New Issue
Block a user