2020-08-09 Fred Gleason <fredg@paravelsystems.com>

* Modified the 'Podcast Item List' dialog in rdcastmanager(1) to
	show a blue icon for items with Air Dates in the future.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason 2020-08-09 11:18:35 -04:00
parent 2571b7b75e
commit 6ed0c9591a
4 changed files with 23 additions and 3 deletions

View File

@ -20183,3 +20183,6 @@
2020-08-09 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in rdcastmanager(1) that caused no items to
appear in superfeeds.
2020-08-09 Fred Gleason <fredg@paravelsystems.com>
* Modified the 'Podcast Item List' dialog in rdcastmanager(1) to
show a blue icon for items with Air Dates in the future.

View File

@ -36,8 +36,9 @@
//
// Icons
//
#include "../icons/redball.xpm"
#include "../icons/blueball.xpm"
#include "../icons/greenball.xpm"
#include "../icons/redball.xpm"
#include "../icons/whiteball.xpm"
ListCasts::ListCasts(unsigned feed_id,bool is_super,QWidget *parent)
@ -57,6 +58,7 @@ ListCasts::ListCasts(unsigned feed_id,bool is_super,QWidget *parent)
//
// Create Icons
//
list_blueball_map=new QPixmap(blueball_xpm);
list_greenball_map=new QPixmap(greenball_xpm);
list_redball_map=new QPixmap(redball_xpm);
list_whiteball_map=new QPixmap(whiteball_xpm);
@ -595,7 +597,12 @@ void ListCasts::RefreshItem(RDListViewItem *item)
if(q->first()) {
switch((RDPodcast::Status)q->value(0).toUInt()) {
case RDPodcast::StatusActive:
item->setPixmap(0,*list_greenball_map);
if(q->value(2).toDateTime()<=QDateTime::currentDateTime()) {
item->setPixmap(0,*list_greenball_map);
}
else {
item->setPixmap(0,*list_blueball_map);
}
break;
case RDPodcast::StatusPending:

View File

@ -68,8 +68,9 @@ class ListCasts : public RDDialog
QPushButton *list_edit_button;
QPushButton *list_delete_button;
QPushButton *list_close_button;
QPixmap *list_redball_map;
QPixmap *list_blueball_map;
QPixmap *list_greenball_map;
QPixmap *list_redball_map;
QPixmap *list_whiteball_map;
unsigned list_feed_id;
int list_encoder_id;

View File

@ -146,6 +146,7 @@ void MainObject::ProcessFeed(const QString &key_name)
"(PODCASTS.EXPIRATION_DATETIME<"+now_str+"))";
q=new RDSqlQuery(sql);
while(q->next()) {
bool deleted=false;
if(q->value(1).toDateTime()<now) { // Delete expired cast
RDPodcast *cast=new RDPodcast(rda->config(),q->value(0).toUInt());
if(!cast->removeAudio(feed,&err_msg,false)) {
@ -168,11 +169,19 @@ void MainObject::ProcessFeed(const QString &key_name)
q->value(0).toUInt());
rda->ripc()->sendNotification(*notify);
delete notify;
deleted=true;
}
if(feed->postXml(&err_msg)) {
rda->syslog(LOG_DEBUG,
"repost of XML for feed \"%s\" triggered by cast id %u",
key_name.toUtf8().constData(),q->value(0).toUInt());
if(!deleted) {
RDNotification *notify=new RDNotification(RDNotification::FeedItemType,
RDNotification::ModifyAction,
q->value(0).toUInt());
rda->ripc()->sendNotification(*notify);
delete notify;
}
}
else {
rda->syslog(LOG_WARNING,"repost of XML for feed \"%s\" failed [%s]",