Ticket #171: mythtv.autoexpire.priority.diff
| File mythtv.autoexpire.priority.diff, 4.0 KB (added by , 20 years ago) |
|---|
-
programs/mythfrontend/globalsettings.cpp
514 514 bc->setLabel(QObject::tr("Auto Expire Method")); 515 515 bc->addSelection(QObject::tr("None"), "0"); 516 516 bc->addSelection(QObject::tr("Oldest Show First"), "1"); 517 bc->addSelection(QObject::tr("Lowest Priority First"), "2"); 517 518 bc->setHelpText(QObject::tr("Method used to determine which recorded " 518 519 "shows to delete first. Set to 'None' to " 519 520 "disable Auto Expire (not recommended).")); -
programs/mythbackend/autoexpire.cpp
467 467 468 468 switch(expMethod) 469 469 { 470 case 1: FillOldestFirst(); break; 470 case 1: 471 case 2: 472 FillOldestFirst(expMethod); 473 break; 471 474 472 475 // default falls through so list is empty so no AutoExpire 473 476 } … … 512 515 /** \fn AutoExpire::FillOldestFirst() 513 516 * \brief Creates a list of programs to delete, with the oldest file listed first. 514 517 */ 515 void AutoExpire::FillOldestFirst( void)518 void AutoExpire::FillOldestFirst(int expMethod) 516 519 { 517 520 QString fileprefix = gContext->GetFilePrefix(); 518 521 519 522 MSqlQuery query(MSqlQuery::InitCon()); 520 QString querystr = QString( 521 "SELECT recorded.chanid,starttime,endtime,title,subtitle, " 522 "description,hostname,channum,name,callsign,seriesid,programid " 523 "FROM recorded " 524 "LEFT JOIN channel ON recorded.chanid = channel.chanid " 525 "WHERE autoexpire > 0 " 526 "ORDER BY autoexpire DESC, starttime ASC"); 523 QString querystr; 524 525 switch (expMethod) 526 { 527 default: 528 case 1: // Oldest first 529 querystr = QString( 530 "SELECT recorded.chanid" 531 " ,starttime" 532 " ,endtime" 533 " ,title" 534 " ,subtitle" 535 " ,description" 536 " ,hostname" 537 " ,channum" 538 " ,name" 539 " ,callsign" 540 " ,seriesid" 541 " ,programid" 542 " FROM recorded" 543 " LEFT JOIN channel ON recorded.chanid = channel.chanid" 544 " WHERE autoexpire > 0" 545 " ORDER BY autoexpire DESC" 546 " ,starttime ASC"); 547 break; 527 548 549 case 2: // Lowest priority first 550 querystr = QString( 551 "SELECT d.chanid" 552 " ,d.starttime" 553 " ,d.endtime" 554 " ,d.title" 555 " ,d.subtitle" 556 " ,d.description" 557 " ,hostname" 558 " ,channum" 559 " ,name" 560 " ,callsign" 561 " ,d.seriesid" 562 " ,d.programid" 563 " FROM recorded d" 564 " LEFT JOIN channel ON d.chanid = channel.chanid" 565 " LEFT JOIN record r ON d.recordid = r.recordid" 566 " WHERE d.autoexpire > 0" 567 " ORDER BY d.autoexpire DESC" 568 " ,r.recpriority ASC" 569 " ,d.starttime ASC"); 570 break; 571 } 572 528 573 query.prepare(querystr); 529 574 530 575 if (!query.exec() || !query.isActive() || !query.size()) -
programs/mythbackend/autoexpire.h
34 34 private: 35 35 void ExpireEpisodesOverMax(void); 36 36 37 void FillOldestFirst( void);37 void FillOldestFirst(int expMethod); 38 38 void SendDeleteMessages(size_t, size_t); 39 39 void ClearExpireList(void); 40 40 void Sleep();
