Remove libxvid codec (not working) and replace the default by its real name. Update...
[synfig.git] / synfig-studio / src / gtkmm / dialog_targetparam.cpp
index d94f820..7884ca5 100644 (file)
@@ -53,7 +53,7 @@ using namespace studio;
  */
 const char* allowed_video_codecs[] =
 {
-       "flv", "h263p", "huffyuv", "libtheora", "libx264", "libxvid",
+       "flv", "h263p", "huffyuv", "libtheora", "libx264",
        "mjpeg", "mpeg1video", "mpeg2video", "mpeg4", "msmpeg4",
        "msmpeg4v1", "msmpeg4v2", "wmv1", "wmv2", "customvc", NULL
 };
@@ -69,11 +69,10 @@ const char* allowed_video_codecs_description[] =
        _("Huffyuv / HuffYUV."),
        _("libtheora Theora."),
        _("libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10."),
-       _("libxvidcore MPEG-4 part 2."),
        _("MJPEG (Motion JPEG)."),
        _("raw MPEG-1 video."),
        _("raw MPEG-2 video."),
-       _("MPEG-4 part 2."),
+       _("MPEG-4 part 2. (XviD/DivX)"),
        _("MPEG-4 part 2 Microsoft variant version 3."),
        _("MPEG-4 part 2 Microsoft variant version 1."),
        _("MPEG-4 part 2 Microsoft variant version 2."),
@@ -115,14 +114,12 @@ Dialog_TargetParam::Dialog_TargetParam(synfig::TargetParam &tparam)
        vcodec->set_active_text(CUSTOM_VCODEC);
        customvcodec->set_text("customvc");
        //Compare the passed vcodec to the available and set it active if found
-       bool foundvcodec=false;
        for (int i = 0; allowed_video_codecs[i] != NULL &&
                                        allowed_video_codecs_description[i] != NULL; i++)
                if(!get_tparam().video_codec.compare(allowed_video_codecs[i]))
                {
                        vcodec->set_active_text(allowed_video_codecs_description[i]);
                        customvcodec->set_text(allowed_video_codecs[i]);
-                       foundvcodec = true;
                }
 
        //Bitrate Spin Button
@@ -150,11 +147,7 @@ Dialog_TargetParam::Dialog_TargetParam(synfig::TargetParam &tparam)
 void
 Dialog_TargetParam::on_ok()
 {
-       std::string codecnamed = vcodec->get_active_text();
-       for (int i = 0; allowed_video_codecs[i] != NULL &&
-                                       allowed_video_codecs_description[i] != NULL; i++)
-               if(!codecnamed.compare(allowed_video_codecs_description[i]))
-                       tparam_.video_codec=allowed_video_codecs[i];
+       tparam_.video_codec=customvcodec->get_text().c_str();
        tparam_.bitrate=bitrate->get_value();
        hide();
 }
@@ -169,10 +162,16 @@ void
 Dialog_TargetParam::on_vcodec_change()
 {
        std::string codecnamed = vcodec->get_active_text();
+       customvcodec->set_sensitive(false);
        for (int i = 0; allowed_video_codecs[i] != NULL &&
                                        allowed_video_codecs_description[i] != NULL; i++)
                if(!codecnamed.compare(allowed_video_codecs_description[i]))
-                       customvcodec->set_text(allowed_video_codecs[i]);
+               {
+                       if(!codecnamed.compare(CUSTOM_VCODEC))
+                               customvcodec->set_sensitive(true);
+                       else
+                               customvcodec->set_text(allowed_video_codecs[i]);
+               }
 }
 
 Dialog_TargetParam::~Dialog_TargetParam()