diff options
author | jstebbins <[email protected]> | 2009-10-03 16:47:09 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2009-10-03 16:47:09 +0000 |
commit | d3a040aafa87d4f56dc6e6b2531afe407432f0b2 (patch) | |
tree | 4ac8655316ea409e61dffa32233638b2359d0fbe | |
parent | 1c4d36e2a35669c27629299dfaae82e043fcf4a0 (diff) |
LinGui: fix a couple subtitle UI issues
- SRT filename was getting lost when moving the subtitle highlight around
- SRT subtitles didn't get reloaded properly when editing a queue item
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2862 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r-- | gtk/src/settings.c | 16 | ||||
-rw-r--r-- | gtk/src/subtitlehandler.c | 10 |
2 files changed, 18 insertions, 8 deletions
diff --git a/gtk/src/settings.c b/gtk/src/settings.c index f95b6a627..20cdb38c9 100644 --- a/gtk/src/settings.c +++ b/gtk/src/settings.c @@ -630,7 +630,16 @@ update_widget(GtkWidget *widget, const GValue *value) } else { - if (!g_file_test(str, G_FILE_TEST_IS_DIR)) + if (g_file_test(str, G_FILE_TEST_IS_DIR)) + { + gtk_file_chooser_set_current_folder( + GTK_FILE_CHOOSER(widget), str); + } + else if (g_file_test(str, G_FILE_TEST_EXISTS)) + { + gtk_file_chooser_set_filename (GTK_FILE_CHOOSER(widget), str); + } + else { gchar *dirname; @@ -639,11 +648,6 @@ update_widget(GtkWidget *widget, const GValue *value) GTK_FILE_CHOOSER(widget), dirname); g_free(dirname); } - else - { - gtk_file_chooser_set_current_folder( - GTK_FILE_CHOOSER(widget), str); - } } } else diff --git a/gtk/src/subtitlehandler.c b/gtk/src/subtitlehandler.c index c5fc0b83b..b1b614835 100644 --- a/gtk/src/subtitlehandler.c +++ b/gtk/src/subtitlehandler.c @@ -822,7 +822,7 @@ srt_file_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { GValue *settings; - g_debug("srt_changed_cb ()"); + g_debug("srt_file_changed_cb ()"); ghb_check_dependency(ud, widget, NULL); ghb_widget_to_setting(ud->settings, widget); settings = ghb_selected_subtitle_settings(ud); @@ -1312,8 +1312,14 @@ ghb_reset_subtitles(signal_user_data_t *ud, GValue *settings) count = ghb_array_len(slist); for (ii = 0; ii < count; ii++) { + int source; + subtitle = ghb_value_dup(ghb_array_get_nth(slist, ii)); - ghb_add_subtitle(ud, subtitle); + source = ghb_settings_get_int(subtitle, "SubtitleSource"); + if (source == SRTSUB) + ghb_add_srt(ud, subtitle); + else + ghb_add_subtitle(ud, subtitle); } } |