Guest User

DupMethodEnum

a guest
Jan 17th, 2015
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 16.27 KB | None | 0 0
  1. diff --git a/mythtv/html/tv/schedule.qsp b/mythtv/html/tv/schedule.qsp
  2. index 296ba6b..070ff2f 100644
  3. --- a/mythtv/html/tv/schedule.qsp
  4. +++ b/mythtv/html/tv/schedule.qsp
  5. @@ -8,6 +8,7 @@ import "/tv/js/tvutil.qjs"
  6.      var myth = new Myth();
  7.      var dvr = new Dvr();
  8.      var guide = new Guide();
  9. +    var rtti = new Rtti();
  10.  
  11.      var startTime;
  12.      if (getArg("StartTime"))
  13. @@ -283,11 +284,14 @@ import "/tv/js/tvutil.qjs"
  14.          <div class="setting setting-select">
  15.              <label for="DupMethod"><%=qsTr("Duplicate Matching")%>:</label>
  16.              <select name="DupMethod" id="rule-DupMethod" required>
  17. -            <% for (var name in RecordingDupMethodType)
  18. +            <% var enumDupMethod = rtti.GetEnum( "RecordingInfo.RecordingDupMethodEnum" );
  19. +               for (var nIdx=0; nIdx < enumDupMethod.EnumItems.length; nIdx++)
  20.                 {
  21. -                   var selected = (RecordingDupMethodType[name] == recRule.DupMethod) ? "selected" : "";
  22. +                   var enumItem = enumDupMethod.EnumItems[ nIdx ];
  23. +
  24. +                   var selected = (enumItem.Key == recRule.DupMethod) ? "selected" : "";
  25.              %>
  26. -                <option value="<%=RecordingDupMethodType[name]%>" <%=selected%>><%=dvr.DupMethodToDescription(RecordingDupMethodType[name])%></option>
  27. +                <option value="<%=enumItem.Value%>" <%=selected%>><%=enumItem.Desc%></option>
  28.              <% } %>
  29.              </select>
  30.          </div>
  31. diff --git a/mythtv/i18n/translate.pro b/mythtv/i18n/translate.pro
  32. index 210d990..d7eb69a 100644
  33. --- a/mythtv/i18n/translate.pro
  34. +++ b/mythtv/i18n/translate.pro
  35. @@ -30,6 +30,13 @@ SOURCES += ../libs/libmythui/*.cpp
  36.  SOURCES += ../libs/libmythui/*.h
  37.  SOURCES += ../libs/libmythupnp/*.cpp
  38.  SOURCES += ../libs/libmythupnp/*.h
  39. +SOURCES += ../libs/libmythservicecontracts/*.h
  40. +SOURCES += ../libs/libmythservicecontracts/*.cpp
  41. +SOURCES += ../libs/libmythservicecontracts/datacontracts/*.h
  42. +SOURCES += ../libs/libmythservicecontracts/datacontracts/*.cpp
  43. +SOURCES += ../libs/libmythservicecontracts/services/*.h
  44. +SOURCES += ../libs/libmythservicecontracts/services/*.cpp
  45. +
  46.  SOURCES += ../programs/mythbackend/*.cpp
  47.  SOURCES += ../programs/mythbackend/*.h
  48.  SOURCES += ../programs/mythcommflag/*.cpp
  49. diff --git a/mythtv/libs/libmythservicecontracts/datacontracts/recRule.h b/mythtv/libs/libmythservicecontracts/datacontracts/recRule.h
  50. index 820cfc8..1d32f36 100644
  51. --- a/mythtv/libs/libmythservicecontracts/datacontracts/recRule.h
  52. +++ b/mythtv/libs/libmythservicecontracts/datacontracts/recRule.h
  53. @@ -6,6 +6,7 @@
  54.  
  55.  #include "serviceexp.h"
  56.  #include "datacontracthelper.h"
  57. +#include "recording.h"
  58.  
  59.  namespace DTC
  60.  {
  61. @@ -17,6 +18,9 @@ class SERVICE_PUBLIC RecRule : public QObject
  62.      Q_OBJECT
  63.      Q_CLASSINFO( "version"    , "1.11" );
  64.  
  65. +    // MOC requires the DTC namespace to be used
  66. +    Q_ENUMS( DTC::RecordingInfo::RecordingDupMethodEnum )
  67. +
  68.      Q_PROPERTY( int             Id              READ Id               WRITE setId             )
  69.      Q_PROPERTY( int             ParentId        READ ParentId         WRITE setParentId       )
  70.      Q_PROPERTY( bool            Inactive        READ Inactive         WRITE setInactive       )
  71. @@ -44,7 +48,7 @@ class SERVICE_PUBLIC RecRule : public QObject
  72.      Q_PROPERTY( uint            PreferredInput  READ PreferredInput   WRITE setPreferredInput )
  73.      Q_PROPERTY( int             StartOffset     READ StartOffset      WRITE setStartOffset    )
  74.      Q_PROPERTY( int             EndOffset       READ EndOffset        WRITE setEndOffset      )
  75. -    Q_PROPERTY( QString         DupMethod       READ DupMethod        WRITE setDupMethod      )
  76. +    Q_PROPERTY( DTC::RecordingInfo::RecordingDupMethodEnum     DupMethod       READ DupMethod        WRITE setDupMethod      )
  77.      Q_PROPERTY( QString         DupIn           READ DupIn            WRITE setDupIn          )
  78.      Q_PROPERTY( uint            Filter          READ Filter           WRITE setFilter         )
  79.  
  80. @@ -95,7 +99,7 @@ class SERVICE_PUBLIC RecRule : public QObject
  81.      PROPERTYIMP    ( uint       , PreferredInput )
  82.      PROPERTYIMP    ( int        , StartOffset    )
  83.      PROPERTYIMP    ( int        , EndOffset      )
  84. -    PROPERTYIMP    ( QString    , DupMethod      )
  85. +    PROPERTYIMP_ENUM( RecordingInfo::RecordingDupMethodEnum    , DupMethod      )
  86.      PROPERTYIMP    ( QString    , DupIn          )
  87.      PROPERTYIMP    ( uint       , Filter         )
  88.      PROPERTYIMP    ( QString    , RecProfile     )
  89. @@ -137,6 +141,7 @@ class SERVICE_PUBLIC RecRule : public QObject
  90.                m_PreferredInput( 0      ),
  91.                m_StartOffset   ( 0      ),
  92.                m_EndOffset     ( 0      ),
  93. +              m_DupMethod     ( RecordingInfo::eDupCheckNone ),
  94.                m_Filter        ( 0      ),
  95.                m_AutoExpire    ( false  ),
  96.                m_MaxEpisodes   ( 0      ),
  97. diff --git a/mythtv/libs/libmythservicecontracts/datacontracts/recording.h b/mythtv/libs/libmythservicecontracts/datacontracts/recording.h
  98. index 8691f86..9d62600 100644
  99. --- a/mythtv/libs/libmythservicecontracts/datacontracts/recording.h
  100. +++ b/mythtv/libs/libmythservicecontracts/datacontracts/recording.h
  101. @@ -38,33 +38,54 @@ class SERVICE_PUBLIC RecordingInfo : public QObject
  102.      Q_PROPERTY( QString                 StorageGroup READ StorageGroup WRITE setStorageGroup DESIGNABLE SerializeDetails )
  103.      Q_PROPERTY( int                     RecType      READ RecType      WRITE setRecType      DESIGNABLE SerializeDetails )
  104.      Q_PROPERTY( int                     DupInType    READ DupInType    WRITE setDupInType    DESIGNABLE SerializeDetails )
  105. -    Q_PROPERTY( int                     DupMethod    READ DupMethod    WRITE setDupMethod    DESIGNABLE SerializeDetails )
  106. +    Q_PROPERTY( RecordingDupMethodEnum  DupMethod    READ DupMethod    WRITE setDupMethod    DESIGNABLE SerializeDetails )
  107.      Q_PROPERTY( int                     EncoderId    READ EncoderId    WRITE setEncoderId    DESIGNABLE SerializeDetails )
  108.      Q_PROPERTY( QString                 EncoderName  READ EncoderName  WRITE setEncoderName  DESIGNABLE SerializeDetails )
  109.      Q_PROPERTY( QString                 Profile      READ Profile      WRITE setProfile      DESIGNABLE SerializeDetails )
  110.  
  111. +    public:
  112. +
  113.      /*
  114.      Not using since Q_ENUMS seem to require the enum be defined in this class
  115.  
  116.      Q_ENUMS( RecStatusType          )
  117.      Q_ENUMS( RecordingType          )
  118.      Q_ENUMS( RecordingDupInType     )
  119. -    Q_ENUMS( RecordingDupMethodType )
  120.      */
  121.  
  122. +    Q_ENUMS( RecordingDupMethodEnum )
  123. +
  124. +    #ifdef false
  125. +        // Needed for translated enum descriptions
  126. +        QT_TRANSLATE_NOOP( "Enums", "RecordingInfo.RecordingDupMethodEnum.eDupCheckNone"        )
  127. +        QT_TRANSLATE_NOOP( "Enums", "RecordingInfo.RecordingDupMethodEnum.eDupCheckSub"         )
  128. +        QT_TRANSLATE_NOOP( "Enums", "RecordingInfo.RecordingDupMethodEnum.eDupCheckDesc"        )
  129. +        QT_TRANSLATE_NOOP( "Enums", "RecordingInfo.RecordingDupMethodEnum.eDupCheckSubDesc"     )
  130. +        QT_TRANSLATE_NOOP( "Enums", "RecordingInfo.RecordingDupMethodEnum.eDupCheckSubThenDesc" )
  131. +    #endif
  132. +
  133. +    typedef enum
  134. +    {
  135. +        eDupCheckNone        = 0x01,
  136. +        eDupCheckSub         = 0x02,
  137. +        eDupCheckDesc        = 0x04,
  138. +        eDupCheckSubDesc     = 0x06,
  139. +        eDupCheckSubThenDesc = 0x08
  140. +    } RecordingDupMethodEnum;
  141. +
  142.      PROPERTYIMP     ( uint                   , RecordedId  )
  143.      PROPERTYIMP_ENUM( RecStatusType          , Status      )
  144.      PROPERTYIMP     ( int                    , Priority    )
  145.      PROPERTYIMP     ( QDateTime              , StartTs     )
  146.      PROPERTYIMP     ( QDateTime              , EndTs       )
  147. -                                                
  148. +
  149.      PROPERTYIMP     ( int                    , RecordId    )
  150.      PROPERTYIMP     ( QString                , RecGroup    )
  151.      PROPERTYIMP     ( QString                , StorageGroup)
  152.      PROPERTYIMP     ( QString                , PlayGroup   )
  153.      PROPERTYIMP_ENUM( RecordingType          , RecType     )
  154.      PROPERTYIMP_ENUM( RecordingDupInType     , DupInType   )
  155. -    PROPERTYIMP_ENUM( RecordingDupMethodType , DupMethod   )
  156. +    PROPERTYIMP_ENUM( RecordingDupMethodEnum , DupMethod   )
  157.      PROPERTYIMP     ( int                    , EncoderId   )
  158.      PROPERTYIMP     ( QString                , EncoderName )
  159.      PROPERTYIMP     ( QString                , Profile     )
  160. @@ -86,7 +107,7 @@ class SERVICE_PUBLIC RecordingInfo : public QObject
  161.                m_RecordId        ( 0               ),
  162.                m_RecType         ( kNotRecording   ),
  163.                m_DupInType       ( kDupsInRecorded ),
  164. -              m_DupMethod       ( kDupCheckNone   ),
  165. +              m_DupMethod       ( eDupCheckNone   ),
  166.                m_EncoderId       ( 0               ),
  167.                m_SerializeDetails( true            )
  168.          {
  169. @@ -121,6 +142,7 @@ class SERVICE_PUBLIC RecordingInfo : public QObject
  170.  
  171.  Q_DECLARE_METATYPE( DTC::RecordingInfo  )
  172.  Q_DECLARE_METATYPE( DTC::RecordingInfo* )
  173. +Q_DECLARE_METATYPE( DTC::RecordingInfo::RecordingDupMethodEnum )
  174.  
  175.  namespace DTC
  176.  {
  177. @@ -128,6 +150,8 @@ inline void RecordingInfo::InitializeCustomTypes()
  178.  {
  179.      qRegisterMetaType< RecordingInfo  >();
  180.      qRegisterMetaType< RecordingInfo* >();
  181. +
  182. +    qRegisterMetaType< RecordingInfo::RecordingDupMethodEnum >();
  183.  }
  184.  }
  185.  
  186. diff --git a/mythtv/libs/libmythservicecontracts/services/dvrServices.h b/mythtv/libs/libmythservicecontracts/services/dvrServices.h
  187. index d2b8bd8..768777b 100644
  188. --- a/mythtv/libs/libmythservicecontracts/services/dvrServices.h
  189. +++ b/mythtv/libs/libmythservicecontracts/services/dvrServices.h
  190. @@ -155,7 +155,7 @@ class SERVICE_PUBLIC DvrServices : public Service  //, public QScriptable ???
  191.                                                             uint      PreferredInput,
  192.                                                             int       StartOffset,
  193.                                                             int       EndOffset,
  194. -                                                           QString   DupMethod,
  195. +                                                           DTC::RecordingInfo::RecordingDupMethodEnum   DupMethod,
  196.                                                             QString   DupIn,
  197.                                                             uint      Filter,
  198.                                                             QString   RecProfile,
  199. @@ -197,7 +197,7 @@ class SERVICE_PUBLIC DvrServices : public Service  //, public QScriptable ???
  200.                                                             uint      PreferredInput,
  201.                                                             int       StartOffset,
  202.                                                             int       EndOffset,
  203. -                                                           QString   DupMethod,
  204. +                                                           DTC::RecordingInfo::RecordingDupMethodEnum   DupMethod,
  205.                                                             QString   DupIn,
  206.                                                             uint      Filter,
  207.                                                             QString   RecProfile,
  208. diff --git a/mythtv/programs/mythbackend/services/dvr.cpp b/mythtv/programs/mythbackend/services/dvr.cpp
  209. index bc34d8a..a5ae8f5 100644
  210. --- a/mythtv/programs/mythbackend/services/dvr.cpp
  211. +++ b/mythtv/programs/mythbackend/services/dvr.cpp
  212. @@ -662,7 +662,7 @@ uint Dvr::AddRecordSchedule   (
  213.                                 uint      nPreferredInput,
  214.                                 int       nStartOffset,
  215.                                 int       nEndOffset,
  216. -                               QString   sDupMethod,
  217. +                               DTC::RecordingInfo::RecordingDupMethodEnum   eDupMethod,
  218.                                 QString   sDupIn,
  219.                                 uint      nFilter,
  220.                                 QString   sRecProfile,
  221. @@ -692,8 +692,8 @@ uint Dvr::AddRecordSchedule   (
  222.      if (sSearchType.isEmpty())
  223.          sSearchType = "none";
  224.  
  225. -    if (sDupMethod.isEmpty())
  226. -        sDupMethod = "subtitleanddescription";
  227. +////    if (sDupMethod.isEmpty())
  228. +////        sDupMethod = "subtitleanddescription";
  229.  
  230.      if (sDupIn.isEmpty())
  231.          sDupIn = "all";
  232. @@ -709,7 +709,7 @@ uint Dvr::AddRecordSchedule   (
  233.  
  234.      rule.m_type = recTypeFromString(sType);
  235.      rule.m_searchType = searchTypeFromString(sSearchType);
  236. -    rule.m_dupMethod = dupMethodFromString(sDupMethod);
  237. +    rule.m_dupMethod = (RecordingDupMethodType)eDupMethod;
  238.      rule.m_dupIn = dupInFromString(sDupIn);
  239.  
  240.      if (sRecProfile.isEmpty())
  241. @@ -802,7 +802,7 @@ bool Dvr::UpdateRecordSchedule ( uint      nRecordId,
  242.                                   uint      nPreferredInput,
  243.                                   int       nStartOffset,
  244.                                   int       nEndOffset,
  245. -                                 QString   sDupMethod,
  246. +                                 DTC::RecordingInfo::RecordingDupMethodEnum   eDupMethod,
  247.                                   QString   sDupIn,
  248.                                   uint      nFilter,
  249.                                   QString   sRecProfile,
  250. @@ -841,15 +841,15 @@ bool Dvr::UpdateRecordSchedule ( uint      nRecordId,
  251.      if (sSearchType.isEmpty())
  252.          sSearchType = "none";
  253.  
  254. -    if (sDupMethod.isEmpty())
  255. -        sDupMethod = "subtitleanddescription";
  256. +//    if (sDupMethod.isEmpty())
  257. +//        sDupMethod = "subtitleanddescription";
  258.  
  259.      if (sDupIn.isEmpty())
  260.          sDupIn = "all";
  261.  
  262.      pRule.m_type = recTypeFromString(sType);
  263.      pRule.m_searchType = searchTypeFromString(sSearchType);
  264. -    pRule.m_dupMethod = dupMethodFromString(sDupMethod);
  265. +    pRule.m_dupMethod = (RecordingDupMethodType)eDupMethod;
  266.      pRule.m_dupIn = dupInFromString(sDupIn);
  267.  
  268.      if (sRecProfile.isEmpty())
  269. diff --git a/mythtv/programs/mythbackend/services/dvr.h b/mythtv/programs/mythbackend/services/dvr.h
  270. index d272cdc..074774e 100644
  271. --- a/mythtv/programs/mythbackend/services/dvr.h
  272. +++ b/mythtv/programs/mythbackend/services/dvr.h
  273. @@ -121,7 +121,7 @@ class Dvr : public DvrServices
  274.                                                  uint      PreferredInput,
  275.                                                  int       StartOffset,
  276.                                                  int       EndOffset,
  277. -                                                QString   DupMethod,
  278. +                                                DTC::RecordingInfo::RecordingDupMethodEnum   DupMethod,
  279.                                                  QString   DupIn,
  280.                                                  uint      Filter,
  281.                                                  QString   RecProfile,
  282. @@ -163,7 +163,7 @@ class Dvr : public DvrServices
  283.                                                    uint      PreferredInput,
  284.                                                    int       StartOffset,
  285.                                                    int       EndOffset,
  286. -                                                  QString   DupMethod,
  287. +                                                  DTC::RecordingInfo::RecordingDupMethodEnum   DupMethod,
  288.                                                    QString   DupIn,
  289.                                                    uint      Filter,
  290.                                                    QString   RecProfile,
  291. diff --git a/mythtv/programs/mythbackend/services/serviceUtil.cpp b/mythtv/programs/mythbackend/services/serviceUtil.cpp
  292. index 4d655d5..8ab2d10 100644
  293. --- a/mythtv/programs/mythbackend/services/serviceUtil.cpp
  294. +++ b/mythtv/programs/mythbackend/services/serviceUtil.cpp
  295. @@ -268,7 +268,7 @@ void FillRecRuleInfo( DTC::RecRule  *pRecRule,
  296.      pRecRule->setPreferredInput (  pRule->m_prefInput              );
  297.      pRecRule->setStartOffset    (  pRule->m_startOffset            );
  298.      pRecRule->setEndOffset      (  pRule->m_endOffset              );
  299. -    pRecRule->setDupMethod      (  toRawString(pRule->m_dupMethod) );
  300. +    pRecRule->setDupMethod      (  (DTC::RecordingInfo::RecordingDupMethodEnum)pRule->m_dupMethod );
  301.      pRecRule->setDupIn          (  toRawString(pRule->m_dupIn)     );
  302.      pRecRule->setFilter         (  pRule->m_filter                 );
  303.      pRecRule->setRecProfile     (  pRule->m_recProfile             );
Add Comment
Please, Sign In to add comment