All pastes #1355830 Raw Edit

Anonymous

public text v1 · immutable
#1355830 ·published 2009-03-08 15:00 UTC
rendered paste body
Index: mythtv/programs/mythfrontend/playbackbox.cpp
===================================================================
--- mythtv/programs/mythfrontend/playbackbox.cpp	(revision 20130)
+++ mythtv/programs/mythfrontend/playbackbox.cpp	(working copy)
@@ -877,7 +877,6 @@
 
         QString tempShortDate = ((*it)->recstartts).toString(m_formatShortDate);
         QString tempLongDate  = ((*it)->recstartts).toString(m_formatLongDate);
-        QString tempTime      = ((*it)->recstartts).toString(m_formatTime);
 
         QString state = ((*it)->recstatus == rsRecording) ?
             QString("running") : QString::null;
@@ -903,7 +902,8 @@
         (*it)->ToMap(infoMap);
         item->SetTextFromMap(infoMap, state);
 
-        item->SetText(tempSubTitle,       "titlesubtitle", state);
+        if (groupname == (*it)->title.toLower())
+            item->SetText(tempSubTitle,       "titlesubtitle", state);
         item->SetText(tempLongDate,       "longdate",      state);
         item->SetText(tempShortDate,      "shortdate",     state);
 
@@ -1486,9 +1486,6 @@
     else
         showAvailablePopup(pginfo);
 
-    if (m_player)
-    {
-    }
 }
 
 void PlaybackBox::stopSelected()
@@ -1511,19 +1508,26 @@
     if (!pginfo)
         return;
 
+    if (m_delItem)
+    {
+        delete m_delItem;
+        m_delItem = NULL;
+    }
+
+    m_delItem = new ProgramInfo(*pginfo);
+
     bool undelete_possible =
             gContext->GetNumSetting("AutoExpireInsteadOfDelete", 0);
 
     if (pginfo->recgroup == "Deleted" && undelete_possible)
     {
-        m_delItem = pginfo;
-        doRemove(pginfo, false, false);
+        doRemove(m_delItem, false, false);
     }
-    else if ((pginfo->availableStatus != asPendingDelete) &&
-        (REC_CAN_BE_DELETED(pginfo)))
-        askDelete(pginfo);
+    else if ((m_delItem->availableStatus != asPendingDelete) &&
+        (REC_CAN_BE_DELETED(m_delItem)))
+        askDelete();
     else
-        showAvailablePopup(pginfo);
+        showAvailablePopup(m_delItem);
 }
 
 void PlaybackBox::upcoming()
@@ -1763,34 +1767,42 @@
 bool PlaybackBox::doRemove(ProgramInfo *rec, bool forgetHistory,
                            bool forceMetadataDelete)
 {
-    m_delItem = NULL;
+    ProgramInfo *delItem = findMatchingProg(rec);
 
-    if (!rec)
+    if (!delItem)
         return false;
 
     if (!forceMetadataDelete &&
-        ((rec->availableStatus == asPendingDelete) ||
-        (!REC_CAN_BE_DELETED(rec))))
+        ((delItem->availableStatus == asPendingDelete) ||
+        (!REC_CAN_BE_DELETED(delItem))))
     {
-        showAvailablePopup(rec);
+        showAvailablePopup(m_delItem);
         return false;
     }
 
-    if (m_playList.filter(rec->MakeUniqueKey()).size())
-        togglePlayListItem(rec);
+    if (m_playList.filter(delItem->MakeUniqueKey()).size())
+        togglePlayListItem(delItem);
 
     if (!forceMetadataDelete)
-        rec->UpdateLastDelete(true);
+        delItem->UpdateLastDelete(true);
 
