OSDN Git Service

LinGui: make subtitle burned and default checkboxes mutually exclusive
authorjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Fri, 20 Nov 2009 16:14:07 +0000 (16:14 +0000)
committerjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Fri, 20 Nov 2009 16:14:07 +0000 (16:14 +0000)
"default" doesn't really apply to burned in subtitles so it shouldn't
be checked when burned.

git-svn-id: svn://localhost/HandBrake/trunk@2947 b64f7644-9d1e-0410-96f1-a4d463321fa5

gtk/src/subtitlehandler.c

index 759caae..5374408 100644 (file)
@@ -552,6 +552,7 @@ subtitle_burned_toggled_cb(
        GValue *subtitle_list;
        gint count;
        GValue *settings;
+       gint source;
 
        g_debug("burned toggled");
        tp = gtk_tree_path_new_from_string (path);
@@ -574,12 +575,21 @@ subtitle_burned_toggled_cb(
                return;
 
        settings = ghb_array_get_nth(subtitle_list, row);
+       source = ghb_settings_get_int(settings, "SubtitleSource");
+       if (source != VOBSUB)
+               return;
        if (!active && mustBurn(ud, settings))
                return;
 
        ghb_settings_set_boolean(settings, "SubtitleBurned", active);
-
        gtk_list_store_set(GTK_LIST_STORE(tm), &ti, 2, active, -1);
+
+       if (active)
+       {
+               ghb_settings_set_boolean(settings, "SubtitleDefaultTrack", !active);
+               gtk_list_store_set(GTK_LIST_STORE(tm), &ti, 3, !active, -1);
+       }
+
        // Unburn the rest
        if (active)
                ghb_subtitle_exclusive_burn(ud, row);
@@ -603,6 +613,7 @@ subtitle_default_toggled_cb(
        GValue *subtitle_list;
        gint count;
        GValue *settings;
+       gboolean burned;
 
        g_debug("default toggled");
        tp = gtk_tree_path_new_from_string (path);
@@ -625,10 +636,17 @@ subtitle_default_toggled_cb(
                return;
 
        settings = ghb_array_get_nth(subtitle_list, row);
+       if (active && mustBurn(ud, settings))
+               return;
 
        ghb_settings_set_boolean(settings, "SubtitleDefaultTrack", active);
-
        gtk_list_store_set(GTK_LIST_STORE(tm), &ti, 3, active, -1);
+
+       if (active)
+       {
+               ghb_settings_set_boolean(settings, "SubtitleBurned", !active);
+               gtk_list_store_set(GTK_LIST_STORE(tm), &ti, 2, !active, -1);
+       }
        // allow only one default
        ghb_subtitle_exclusive_default(ud, row);
        ghb_live_reset(ud);