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

* Modified the layout of the 'Editing PodCast' dialog in
	rdcastmanager(1) to more consistent with the event editing
	dialogs in rdcatch(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason 2020-07-08 12:39:40 -04:00
parent 678dd62791
commit c822445e81
10 changed files with 133 additions and 152 deletions

View File

@ -20128,3 +20128,7 @@
* Modified 'RDWaveFile' to work around known fencepost errors in * Modified 'RDWaveFile' to work around known fencepost errors in
WAV files generated by "Sonic Studio soundBlade" by WAV files generated by "Sonic Studio soundBlade" by
"PME Mastering, Inc." "PME Mastering, Inc."
2020-07-08 Fred Gleason <fredg@paravelsystems.com>
* Modified the layout of the 'Editing PodCast' dialog in
rdcastmanager(1) to more consistent with the event editing
dialogs in rdcatch(1).

View File

@ -2,7 +2,7 @@
// //
// Edit a Rivendell Cast // Edit a Rivendell Cast
// //
// (C) Copyright 2002-2019 Fred Gleason <fredg@paravelsystems.com> // (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as // it under the terms of the GNU General Public License version 2 as
@ -34,6 +34,15 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
cast_status=cast_cast->status(); cast_status=cast_cast->status();
setWindowTitle("RDCastManager - "+tr("Editing PodCast")); setWindowTitle("RDCastManager - "+tr("Editing PodCast"));
//
// Active Checkbox
//
cast_active_check=new QCheckBox(this);
cast_active_label=
new QLabel(cast_active_check,tr("Cast Active"),this);
cast_active_label->setFont(labelFont());
cast_active_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
// //
// Item Title // Item Title
// //
@ -113,15 +122,11 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
// Effective DateTime // Effective DateTime
// //
cast_item_effective_edit=new QDateTimeEdit(this); cast_item_effective_edit=new QDateTimeEdit(this);
cast_item_effective_edit->setDisplayFormat("MM/dd/yyyy hh:mm:ss");
cast_item_effective_label= cast_item_effective_label=
new QLabel(cast_item_effective_edit,tr("Air Date/Time:"),this); new QLabel(cast_item_effective_edit,tr("Air Date/Time:"),this);
cast_item_effective_label->setFont(labelFont()); cast_item_effective_label->setFont(labelFont());
cast_item_effective_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); cast_item_effective_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
cast_item_effective_button=new QPushButton(this);
cast_item_effective_button->setFont(subButtonFont());
cast_item_effective_button->setText(tr("&Select"));
connect(cast_item_effective_button,SIGNAL(clicked()),
this,SLOT(effectiveSelectData()));
// //
// Item Origin // Item Origin
@ -149,11 +154,12 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
cast_item_expiration_box_label-> cast_item_expiration_box_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter); setAlignment(Qt::AlignRight|Qt::AlignVCenter);
cast_item_expiration_box->setEnabled(cast_status!=RDPodcast::StatusExpired); cast_item_expiration_box->setEnabled(cast_status!=RDPodcast::StatusExpired);
cast_item_expiration_box_label->setEnabled(cast_status!=RDPodcast::StatusExpired); cast_item_expiration_box_label->
setEnabled(cast_status!=RDPodcast::StatusExpired);
cast_item_expiration_edit=new QDateEdit(this); cast_item_expiration_edit=new QDateEdit(this);
cast_item_expiration_label= cast_item_expiration_label=
new QLabel(cast_item_expiration_edit,tr("Expires On:"),this); new QLabel(cast_item_expiration_edit,tr("Expires On")+":",this);
cast_item_expiration_label->setFont(labelFont()); cast_item_expiration_label->setFont(labelFont());
cast_item_expiration_label-> cast_item_expiration_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter); setAlignment(Qt::AlignRight|Qt::AlignVCenter);
@ -168,33 +174,6 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
cast_item_expiration_button-> cast_item_expiration_button->
setEnabled(cast_status!=RDPodcast::StatusExpired); setEnabled(cast_status!=RDPodcast::StatusExpired);
//
// Cast Status
//
cast_item_status_group=new QButtonGroup(this);
cast_item_status_group->setExclusive(true);
cast_hold_rbutton=new QRadioButton(this);
cast_item_status_group->addButton(cast_hold_rbutton,0);
cast_hold_label=new QLabel(cast_hold_rbutton,tr("Hold"),this);
cast_hold_label->setFont(subButtonFont());
cast_hold_label->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
cast_hold_rbutton->setChecked(true);
cast_hold_label->setEnabled(cast_status!=RDPodcast::StatusExpired);
cast_hold_rbutton->setEnabled(cast_status!=RDPodcast::StatusExpired);
cast_active_rbutton=new QRadioButton(this);
cast_item_status_group->addButton(cast_active_rbutton,1);
cast_active_label=new QLabel(cast_active_rbutton,tr("Active"),this);
cast_active_label->setFont(subLabelFont());
cast_active_label->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
cast_active_label->setEnabled(cast_status!=RDPodcast::StatusExpired);
cast_status_label=new QLabel(tr("Posting Status:"),this);
cast_status_label->setFont(labelFont());
cast_status_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
cast_status_label->setEnabled(cast_status!=RDPodcast::StatusExpired);
cast_active_rbutton->setEnabled(cast_status!=RDPodcast::StatusExpired);
// //
// Ok Button // Ok Button
// //
@ -244,16 +223,16 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
expirationSelectedData(cast_item_expiration_box->currentItem()); expirationSelectedData(cast_item_expiration_box->currentItem());
switch(cast_status) { switch(cast_status) {
case RDPodcast::StatusActive: case RDPodcast::StatusActive:
cast_item_status_group->button(1)->setChecked(true); cast_active_check->setChecked(true);
break; break;
case RDPodcast::StatusPending: case RDPodcast::StatusPending:
cast_item_status_group->button(0)->setChecked(true); cast_active_check->setChecked(false);
break; break;
case RDPodcast::StatusExpired: case RDPodcast::StatusExpired:
cast_item_status_group->button(0)->setDisabled(true); cast_active_check->setDisabled(true);
cast_item_status_group->button(1)->setDisabled(true); cast_active_label->setDisabled(true);
break; break;
} }
@ -273,7 +252,7 @@ EditCast::~EditCast()
QSize EditCast::sizeHint() const QSize EditCast::sizeHint() const
{ {
return QSize(640,442); return QSize(640,480);
} }
@ -292,22 +271,6 @@ void EditCast::expirationSelectedData(int state)
} }
void EditCast::effectiveSelectData()
{
QDate current_date=QDate::currentDate();
QDateTime datetime=cast_item_effective_edit->dateTime();
QDate date=datetime.date();
RDDateDialog *dd=
new RDDateDialog(current_date.year()-5,current_date.year()+5,this);
if(dd->exec(&date)==0) {
datetime.setDate(date);
cast_item_effective_edit->setDateTime(datetime);
}
delete dd;
}
void EditCast::expirationSelectData() void EditCast::expirationSelectData()
{ {
QDate current_date=QDate::currentDate(); QDate current_date=QDate::currentDate();
@ -336,7 +299,7 @@ void EditCast::okData()
cast_cast->setItemComments(cast_item_comments_edit->text()); cast_cast->setItemComments(cast_item_comments_edit->text());
cast_cast-> cast_cast->
setEffectiveDateTime(RDLocalToUtc(cast_item_effective_edit->dateTime())); setEffectiveDateTime(RDLocalToUtc(cast_item_effective_edit->dateTime()));
if(cast_item_status_group->button(0)->isEnabled()) { if(cast_active_check->isEnabled()) {
if(cast_item_expiration_box->currentItem()) { if(cast_item_expiration_box->currentItem()) {
int shelf_life=RDUtcToLocal(cast_cast->originDateTime()).date(). int shelf_life=RDUtcToLocal(cast_cast->originDateTime()).date().
daysTo(cast_item_expiration_edit->date()); daysTo(cast_item_expiration_edit->date());
@ -348,14 +311,11 @@ void EditCast::okData()
else { else {
cast_cast->setShelfLife(0); cast_cast->setShelfLife(0);
} }
switch(cast_item_status_group->checkedId()) { if(cast_active_check->isChecked()) {
case 0:
cast_cast->setStatus(RDPodcast::StatusPending);
break;
case 1:
cast_cast->setStatus(RDPodcast::StatusActive); cast_cast->setStatus(RDPodcast::StatusActive);
break; }
else {
cast_cast->setStatus(RDPodcast::StatusPending);
} }
} }
@ -379,10 +339,25 @@ void EditCast::cancelData()
void EditCast::resizeEvent(QResizeEvent *e) void EditCast::resizeEvent(QResizeEvent *e)
{ {
int ypos=0; int ypos=0;
int w=size().width();
int h=size().height(); int h=size().height();
ypos=2; ypos=2;
//
// Posting Status
//
cast_active_check->setGeometry(10,ypos+2,15,15);
cast_active_label->setGeometry(30,ypos,300,20);
//
// Posted At
//
cast_item_origin_edit->setGeometry(w-160,ypos,150,20);
cast_item_origin_label->setGeometry(w-275,ypos,110,20);
ypos+=27;
// //
// Title // Title
// //
@ -425,55 +400,39 @@ void EditCast::resizeEvent(QResizeEvent *e)
// //
cast_item_description_label->setGeometry(20,ypos,110,20); cast_item_description_label->setGeometry(20,ypos,110,20);
cast_item_description_edit-> cast_item_description_edit->
setGeometry(135,ypos,size().width()-145,h-ypos-271); setGeometry(135,ypos,size().width()-145,h-ypos-221);
// //
// Explicit Content // Explicit Content
// //
cast_item_explicit_check->setGeometry(140,h-266,15,15); cast_item_explicit_check->setGeometry(140,h-216,15,15);
cast_item_explicit_label->setGeometry(160,h-269,size().width()-145,20); cast_item_explicit_label->setGeometry(160,h-219,size().width()-145,20);
// //
// Image // Image
// //
cast_item_image_label->setGeometry(20,h-247,110,20); cast_item_image_label->setGeometry(20,h-197,110,20);
cast_item_image_box->setIconSize(QSize(36,36)); cast_item_image_box->setIconSize(QSize(36,36));
cast_item_image_box->setGeometry(135,h-247,300,38); cast_item_image_box->setGeometry(135,h-197,300,38);
// //
// Air Date/Time // Air Date/Time
// //
cast_item_effective_edit->setGeometry(135,h-207,165,20); cast_item_effective_edit->setGeometry(135,h-157,150,20);
cast_item_effective_label->setGeometry(20,h-207,110,20); cast_item_effective_label->setGeometry(20,h-157,110,20);
cast_item_effective_button->setGeometry(310,h-207,50,20);
//
// Posted At
//
cast_item_origin_edit->setGeometry(135,h-185,165,20);
cast_item_origin_label->setGeometry(20,h-185,110,20);
// //
// Cast Expires // Cast Expires
// //
cast_item_expiration_box->setGeometry(135,h-163,50,20); cast_item_expiration_box->setGeometry(135,h-135,50,20);
cast_item_expiration_box_label->setGeometry(20,h-163,110,20); cast_item_expiration_box_label->setGeometry(20,h-135,110,20);
// //
// Expires On // Expires On
// //
cast_item_expiration_edit->setGeometry(135,h-141,95,20); cast_item_expiration_edit->setGeometry(135,h-113,95,20);
cast_item_expiration_label->setGeometry(20,h-141,110,20); cast_item_expiration_label->setGeometry(20,h-113,110,20);
cast_item_expiration_button->setGeometry(240,h-141,50,20); cast_item_expiration_button->setGeometry(240,h-113,50,20);
//
// Posting Status
//
cast_hold_rbutton->setGeometry(140,h-114,15,15);
cast_hold_label->setGeometry(160,h-114,30,15);
cast_active_rbutton->setGeometry(210,h-114,15,15);
cast_active_label->setGeometry(230,h-114,80,15);
cast_status_label->setGeometry(20,h-114,110,20);
// //
// Buttons // Buttons

View File

@ -47,7 +47,6 @@ class EditCast : public RDDialog
private slots: private slots:
void expirationSelectedData(int state); void expirationSelectedData(int state);
void effectiveSelectData();
void expirationSelectData(); void expirationSelectData();
void okData(); void okData();
void cancelData(); void cancelData();
@ -79,17 +78,12 @@ class EditCast : public RDDialog
QLabel *cast_item_expiration_box_label; QLabel *cast_item_expiration_box_label;
QComboBox *cast_item_expiration_box; QComboBox *cast_item_expiration_box;
QLabel *cast_item_expiration_label; QLabel *cast_item_expiration_label;
QRadioButton *cast_hold_rbutton; QCheckBox *cast_active_check;
QLabel *cast_hold_label;
QRadioButton *cast_active_rbutton;
QLabel *cast_active_label; QLabel *cast_active_label;
QLabel *cast_status_label;
QPushButton *cast_item_expiration_button; QPushButton *cast_item_expiration_button;
QDateEdit *cast_item_expiration_edit; QDateEdit *cast_item_expiration_edit;
QLabel *cast_item_effective_label; QLabel *cast_item_effective_label;
QDateTimeEdit *cast_item_effective_edit; QDateTimeEdit *cast_item_effective_edit;
QPushButton *cast_item_effective_button;
QButtonGroup *cast_item_status_group;
QPushButton *cast_ok_button; QPushButton *cast_ok_button;
QPushButton *cast_cancel_button; QPushButton *cast_cancel_button;
RDPodcast::Status cast_status; RDPodcast::Status cast_status;

View File

@ -65,15 +65,15 @@
</message> </message>
<message> <message>
<source>Hold</source> <source>Hold</source>
<translation>Držet</translation> <translation type="obsolete">Držet</translation>
</message> </message>
<message> <message>
<source>Active</source> <source>Active</source>
<translation>Činný</translation> <translation type="obsolete">Činný</translation>
</message> </message>
<message> <message>
<source>Posting Status:</source> <source>Posting Status:</source>
<translation>Stav vyvěšení:</translation> <translation type="obsolete">Stav vyvěšení:</translation>
</message> </message>
<message> <message>
<source>Episode <source>Episode
@ -99,7 +99,7 @@ dílu</translation>
</message> </message>
<message> <message>
<source>Expires On:</source> <source>Expires On:</source>
<translation>Přestane platit:</translation> <translation type="obsolete">Přestane platit:</translation>
</message> </message>
<message> <message>
<source>Post contains explicit content</source> <source>Post contains explicit content</source>
@ -109,6 +109,14 @@ dílu</translation>
<source>Image</source> <source>Image</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Cast Active</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Expires On</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ListCasts</name> <name>ListCasts</name>

View File

@ -65,15 +65,15 @@
</message> </message>
<message> <message>
<source>Hold</source> <source>Hold</source>
<translation>Hold</translation> <translation type="obsolete">Hold</translation>
</message> </message>
<message> <message>
<source>Active</source> <source>Active</source>
<translation>Aktiv</translation> <translation type="obsolete">Aktiv</translation>
</message> </message>
<message> <message>
<source>Posting Status:</source> <source>Posting Status:</source>
<translation>Posting Status:</translation> <translation type="obsolete">Posting Status:</translation>
</message> </message>
<message> <message>
<source>Episode <source>Episode
@ -97,10 +97,6 @@
<source>Media Link:</source> <source>Media Link:</source>
<translation type="obsolete">Medienlink:</translation> <translation type="obsolete">Medienlink:</translation>
</message> </message>
<message>
<source>Expires On:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Post contains explicit content</source> <source>Post contains explicit content</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -109,6 +105,14 @@
<source>Image</source> <source>Image</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Cast Active</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Expires On</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ListCasts</name> <name>ListCasts</name>

View File

@ -41,15 +41,15 @@
</message> </message>
<message> <message>
<source>Hold</source> <source>Hold</source>
<translation>Mantener</translation> <translation type="obsolete">Mantener</translation>
</message> </message>
<message> <message>
<source>Active</source> <source>Active</source>
<translation>Activo</translation> <translation type="obsolete">Activo</translation>
</message> </message>
<message> <message>
<source>Posting Status:</source> <source>Posting Status:</source>
<translation>Estado del Post:</translation> <translation type="obsolete">Estado del Post:</translation>
</message> </message>
<message> <message>
<source>&amp;OK</source> <source>&amp;OK</source>
@ -95,7 +95,7 @@ Episodios</translation>
</message> </message>
<message> <message>
<source>Expires On:</source> <source>Expires On:</source>
<translation>Expira el:</translation> <translation type="obsolete">Expira el:</translation>
</message> </message>
<message> <message>
<source>Post contains explicit content</source> <source>Post contains explicit content</source>
@ -105,6 +105,14 @@ Episodios</translation>
<source>Image</source> <source>Image</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Cast Active</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Expires On</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ListCasts</name> <name>ListCasts</name>

View File

@ -51,18 +51,6 @@
<source>&amp;Select</source> <source>&amp;Select</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Hold</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Active</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Posting Status:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>&amp;OK</source> <source>&amp;OK</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -75,10 +63,6 @@
<source>Air Date/Time:</source> <source>Air Date/Time:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Expires On:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Post contains explicit content</source> <source>Post contains explicit content</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -87,6 +71,14 @@
<source>Image</source> <source>Image</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Cast Active</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Expires On</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ListCasts</name> <name>ListCasts</name>

View File

@ -65,15 +65,15 @@
</message> </message>
<message> <message>
<source>Hold</source> <source>Hold</source>
<translation>Hald</translation> <translation type="obsolete">Hald</translation>
</message> </message>
<message> <message>
<source>Active</source> <source>Active</source>
<translation>Aktiv</translation> <translation type="obsolete">Aktiv</translation>
</message> </message>
<message> <message>
<source>Posting Status:</source> <source>Posting Status:</source>
<translation>Postestatus:</translation> <translation type="obsolete">Postestatus:</translation>
</message> </message>
<message> <message>
<source>Episode <source>Episode
@ -93,10 +93,6 @@
<source>Air Date/Time:</source> <source>Air Date/Time:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Expires On:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Post contains explicit content</source> <source>Post contains explicit content</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -105,6 +101,14 @@
<source>Image</source> <source>Image</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Cast Active</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Expires On</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ListCasts</name> <name>ListCasts</name>

View File

@ -65,15 +65,15 @@
</message> </message>
<message> <message>
<source>Hold</source> <source>Hold</source>
<translation>Hald</translation> <translation type="obsolete">Hald</translation>
</message> </message>
<message> <message>
<source>Active</source> <source>Active</source>
<translation>Aktiv</translation> <translation type="obsolete">Aktiv</translation>
</message> </message>
<message> <message>
<source>Posting Status:</source> <source>Posting Status:</source>
<translation>Postestatus:</translation> <translation type="obsolete">Postestatus:</translation>
</message> </message>
<message> <message>
<source>Episode <source>Episode
@ -93,10 +93,6 @@
<source>Air Date/Time:</source> <source>Air Date/Time:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Expires On:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Post contains explicit content</source> <source>Post contains explicit content</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -105,6 +101,14 @@
<source>Image</source> <source>Image</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Cast Active</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Expires On</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ListCasts</name> <name>ListCasts</name>

View File

@ -73,15 +73,15 @@
</message> </message>
<message> <message>
<source>Hold</source> <source>Hold</source>
<translation>Espere</translation> <translation type="obsolete">Espere</translation>
</message> </message>
<message> <message>
<source>Active</source> <source>Active</source>
<translation>Ativo</translation> <translation type="obsolete">Ativo</translation>
</message> </message>
<message> <message>
<source>Posting Status:</source> <source>Posting Status:</source>
<translation>Publicação:</translation> <translation type="obsolete">Publicação:</translation>
</message> </message>
<message> <message>
<source>Episode <source>Episode
@ -97,10 +97,6 @@ Episódio</translation>
<source>&amp;Cancel</source> <source>&amp;Cancel</source>
<translation>&amp;Cancelar</translation> <translation>&amp;Cancelar</translation>
</message> </message>
<message>
<source>Expires On:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Post contains explicit content</source> <source>Post contains explicit content</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -109,6 +105,14 @@ Episódio</translation>
<source>Image</source> <source>Image</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Cast Active</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Expires On</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ListCasts</name> <name>ListCasts</name>