- else if (type == GTK_TYPE_SPIN_BUTTON)
- {
- gdouble val;
-
- g_debug("spin\n");
- val = g_strtod(value, NULL);
- gtk_spin_button_set_value((GtkSpinButton*)widget, val);
- }
- else if (type == GTK_TYPE_HSCALE)
- {
- gdouble val;
-
- g_debug("hscale\n");
- val = g_strtod(value, NULL);
- gtk_range_set_value((GtkRange*)widget, val);
- }
- else if (type == GTK_TYPE_TEXT_VIEW)
- {
- GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(widget));
- gtk_text_buffer_set_text (buffer, value, -1);
- }
- else
- {
- g_debug("Attempt to set unknown widget type\n");
- }
- g_free(value);
-}
-
-int
-ghb_ui_update(signal_user_data_t *ud, const gchar *name, const gchar *value)
-{
- GObject *object;
-
- g_debug("ghb_ui_update ()\n");
- object = GHB_OBJECT(ud->builder, name);
- if (object == NULL)
- {
- g_debug("Failed to find widget for key: %s\n", name);
- return -1;
- }
- update_widget((GtkWidget*)object, value, 0);
- // Its possible the value hasn't changed. Since settings are only
- // updated when the value changes, I'm initializing settings here as well.
- ghb_widget_to_setting(ud->settings, (GtkWidget*)object);
- return 0;
-}
-
-int
-ghb_ui_update_int(signal_user_data_t *ud, const gchar *name, gint ivalue)
-{
- GObject *object;
-
- g_debug("ghb_ui_update ()\n");
- object = GHB_OBJECT(ud->builder, name);
- if (object == NULL)
- {
- g_debug("Failed to find widget for key: %s\n", name);
- return -1;
- }
- update_widget((GtkWidget*)object, NULL, ivalue);
- // Its possible the value hasn't changed. Since settings are only
- // updated when the value changes, I'm initializing settings here as well.
- ghb_widget_to_setting(ud->settings, (GtkWidget*)object);
- return 0;
-}
-
-static void
-show_setting(gpointer key, gpointer value, gpointer user_data)
-{
- printf("key (%s) -- value (%s)\n", (gchar*)key, (gchar*)value);
-}
-
-void
-dump_settings(GHashTable *settings)
-{
- printf("------------------------------------\n");
- g_hash_table_foreach(settings, show_setting, NULL);
-}
-
-// This is a bit hackish, but effective
-const gchar defaultSettings[] =
-#include "internal_defaults.h"
-;
-
-typedef struct
-{
- gchar *name;
- gchar *description;
- gboolean custom;
- gboolean defalt;
- GKeyFile *keyFile;
-} presets_data_t;
-
-static GKeyFile *standardKeyFile;
-static GKeyFile *customKeyFile;
-static GKeyFile *internalKeyFile;
-static GKeyFile *prefsKeyFile;
-static GList *presetsList;
-
-static gint
-search_group(const gchar *name, gchar **groups)
-{
- gint ii;
-
- //g_debug("search_group\n");
- if (groups == NULL) return -1;
- for (ii = 0; groups[ii] != NULL; ii++)
- {
- //g_debug("%s cmp %s\n", name, groups[ii]);
- if (strcmp(name, groups[ii]) == 0)
- {
- return ii;
- }
- }
- return -1;
-}
-
-presets_data_t *
-presets_list_search(GList *list, const gchar *name)
-{
- GList *link = list;
- while (link != NULL)
- {
- presets_data_t *data;
- data = (presets_data_t*)link->data;
- g_debug("search -- %s\n", data->name);
- if (strcmp(name, data->name) == 0)
- {
- return data;
- }
- link = g_list_next(link);
- }
- return NULL;
-}
-
-void
-ghb_set_preset_default(GHashTable *settings)
-{
- const gchar *preset;
- presets_data_t *data;
-
- preset = ghb_settings_get_string (settings, "default_preset");
- data = presets_list_search(presetsList, preset);
- if (data != NULL)
- {
- data->defalt = FALSE;
- }
- preset = ghb_settings_get_string (settings, "preset");
- data = presets_list_search(presetsList, preset);
- if (data != NULL)