00001 #include <QObject>
00002
00003 #include "recordingtypes.h"
00004
00007 int RecTypePriority(RecordingType rectype)
00008 {
00009 switch (rectype)
00010 {
00011 case kNotRecording: return 0; break;
00012 case kDontRecord: return 1; break;
00013 case kOverrideRecord: return 2; break;
00014 case kSingleRecord: return 3; break;
00015 case kFindOneRecord: return 4; break;
00016 case kWeekslotRecord: return 5; break;
00017 case kFindWeeklyRecord: return 6; break;
00018 case kTimeslotRecord: return 7; break;
00019 case kFindDailyRecord: return 8; break;
00020 case kChannelRecord: return 9; break;
00021 case kAllRecord: return 10; break;
00022 case kTemplateRecord: return 0; break;
00023 default: return 11;
00024 }
00025 }
00026
00028 QString toString(RecordingType rectype)
00029 {
00030 switch (rectype)
00031 {
00032 case kSingleRecord:
00033 return QObject::tr("Single Record");
00034 case kTimeslotRecord:
00035 return QObject::tr("Record Daily");
00036 case kWeekslotRecord:
00037 return QObject::tr("Record Weekly");
00038 case kChannelRecord:
00039 return QObject::tr("Channel Record");
00040 case kAllRecord:
00041 return QObject::tr("Record All");
00042 case kFindOneRecord:
00043 return QObject::tr("Find One");
00044 case kFindDailyRecord:
00045 return QObject::tr("Find Daily");
00046 case kFindWeeklyRecord:
00047 return QObject::tr("Find Weekly");
00048 case kOverrideRecord:
00049 case kDontRecord:
00050 return QObject::tr("Override Recording");
00051 case kTemplateRecord:
00052 return QObject::tr("Template Recording");
00053 default:
00054 return QObject::tr("Not Recording");
00055 }
00056 }
00057
00059 QString toRawString(RecordingType rectype)
00060 {
00061 switch (rectype)
00062 {
00063 case kSingleRecord:
00064 return QString("Single Record");
00065 case kTimeslotRecord:
00066 return QString("Record Daily");
00067 case kWeekslotRecord:
00068 return QString("Record Weekly");
00069 case kChannelRecord:
00070 return QString("Channel Record");
00071 case kAllRecord:
00072 return QString("Record All");
00073 case kFindOneRecord:
00074 return QString("Find One");
00075 case kFindDailyRecord:
00076 return QString("Find Daily");
00077 case kFindWeeklyRecord:
00078 return QString("Find Weekly");
00079 case kOverrideRecord:
00080 case kDontRecord:
00081 return QString("Override Recording");
00082 default:
00083 return QString("Not Recording");
00084 }
00085 }
00086
00087 RecordingType recTypeFromString(QString type)
00088 {
00089 if (type.toLower() == "not recording" || type.toLower() == "not")
00090 return kNotRecording;
00091 if (type.toLower() == "single record" || type.toLower() == "single")
00092 return kSingleRecord;
00093 else if (type.toLower() == "record daily" || type.toLower() == "daily")
00094 return kTimeslotRecord;
00095 else if (type.toLower() == "record weekly" || type.toLower() == "weekly")
00096 return kWeekslotRecord;
00097 else if (type.toLower() == "channel record" || type.toLower() == "channel")
00098 return kChannelRecord;
00099 else if (type.toLower() == "record all" || type.toLower() == "all")
00100 return kAllRecord;
00101 else if (type.toLower() == "find one" || type.toLower() == "findone")
00102 return kFindOneRecord;
00103 else if (type.toLower() == "find daily" || type.toLower() == "finddaily")
00104 return kFindDailyRecord;
00105 else if (type.toLower() == "find weekly" || type.toLower() == "findweekly")
00106 return kFindWeeklyRecord;
00107 else if (type.toLower() == "template" || type.toLower() == "template")
00108 return kTemplateRecord;
00109 else if (type.toLower() == "override recording" || type.toLower() == "override")
00110 return kOverrideRecord;
00111 else
00112 return kDontRecord;
00113 }
00114
00116 QChar toQChar(RecordingType rectype)
00117 {
00118 QString ret;
00119 switch (rectype)
00120 {
00121 case kSingleRecord:
00122 ret = QObject::tr("S", "RecTypeChar kSingleRecord"); break;
00123 case kTimeslotRecord:
00124 ret = QObject::tr("T", "RecTypeChar kTimeslotRecord"); break;
00125 case kWeekslotRecord:
00126 ret = QObject::tr("W", "RecTypeChar kWeekslotRecord"); break;
00127 case kChannelRecord:
00128 ret = QObject::tr("C", "RecTypeChar kChannelRecord"); break;
00129 case kAllRecord:
00130 ret = QObject::tr("A", "RecTypeChar kAllRecord"); break;
00131 case kFindOneRecord:
00132 ret = QObject::tr("F", "RecTypeChar kFindOneRecord"); break;
00133 case kFindDailyRecord:
00134 ret = QObject::tr("d", "RecTypeChar kFindDailyRecord"); break;
00135 case kFindWeeklyRecord:
00136 ret = QObject::tr("w", "RecTypeChar kFindWeeklyRecord"); break;
00137 case kOverrideRecord:
00138 case kDontRecord:
00139 ret = QObject::tr("O", "RecTypeChar kOverrideRecord/kDontRecord");
00140 break;
00141 case kTemplateRecord:
00142 ret = QObject::tr("t", "RecTypeChar kTemplateRecord"); break;
00143 case kNotRecording:
00144 default:
00145 ret = " ";
00146 }
00147 return (ret.isEmpty()) ? QChar(' ') : ret[0];
00148 }
00149
00150 QString toRawString(RecordingDupInType recdupin)
00151 {
00152 switch (recdupin)
00153 {
00154 case kDupsInRecorded:
00155 return QString("Current Recordings");
00156 case kDupsInOldRecorded:
00157 return QString("Previous Recordings");
00158 case kDupsInAll:
00159 return QString("All Recordings");
00160 case kDupsNewEpi:
00161 return QString("New Episodes Only");
00162 default:
00163 return QString("Unknown");
00164 }
00165 }
00166
00167 RecordingDupInType dupInFromString(QString type)
00168 {
00169 if (type.toLower() == "current recordings" || type.toLower() == "current")
00170 return kDupsInRecorded;
00171 else if (type.toLower() == "previous recordings" || type.toLower() == "previous")
00172 return kDupsInOldRecorded;
00173 else if (type.toLower() == "all recordings" || type.toLower() == "all")
00174 return kDupsInAll;
00175 else if (type.toLower() == "new episodes only" || type.toLower() == "new")
00176 return kDupsNewEpi;
00177 else
00178 return kDupsInAll;
00179 }
00180
00181 QString toRawString(RecordingDupMethodType duptype)
00182 {
00183 switch (duptype)
00184 {
00185 case kDupCheckNone:
00186 return QString("None");
00187 case kDupCheckSub:
00188 return QString("Subtitle");
00189 case kDupCheckDesc:
00190 return QString("Description");
00191 case kDupCheckSubDesc:
00192 return QString("Subtitle and Description");
00193 case kDupCheckSubThenDesc:
00194 return QString("Subtitle then Description");
00195 default:
00196 return QString("Unknown");
00197 }
00198 }
00199
00200 RecordingDupMethodType dupMethodFromString(QString type)
00201 {
00202 if (type.toLower() == "none")
00203 return kDupCheckNone;
00204 else if (type.toLower() == "subtitle")
00205 return kDupCheckSub;
00206 else if (type.toLower() == "description")
00207 return kDupCheckDesc;
00208 else if (type.toLower() == "subtitle and description" || type.toLower() == "subtitleanddescription")
00209 return kDupCheckSubDesc;
00210 else if (type.toLower() == "subtitle then description" || type.toLower() == "subtitlethendescription")
00211 return kDupCheckSubThenDesc;
00212 else
00213 return kDupCheckSubDesc;
00214 }
00215
00216 QString toRawString(RecSearchType searchtype)
00217 {
00218 switch (searchtype)
00219 {
00220 case kNoSearch:
00221 return QString("None");
00222 case kPowerSearch:
00223 return QString("Power Search");
00224 case kTitleSearch:
00225 return QString("Title Search");
00226 case kKeywordSearch:
00227 return QString("Keyword Search");
00228 case kPeopleSearch:
00229 return QString("People Search");
00230 case kManualSearch:
00231 return QString("Manual Search");
00232 default:
00233 return QString("Unknown");
00234 }
00235 }
00236
00237 RecSearchType searchTypeFromString(QString type)
00238 {
00239 if (type.toLower() == "none")
00240 return kNoSearch;
00241 else if (type.toLower() == "power search" || type.toLower() == "power")
00242 return kPowerSearch;
00243 else if (type.toLower() == "title search" || type.toLower() == "title")
00244 return kTitleSearch;
00245 else if (type.toLower() == "keyword search" || type.toLower() == "keyword")
00246 return kKeywordSearch;
00247 else if (type.toLower() == "people search" || type.toLower() == "people")
00248 return kPeopleSearch;
00249 else if (type.toLower() == "manual search" || type.toLower() == "manual")
00250 return kManualSearch;
00251 else
00252 return kNoSearch;
00253 }