11 #include <QCoreApplication>
20 #include <QFontDatabase>
23 #include "mythconfig.h"
38 #include "mythconfig.h"
44 #if defined(Q_OS_MACX)
51 gc->
setLabel(QObject::tr(
"Extra audio buffering"));
53 gc->
setHelpText(QObject::tr(
"Enable this setting if MythTV is playing "
54 "\"crackly\" audio. This setting affects digital tuners "
55 "(QAM/DVB/ATSC) and hardware encoders. It will have no "
56 "effect on framegrabbers (MPEG-4/RTJPEG). MythTV will "
57 "keep extra audio data in its internal buffers to "
58 "workaround this bug."));
65 gc->
setLabel(QObject::tr(
"PIP video location"));
68 gc->
setHelpText(QObject::tr(
"Location of PIP Video window."));
75 gc->
setLabel(QObject::tr(
"Default group filter to apply"));
77 gc->
addSelection(QObject::tr(
"All Programs"), QString(
"All Programs"));
78 gc->
addSelection(QObject::tr(
"Default"), QString(
"Default"));
81 query.
prepare(
"SELECT DISTINCT recgroup from recorded;");
87 if (query.
value(0).toString() !=
"Default")
89 QString recgroup = query.
value(0).toString();
95 query.
prepare(
"SELECT DISTINCT category from recorded;");
101 QString key = query.
value(0).toString();
106 gc->
setHelpText(QObject::tr(
"Default group filter to apply "
107 "on the View Recordings screen."));
114 gc->
setLabel(QObject::tr(
"Always prompt for initial group filter"));
116 gc->
setHelpText(QObject::tr(
"If enabled, always prompt the user for the "
117 "initial filter to apply when entering the "
118 "Watch Recordings screen."));
125 gc->
setLabel(QObject::tr(
"Save current group filter when changed"));
127 gc->
setHelpText(QObject::tr(
"If enabled, remember the last selected filter "
128 "instead of displaying the default filter "
129 "whenever you enter the playback screen."));
136 gc->
setLabel(QObject::tr(
"Start in group list"));
138 gc->
setHelpText(QObject::tr(
"If enabled, the focus will "
139 "start on the group list, otherwise the "
140 "focus will default to the recordings."));
147 gc->
setLabel(QObject::tr(
"Smart fast forwarding"));
149 gc->
setHelpText(QObject::tr(
"If enabled, then immediately after "
150 "rewinding, only skip forward the same amount as "
151 "skipping backwards."));
158 bc->
setLabel(QObject::tr(
"Commercial detection method"));
160 "This determines the method used by MythTV to "
161 "detect when commercials start and end."));
164 for (
uint i = 0; i < tmp.size(); ++i)
173 gc->
setLabel(QObject::tr(
"Enable experimental speedup of commercial detection"));
175 gc->
setHelpText(QObject::tr(
"If enabled, experimental commercial detection "
176 "speedups will be enabled."));
183 gc->
setLabel(QObject::tr(
"Automatically skip commercials"));
185 gc->
addSelection(QObject::tr(
"Notify, but do not skip"),
"2");
186 gc->
addSelection(QObject::tr(
"Automatically Skip"),
"1");
187 gc->
setHelpText(QObject::tr(
"Automatically skip commercial breaks that "
188 "have been flagged during automatic commercial detection "
189 "or by the mythcommflag program, or just notify that a "
190 "commercial has been detected."));
197 gs->
setLabel(QObject::tr(
"Deferral days for auto transcode jobs"));
198 gs->
setHelpText(QObject::tr(
"If non-zero, automatic transcode jobs will "
199 "be scheduled to run this many days after a recording "
200 "completes instead of immediately afterwards."));
208 bc->
setLabel(QObject::tr(
"Strict commercial detection"));
210 bc->
setHelpText(QObject::tr(
"Enable stricter commercial detection code. "
211 "Disable if some commercials are not being detected."));
218 gs->
setLabel(QObject::tr(
"Commercial skip automatic rewind amount (secs)"));
219 gs->
setHelpText(QObject::tr(
"MythTV will automatically rewind "
220 "this many seconds after performing a commercial skip."));
228 gs->
setLabel(QObject::tr(
"Commercial skip notify amount (secs)"));
229 gs->
setHelpText(QObject::tr(
"MythTV will act like a commercial "
230 "begins this many seconds early. This can be useful "
231 "when commercial notification is used in place of "
232 "automatic skipping."));
240 bs->
setLabel(QObject::tr(
"Maximum commercial skip (secs)"));
241 bs->
setHelpText(QObject::tr(
"MythTV will discourage long manual commercial "
242 "skips. Skips which are longer than this will require the "
243 "user to hit the SKIP key twice. Automatic commercial "
244 "skipping is not affected by this limit."));
252 bs->
setLabel(QObject::tr(
"Merge short commercial breaks (secs)"));
253 bs->
setHelpText(QObject::tr(
"Treat consecutive commercial breaks shorter "
254 "than this as one break when skipping forward. Useful if "
255 "you have to skip a few times during breaks. Applies to "
256 "automatic skipping as well. Set to 0 to disable."));
264 bs->
setLabel(QObject::tr(
"Extra disk space (GB)"));
265 bs->
setHelpText(QObject::tr(
"Extra disk space (in gigabytes) beyond what "
266 "MythTV requires that you want to keep free on the "
267 "recording file systems."));
276 cb->
setLabel(QObject::tr(
"Auto-Expire instead of delete recording"));
278 cb->
setHelpText(QObject::tr(
"If enabled, move deleted recordings to the "
279 "'Deleted' recgroup and turn on autoexpire "
280 "instead of deleting immediately."));
288 bs->
setLabel(QObject::tr(
"Time to retain deleted recordings (days)"));
289 bs->
setHelpText(QObject::tr(
"Determines the maximum number of days before "
290 "undeleting a recording will become impossible. "
291 "A value of zero means the recording will be "
292 "permanently deleted between 5 and 20 minutes "
293 "later. A value of minus one means recordings "
294 "will be retained until space is required. "
295 "A recording will always be removed before this "
296 "time if the space is needed for a new recording."));
308 setLabel(QObject::tr(
"DeletedExpireOptions"));
327 bc->
setLabel(QObject::tr(
"Auto-Expire method"));
328 bc->
addSelection(QObject::tr(
"Oldest show first"),
"1");
329 bc->
addSelection(QObject::tr(
"Lowest priority first"),
"2");
330 bc->
addSelection(QObject::tr(
"Weighted time/priority combination"),
"3");
331 bc->
setHelpText(QObject::tr(
"Method used to determine which recorded "
332 "shows to delete first. Live TV recordings will always "
333 "expire before normal recordings."));
341 bc->
setLabel(QObject::tr(
"Watched before unwatched"));
343 bc->
setHelpText(QObject::tr(
"If enabled, programs that have been marked as "
344 "watched will be expired before programs that have not "
352 bs->
setLabel(QObject::tr(
"Priority weight"));
353 bs->
setHelpText(QObject::tr(
"The number of days bonus a program gets for "
354 "each priority point. This is only used when the Weighted "
355 "time/priority Auto-Expire method is selected."));
363 bs->
setLabel(QObject::tr(
"Live TV max age (days)"));
364 bs->
setHelpText(QObject::tr(
"Auto-Expire will force expiration of Live "
365 "TV recordings when they are this many days old. Live TV "
366 "recordings may also be expired early if necessary to "
367 "free up disk space."));
377 bs->
setLabel(QObject::tr(
"New recording free disk space threshold "
379 bs->
setHelpText(QObject::tr(
"MythTV will stop scheduling new recordings on "
380 "a backend when its free disk space (in megabytes) falls "
381 "below this value."));
390 bc->
setLabel(QObject::tr(
"Re-record watched"));
392 bc->
setHelpText(QObject::tr(
"If enabled, programs that have been marked as "
393 "watched and are Auto-Expired will be re-recorded if "
394 "they are shown again."));
401 bs->
setLabel(QObject::tr(
"Time to record before start of show "
403 bs->
setHelpText(QObject::tr(
"This global setting allows the recorder "
404 "to start before the scheduled start time. It does "
405 "not affect the scheduler. It is ignored when two shows "
406 "have been scheduled without enough time in between."));
414 bs->
setLabel(QObject::tr(
"Time to record past end of show (secs)"));
416 bs->
setHelpText(QObject::tr(
"This global setting allows the recorder "
417 "to record beyond the scheduled end time. It does "
418 "not affect the scheduler. It is ignored when two shows "
419 "have been scheduled without enough time in between."));
426 gc->
setLabel(QObject::tr(
"Category of shows to be extended"));
427 gc->
setHelpText(QObject::tr(
"For a special category (e.g. "
428 "\"Sports event\"), request that shows be autoextended. "
429 "Only works if a show's category can be determined."));
432 query.
prepare(
"SELECT DISTINCT category FROM program GROUP BY category;");
439 QString key = query.
value(0).toString();
440 if (!key.trimmed().isEmpty())
452 bs->
setLabel(QObject::tr(
"Record past end of show (mins)"));
454 bs->
setHelpText(QObject::tr(
"For the specified category, an attempt "
455 "will be made to extend the recording by the specified "
456 "number of minutes. It is ignored when two shows have "
457 "been scheduled without enough time in-between."));
466 vcg->
setLabel(QObject::tr(
"Category record over-time"));
475 if (str.length() >
len)
476 return str.mid(0, len - 5) +
" . . . ";
480 static QString
pad(
const QString &str,
int len)
484 while (tmp.length() + 4 <
len)
487 while (tmp.length() <
len)
496 setLabel(QObject::tr(
"Profile Item"));
518 for (
uint i = 0; i < 2; ++i)
520 const QString kCMP[6] = {
"",
"<",
"<=",
"==",
">=",
">" };
521 for (
uint j = 0; j < 6; ++j)
522 cmp[i]->addSelection(kCMP[j]);
525 width[i]->setName(QString(
"w%1").arg(i));
526 width[i]->setLabel(tr(
"W",
"Width"));
551 tr(
"Maximum number of CPU cores used for video decoding and filtering.") +
553 tr(
" Multithreaded decoding disabled-only one CPU "
554 "will be used, please recompile with "
555 "--enable-ffmpeg-pthreads to enable.")));
558 QObject::tr(
"Example custom filter list: 'ivtc,denoise3d'"));
561 tr(
"When unchecked the deblocking loopfilter will be disabled ") +
"\n" +
562 tr(
"Disabling will significantly reduce the load on the CPU "
563 "when watching HD H.264 but may significantly reduce video quality."));
566 tr(
"When unchecked the OSD will not fade away but instead "
567 "will disappear abruptly.") +
'\n' +
568 tr(
"Uncheck this if the video studders while the OSD is "
593 connect(
decoder, SIGNAL(valueChanged(
const QString&)),
595 connect(
vidrend, SIGNAL(valueChanged(
const QString&)),
597 connect(
osdrend, SIGNAL(valueChanged(
const QString&)),
599 connect(
deint0, SIGNAL(valueChanged(
const QString&)),
601 connect(
deint1, SIGNAL(valueChanged(
const QString&)),
607 for (
uint i = 0; i < 2; ++i)
609 QString pcmp =
item.
Get(QString(
"pref_cmp%1").arg(i));
610 QStringList clist = pcmp.split(
" ");
612 if (clist.size() == 0)
613 clist<<((i) ?
"" :
">");
614 if (clist.size() == 1)
616 if (clist.size() == 2)
620 width[i]->setValue(clist[1].toInt());
624 QString pdecoder =
item.
Get(
"pref_decoder");
625 QString pmax_cpus =
item.
Get(
"pref_max_cpus");
626 QString pskiploop =
item.
Get(
"pref_skiploop");
627 QString prenderer =
item.
Get(
"pref_videorenderer");
628 QString posd =
item.
Get(
"pref_osdrenderer");
629 QString posdfade =
item.
Get(
"pref_osdfade");
630 QString pdeint0 =
item.
Get(
"pref_deint0");
631 QString pdeint1 =
item.
Get(
"pref_deint1");
632 QString pfilter =
item.
Get(
"pref_filters");
638 QStringList::const_iterator itr = decr.begin();
639 QStringList::const_iterator itn = decn.begin();
640 for (; (itr != decr.end()) && (itn != decn.end()); ++itr, ++itn)
643 found |= (*itr == pdecoder);
645 if (!found && !pdecoder.isEmpty())
647 decoder->SelectSetting::addSelection(
652 if (!pmax_cpus.isEmpty())
655 skiploop->
setValue((!pskiploop.isEmpty()) ? (
bool) pskiploop.toInt() :
true);
657 if (!prenderer.isEmpty())
662 osdfade->
setValue((!posdfade.isEmpty()) ? (
bool) posdfade.toInt() :
true);
664 if (!pdeint0.isEmpty())
666 if (!pdeint1.isEmpty())
668 if (!pfilter.isEmpty())
674 for (
uint i = 0; i < 2; ++i)
676 QString val = QString(
"pref_cmp%1").arg(i);
678 if (!
cmp[i]->getValue().isEmpty())
680 data = QString(
"%1 %2 %3")
681 .arg(
cmp[i]->getValue())
682 .arg(
width[i]->intValue())
683 .arg(
height[i]->intValue());
700 item.
Set(
"pref_filters", tmp3);
707 QStringList::const_iterator it;
710 for (it = renderers.begin(); it != renderers.end(); ++it)
711 prenderer = (*it == vrenderer) ? vrenderer : prenderer;
712 if (prenderer.isEmpty())
716 for (it = renderers.begin(); it != renderers.end(); ++it)
718 if ((*it !=
"null") && (*it !=
"nullvaapi") && (*it !=
"nullvdpau"))
732 QStringList::const_iterator it;
735 for (it = osds.begin(); it != osds.end(); ++it)
739 for (it = deints.begin(); it != deints.end(); ++it)
742 *it, (*it == ldeint0));
746 for (it = deints.begin(); it != deints.end(); ++it)
748 if (!(*it).contains(
"bobdeint") && !(*it).contains(
"doublerate") &&
749 !(*it).contains(
"doubleprocess"))
751 *it, (*it == ldeint1));
766 QObject::tr(
"Main deinterlacing method.") +
' ' +
773 QObject::tr(
"Fallback deinterlacing method.") +
' ' +
779 profile_name(profilename), needs_save(
false),
780 groupid(0), last_main(NULL)
799 QString andStr = QObject::tr(
"&",
"and");
800 QString cmp0 =
items[i].Get(
"pref_cmp0");
801 QString cmp1 =
items[i].Get(
"pref_cmp1");
802 QString str = QObject::tr(
"if rez") +
' ' + cmp0;
805 str +=
" " + andStr +
' ' + cmp1;
808 str +=
items[i].Get(
"pref_decoder");
809 str +=
" " + andStr +
' ';
810 str +=
items[i].Get(
"pref_videorenderer");
811 str.replace(
"-blit",
"");
812 str.replace(
"ivtv " + andStr +
" ivtv",
"ivtv");
813 str.replace(
"xvmc " + andStr +
" xvmc",
"xvmc");
814 str.replace(
"xvmc",
"XvMC");
815 str.replace(
"xv",
"XVideo");
853 priority[i]->setName(QString(
"pri%1").arg(i));
855 editProf[i]->setLabel(QObject::tr(
"Edit"));
856 delProf[i]->setLabel(QObject::tr(
"Delete"));
858 items[i].Set(
"pref_priority", QString::number(i + 1));
865 this, SLOT (
pressed(QString)));
867 this, SLOT (
pressed(QString)));
878 addEntry->
setLabel(QObject::tr(
"Add New Entry"));
883 connect(addEntry, SIGNAL(
pressed(QString)),
884 this, SLOT (
pressed(QString)));
907 LOG(VB_GENERAL, LOG_ERR,
908 "PlaybackProfileConfig::Save() -- failed to delete items");
915 LOG(VB_GENERAL, LOG_ERR,
916 "PlaybackProfileConfig::Save() -- failed to save items");
923 if (cmd.startsWith(
"edit"))
925 uint i = cmd.mid(4).toUInt();
929 LOG(VB_GENERAL, LOG_ERR, QString(
"edit #%1").arg(i) +
" rejected");
934 else if (cmd.startsWith(
"del"))
936 uint i = cmd.mid(3).toUInt();
943 else if (cmd ==
"addentry")
949 LOG(VB_GENERAL, LOG_ERR,
"addentry rejected");
951 items.push_back(item);
961 uint i = name.mid(3).toInt();
964 priority[i]->SetRelayEnabled(
false);
966 if (((
int)
items[i].GetPriority() < val) &&
968 ((
int)
items[i+1].GetPriority() == val))
971 priority[j]->SetRelayEnabled(
false);
976 else if (((
int)
items[i].GetPriority() > val) &&
978 ((
int)
items[i-1].GetPriority() == val))
981 priority[j]->SetRelayEnabled(
false);
1003 int pri_i =
items[i].GetPriority();
1004 int pri_j =
items[j].GetPriority();
1013 items[i].Set(
"pref_priority", QString::number(pri_i));
1014 items[j].Set(
"pref_priority", QString::number(pri_j));
1016 const QString label_i =
labels[i]->getValue();
1017 const QString label_j =
labels[j]->getValue();
1018 labels[i]->setValue(label_j);
1019 labels[j]->setValue(label_i);
1026 setLabel(QObject::tr(
"Playback Profiles") + str);
1030 if (profiles.empty())
1035 if (profiles.empty())
1038 if (!profiles.contains(
"Normal") &&
1039 !profiles.contains(
"High Quality") &&
1040 !profiles.contains(
"Slim"))
1047 if (!profiles.contains(
"VDPAU Normal") &&
1048 !profiles.contains(
"VDPAU High Quality") &&
1049 !profiles.contains(
"VDPAU Slim"))
1056 #if defined(Q_OS_MACX)
1059 if (!profiles.contains(
"VDA Normal") &&
1060 !profiles.contains(
"VDA High Quality") &&
1061 !profiles.contains(
"VDA Slim"))
1069 #ifdef USING_OPENGL_VIDEO
1070 if (!profiles.contains(
"OpenGL Normal") &&
1071 !profiles.contains(
"OpenGL High Quality") &&
1072 !profiles.contains(
"OpenGL Slim"))
1079 #ifdef USING_GLVAAPI
1080 if (!profiles.contains(
"VAAPI Normal"))
1088 if (!profiles.contains(profile))
1090 profile = (profiles.contains(
"Normal")) ?
"Normal" : profiles[0];
1096 QStringList::const_iterator it;
1097 for (it = profiles.begin(); it != profiles.end(); ++it)
1105 addProf->
setLabel(QObject::tr(
"Add New"));
1106 delProf->
setLabel(QObject::tr(
"Delete"));
1115 for (it = profiles.begin(); it != profiles.end(); ++it)
1119 connect(addProf, SIGNAL(pressed( QString)),
1121 connect(delProf, SIGNAL(pressed( QString)),
1128 LOG(VB_GENERAL, LOG_DEBUG,
"~PlaybackProfileConfigs()");
1144 QString msg = QObject::tr(
"Enter Playback Group Name");
1152 if (not_ok_list.contains(name) || name.isEmpty())
1154 msg = (name.isEmpty()) ?
1156 "Sorry, playback group\nname cannot be blank.") :
1158 "Sorry, playback group name\n"
1159 "'%1' is already being used.").arg(name);
1179 if (!name.isEmpty())
1199 QObject::tr(
"Sort all sub-titles/multi-titles Ascending"),
1200 QObject::tr(
"Sort all sub-titles/multi-titles Descending"),
1201 QObject::tr(
"Sort sub-titles Descending, multi-titles Ascending"),
1202 QObject::tr(
"Sort sub-titles Ascending, multi-titles Descending"),
1204 QString
help = QObject::tr(
1205 "Selects how to sort show episodes. Sub-titles refers to the "
1206 "episodes listed under a specific show title. Multi-title "
1207 "refers to sections (e.g. \"All Programs\") which list "
1208 "multiple titles. Sections in parentheses are not affected.");
1211 gc->
setLabel(QObject::tr(
"Episode sort orderings"));
1213 for (
int i = 0; i < 4; ++i)
1225 gc->
setLabel(QObject::tr(
"Sort episodes"));
1227 gc->
addSelection(QObject::tr(
"Season/Episode"),
"Season");
1228 gc->
addSelection(QObject::tr(
"Original air date"),
"OrigAirDate");
1230 gc->
setHelpText(QObject::tr(
"Selects how to sort a show's episodes"));
1237 gs->
setLabel(QObject::tr(
"Fast forward/rewind reposition amount"));
1239 gs->
setHelpText(QObject::tr(
"When exiting sticky keys fast forward/rewind "
1240 "mode, reposition this many 1/100th seconds before "
1241 "resuming normal playback. This "
1242 "compensates for the reaction time between seeing "
1243 "where to resume playback and actually exiting seeking."));
1250 gc->
setLabel(QObject::tr(
"Reverse direction in fast forward/rewind"));
1252 gc->
setHelpText(QObject::tr(
"If enabled, pressing the sticky rewind key "
1253 "in fast forward mode switches to rewind mode, and "
1254 "vice versa. If disabled, it will decrease the "
1255 "current speed or switch to play mode if "
1256 "the speed can't be decreased further."));
1263 gc->
setLabel(QObject::tr(
"Menu theme"));
1267 QList<ThemeInfo>::iterator it;
1268 for( it = themelist.begin(); it != themelist.end(); ++it )
1270 gc->
addSelection((*it).GetName(), (*it).GetDirectoryName(),
1271 (*it).GetDirectoryName() ==
"defaultmenu");
1280 QString fmt = beVBI.toLower().left(4);
1281 int sel = (fmt ==
"pal ") ? 1 : ((fmt ==
"ntsc") ? 2 : 0);
1284 gc->
setLabel(QObject::tr(
"Decode VBI format"));
1285 gc->
addSelection(QObject::tr(
"None"),
"none", 0 == sel);
1286 gc->
addSelection(QObject::tr(
"PAL teletext"),
"pal_txt", 1 == sel);
1287 gc->
addSelection(QObject::tr(
"NTSC closed caption"),
"ntsc_cc", 2 == sel);
1289 QObject::tr(
"If enabled, this overrides the mythtv-setup setting "
1290 "used during recording when decoding captions."));
1299 gc->
setLabel(QObject::tr(
"Subtitle Codec"));
1300 QList<QByteArray> list = QTextCodec::availableCodecs();
1301 for (
uint i = 0; i < (
uint) list.size(); ++i)
1303 QString val = QString(list[i]);
1313 gc->
setLabel(QObject::tr(
"Channel ordering"));
1314 gc->
addSelection(QObject::tr(
"channel number"),
"channum");
1322 gs->
setLabel(QObject::tr(
"Vertical scaling"));
1325 "Adjust this if the image does not fill your "
1326 "screen vertically. Range -100% to 100%"));
1333 gs->
setLabel(QObject::tr(
"Horizontal scaling"));
1336 "Adjust this if the image does not fill your "
1337 "screen horizontally. Range -100% to 100%"));
1344 gs->
setLabel(QObject::tr(
"Scan displacement (X)"));
1346 gs->
setHelpText(QObject::tr(
"Adjust this to move the image horizontally."));
1353 gs->
setLabel(QObject::tr(
"Scan displacement (Y)"));
1355 gs->
setHelpText(QObject::tr(
"Adjust this to move the image vertically."));
1362 gc->
setLabel(QObject::tr(
"Always display closed captioning or subtitles"));
1365 "If enabled, captions will be displayed "
1366 "when playing back recordings or watching "
1367 "Live TV. Closed Captioning can be turned on or off "
1368 "by pressing \"T\" during playback."));
1375 gc->
setLabel(QObject::tr(
"Enable interactive TV"));
1378 "If enabled, interactive TV applications (MHEG) will "
1379 "be activated. This is used for teletext and logos for "
1380 "radio and channels that are currently off-air."));
1387 gc->
setLabel(QObject::tr(
"Always use browse mode in Live TV"));
1391 "If enabled, browse mode will automatically be activated "
1392 "whenever you use channel up/down while watching Live TV."));
1399 gc->
setLabel(QObject::tr(
"Browse all channels"));
1403 "If enabled, browse mode will show channels on all "
1404 "available recording devices, instead of showing "
1405 "channels on just the current recorder."));
1412 gc->
setLabel(QObject::tr(
"Clear bookmark on playback"));
1414 gc->
setHelpText(QObject::tr(
"If enabled, automatically clear the "
1415 "bookmark on a recording when the recording is played "
1416 "back. If disabled, you can mark the beginning with "
1417 "rewind then save position."));
1424 gc->
setLabel(QObject::tr(
"Alternate clear and save bookmark"));
1426 gc->
setHelpText(QObject::tr(
"During playback the SELECT key "
1427 "(Enter or Space) will alternate between \"Bookmark "
1428 "Saved\" and \"Bookmark Cleared\". If disabled, the "
1429 "SELECT key will save the current position for each "
1437 gc->
setLabel(QObject::tr(
"Action on playback exit"));
1439 gc->
addSelection(QObject::tr(
"Save position and exit"),
"2");
1440 gc->
addSelection(QObject::tr(
"Always prompt (excluding Live TV)"),
"1");
1441 gc->
addSelection(QObject::tr(
"Always prompt (including Live TV)"),
"4");
1442 gc->
addSelection(QObject::tr(
"Prompt for Live TV only"),
"8");
1443 gc->
setHelpText(QObject::tr(
"If set to prompt, a menu will be displayed "
1444 "when you exit playback mode. The options available will "
1445 "allow you to save your position, delete the "
1446 "recording, or continue watching."));
1453 gc->
setLabel(QObject::tr(
"Prompt at end of recording"));
1455 gc->
setHelpText(QObject::tr(
"If enabled, a menu will be displayed allowing "
1456 "you to delete the recording when it has finished "
1464 gc->
setLabel(QObject::tr(
"Jump to program OSD"));
1467 "Set the choice between viewing the current "
1468 "recording group in the OSD, or showing the "
1469 "'Watch Recording' screen when 'Jump to Program' "
1470 "is activated. If enabled, the recordings are shown "
1478 gc->
setLabel(QObject::tr(
"Continue playback when embedded"));
1481 "If enabled, TV playback continues when the TV window "
1482 "is embedded in the upcoming program list or recorded "
1483 "list. The default is to pause the recorded show when "
1491 gc->
setLabel(QObject::tr(
"Automatically mark a recording as watched"));
1493 gc->
setHelpText(QObject::tr(
"If enabled, when you exit near the end of a "
1494 "recording it will be marked as watched. The automatic "
1495 "detection is not foolproof, so do not enable this "
1496 "setting if you don't want an unwatched recording marked "
1504 gs->
setLabel(QObject::tr(
"Live TV idle timeout (mins)"));
1507 "Exit Live TV automatically if left idle for the "
1508 "specified number of minutes. "
1509 "0 disables the timeout."));
1541 gc->
setLabel(QObject::tr(
"Use line edit virtual keyboards"));
1543 gc->
setHelpText(QObject::tr(
"If enabled, you can use a virtual keyboard "
1544 "in MythTV's line edit boxes. To use, hit SELECT (Enter "
1545 "or Space) while a line edit is in focus."));
1552 gs->
setLabel(QObject::tr(
"Idle time before entering standby mode (minutes)"));
1554 gs->
setHelpText(QObject::tr(
"Number of minutes to wait when the frontend "
1555 "is idle before entering standby mode. Standby "
1556 "mode allows the backend to power down if "
1557 "configured to do so. Any remote or mouse input "
1558 "will cause the countdown to start again and/or "
1559 "exit idle mode. Video playback suspends the "
1560 "countdown. A value of zero prevents the "
1561 "frontend automatically entering standby."));
1568 gc->
setLabel(QObject::tr(
"Customize exit menu options"));
1571 gc->
addSelection(QObject::tr(
"Show quit and shutdown"),
"2");
1572 gc->
addSelection(QObject::tr(
"Show quit, reboot and shutdown"),
"3");
1575 gc->
addSelection(QObject::tr(
"Show reboot and shutdown"),
"6");
1576 gc->
setHelpText(QObject::tr(
"By default, only remote frontends are shown "
1577 "the shutdown option on the exit menu. Here you can force "
1578 "specific shutdown and reboot options to be displayed."));
1585 ge->
setLabel(QObject::tr(
"Reboot command"));
1587 ge->
setHelpText(QObject::tr(
"Optional. Script to run if you select "
1588 "the reboot option from the exit menu, if the option "
1589 "is displayed. You must configure an exit key to "
1590 "display the exit menu."));
1597 ge->
setLabel(QObject::tr(
"Halt command"));
1599 ge->
setHelpText(QObject::tr(
"Optional. Script to run if you select "
1600 "the shutdown option from the exit menu, if the option "
1601 "is displayed. You must configure an exit key to "
1602 "display the exit menu."));
1609 ge->
setLabel(QObject::tr(
"LIRC daemon socket"));
1612 QString lirc_socket =
"/dev/lircd";
1614 lirc_socket =
"/var/run/lirc/lircd";
1616 QString
help = QObject::tr(
1617 "UNIX socket or IP address[:port] to connect in "
1618 "order to communicate with the LIRC Daemon.");
1626 ge->
setLabel(QObject::tr(
"Screen shot path"));
1628 ge->
setHelpText(QObject::tr(
"Path to screenshot storage location. Should be writable by the frontend"));
1635 ge->
setLabel(QObject::tr(
"Setup PIN code"));
1636 ge->
setHelpText(QObject::tr(
"This PIN is used to control access to the "
1637 "setup menus. If you want to use this feature, then "
1638 "setting the value to all numbers will make your life "
1639 "much easier. Set it to blank to disable."
1640 "If enabled, you will not be able to return "
1641 "to this screen and reset the Setup PIN without first "
1642 "entering the current PIN."));
1650 for (
int i=0; i<num; ++i)
1651 gc->
addSelection(QString::number(i), QString::number(i));
1652 gc->
addSelection(QObject::tr(
"All"), QString::number(-1));
1653 gc->
setLabel(QObject::tr(
"Display on screen"));
1655 gc->
setHelpText(QObject::tr(
"Run on the specified screen or "
1656 "spanning all screens."));
1664 gc->
setLabel(QObject::tr(
"Monitor aspect ratio"));
1669 "The aspect ratio of a Xinerama display cannot be "
1670 "queried from the display, so it must be specified."));
1677 gc->
setLabel(QObject::tr(
"Letterboxing color"));
1682 "By default MythTV uses black letterboxing to match broadcaster "
1683 "letterboxing, but those with plasma screens may prefer gray "
1684 "to minimize burn-in.") +
" " +
1685 QObject::tr(
"Currently only works with XVideo video renderer."));
1692 gc->
setLabel(QObject::tr(
"Video aspect override"));
1696 "When enabled, these will override the aspect "
1697 "ratio specified by any broadcaster for all "
1713 "When enabled, these will apply a predefined "
1714 "zoom to all video playback in MythTV."));
1723 gs->
setLabel(QObject::tr(
"GUI width (pixels)"));
1725 gs->
setHelpText(QObject::tr(
"The width of the GUI. Do not make the GUI "
1726 "wider than your actual screen resolution. Set to 0 to "
1727 "automatically scale to fullscreen."));
1734 gs->
setLabel(QObject::tr(
"GUI height (pixels)"));
1736 gs->
setHelpText(QObject::tr(
"The height of the GUI. Do not make the GUI "
1737 "taller than your actual screen resolution. Set to 0 to "
1738 "automatically scale to fullscreen."));
1745 gs->
setLabel(QObject::tr(
"GUI X offset"));
1747 gs->
setHelpText(QObject::tr(
"The horizontal offset where the GUI will be "
1748 "displayed. May only work if run in a window."));
1755 gs->
setLabel(QObject::tr(
"GUI Y offset"));
1757 gs->
setHelpText(QObject::tr(
"The vertical offset where the GUI will be "
1766 gs->
setLabel(QObject::tr(
"Display size - width"));
1768 gs->
setHelpText(QObject::tr(
"Horizontal size of the monitor or TV. Used "
1769 "to calculate the actual aspect ratio of the display. This "
1770 "will override the DisplaySize from the system."));
1777 gs->
setLabel(QObject::tr(
"Display size - height"));
1779 gs->
setHelpText(QObject::tr(
"Vertical size of the monitor or TV. Used "
1780 "to calculate the actual aspect ratio of the display. This "
1781 "will override the DisplaySize from the system."));
1789 gc->
setLabel(QObject::tr(
"Use GUI size for TV playback"));
1791 gc->
setHelpText(QObject::tr(
"If enabled, use the above size for TV, "
1792 "otherwise use full screen."));
1796 #if defined(USING_XRANDR) || CONFIG_DARWIN
1800 gc->
setLabel(QObject::tr(
"Separate video modes for GUI and TV playback"));
1802 gc->
setHelpText(QObject::tr(
"Switch X Window video modes for TV. "
1803 "Requires \"xrandr\" support."));
1811 gs->
setLabel((idx<1) ? QObject::tr(
"In X"):
"");
1814 gs->
setHelpText(QObject::tr(
"Horizontal resolution of video "
1815 "which needs a special output resolution."));
1823 gs->
setLabel((idx<1) ? QObject::tr(
"In Y"):
"");
1826 gs->
setHelpText(QObject::tr(
"Vertical resolution of video "
1827 "which needs a special output resolution."));
1836 gc->
setHelpText(QObject::tr(
"Resolution of screen "
1837 "when not watching a video."));
1840 for (
uint i=0; i<scr.size(); ++i)
1842 int w = scr[i].Width(), h = scr[i].Height();
1843 QString sel = QString(
"%1x%2").arg(w).arg(h);
1852 if ((w <= 0) || (h <= 0))
1853 (w = 640), (h = 480);
1858 gc->
setValue((i >= 0) ? i : scr.size()-1);
1866 QString dhelp = QObject::tr(
"Default screen resolution "
1867 "when watching a video.");
1868 QString ohelp = QObject::tr(
"Screen resolution when watching a "
1869 "video at a specific resolution.");
1871 QString qstr = (idx<0) ?
"TVVidModeResolution" :
1872 QString(
"TVVidModeResolution%1").arg(idx);
1874 QString lstr = (idx<0) ? QObject::tr(
"Video output") :
1875 ((idx<1) ? QObject::tr(
"Output") :
"");
1876 QString hstr = (idx<0) ? dhelp : ohelp;
1883 for (
uint i=0; i<scr.size(); ++i)
1885 QString sel = QString(
"%1x%2").arg(scr[i].Width()).arg(scr[i].Height());
1893 QString dhelp = QObject::tr(
"Default refresh rate "
1894 "when watching a video. "
1895 "Leave at \"Auto\" to automatically use the best available");
1896 QString ohelp = QObject::tr(
"Refresh rate when watching a "
1897 "video at a specific resolution. "
1898 "Leave at \"Auto\" to automatically use the best available");
1899 QString qstr = (idx<0) ?
"TVVidModeRefreshRate" :
1900 QString(
"TVVidModeRefreshRate%1").arg(idx);
1902 QString lstr = (idx<1) ? QObject::tr(
"Rate") :
"";
1903 QString hstr = (idx<0) ? dhelp : ohelp;
1914 QString dhelp = QObject::tr(
"Aspect ratio when watching a video.");
1915 QString ohelp = QObject::tr(
"Aspect ratio when watching a "
1916 "video at a specific resolution.");
1918 QString qstr = (idx<0) ?
"TVVidModeForceAspect" :
1919 QString(
"TVVidModeForceAspect%1").arg(idx);
1921 gc->
setLabel( (idx<1) ? QObject::tr(
"Aspect") :
"" );
1924 QString hstr = (idx<0) ? dhelp : ohelp;
1926 QObject::tr(
"Leave at \"Default\" to use ratio reported by "
1927 "the monitor. Set to 16:9 or 4:3 to "
1928 "force a specific aspect ratio."));
1941 setLabel(QObject::tr(
"Video Mode Settings"));
1958 rate, SLOT(ChangeResolution(
const QString&)));
1962 overrides->
setLabel(QObject::tr(
"Overrides for specific video sizes"));
1964 for (
int idx = 0; idx < 3; ++idx)
1974 rate, SLOT(ChangeResolution(
const QString&)));
1978 settings->
addChild(defaultsettings);
1990 gc->
setLabel(QObject::tr(
"Hide mouse cursor in MythTV"));
1992 gc->
setHelpText(QObject::tr(
"Toggles mouse cursor visibility for touchscreens. "
1993 "By default MythTV will auto-hide the cursor if the mouse doesn't "
1994 "move for a period, this setting disables the cursor entirely."));
2002 gc->
setLabel(QObject::tr(
"Use window border"));
2004 gc->
setHelpText(QObject::tr(
"Toggles between windowed and "
2005 "borderless operation."));
2013 gc->
setLabel(QObject::tr(
"Use fixed window size"));
2016 "If disabled, the video playback "
2017 "window can be resized"));
2025 gc->
setLabel(QObject::tr(
"Date format"));
2029 QObject::tr(
"Samples are shown using today's date.");
2031 if (sampdate.month() == sampdate.day())
2033 sampdate = sampdate.addDays(1);
2035 QObject::tr(
"Samples are shown using tomorrow's date.");
2040 gc->
addSelection(locale.toString(sampdate,
"ddd MMM d"),
"ddd MMM d");
2041 gc->
addSelection(locale.toString(sampdate,
"ddd d MMM"),
"ddd d MMM");
2042 gc->
addSelection(locale.toString(sampdate,
"ddd MMMM d"),
"ddd MMMM d");
2043 gc->
addSelection(locale.toString(sampdate,
"ddd d MMMM"),
"ddd d MMMM");
2044 gc->
addSelection(locale.toString(sampdate,
"dddd MMM d"),
"dddd MMM d");
2045 gc->
addSelection(locale.toString(sampdate,
"dddd d MMM"),
"dddd d MMM");
2046 gc->
addSelection(locale.toString(sampdate,
"MMM d"),
"MMM d");
2047 gc->
addSelection(locale.toString(sampdate,
"d MMM"),
"d MMM");
2048 gc->
addSelection(locale.toString(sampdate,
"MM/dd"),
"MM/dd");
2049 gc->
addSelection(locale.toString(sampdate,
"dd/MM"),
"dd/MM");
2050 gc->
addSelection(locale.toString(sampdate,
"MM.dd"),
"MM.dd");
2051 gc->
addSelection(locale.toString(sampdate,
"dd.MM"),
"dd.MM");
2052 gc->
addSelection(locale.toString(sampdate,
"M/d/yyyy"),
"M/d/yyyy");
2053 gc->
addSelection(locale.toString(sampdate,
"d/M/yyyy"),
"d/M/yyyy");
2054 gc->
addSelection(locale.toString(sampdate,
"MM.dd.yyyy"),
"MM.dd.yyyy");
2055 gc->
addSelection(locale.toString(sampdate,
"dd.MM.yyyy"),
"dd.MM.yyyy");
2056 gc->
addSelection(locale.toString(sampdate,
"yyyy-MM-dd"),
"yyyy-MM-dd");
2057 gc->
addSelection(locale.toString(sampdate,
"ddd MMM d yyyy"),
"ddd MMM d yyyy");
2058 gc->
addSelection(locale.toString(sampdate,
"ddd d MMM yyyy"),
"ddd d MMM yyyy");
2059 gc->
addSelection(locale.toString(sampdate,
"ddd yyyy-MM-dd"),
"ddd yyyy-MM-dd");
2060 QString jp_long = QString(
"dddd yyyy") + QChar(0x5E74) +
2061 "M" + QChar(0x6708) +
"d"+ QChar(0x65E5);
2062 gc->
addSelection(locale.toString(sampdate, jp_long), jp_long);
2063 QString jp_med = QString(
"dddd ") +
2064 "M" + QChar(0x6708) +
"d"+ QChar(0x65E5);
2065 gc->
addSelection(locale.toString(sampdate, jp_med), jp_med);
2066 gc->
setHelpText(QObject::tr(
"Your preferred date format.") +
' ' +
2074 gc->
setLabel(QObject::tr(
"Short date format"));
2078 QObject::tr(
"Samples are shown using today's date.");
2080 if (sampdate.month() == sampdate.day())
2082 sampdate = sampdate.addDays(1);
2084 QObject::tr(
"Samples are shown using tomorrow's date.");
2088 gc->
addSelection(locale.toString(sampdate,
"M/d"),
"M/d");
2089 gc->
addSelection(locale.toString(sampdate,
"d/M"),
"d/M");
2090 gc->
addSelection(locale.toString(sampdate,
"MM/dd"),
"MM/dd");
2091 gc->
addSelection(locale.toString(sampdate,
"dd/MM"),
"dd/MM");
2092 gc->
addSelection(locale.toString(sampdate,
"MM.dd"),
"MM.dd");
2093 gc->
addSelection(locale.toString(sampdate,
"dd.MM."),
"dd.MM.");
2094 gc->
addSelection(locale.toString(sampdate,
"M.d."),
"M.d.");
2095 gc->
addSelection(locale.toString(sampdate,
"d.M."),
"d.M.");
2096 gc->
addSelection(locale.toString(sampdate,
"MM-dd"),
"MM-dd");
2097 gc->
addSelection(locale.toString(sampdate,
"dd-MM"),
"dd-MM");
2098 gc->
addSelection(locale.toString(sampdate,
"MMM d"),
"MMM d");
2099 gc->
addSelection(locale.toString(sampdate,
"d MMM"),
"d MMM");
2100 gc->
addSelection(locale.toString(sampdate,
"ddd d"),
"ddd d");
2101 gc->
addSelection(locale.toString(sampdate,
"d ddd"),
"d ddd");
2102 gc->
addSelection(locale.toString(sampdate,
"ddd M/d"),
"ddd M/d");
2103 gc->
addSelection(locale.toString(sampdate,
"ddd d/M"),
"ddd d/M");
2104 gc->
addSelection(locale.toString(sampdate,
"M/d ddd"),
"M/d ddd");
2105 gc->
addSelection(locale.toString(sampdate,
"d/M ddd"),
"d/M ddd");
2106 QString jp = QString(
"M") + QChar(0x6708) +
"d" + QChar(0x65E5);
2108 gc->
setHelpText(QObject::tr(
"Your preferred short date format.") +
' ' +
2116 gc->
setLabel(QObject::tr(
"Time format"));
2118 QTime samptime = QTime::currentTime();
2122 gc->
addSelection(locale.toString(samptime,
"h:mm AP"),
"h:mm AP");
2123 gc->
addSelection(locale.toString(samptime,
"h:mm ap"),
"h:mm ap");
2124 gc->
addSelection(locale.toString(samptime,
"hh:mm AP"),
"hh:mm AP");
2125 gc->
addSelection(locale.toString(samptime,
"hh:mm ap"),
"hh:mm ap");
2126 gc->
addSelection(locale.toString(samptime,
"h:mm"),
"h:mm");
2127 gc->
addSelection(locale.toString(samptime,
"hh:mm"),
"hh:mm");
2128 gc->
addSelection(locale.toString(samptime,
"hh.mm"),
"hh.mm");
2129 gc->
addSelection(locale.toString(samptime,
"AP h:mm"),
"AP h:mm");
2130 gc->
setHelpText(QObject::tr(
"Your preferred time format. You must choose "
2131 "a format with \"AM\" or \"PM\" in it, otherwise your "
2132 "time display will be 24-hour or \"military\" time."));
2139 gc->
setLabel(QObject::tr(
"Paint engine"));
2143 gc->
addSelection(QObject::tr(
"OpenGL"), OPENGL_PAINTER);
2146 gc->
addSelection(QObject::tr(
"Direct3D"), D3D9_PAINTER);
2148 gc->
setHelpText(QObject::tr(
"This selects what MythTV uses to draw. "
2149 "Choosing 'Auto' is recommended, unless running on systems "
2150 "with broken OpenGL implementations (broken hardware or "
2151 "drivers or windowing systems) where only Qt works."));
2158 gc->
setLabel(QObject::tr(
"Channel format"));
2160 gc->
addSelection(QObject::tr(
"number callsign"),
"<num> <sign>");
2161 gc->
addSelection(QObject::tr(
"number name"),
"<num> <name>");
2164 gc->
setHelpText(QObject::tr(
"Your preferred channel format."));
2172 gc->
setLabel(QObject::tr(
"Long channel format"));
2174 gc->
addSelection(QObject::tr(
"number callsign"),
"<num> <sign>");
2175 gc->
addSelection(QObject::tr(
"number name"),
"<num> <name>");
2178 gc->
setHelpText(QObject::tr(
"Your preferred long channel format."));
2186 gc->
setLabel(QObject::tr(
"Remember last channel group"));
2187 gc->
setHelpText(QObject::tr(
"If enabled, the EPG will initially display "
2188 "only the channels from the last channel group selected. Pressing "
2189 "\"4\" will toggle channel group."));
2197 gc->
setLabel(QObject::tr(
"Default channel group"));
2205 ChannelGroupList::iterator it;
2207 for (it = changrplist.begin(); it < changrplist.end(); ++it)
2208 gc->
addSelection(it->name, QString(
"%1").arg(it->grpid));
2210 gc->
setHelpText(QObject::tr(
"Default channel group to be shown in the the EPG"
2211 "Pressing GUIDE key will toggle channel group."));
2219 gc->
setLabel(QObject::tr(
"Browse/change channels from Channel Group"));
2220 gc->
setHelpText(QObject::tr(
"If enabled, Live TV will browse or change "
2221 "channels from the selected channel group. The \"All "
2222 "Channels\" channel group may be selected to browse all "
2234 setLabel(QObject::tr(
"Remember last channel group"));
2255 bc->
setLabel(QObject::tr(
"Avoid back to back recordings"));
2256 bc->
setHelpText(QObject::tr(
"Selects the situations where the scheduler "
2257 "will avoid assigning shows to the same card if their "
2258 "end time and start time match. This will be allowed "
2259 "when necessary in order to resolve conflicts."));
2261 bc->
addSelection(QObject::tr(
"Different Channels"),
"1");
2270 bs->
setLabel(QObject::tr(
"Preferred input priority"));
2271 bs->
setHelpText(QObject::tr(
"Additional priority when a showing "
2272 "matches the preferred input selected in the 'Scheduling "
2273 "Options' section of the recording rule."));
2281 bs->
setLabel(QObject::tr(
"HDTV recording priority"));
2282 bs->
setHelpText(QObject::tr(
"Additional priority when a showing "
2283 "is marked as an HDTV broadcast in the TV listings."));
2291 bs->
setLabel(QObject::tr(
"Widescreen recording priority"));
2292 bs->
setHelpText(QObject::tr(
"Additional priority when a showing "
2293 "is marked as widescreen in the TV listings."));
2302 bs->
setLabel(QObject::tr(
"Sign language recording priority"));
2303 bs->
setHelpText(QObject::tr(
"Additional priority when a showing "
2304 "is marked as having in-vision sign language."));
2313 bs->
setLabel(QObject::tr(
"In-vision Subtitles Recording Priority"));
2314 bs->
setHelpText(QObject::tr(
"Additional priority when a showing "
2315 "is marked as having in-vision subtitles."));
2324 bs->
setLabel(QObject::tr(
"Subtitles/CC recording priority"));
2325 bs->
setHelpText(QObject::tr(
"Additional priority when a showing "
2326 "is marked as having subtitles or closed captioning "
2327 "(CC) available."));
2336 bs->
setLabel(QObject::tr(
"Hard of hearing priority"));
2337 bs->
setHelpText(QObject::tr(
"Additional priority when a showing "
2338 "is marked as having support for viewers with impaired "
2348 bs->
setLabel(QObject::tr(
"Audio described priority"));
2349 bs->
setHelpText(QObject::tr(
"Additional priority when a showing "
2350 "is marked as being Audio Described."));
2358 ge->
setLabel(QObject::tr(
"Guide starts at channel"));
2360 ge->
setHelpText(QObject::tr(
"The program guide starts on this channel if "
2361 "it is run from outside of Live TV mode."));
2368 gs->
setLabel(QObject::tr(
"Record threshold"));
2370 gs->
setHelpText(QObject::tr(
"Pressing SELECT on a show that is at least "
2371 "this many minutes into the future will schedule a "
2379 gc->
setLabel(QObject::tr(
"Language"));
2382 QStringList langs = langMap.values();
2385 if (langCode.isEmpty())
2388 for (QStringList::Iterator it = langs.begin(); it != langs.end(); ++it)
2390 QString label = *it;
2391 QString value = langMap.key(label);
2392 gc->
addSelection(label, value, (value.toLower() == langCode));
2396 QObject::tr(
"Your preferred language for the user interface."));
2403 QString q = QString(
"ISO639Language%1").arg(i);
2406 if ((lang.isEmpty() || lang ==
"aar") &&
2415 for (; it != ite; ++it)
2417 QString desc = (*it);
2418 int idx = desc.indexOf(
";");
2420 desc = desc.left(idx);
2430 gc->
setLabel(QObject::tr(
"Guide language #%1").arg(i+1));
2435 QObject::tr(
"Your #%1 preferred language for "
2436 "Program Guide data and captions.").arg(i+1));
2443 gc->
setLabel(QObject::tr(
"Enable Network Remote Control interface"));
2444 gc->
setHelpText(QObject::tr(
"This enables support for controlling "
2445 "mythfrontend over the network."));
2453 gs->
setLabel(QObject::tr(
"Network Remote Control port"));
2455 gs->
setHelpText(QObject::tr(
"This specifies what port the network remote "
2456 "Control interface will listen on for new connections."));
2463 ge->
setLabel(QObject::tr(
"UDP notify port"));
2465 ge->
setHelpText(QObject::tr(
"MythTV will listen for connections "
2466 "from the \"mythutil\" program on this port."));
2470 #ifdef USING_AIRPLAY
2475 gc->
setLabel(QObject::tr(
"Enable AirPlay"));
2476 gc->
setHelpText(QObject::tr(
"AirPlay lets you wirelessly view content on "
2477 "your TV from your iPhone, iPad, iPod Touch, or "
2478 "iTunes on your computer."));
2486 gc->
setLabel(QObject::tr(
"Only support AirTunes (no video)"));
2487 gc->
setHelpText(QObject::tr(
"Only stream audio from your iPhone, iPad, "
2488 "iPod Touch, or iTunes on your computer"));
2496 gc->
setLabel(QObject::tr(
"Require password"));
2498 gc->
setHelpText(QObject::tr(
"Require a password to use AirPlay. Your iPhone, "
2499 "iPad, iPod Touch, or iTunes on your computer "
2500 "will prompt you when required"));
2508 ge->
setHelpText(QObject::tr(
"Your iPhone, iPad, iPod Touch, or iTunes on "
2509 "your computer will prompt you for this password "
2526 ts->
setValue(QObject::tr(
"All AirPlay settings take effect when "
2527 "you restart MythFrontend."));
2536 ts->
setValue(QObject::tr(
"AirTunes RSA key couldn't be loaded. "
2537 "Check http://www.mythtv.org/wiki/AirTunes/AirPlay. "
2543 ts->
setValue(QObject::tr(
"AirTunes RSA key successfully loaded."));
2552 gc->
setLabel(QObject::tr(
"Enable realtime priority threads"));
2553 gc->
setHelpText(QObject::tr(
"When running mythfrontend with root "
2554 "privileges, some threads can be given enhanced priority. "
2555 "Disable this if mythfrontend freezes during video "
2564 ge->
setLabel(QObject::tr(
"Ignore devices"));
2566 ge->
setHelpText(QObject::tr(
"If there are any devices that you do not want "
2567 "to be monitored, list them here with commas "
2568 "in-between. The plugins will ignore them. "
2569 "Requires restart."));
2576 gc->
setLabel(QObject::tr(
"Sort titles"));
2581 gc->
setHelpText(QObject::tr(
"Sets the title sorting order when the "
2582 "view is set to Titles only."));
2589 gc->
setLabel(QObject::tr(
"Include the 'Watch List' group"));
2591 gc->
setHelpText(QObject::tr(
"The 'Watch List' is an abbreviated list of "
2592 "recordings sorted to highlight series and "
2593 "shows that need attention in order to "
2594 "keep up to date."));
2601 gc->
setLabel(QObject::tr(
"Start from the Watch List view"));
2603 gc->
setHelpText(QObject::tr(
"If enabled, the 'Watch List' will be the "
2604 "initial view each time you enter the "
2605 "Watch Recordings screen"));
2612 gc->
setLabel(QObject::tr(
"Exclude recordings not set for Auto-Expire"));
2614 gc->
setHelpText(QObject::tr(
"Set this if you turn off Auto-Expire only "
2615 "for recordings that you've seen and intend "
2616 "to keep. This option will exclude these "
2617 "recordings from the 'Watch List'."));
2624 gs->
setLabel(QObject::tr(
"Maximum days counted in the score"));
2626 gs->
setHelpText(QObject::tr(
"The 'Watch List' scores are based on 1 point "
2627 "equals one day since recording. This option "
2628 "limits the maximum score due to age and "
2629 "affects other weighting factors."));
2636 gs->
setLabel(QObject::tr(
"Days to exclude weekly episodes after delete"));
2638 gs->
setHelpText(QObject::tr(
"When an episode is deleted or marked as "
2639 "watched, other episodes of the series are "
2640 "excluded from the 'Watch List' for this "
2641 "interval of time. Daily shows also have a "
2642 "smaller interval based on this setting."));
2671 gc->
setLabel(QObject::tr(
"Display time"));
2672 gc->
setHelpText(QObject::tr(
"Display current time on idle LCD display. "));
2680 gc->
setLabel(QObject::tr(
"Display recording status"));
2681 gc->
setHelpText(QObject::tr(
"Display current recordings information on "
2690 gc->
setLabel(QObject::tr(
"Display menus"));
2691 gc->
setHelpText(QObject::tr(
"Display selected menu on LCD display. "));
2699 gs->
setLabel(QObject::tr(
"Menu pop-up time"));
2700 gs->
setHelpText(QObject::tr(
"How many seconds the menu will "
2701 "remain visible after navigation."));
2709 gc->
setLabel(QObject::tr(
"Display music artist and title"));
2710 gc->
setHelpText(QObject::tr(
"Display playing artist and song title in "
2711 "MythMusic on LCD display."));
2719 gc->
setLabel(QObject::tr(
"Items"));
2720 gc->
addSelection(QObject::tr(
"Artist - Title"),
"ArtistTitle");
2721 gc->
addSelection(QObject::tr(
"Artist [Album] Title"),
"ArtistAlbumTitle");
2722 gc->
setHelpText(QObject::tr(
"Which items to show when playing music."));
2729 gc->
setLabel(QObject::tr(
"Display channel information"));
2730 gc->
setHelpText(QObject::tr(
"Display tuned channel information on LCD display."));
2738 gc->
setLabel(QObject::tr(
"Display volume information"));
2739 gc->
setHelpText(QObject::tr(
"Display volume level information "
2740 "on LCD display."));
2748 gc->
setLabel(QObject::tr(
"Display generic information"));
2749 gc->
setHelpText(QObject::tr(
"Display generic information on LCD display."));
2757 gc->
setLabel(QObject::tr(
"Backlight always on"));
2758 gc->
setHelpText(QObject::tr(
"Turn on the backlight permanently "
2759 "on the LCD display."));
2767 gc->
setLabel(QObject::tr(
"Heartbeat always on"));
2768 gc->
setHelpText(QObject::tr(
"Turn on the LCD heartbeat."));
2776 gc->
setLabel(QObject::tr(
"Display large clock"));
2777 gc->
setHelpText(QObject::tr(
"On multiline displays try and display the time as large as possible."));
2785 ge->
setLabel(QObject::tr(
"LCD key order"));
2787 ge->
setHelpText(QObject::tr(
"Enter the 6 Keypad Return Codes for your "
2788 "LCD keypad in the order in which you want the functions "
2789 "up/down/left/right/yes/no to operate. "
2790 "(See lcdproc/server/drivers/hd44780.c/keyMapMatrix[] "
2791 "or the matrix for your display)"));
2798 gc->
setLabel(QObject::tr(
"Enable LCD device"));
2799 gc->
setHelpText(QObject::tr(
"Use an LCD display to view MythTV status "
2811 setLabel(QObject::tr(
"LCD device display"));
2856 gc->
setLabel(QObject::tr(
"Enable gamma correction for video"));
2858 gc->
setHelpText(QObject::tr(
"If enabled, QuickTime will correct the gamma "
2859 "of the video to match your monitor. Turning this off can "
2860 "save some CPU cycles."));
2867 gc->
setLabel(QObject::tr(
"Scale video as necessary"));
2869 gc->
setHelpText(QObject::tr(
"If enabled, video will be scaled to fit your "
2870 "window or screen. If unchecked, video will never be made "
2871 "larger than its actual pixel size."));
2878 gs->
setLabel(QObject::tr(
"Frames to skip in fullscreen mode"));
2880 gs->
setHelpText(QObject::tr(
"Video displayed in fullscreen or non-windowed "
2881 "mode will skip this many frames for each frame drawn. "
2882 "Set to 0 to show every frame. Only valid when either "
2883 "\"Use GUI size for TV playback\" or \"Run the frontend "
2884 "in a window\" is not checked."));
2891 gc->
setLabel(QObject::tr(
"Video in main window"));
2893 gc->
setHelpText(QObject::tr(
"If enabled, video will be displayed in the "
2894 "main GUI window. Disable this when you only want video "
2895 "on the desktop or in a floating window. Only valid when "
2896 "\"Use GUI size for TV playback\" and \"Run the "
2897 "frontend in a window\" are checked."));
2904 gs->
setLabel(QObject::tr(
"Frames to skip"));
2906 gs->
setHelpText(QObject::tr(
"Video in the main window will skip this many "
2907 "frames for each frame drawn. Set to 0 to show "
2915 gs->
setLabel(QObject::tr(
"Opacity"));
2917 gs->
setHelpText(QObject::tr(
"The opacity of the main window. Set to "
2918 "100 for completely opaque, set to 0 for completely "
2928 setLabel(QObject::tr(
"Video in main window"));
2947 gc->
setLabel(QObject::tr(
"Video in floating window"));
2949 gc->
setHelpText(QObject::tr(
"If enabled, video will be displayed in a "
2950 "floating window. Only valid when \"Use GUI size for TV "
2951 "playback\" and \"Run the frontend in a window\" are "
2959 gs->
setLabel(QObject::tr(
"Frames to skip"));
2961 gs->
setHelpText(QObject::tr(
"Video in the floating window will skip "
2962 "this many frames for each frame drawn. Set to 0 to show "
2970 gs->
setLabel(QObject::tr(
"Opacity"));
2972 gs->
setHelpText(QObject::tr(
"The opacity of the floating window. Set to "
2973 "100 for completely opaque, set to 0 for completely "
2983 setLabel(QObject::tr(
"Video in floating window"));
3002 gc->
setLabel(QObject::tr(
"Video in the dock"));
3004 gc->
setHelpText(QObject::tr(
"If enabled, video will be displayed in the "
3005 "application's dock icon. Only valid when \"Use GUI size "
3006 "for TV playback\" and \"Run the frontend in a window\" "
3014 gs->
setLabel(QObject::tr(
"Frames to skip"));
3016 gs->
setHelpText(QObject::tr(
"Video in the dock icon will skip this many "
3017 "frames for each frame drawn. Set to 0 to show "
3027 setLabel(QObject::tr(
"Video in the dock"));
3042 gc->
setLabel(QObject::tr(
"Video on the desktop"));
3044 gc->
setHelpText(QObject::tr(
"If enabled, video will be displayed on the "
3045 "desktop, behind the Finder icons. Only valid when \"Use "
3046 "GUI size for TV playback\" and \"Run the frontend in a "
3047 "window\" are checked."));
3054 gs->
setLabel(QObject::tr(
"Frames to skip"));
3056 gs->
setHelpText(QObject::tr(
"Video on the desktop will skip this many "
3057 "frames for each frame drawn. Set to 0 to show "
3067 setLabel(QObject::tr(
"Video on the desktop"));
3083 gc->
setLabel(QObject::tr(
"Show the program guide when starting Live TV"));
3084 gc->
setHelpText(QObject::tr(
"This starts the program guide immediately "
3085 "upon starting to watch Live TV."));
3096 pin->
setLabel(QObject::tr(
"Settings Access"));
3102 general->
setLabel(QObject::tr(
"General"));
3109 media->
setLabel(QObject::tr(
"Media Monitor"));
3115 remotecontrol->
setLabel(QObject::tr(
"Remote Control"));
3122 #ifdef USING_AIRPLAY
3125 airplay->
setLabel(QObject::tr(
"AirPlay Settings"));
3136 shutdownSettings->
setLabel(QObject::tr(
"Shutdown/Reboot Settings"));
3146 uint i = 0, total = 8;
3149 #endif // USING_DARWIN
3154 general1->
setLabel(QObject::tr(
"General Playback") +
3155 QString(
" (%1/%2)").arg(++i).arg(total));
3181 general2->
setLabel(QObject::tr(
"General Playback") +
3182 QString(
" (%1/%2)").arg(++i).arg(total));
3210 QString
tmp = QString(
" (%1/%2)").arg(++i).arg(total);
3214 pbox->
setLabel(QObject::tr(
"View Recordings") +
3215 QString(
" (%1/%2)").arg(++i).arg(total));
3225 pbox2->
setLabel(QObject::tr(
"Recording Groups") +
3226 QString(
" (%1/%2)").arg(++i).arg(total));
3233 pbox3->
setLabel(QObject::tr(
"View Recordings") +
3234 QString(
" (%1/%2)").arg(++i).arg(total));
3240 seek->
setLabel(QObject::tr(
"Seeking") +
3241 QString(
" (%1/%2)").arg(++i).arg(total));
3248 comms->
setLabel(QObject::tr(
"Commercial Skip") +
3249 QString(
" (%1/%2)").arg(++i).arg(total));
3259 mac1->
setLabel(QObject::tr(
"Mac OS X Video Settings") +
3260 QString(
" (%1/%2)").arg(++i).arg(total));
3267 mac2->
setLabel(QObject::tr(
"Mac OS X Video Settings") +
3268 QString(
" (%1/%2)").arg(++i).arg(total));
3285 osd->
setLabel(QObject::tr(
"On-screen Display"));
3299 #if defined(Q_OS_MACX)
3307 general->
setLabel(QObject::tr(
"General (Basic)"));
3314 autoexp->
setLabel(QObject::tr(
"General (Auto-Expire)"));
3340 jobs->
setLabel(QObject::tr(
"General (Jobs)"));
3349 general2->
setLabel(QObject::tr(
"General (Advanced)"));
3356 changrp->
setLabel(QObject::tr(
"General (Channel Groups)"));
3358 changrp->
addChild(changroupsettings);
3366 epg->
setLabel(QObject::tr(
"Program Guide") +
" 1/1");
3376 sched->
setLabel(QObject::tr(
"Scheduler Options"));
3385 access->
setLabel(QObject::tr(
"Accessibility Options"));
3398 screen->
setLabel(QObject::tr(
"Theme") +
" / " + QObject::tr(
"Screen Settings"));
3440 #if defined(USING_XRANDR) || CONFIG_DARWIN
3446 dates->
setLabel(QObject::tr(
"Localization"));