mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-10-16 15:41:13 +02:00
2023-05-11 Fred Gleason <fredg@paravelsystems.com>
* Modified rdcastmanager(1) so that the 'Title' and 'Description' field of the 'Editing Item' dialog default to empty after posting a new item when AutoPost is disabled. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
#include "edit_cast.h"
|
||||
#include "globals.h"
|
||||
|
||||
EditCast::EditCast(unsigned cast_id,QWidget *parent)
|
||||
EditCast::EditCast(unsigned cast_id,bool new_post,QWidget *parent)
|
||||
: RDDialog(parent)
|
||||
{
|
||||
cast_cast=new RDPodcast(rda->config(),cast_id);
|
||||
@@ -56,15 +56,19 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
|
||||
//
|
||||
cast_item_title_edit=new QLineEdit(this);
|
||||
cast_item_title_edit->setMaxLength(255);
|
||||
cast_item_title_edit->setPlaceholderText(tr("Enter item title"));
|
||||
cast_item_title_label=new QLabel(tr("Title:"),this);
|
||||
cast_item_title_label->setFont(labelFont());
|
||||
cast_item_title_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
connect(cast_item_title_edit,SIGNAL(textChanged(const QString &)),
|
||||
this,SLOT(titleChangedData(const QString &)));
|
||||
|
||||
//
|
||||
// Item Author
|
||||
//
|
||||
cast_item_author_edit=new QLineEdit(this);
|
||||
cast_item_author_edit->setMaxLength(255);
|
||||
cast_item_author_edit->setPlaceholderText(tr("Enter author e-mail address"));
|
||||
cast_item_author_label=new QLabel(tr("Author E-Mail:"),this);
|
||||
cast_item_author_label->setFont(labelFont());
|
||||
cast_item_author_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
@@ -110,10 +114,13 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
|
||||
// Item Description
|
||||
//
|
||||
cast_item_description_edit=new QTextEdit(this);
|
||||
cast_item_description_edit->setPlaceholderText(tr("Enter item description"));
|
||||
cast_item_description_label=new QLabel(tr("Description:"),this);
|
||||
cast_item_description_label->setFont(labelFont());
|
||||
cast_item_description_label->
|
||||
setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
connect(cast_item_description_edit,SIGNAL(textChanged()),
|
||||
this,SLOT(descriptionChangedData()));
|
||||
|
||||
//
|
||||
// Item Explicit
|
||||
@@ -198,7 +205,10 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
|
||||
//
|
||||
setWindowTitle("RDCastManager - "+tr("Editing Item")+
|
||||
+" [Cast ID: "+QString::asprintf("%u",cast_cast->id())+"]");
|
||||
cast_item_title_edit->setText(cast_cast->itemTitle());
|
||||
if((!new_post)||(cast_status==RDPodcast::StatusActive)) {
|
||||
cast_item_title_edit->setText(cast_cast->itemTitle());
|
||||
cast_item_description_edit->setText(cast_cast->itemDescription());
|
||||
}
|
||||
cast_item_author_edit->setText(cast_cast->itemAuthor());
|
||||
if(cast_cast->originLoginName().isEmpty()) {
|
||||
cast_item_origin_edit->
|
||||
@@ -220,7 +230,6 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
|
||||
setVisible(rda->rssSchemas()->
|
||||
supportsItemCategories(cast_feed->rssSchema()));
|
||||
cast_item_link_edit->setText(cast_cast->itemLink());
|
||||
cast_item_description_edit->setText(cast_cast->itemDescription());
|
||||
cast_item_explicit_check->setChecked(cast_cast->itemExplicit());
|
||||
cast_item_image_box->setCategoryId(cast_feed->id());
|
||||
cast_item_image_box->setCurrentImageId(cast_cast->itemImageId());
|
||||
@@ -251,6 +260,7 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
|
||||
cast_active_label->setDisabled(true);
|
||||
break;
|
||||
}
|
||||
descriptionChangedData();
|
||||
|
||||
//
|
||||
// Fix the Window Size
|
||||
@@ -278,6 +288,20 @@ QSizePolicy EditCast::sizePolicy() const
|
||||
}
|
||||
|
||||
|
||||
void EditCast::titleChangedData(const QString &str)
|
||||
{
|
||||
descriptionChangedData();
|
||||
}
|
||||
|
||||
|
||||
void EditCast::descriptionChangedData()
|
||||
{
|
||||
cast_ok_button->
|
||||
setDisabled(cast_item_description_edit->toPlainText().trimmed().isEmpty()||
|
||||
cast_item_title_edit->text().trimmed().isEmpty());
|
||||
}
|
||||
|
||||
|
||||
void EditCast::effectiveSelectData()
|
||||
{
|
||||
QDate current_date=QDate::currentDate();
|
||||
|
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// Edit a Rivendell Cast
|
||||
//
|
||||
// (C) Copyright 2002-2021 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2023 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// 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
|
||||
@@ -36,12 +36,14 @@ class EditCast : public RDDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
EditCast(unsigned cast_id,QWidget *parent=0);
|
||||
EditCast(unsigned cast_id,bool new_post,QWidget *parent);
|
||||
~EditCast();
|
||||
QSize sizeHint() const;
|
||||
QSizePolicy sizePolicy() const;
|
||||
|
||||
private slots:
|
||||
void titleChangedData(const QString &str);
|
||||
void descriptionChangedData();
|
||||
void effectiveSelectData();
|
||||
void expirationSelectedData(int state);
|
||||
void expirationSelectData();
|
||||
|
@@ -188,7 +188,7 @@ void ListCasts::addCartData()
|
||||
QMessageBox::warning(this,"RDCastManager - "+tr("Posting Error"),err_msg);
|
||||
return;
|
||||
}
|
||||
EditCast *d=new EditCast(cast_id,this);
|
||||
EditCast *d=new EditCast(cast_id,true,this);
|
||||
d->exec();
|
||||
QModelIndex row=list_casts_model->addCast(cast_id);
|
||||
if(row.isValid()) {
|
||||
@@ -220,7 +220,7 @@ void ListCasts::addFileData()
|
||||
QMessageBox::warning(this,"RDCastManager - "+tr("Posting Error"),err_msg);
|
||||
return;
|
||||
}
|
||||
EditCast *d=new EditCast(cast_id,this);
|
||||
EditCast *d=new EditCast(cast_id,true,this);
|
||||
d->exec();
|
||||
QModelIndex row=list_casts_model->addCast(cast_id);
|
||||
if(row.isValid()) {
|
||||
@@ -256,7 +256,7 @@ void ListCasts::addLogData()
|
||||
&start_line,&end_line)) {
|
||||
if((cast_id=list_feed->postLog(logname,start_time,ignore_stops,
|
||||
start_line,end_line,&err_msg))!=0) {
|
||||
EditCast *cast=new EditCast(cast_id,this);
|
||||
EditCast *cast=new EditCast(cast_id,true,this);
|
||||
cast->exec();
|
||||
QModelIndex row=list_casts_model->addCast(cast_id);
|
||||
if(row.isValid()) {
|
||||
@@ -293,7 +293,7 @@ void ListCasts::editData()
|
||||
if(rows.size()!=1) {
|
||||
return;
|
||||
}
|
||||
EditCast *d=new EditCast(list_casts_model->castId(rows.first()),this);
|
||||
EditCast *d=new EditCast(list_casts_model->castId(rows.first()),false,this);
|
||||
if(d->exec()) {
|
||||
list_casts_model->refresh(rows.first());
|
||||
rda->ripc()->sendNotification(RDNotification::FeedType,
|
||||
|
@@ -221,7 +221,7 @@ void MainWidget::openData()
|
||||
delete d;
|
||||
}
|
||||
if(cast_feed_model->isCast(rows.first())) {
|
||||
EditCast *d=new EditCast(cast_feed_model->castId(rows.first()),this);
|
||||
EditCast *d=new EditCast(cast_feed_model->castId(rows.first()),false,this);
|
||||
if(d->exec()) {
|
||||
cast_feed_model->refreshRow(rows.first());
|
||||
}
|
||||
|
Reference in New Issue
Block a user