Index: themes/G.A.N.T./ui.xml
===================================================================
--- themes/G.A.N.T./ui.xml	(revision 11404)
+++ themes/G.A.N.T./ui.xml	(working copy)
@@ -1321,8 +1321,15 @@
           <filename>type/watched.png</filename>
           <position>300,195</position>
       </image>
+      <image name="processing" draworder="6">
+        <filename>processing.png</filename>
+        <position>20,106</position>
+      </image>
+      <image name="preserved" draworder="6">
+        <filename>preserve.png</filename>
+        <position>289,106</position>
+      </image>
 
-
     </container>
 
     <container name="program_info_del">
Index: themes/default/preserve.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: themes/default/preserve.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Index: themes/blue/ui.xml
===================================================================
--- themes/blue/ui.xml	(revision 11404)
+++ themes/blue/ui.xml	(working copy)
@@ -887,11 +887,15 @@
           <filename>type/watched.png</filename>
           <position>302,106</position>
       </image>
-
       <image name="processing" draworder="6">
         <filename>processing.png</filename>
         <position>20,106</position>
       </image>
+      <image name="preserved" draworder="6">
+        <filename>preserve.png</filename>
+        <position>289,106</position>
+      </image>
+      
 
     </container>
 
Index: libs/libmythtv/programinfo.h
===================================================================
--- libs/libmythtv/programinfo.h	(revision 11404)
+++ libs/libmythtv/programinfo.h	(working copy)
@@ -45,18 +45,19 @@
 };
 
 enum FlagMask {
-    FL_COMMFLAG       = 0x001,
-    FL_CUTLIST        = 0x002,
-    FL_AUTOEXP        = 0x004,
-    FL_EDITING        = 0x008,
-    FL_BOOKMARK       = 0x010,
-    FL_INUSERECORDING = 0x020,
-    FL_INUSEPLAYING   = 0x040,
-    FL_STEREO         = 0x080,
-    FL_CC             = 0x100,
-    FL_HDTV           = 0x200,
-    FL_TRANSCODED     = 0x400,
-    FL_WATCHED        = 0x800
+    FL_COMMFLAG       = 0x0001,
+    FL_CUTLIST        = 0x0002,
+    FL_AUTOEXP        = 0x0004,
+    FL_EDITING        = 0x0008,
+    FL_BOOKMARK       = 0x0010,
+    FL_INUSERECORDING = 0x0020,
+    FL_INUSEPLAYING   = 0x0040,
+    FL_STEREO         = 0x0080,
+    FL_CC             = 0x0100,
+    FL_HDTV           = 0x0200,
+    FL_TRANSCODED     = 0x0400,
+    FL_WATCHED        = 0x0800,
+    FL_PRESERVED      = 0x1000,
 };
 
 enum RecStatusType {
Index: libs/libmythtv/programinfo.cpp
===================================================================
--- libs/libmythtv/programinfo.cpp	(revision 11404)
+++ libs/libmythtv/programinfo.cpp	(working copy)
@@ -3667,7 +3667,8 @@
     MSqlQuery query(MSqlQuery::InitCon());
 
     query.prepare("SELECT commflagged, cutlist, autoexpire, "
-                  "editing, bookmark, stereo, closecaptioned, hdtv, watched "
+                  "editing, bookmark, stereo, closecaptioned, "
+                  "hdtv, watched, preserve "
                   "FROM recorded LEFT JOIN recordedprogram ON "
                   "(recorded.chanid = recordedprogram.chanid AND "
                   "recorded.starttime = recordedprogram.starttime) "
@@ -3690,6 +3691,7 @@
         flags |= (query.value(6).toInt() == 1) ? FL_CC : 0;
         flags |= (query.value(7).toInt() == 1) ? FL_HDTV : 0;
         flags |= (query.value(8).toInt() == 1) ? FL_WATCHED : 0;
+        flags |= (query.value(9).toInt() == 1) ? FL_PRESERVED : 0;
     }
 
     return flags;
Index: programs/mythfrontend/playbackbox.cpp
===================================================================
--- programs/mythfrontend/playbackbox.cpp	(revision 11404)
+++ programs/mythfrontend/playbackbox.cpp	(working copy)
@@ -811,6 +811,7 @@
         iconMap["cc"]          = FL_CC;
         iconMap["hdtv"]        = FL_HDTV;
         iconMap["watched"]     = FL_WATCHED;
+        iconMap["preserved"]   = FL_PRESERVED;
 
         UIImageType *itype;
         for (it = iconMap.begin(); it != iconMap.end(); ++it)
Index: programs/mythbackend/mainserver.cpp
===================================================================
--- programs/mythbackend/mainserver.cpp	(revision 11404)
+++ programs/mythbackend/mainserver.cpp	(working copy)
@@ -1064,7 +1064,7 @@
         "recorded.progend, recorded.stars, "
         "recordedprogram.stereo, recordedprogram.hdtv, "
         "recordedprogram.closecaptioned, transcoded, "
-        "recorded.recpriority, watched "
+        "recorded.recpriority, watched, recorded.preserve "
         "FROM recorded "
         "LEFT JOIN record ON recorded.recordid = record.recordid "
         "LEFT JOIN channel ON recorded.chanid = channel.chanid "
@@ -1169,6 +1169,7 @@
             flags |= (query.value(35).toInt() == TRANSCODING_COMPLETE) ?
                       FL_TRANSCODED : 0;
             flags |= (query.value(37).toInt() == 1) ? FL_WATCHED : 0;
+            flags |= (query.value(38).toInt() == 1) ? FL_PRESERVED : 0;
 
             inUseKey = query.value(0).toString() + " " +
                        query.value(1).toDateTime().toString(Qt::ISODate);
