void gui_prefs_fetch(GtkWidget *w) { prefs.gui_geometry_save_position = gtk_toggle_button_get_active((GtkToggleButton *)g_object_get_data(G_OBJECT(w), GEOMETRY_POSITION_KEY)); prefs.gui_geometry_save_size = gtk_toggle_button_get_active((GtkToggleButton *)g_object_get_data(G_OBJECT(w), GEOMETRY_SIZE_KEY)); prefs.gui_geometry_save_maximized = gtk_toggle_button_get_active((GtkToggleButton *)g_object_get_data(G_OBJECT(w), GEOMETRY_MAXIMIZED_KEY)); #ifdef _WIN32 prefs.gui_update_enabled = gtk_toggle_button_get_active((GtkToggleButton *)g_object_get_data(G_OBJECT(w), ENABLE_UPDATE_KEY)); #endif #if defined(HAVE_IGE_MAC_INTEGRATION) || defined(HAVE_GTKOSXAPPLICATION) prefs.gui_macosx_style = gtk_toggle_button_get_active((GtkToggleButton *)g_object_get_data(G_OBJECT(w), MACOSX_STYLE_KEY)); #endif #ifdef _WIN32 prefs.gui_console_open = fetch_enum_value( g_object_get_data(G_OBJECT(w), GUI_CONSOLE_OPEN_KEY), gui_console_open_vals); #endif prefs.gui_fileopen_style = fetch_preference_radio_buttons_val( (GtkWidget *)g_object_get_data(G_OBJECT(w), GUI_FILEOPEN_KEY), gui_fileopen_vals); g_free(prefs.gui_fileopen_dir); prefs.gui_fileopen_dir = g_strdup(gtk_entry_get_text( GTK_ENTRY(g_object_get_data(G_OBJECT(w), GUI_FILEOPEN_DIR_KEY)))); prefs.gui_ask_unsaved = gtk_toggle_button_get_active((GtkToggleButton *)g_object_get_data(G_OBJECT(w), GUI_ASK_UNSAVED_KEY)); prefs.gui_find_wrap = gtk_toggle_button_get_active((GtkToggleButton *)g_object_get_data(G_OBJECT(w), GUI_FIND_WRAP_KEY)); prefs.gui_use_pref_save = gtk_toggle_button_get_active((GtkToggleButton *)g_object_get_data(G_OBJECT(w), GUI_USE_PREF_SAVE_KEY)); prefs.gui_version_placement = (version_info_e) fetch_enum_value(g_object_get_data(G_OBJECT(w), GUI_SHOW_VERSION_KEY), gui_version_placement_vals); prefs.gui_auto_scroll_on_expand = gtk_toggle_button_get_active((GtkToggleButton *)g_object_get_data(G_OBJECT(w), GUI_AUTO_SCROLL_KEY)); if (browser_needs_pref()) { g_free(prefs.gui_webbrowser); prefs.gui_webbrowser = g_strdup(gtk_entry_get_text( GTK_ENTRY(g_object_get_data(G_OBJECT(w), GUI_WEBBROWSER_KEY)))); } prefs.gui_expert_composite_eyecandy = gtk_toggle_button_get_active((GtkToggleButton *)g_object_get_data(G_OBJECT(w), GUI_EXPERT_EYECANDY_KEY)); }
void gui_prefs_fetch(GtkWidget *w) { prefs.gui_plist_sel_browse = fetch_enum_value( g_object_get_data(G_OBJECT(w), PLIST_SEL_BROWSE_KEY), selection_mode_vals); prefs.gui_ptree_sel_browse = fetch_enum_value( g_object_get_data(G_OBJECT(w), PTREE_SEL_BROWSE_KEY), selection_mode_vals); prefs.gui_geometry_save_position = gtk_toggle_button_get_active(g_object_get_data(G_OBJECT(w), GEOMETRY_POSITION_KEY)); prefs.gui_geometry_save_size = gtk_toggle_button_get_active(g_object_get_data(G_OBJECT(w), GEOMETRY_SIZE_KEY)); prefs.gui_geometry_save_maximized = gtk_toggle_button_get_active(g_object_get_data(G_OBJECT(w), GEOMETRY_MAXIMIZED_KEY)); #if defined(HAVE_IGE_MAC_INTEGRATION) || defined(HAVE_GTKOSXAPPLICATION) prefs.gui_macosx_style = gtk_toggle_button_get_active(g_object_get_data(G_OBJECT(w), MACOSX_STYLE_KEY)); #endif #ifdef _WIN32 prefs.gui_console_open = fetch_enum_value( g_object_get_data(G_OBJECT(w), GUI_CONSOLE_OPEN_KEY), gui_console_open_vals); #endif prefs.gui_fileopen_style = fetch_preference_radio_buttons_val( g_object_get_data(G_OBJECT(w), GUI_FILEOPEN_KEY), gui_fileopen_vals); g_free(prefs.gui_fileopen_dir); prefs.gui_fileopen_dir = g_strdup(gtk_entry_get_text( GTK_ENTRY(g_object_get_data(G_OBJECT(w), GUI_FILEOPEN_DIR_KEY)))); prefs.gui_ask_unsaved = gtk_toggle_button_get_active(g_object_get_data(G_OBJECT(w), GUI_ASK_UNSAVED_KEY)); prefs.gui_find_wrap = gtk_toggle_button_get_active(g_object_get_data(G_OBJECT(w), GUI_FIND_WRAP_KEY)); prefs.gui_use_pref_save = gtk_toggle_button_get_active(g_object_get_data(G_OBJECT(w), GUI_USE_PREF_SAVE_KEY)); prefs.gui_version_in_start_page = gtk_toggle_button_get_active(g_object_get_data(G_OBJECT(w), GUI_SHOW_VERSION_KEY)); if (browser_needs_pref()) { g_free(prefs.gui_webbrowser); prefs.gui_webbrowser = g_strdup(gtk_entry_get_text( GTK_ENTRY(g_object_get_data(G_OBJECT(w), GUI_WEBBROWSER_KEY)))); } /* * XXX - we need to have a way to fetch the preferences into * local storage and only set the permanent preferences if there * weren't any errors in those fetches, as there are several * places where there *can* be a bad preference value. */ if (font_fetch()) { if (strcmp(new_font_name, prefs.gui_font_name) != 0) { font_changed = TRUE; g_free(prefs.gui_font_name); prefs.gui_font_name = g_strdup(new_font_name); } } }