summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2009-10-03 16:47:09 +0000
committerjstebbins <[email protected]>2009-10-03 16:47:09 +0000
commitd3a040aafa87d4f56dc6e6b2531afe407432f0b2 (patch)
tree4ac8655316ea409e61dffa32233638b2359d0fbe
parent1c4d36e2a35669c27629299dfaae82e043fcf4a0 (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.c16
-rw-r--r--gtk/src/subtitlehandler.c10
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);
}
}