X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=gtk%2Fsrc%2Fsettings.c;h=cc9ae4bc8830184335a24f00bff5dbb94cdcad03;hb=b3c24437ea4d95dcdbc24a63a5dfd5773e870a00;hp=857bf70867ccbfe36e51939809d5cb49c386a1be;hpb=cac8062346bd94bb91ef265e7bf7c796ce34d785;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/gtk/src/settings.c b/gtk/src/settings.c index 857bf708..cc9ae4bc 100644 --- a/gtk/src/settings.c +++ b/gtk/src/settings.c @@ -179,17 +179,14 @@ ghb_settings_combo_string(const GValue *settings, const gchar *key) // Map widget names to setting keys // Widgets that map to settings have names // of this format: s_ -static const gchar* -get_setting_key(GtkWidget *widget) +const gchar* +ghb_get_setting_key(GtkWidget *widget) { const gchar *name; g_debug("get_setting_key ()\n"); if (widget == NULL) return NULL; - if (GTK_IS_ACTION(widget)) - name = gtk_action_get_name(GTK_ACTION(widget)); - else - name = gtk_widget_get_name(widget); + name = gtk_buildable_get_name(GTK_BUILDABLE(widget)); if (name == NULL) { @@ -214,10 +211,7 @@ ghb_widget_value(GtkWidget *widget) } type = GTK_WIDGET_TYPE(widget); - if (GTK_IS_ACTION(widget)) - name = gtk_action_get_name(GTK_ACTION(widget)); - else - name = gtk_widget_get_name(widget); + name = ghb_get_setting_key(widget); g_debug("ghb_widget_value widget (%s)\n", name); if (type == GTK_TYPE_ENTRY) { @@ -442,7 +436,7 @@ ghb_widget_to_setting(GValue *settings, GtkWidget *widget) if (widget == NULL) return; g_debug("ghb_widget_to_setting"); // Find corresponding setting - key = get_setting_key(widget); + key = ghb_get_setting_key(widget); if (key == NULL) return; value = ghb_widget_value(widget); if (value != NULL) @@ -631,7 +625,12 @@ update_widget(GtkWidget *widget, const GValue *value) { GtkFileChooserAction act; act = gtk_file_chooser_get_action(GTK_FILE_CHOOSER(widget)); - if (act == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER || + if (str[0] == 0) + { + // Do nothing + ; + } + else if (act == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER || act == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER) { gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(widget), str);