Just a quick follow-up post with my patch attached again. I forgot to
include [PATCH] in the subject line the last time I posted it so I
wanted to resubmit it and have a better chance of it getting picked up
by one of the developers.
I'll relist the changes here:
- adds RecStatusChar to the far left column of each row on the
scheduled recordings page
- background color of RecStatusChar is same as outline color for
status (conflict, willrecord,
deactivated, etc)
If any of you devs notice this, could you take a look at the patch and
apply it to mythweb if it meets your approval?
Thanks,
Brad
Index: includes/programs.php
===================================================================
RCS file: /var/lib/mythcvs/mythweb/includes/programs.php,v
retrieving revision 1.65
diff -u -r1.65 programs.php
--- includes/programs.php 6 Feb 2005 08:23:36 -0000 1.65
+++ includes/programs.php 21 Mar 2005 08:37:19 -0000
@@ -273,7 +273,7 @@
#$endtime = $data[12]; # Extracted a few lines earlier
$this->hostname = $data[16];
#$this->sourceid = $data[17];
- #$this->cardid = $data[18];
+ $this->cardid = $data[18];
#$this->inputid = $data[19];
$this->recpriority = $data[20];
$this->recstatus = $data[21];
Index: themes/Default/programming.css
===================================================================
RCS file: /var/lib/mythcvs/mythweb/themes/Default/programming.css,v
retrieving revision 1.4
diff -u -r1.4 programming.css
--- themes/Default/programming.css 6 Feb 2005 08:23:36 -0000 1.4
+++ themes/Default/programming.css 21 Mar 2005 08:37:19 -0000
@@ -25,6 +25,24 @@
.record_override_suppress { border: 2px dotted #D03060; }
.record_override_record { border: 2px solid #00FF90; }
+/* There should be exactly one class in the next section corresponding to
+ each possible value of RecStatus_Types as defined in
+ includes/programs.php */
+.recording { background-color: #00F000; }
+.willRecord { background-color: #00F000; }
+.previousRecording { background-color: #90B0A0; }
+.currentRecording { background-color: #00F000; }
+.repeat { background-color: #90B0A0; }
+.earlierShowing { background-color: #90B0A0; }
+.laterShowing { background-color: #90B0A0; }
+.tooManyRecordings { background-color: #60B0B0; }
+.cancelled { background-color: #60B0B0; }
+.conflicting { background-color: #FF0000; }
+.lowDiskSpace { background-color: #60B0B0; }
+.tunerBusy { background-color: #60B0B0; }
+.manualOverride { background-color: #D03060; }
+.overlap { background-color: #FF0000; }
+
.cat_Action { background-color: #906020; }
.cat_Adult { background-color: #702020; }
.cat_Animals { background-color: #609060; }
Index: themes/Default/scheduled_recordings.php
===================================================================
RCS file: /var/lib/mythcvs/mythweb/themes/Default/scheduled_recordings.php,v
retrieving revision 1.43
diff -u -r1.43 scheduled_recordings.php
--- themes/Default/scheduled_recordings.php 1 Mar 2005 05:34:52 -0000 1.43
+++ themes/Default/scheduled_recordings.php 21 Mar 2005 08:37:19 -0000
@@ -1,6 +1,6 @@
<?php
/*** ***\
- scheduled_recordings.php Last Updated: 2005.02.28 (xris)
+ scheduled_recordings.php Last Updated: 2005.02.08 (xris)
This file defines a theme class for the scheduled recordings section.
It must define one method. documentation will be added someday.
@@ -67,51 +67,130 @@
$prev_group = '';
$cur_group = '';
foreach ($shows as $show) {
+ // Set the class to be used to display the recording status character
+ $rec_class = $show->recstatus;
+
// Reset the command variable to a default URL
$commands = array();
$urlstr = 'chanid='.$show->chanid.'&starttime='.$show->starttime;
- // Which class does this show fall into?
- if ($show->recstatus == 'LowDiskSpace') {
- $class = 'deactivated';
- $commands[] = 'Not Enough Disk Space';
- }
- elseif ($show->recstatus == 'TunerBusy') {
- $class = 'deactivated';
- $commands[] = 'Tuner is busy';
- }
- if ($show->recstatus == 'PreviousRecording' || $show->recstatus == 'CurrentRecording') {
- $class = 'duplicate';
- $commands[] = '<a href="scheduled_recordings.php?record=yes&'.$urlstr.'">'.t('Record This').'</a>';
- $commands[] = '<a href="scheduled_recordings.php?forget_old=yes&'.$urlstr.'">'.t('Forget Old').'</a>';
- }
- elseif ($show->recstatus == 'Conflict' || $show->recstatus == 'Overlap') {
- $class = 'conflict';
- $commands[] = '<a href="scheduled_recordings.php?record=yes&'.$urlstr.'">'.t('Record This').'</a>';
- $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'.$urlstr.'">'.t('Don\'t Record').'</a>';
- }
- elseif ($show->recstatus == 'WillRecord') {
- $class = 'scheduled';
- $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'.$urlstr.'">'.t('Don\'t Record').'</a>';
- // Offer to suppress any recordings that have enough info to do so.
- if (preg_match('/\\S/', $show->title)
- && (preg_match('/\\S/', $show->programid.$show->subtitle.$show->description)))
- $commands[] = '<a href="scheduled_recordings.php?never_record=yes&'.$urlstr.'">'.t('Never Record').'</a>';
- }
- elseif ($show->recstatus == 'ForceRecord') {
- $class = 'scheduled';
- $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'.$urlstr.'">'.t('Don\'t Record').'</a>';
- $commands[] = '<a href="scheduled_recordings.php?default=yes&'.$urlstr.'">'.t('Default').'</a>';
- }
- elseif ($show->recstatus == 'ManualOverride' || $show->recstatus == 'Cancelled') {
- $class = 'deactivated';
- $commands[] = '<a href="scheduled_recordings.php?record=yes&'.$urlstr.'">'.t('Activate').'</a>';
- $commands[] = '<a href="scheduled_recordings.php?default=yes&'.$urlstr.'">'.t('Default').'</a>';
- }
- else {
- $class = 'deactivated';
- $commands[] = '<a href="scheduled_recordings.php?record=yes&'.$urlstr.'">'.t('Activate').'</a>';
- $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'.$urlstr.'">'.t('Don\'t Record').'</a>';
+ // Set the recording status character, class and any applicable
+ // commands for each show
+ switch ($show->recstatus) {
+ case 'Recording':
+ case 'WillRecord':
+ $rec_char = $show->cardid;
+ $class = 'scheduled';
+ $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'
+ .$urlstr.'">'.t('Don\'t Record').'</a>';
+ // Offer to suppress any recordings that have enough info to
+ // do so.
+ if (preg_match('/\\S/', $show->title) &&
+ preg_match('/\\S/', $show->subtitle) &&
+ preg_match('/\\S/', $show->description))
+ $commands[] = '<a href="scheduled_recordings.php?'
+ .'never_record=yes&'.$urlstr.'">'
+ .t('Never Record').'</a>';
+ break;
+ case 'PreviousRecording':
+ $rec_char = "P";
+ $class = 'duplicate';
+ $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+ .$urlstr.'">'.t('Record This').'</a>';
+ $commands[] = '<a href="scheduled_recordings.php?'
+ .'forget_old=yes&'.$urlstr.'">'
+ .t('Forget Old').'</a>';
+ break;
+ case 'CurrentRecording':
+ $rec_char = "R";
+ $class = 'duplicate';
+ $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+ .$urlstr.'">'.t('Record This').'</a>';
+ $commands[] = '<a href="scheduled_recordings.php?'
+ .'forget_old=yes&'.$urlstr.'">'
+ .t('Forget Old').'</a>';
+ break;
+ case 'Repeat':
+ $rec_char = "r";
+ $class = 'duplicate';
+ break;
+ case 'EarlierShowing':
+ $rec_char = "E";
+ $class = 'deactivated';
+ break;
+ case 'TooManyRecordings':
+ $rec_char = "T";
+ $class = 'deactivated';
+ break;
+ case 'Cancelled':
+ $rec_char = "N";
+ $class = 'deactivated';
+ $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+ .$urlstr.'">'.t('Activate').'</a>';
+ $commands[] = '<a href="scheduled_recordings.php?default=yes&'
+ .$urlstr.'">'.t('Default').'</a>';
+ break;
+ case 'Conflict':
+ $rec_char = "C";
+ // We normally use the recstatus value as the name of the class
+ // used when displaying the recording status character.
+ // However, there is already a class named 'conflict' so we
+ // need to modify this specific recstatus to avoid a conflict.
+ $rec_class = "conflicting";
+ $class = 'conflict';
+ $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+ .$urlstr.'">'.t('Record This').'</a>';
+ $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'
+ .$urlstr.'">'.t('Don\'t Record').'</a>';
+ break;
+ case 'LaterShowing':
+ $rec_char = "L";
+ $class = 'deactivated';
+ break;
+ case 'LowDiskSpace':
+ $rec_char = "K";
+ $class = 'deactivated';
+ $commands[] = 'Not Enough Disk Space';
+ break;
+ case 'TunerBusy':
+ $rec_char = "B";
+ $class = 'deactivated';
+ $commands[] = 'Tuner is busy';
+ break;
+ case 'Overlap':
+ $rec_char = "X";
+ $class = 'conflict';
+ $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+ .$urlstr.'">'.t('Record This').'</a>';
+ $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'
+ .$urlstr.'">'.t('Don\'t Record').'</a>';
+ break;
+ case 'ManualOverride':
+ $rec_char = "X";
+ $class = 'deactivated';
+ $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+ .$urlstr.'">'.t('Activate').'</a>';
+ $commands[] = '<a href="scheduled_recordings.php?default=yes&'
+ .$urlstr.'">'.t('Default').'</a>';
+ break;
+ case 'ForcedRecording':
+ $rec_char = "F";
+ $class = 'scheduled';
+ $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'
+ .$urlstr.'">'.t('Don\'t Record').'</a>';
+ $commands[] = '<a href="scheduled_recordings.php?default=yes&'
+ .$urlstr.'">'.t('Default').'</a>';
+ break;
+ default:
+ $rec_char = " ";
+ $rec_class = "";
+ $class = 'deactivated';
+ $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+ .$urlstr.'">'.t('Activate').'</a>';
+ $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'
+ .$urlstr.'">'.t('Don\'t Record').'</a>';
+ break;
}
+
// A program id counter for popup info
if (show_popup_info) {
static $program_id_counter = 0;
@@ -134,7 +213,7 @@
// Print the content
?><tr class="<?php echo $class?>">
-<?php if ($group_field != '') echo "<td class=\"list\"> </td>\n"; ?>
+<?php if ($group_field != '') echo "<td class=\"".$rec_class."\">$rec_char</td>\n"; ?>
<td class="<?php echo $show->class?>"><?php
// Window status text, for the mouseover
$wstatus = strftime($_SESSION['time_format'], $show->starttime).' - '.strftime($_SESSION['time_format'], $show->endtime).' -- '
_______________________________________________
mythtv-dev mailing list
[email protected]
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev