Ticket #4266: playbackprofiles_statebased_help_1.patch

File playbackprofiles_statebased_help_1.patch, 10.5 KB (added by Roo <roo.watt@…>, 12 years ago)

Version 1, actual strings need replacing

  • libs/libmythtv/videodisplayprofile.h

     
    130130    static void        CreateProfiles(const QString &hostname);
    131131
    132132    static QStringList GetVideoRenderers(const QString &decoder);
     133    static QString     GetRendererHelp(QString renderer);
    133134    static QString     GetPreferredVideoRenderer(const QString &decoder);
    134135    static QStringList GetDeinterlacers(const QString &video_renderer);
    135136    static QString     GetDeinterlacerName(const QString short_name);
     137    static QString     GetDeinterlacerHelp(QString deint);
    136138    static QStringList GetOSDs(         const QString &video_renderer);
     139    static QString     GetOSDFadeHelp(bool fade);
     140    static QString     GetOSDHelp(QString osd);
    137141    static bool        IsFilterAllowed( const QString &video_renderer);
    138142
    139143    static QStringList GetFilteredRenderers(const QString     &decoder,
  • libs/libmythtv/videodisplayprofile.cpp

     
    932932    return tmp;
    933933}
    934934
     935QString VideoDisplayProfile::GetRendererHelp(QString renderer)
     936{
     937
     938    QString msg = QObject::tr("Video rendering method");
     939
     940    if (renderer.isEmpty())
     941        return msg;
     942
     943    if (renderer == "null")
     944        msg = QObject::tr("Use null video renderer.");
     945
     946    if (renderer == "xlib")
     947        msg = QObject::tr("Use xlib video renderer.");
     948
     949    if (renderer == "xshm")
     950        msg = QObject::tr("Use xshm video renderer, doesn't support scaling.");
     951
     952    if (renderer == "xv-blit")
     953        msg = QObject::tr("Use xv-blit video renderer.");
     954
     955    if (renderer == "xvmc-blit")
     956        msg = QObject::tr("Use xvmc-blit video renderer.");
     957
     958    if (renderer == "xvmc-opengl")
     959        msg = QObject::tr("Use xvmc-opengl video renderer.");
     960
     961    if (renderer == "directfb")
     962        msg = QObject::tr("Use directfb video renderer.");
     963
     964    if (renderer == "directx")
     965        msg = QObject::tr("Use directx video renderer.");
     966
     967    if (renderer == "quartz-blit")
     968        msg = QObject::tr("Use quartz-blit video renderer.");
     969
     970    if (renderer == "quartz-accel")
     971        msg = QObject::tr("Use quartz-accel video renderer.");
     972
     973    if (renderer == "ivtv")
     974        msg = QObject::tr("Use ivtv video renderer.");
     975
     976    if (renderer == "opengl")
     977        msg = QObject::tr("Use opengl video renderer.");
     978
     979    return msg;
     980}
     981
    935982QString VideoDisplayProfile::GetPreferredVideoRenderer(const QString &decoder)
    936983{
    937984    return GetBestVideoRenderer(GetVideoRenderers(decoder));
     
    951998    return tmp;
    952999}
    9531000
     1001QString VideoDisplayProfile::GetDeinterlacerHelp(QString deint)
     1002{
     1003    QString msg = QObject::tr("Deinterlacing method");
     1004
     1005    if (deint.isEmpty())
     1006        return msg;
     1007
     1008    if (deint == "none")
     1009    {
     1010        msg = QObject::tr("No deinterlacing.");
     1011    }
     1012
     1013    if (deint == "onefield")
     1014    {
     1015        msg = QObject::tr("Onefield deinterlacer.");
     1016    }
     1017
     1018    if (deint == "bobdeint")
     1019    {
     1020        msg = QObject::tr("2x frame rate");
     1021        msg += "\n";
     1022        msg += QObject::tr("Bob deinterlacer.");
     1023    }
     1024
     1025    if (deint == "linearblend")
     1026    {
     1027        msg = QObject::tr("Linear blend deinterlacer.");
     1028    }
     1029
     1030    if (deint == "kerneldeint")
     1031    {
     1032        msg = QObject::tr("Kernel deinterlacer.");
     1033    }
     1034
     1035    if (deint == "opengllinearblend")
     1036    {
     1037        msg = QObject::tr("Hardware Accelerated");
     1038        msg += "\n";
     1039        msg += QObject::tr("Liner blend deinterlacer.");
     1040    }
     1041
     1042    if (deint == "openglkerneldeint")
     1043    {
     1044        msg = QObject::tr("Hardware Accelerated");
     1045        msg += "\n";
     1046        msg += QObject::tr("Kernel deinterlacer.");
     1047    }
     1048
     1049    if (deint == "openglonefield")
     1050    {
     1051        msg = QObject::tr("Hardware Accelerated");
     1052        msg += "\n";
     1053        msg += QObject::tr("Onefield deinterlacer.");
     1054    }
     1055
     1056    if (deint == "openglbobdeint")
     1057    {
     1058        msg = QObject::tr("2x Framerate, Hardware Accelerated");
     1059        msg += "\n";
     1060        msg += QObject::tr("Bob deinterlacer.");
     1061    }
     1062
     1063    if (deint == "opengldoubleratelinearblend")
     1064    {
     1065        msg = QObject::tr("2x Framerate, Hardware Accelerated");
     1066        msg += "\n";
     1067        msg += QObject::tr("Liner blend deinterlacer.");
     1068    }
     1069
     1070    if (deint == "opengldoublerateonefield")
     1071    {
     1072        msg = QObject::tr("2x Framerate, Hardware Accelerated");
     1073        msg += "\n";
     1074        msg += QObject::tr("One field deinterlacer.");
     1075    }
     1076
     1077    if (deint == "opengldoubleratekerneldeint")
     1078    {
     1079        msg = QObject::tr("2x Framerate, Hardware Accelerated");
     1080        msg += "\n";
     1081        msg += QObject::tr("Kernel deinterlacer.");
     1082    }
     1083
     1084    if (deint == "opengldoubleratefieldorder")
     1085    {
     1086        msg = QObject::tr("2x Framerate, Hardware Accelerated");
     1087        msg += "\n";
     1088        msg += QObject::tr("Interlaced.");
     1089    }
     1090
     1091    return msg;
     1092}
     1093
    9541094QStringList VideoDisplayProfile::GetOSDs(const QString &video_renderer)
    9551095{
    9561096    QMutexLocker locker(&safe_lock);
     
    9641104    return tmp;
    9651105}
    9661106
     1107QString VideoDisplayProfile::GetOSDFadeHelp(bool fade)
     1108{
     1109
     1110    QString msg = QObject::tr("Disable OSD fading.");
     1111
     1112    if (fade)
     1113    {
     1114        msg = QObject::tr("Enable OSD fading.");
     1115        msg += "\n";
     1116        msg += QObject::tr("This may cause issues with opengl renderers.");
     1117    }
     1118
     1119    return msg;
     1120}
     1121
     1122QString VideoDisplayProfile::GetOSDHelp(QString osd)
     1123{
     1124
     1125    QString msg = QObject::tr("OSD rendering method");
     1126
     1127    if (osd.isEmpty())
     1128        return msg;
     1129
     1130    if (osd == "chromakey")
     1131    {
     1132        msg = QObject::tr("Use chromakey OSD rendering method.");
     1133    }
     1134
     1135    if (osd == "softblend")
     1136    {
     1137        msg = QObject::tr("Use softblend OSD rendering method.");
     1138    }
     1139
     1140    if (osd == "ia44blend")
     1141    {
     1142        msg = QObject::tr("Use ia44blend OSD rendering method.");
     1143    }
     1144
     1145    if (osd == "ivtv")
     1146    {
     1147        msg = QObject::tr("Use ivtv OSD rendering method.");
     1148    }
     1149
     1150    if (osd == "opengl")
     1151    {
     1152        msg = QObject::tr("Use opengl OSD rendering method.");
     1153    }
     1154
     1155    if (osd == "opengl2")
     1156    {
     1157        msg = QObject::tr("Use opengl2 OSD rendering method.");
     1158    }
     1159
     1160    if (osd == "opengl3")
     1161    {
     1162        msg = QObject::tr("Use opengl3 OSD rendering method.");
     1163    }
     1164
     1165    return msg;
     1166}
     1167
    9671168bool VideoDisplayProfile::IsFilterAllowed(const QString &video_renderer)
    9681169{
    9691170    QMutexLocker locker(&safe_lock);
     
    10611262"linearblend"
    10621263"kerneldeint"
    10631264"opengllinearblend"
     1265"openglkerneldeint"
    10641266"openglonefield"
    10651267"openglbobdeint"
    10661268"opengldoubleratelinearblend"
  • programs/mythfrontend/globalsettings.cpp

     
    794794    deint1->setLabel(tr("Fallback"));
    795795    filters->setLabel(tr("Custom Filters"));
    796796
    797     deint0->setHelpText(
    798         QObject::tr("2x means the deinterlacer doubles the framerate.") + " " +
    799         QObject::tr("HW means the deinterlacer uses specialized hardware."));
    800     deint1->setHelpText(
    801         QObject::tr("HW means the deinterlacer uses specialized hardware."));
    802 
    803797    filters->setHelpText(
    804798        QObject::tr("Example Custom filter list: 'ivtc,denoise3d'"));
     799
     800    osdfade->setHelpText(
     801        QObject::tr("Disabling OSD fade will help on slower systems."));
     802
    805803    vid_row->addChild(decoder);
    806804    vid_row->addChild(vidrend);
    807805
     
    825823            this,    SLOT(decoderChanged(const QString&)));
    826824    connect(vidrend, SIGNAL(valueChanged(const QString&)),
    827825            this,    SLOT(vrenderChanged(const QString&)));
     826    connect(osdrend, SIGNAL(valueChanged(const QString&)),
     827            this,    SLOT(orenderChanged(const QString&)));
     828    connect(deint0, SIGNAL(valueChanged(const QString&)),
     829            this,    SLOT(deint0Changed(const QString&)));
     830    connect(deint1, SIGNAL(valueChanged(const QString&)),
     831            this,    SLOT(deint1Changed(const QString&)));
     832    connect(osdfade, SIGNAL(valueChanged(bool)),
     833            this,    SLOT(osdfadeChanged(bool)));
    828834}
    829835
    830836void PlaybackProfileItemConfig::load(void)
     
    855861    QString pfilter   = item.Get("pref_filters");
    856862    bool    found     = false;
    857863
    858     QString     dech = VideoDisplayProfile::GetDecoderHelp();
    859864    QStringList decr = VideoDisplayProfile::GetDecoders();
    860865    QStringList decn = VideoDisplayProfile::GetDecoderNames();
    861866    QStringList::const_iterator itr = decr.begin();
     
    870875        decoder->SelectSetting::addSelection(
    871876            VideoDisplayProfile::GetDecoderName(pdecoder), pdecoder, true);
    872877    }
    873     decoder->setHelpText(VideoDisplayProfile::GetDecoderHelp(pdecoder));
    874878
    875879    if (!prenderer.isEmpty())
     880    {
    876881        vidrend->setValue(prenderer);
     882    }
     883
    877884    if (!posd.isEmpty())
    878885        osdrend->setValue(posd);
    879886
     
    967974    }
    968975
    969976    filters->setEnabled(VideoDisplayProfile::IsFilterAllowed(renderer));
     977
     978    vidrend->setHelpText(VideoDisplayProfile::GetRendererHelp(renderer));
    970979}
    971980
     981void PlaybackProfileItemConfig::orenderChanged(const QString &renderer)
     982{
     983    osdrend->setHelpText(VideoDisplayProfile::GetOSDHelp(renderer));
     984}
     985
     986void PlaybackProfileItemConfig::deint0Changed(const QString &deint)
     987{
     988    deint0->setHelpText(VideoDisplayProfile::GetDeinterlacerHelp(deint));
     989}
     990
     991void PlaybackProfileItemConfig::deint1Changed(const QString &deint)
     992{
     993    deint1->setHelpText(VideoDisplayProfile::GetDeinterlacerHelp(deint));
     994}
     995
     996void PlaybackProfileItemConfig::osdfadeChanged(bool fade)
     997{
     998    osdfade->setHelpText(VideoDisplayProfile::GetOSDFadeHelp(fade));
     999}
     1000
     1001
    9721002PlaybackProfileConfig::PlaybackProfileConfig(const QString &profilename) :
    9731003    VerticalConfigurationGroup(false, false, true, true),
    9741004    profile_name(profilename), needs_save(false),
  • programs/mythfrontend/globalsettings.h

     
    7676  private slots:
    7777    void decoderChanged(const QString &dec);
    7878    void vrenderChanged(const QString &renderer);
     79    void orenderChanged(const QString &renderer);
     80    void osdfadeChanged(bool fade);
     81    void deint0Changed(const QString &deint);
     82    void deint1Changed(const QString &deint);
    7983
    8084  private:
    8185    ProfileItem          &item;