-    bool result = RemoteDeleteRecording(rec, forgetHistory, forceMetadataDelete);
+    bool result = RemoteDeleteRecording(delItem, forgetHistory,
+                                        forceMetadataDelete);
 
     if (result)
     {
-        rec->availableStatus = asPendingDelete;
-        m_recordingList->RemoveItem(m_recordingList->GetItemCurrent());
+        delItem->availableStatus = asPendingDelete;
+        m_recordingList->RemoveItem(
+                        m_recordingList->GetItemByData(qVariantFromValue(delItem)));
+
+        if (m_delItem)
+        {
+            delete m_delItem;
+            m_delItem = NULL;
+        }
     }
     else if (!forceMetadataDelete)
-        showDeletePopup(rec, ForceDeleteRecording);
+        showDeletePopup(ForceDeleteRecording);
 
     return result;
 }
@@ -1836,7 +1848,7 @@
     }
 }
 
-void PlaybackBox::showDeletePopup(ProgramInfo *program, deletePopupType types)
+void PlaybackBox::showDeletePopup(deletePopupType types)
 {
     if (m_popupMenu)
         return;
@@ -1854,7 +1866,8 @@
              label = tr("Are you sure you want to stop:"); break;
     }
 
-    m_delItem = CurrentItem();
+    if (!m_delItem)
+        m_delItem = new ProgramInfo(*(CurrentItem()));
 
     popupString(m_delItem, label);
 
@@ -1878,8 +1891,7 @@
     const char *tmpslot = NULL;
 
     if ((types == DeleteRecording) &&
-        (program->IsSameProgram(*program)) &&
-        (program->recgroup != "LiveTV"))
+        (m_delItem->recgroup != "LiveTV"))
     {
         tmpmessage = tr("Yes, and allow re-record");
         tmpslot = SLOT(doDeleteForgetHistory());
@@ -1905,7 +1917,7 @@
     bool defaultIsYes = true;
     if ((types == DeleteRecording) ||
         (types == ForceDeleteRecording) ||
-        (!program->GetAutoExpireFromRecorded()))
+        (!m_delItem->GetAutoExpireFromRecorded()))
         defaultIsYes = false;
 
     m_popupMenu->AddButton(tmpmessage, tmpslot, false, defaultIsYes);
@@ -2584,7 +2596,16 @@
 void PlaybackBox::askStop(void)
 {
     ProgramInfo *pginfo = CurrentItem();
-    showDeletePopup(pginfo, StopRecording);
+
+    if (m_delItem)
+    {
+        delete m_delItem;
+        m_delItem = NULL;
+    }
+
+    m_delItem = new ProgramInfo(*pginfo);
+
+    showDeletePopup(StopRecording);
 }
 
 void PlaybackBox::doStop(void)
@@ -2731,11 +2752,17 @@
     }
 }
 
-void PlaybackBox::askDelete(ProgramInfo *pginfo)
+void PlaybackBox::askDelete()
 {
-    if (!pginfo)
-        pginfo = CurrentItem();
-    showDeletePopup(pginfo, DeleteRecording);
+    if (m_delItem)
+    {
+        delete m_delItem;
+        m_delItem = NULL;
+    }
+
+    m_delItem = new ProgramInfo(*(CurrentItem()));
+
+    showDeletePopup(DeleteRecording);
 }
 
 void PlaybackBox::doPlaylistDelete(void)
Index: mythtv/programs/mythfrontend/playbackbox.h
===================================================================
--- mythtv/programs/mythfrontend/playbackbox.h	(revision 20130)
+++ mythtv/programs/mythfrontend/playbackbox.h	(working copy)
@@ -177,7 +177,7 @@
     void doEditScheduled();
     void doAllowRerecord();
 
-    void askDelete(ProgramInfo *pginfo = NULL);
+    void askDelete();
     void doUndelete();
     void doDelete();
     void doDeleteForgetHistory();
@@ -281,7 +281,7 @@
                                   const QString &recstartts);
 
     bool doRemove(ProgramInfo *, bool forgetHistory, bool forceMetadataDelete);
-    void showDeletePopup(ProgramInfo *, deletePopupType);
+    void showDeletePopup(deletePopupType);
     void showActionPopup(ProgramInfo *program);
     void showFileNotFoundActionPopup(ProgramInfo *program);
     void popupString(ProgramInfo *program, QString &message);