mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-04-11 07:12:56 +02:00
2020-06-30 Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDFeed::publicUrl()' static method. * Added a 'Public URL' column in the 'List Feeds' dialog in rdadmin(1). * Removed the 'Superfeed' and 'Description' columns from the main window of rdcastmanager(1). * Added a 'Public URL' column and a 'Copy URL to Clipboard' button to the main window of rdcastmanager(1). Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
85791995c7
commit
4f96349789
@ -20051,3 +20051,11 @@
|
||||
devices to fail to be properly restored by the connection watchdog.
|
||||
2020-06-11 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Incremented the package version to 3.4.0rss0.
|
||||
2020-06-30 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added a 'RDFeed::publicUrl()' static method.
|
||||
* Added a 'Public URL' column in the 'List Feeds' dialog in
|
||||
rdadmin(1).
|
||||
* Removed the 'Superfeed' and 'Description' columns from the
|
||||
main window of rdcastmanager(1).
|
||||
* Added a 'Public URL' column and a 'Copy URL to Clipboard'
|
||||
button to the main window of rdcastmanager(1).
|
||||
|
@ -1664,6 +1664,12 @@ QString RDFeed::imageFilename(int feed_id,int img_id,const QString &ext)
|
||||
}
|
||||
|
||||
|
||||
QString RDFeed::publicUrl(const QString &base_url,const QString &keyname)
|
||||
{
|
||||
return base_url+"/"+keyname+"."+RD_RSS_XML_FILE_EXTENSION;
|
||||
}
|
||||
|
||||
|
||||
unsigned RDFeed::CreateCast(QString *filename,int bytes,int msecs) const
|
||||
{
|
||||
QString sql;
|
||||
|
@ -154,6 +154,7 @@ class RDFeed : public QObject
|
||||
QString *err_msg,const QString &exemplar="");
|
||||
static QString errorString(RDFeed::Error err);
|
||||
static QString imageFilename(int feed_id,int img_id,const QString &ext);
|
||||
static QString publicUrl(const QString &base_url,const QString &keyname);
|
||||
|
||||
signals:
|
||||
void postProgressChanged(int step);
|
||||
|
@ -45,8 +45,7 @@ ListFeeds::ListFeeds(QWidget *parent)
|
||||
//
|
||||
// Fix the Window Size
|
||||
//
|
||||
setMinimumWidth(sizeHint().width());
|
||||
setMinimumHeight(sizeHint().height());
|
||||
setMinimumSize(sizeHint());
|
||||
|
||||
setWindowTitle("RDAdmin - "+tr("Rivendell Feed List"));
|
||||
|
||||
@ -93,14 +92,16 @@ ListFeeds::ListFeeds(QWidget *parent)
|
||||
list_feeds_view->setColumnAlignment(0,Qt::AlignCenter|Qt::AlignVCenter);
|
||||
list_feeds_view->addColumn(tr("Title"));
|
||||
list_feeds_view->setColumnAlignment(1,Qt::AlignLeft);
|
||||
list_feeds_view->addColumn(tr("Public URL"));
|
||||
list_feeds_view->setColumnAlignment(2,Qt::AlignLeft);
|
||||
list_feeds_view->addColumn(tr("Superfeed"));
|
||||
list_feeds_view->setColumnAlignment(2,Qt::AlignCenter|Qt::AlignVCenter);
|
||||
list_feeds_view->addColumn(tr("AutoPost"));
|
||||
list_feeds_view->setColumnAlignment(3,Qt::AlignCenter|Qt::AlignVCenter);
|
||||
list_feeds_view->addColumn(tr("Keep Metadata"));
|
||||
list_feeds_view->addColumn(tr("AutoPost"));
|
||||
list_feeds_view->setColumnAlignment(4,Qt::AlignCenter|Qt::AlignVCenter);
|
||||
list_feeds_view->addColumn(tr("Creation Date"));
|
||||
list_feeds_view->addColumn(tr("Keep Metadata"));
|
||||
list_feeds_view->setColumnAlignment(5,Qt::AlignCenter|Qt::AlignVCenter);
|
||||
list_feeds_view->addColumn(tr("Creation Date"));
|
||||
list_feeds_view->setColumnAlignment(6,Qt::AlignCenter|Qt::AlignVCenter);
|
||||
QLabel *list_box_label=new QLabel(list_feeds_view,tr("&Feeds:"),this);
|
||||
list_box_label->setFont(labelFont());
|
||||
list_box_label->setGeometry(14,11,85,19);
|
||||
@ -120,7 +121,7 @@ ListFeeds::~ListFeeds()
|
||||
|
||||
QSize ListFeeds::sizeHint() const
|
||||
{
|
||||
return QSize(500,280);
|
||||
return QSize(800,300);
|
||||
}
|
||||
|
||||
|
||||
@ -329,7 +330,8 @@ void ListFeeds::RefreshList()
|
||||
"IS_SUPERFEED,"+ // 03
|
||||
"ENABLE_AUTOPOST,"+ // 04
|
||||
"KEEP_METADATA,"+ // 05
|
||||
"ORIGIN_DATETIME "+ // 06
|
||||
"ORIGIN_DATETIME,"+ // 06
|
||||
"BASE_URL "+ // 07
|
||||
"from FEEDS";
|
||||
q=new RDSqlQuery(sql);
|
||||
while (q->next()) {
|
||||
@ -337,10 +339,12 @@ void ListFeeds::RefreshList()
|
||||
item->setId(q->value(0).toInt());
|
||||
item->setText(0,q->value(1).toString());
|
||||
item->setText(1,q->value(2).toString());
|
||||
item->setText(2,q->value(3).toString());
|
||||
item->setText(3,q->value(4).toString());
|
||||
item->setText(4,q->value(5).toString());
|
||||
item->setText(5,q->value(6).toDateTime().toString("MM/dd/yyyy"));
|
||||
item->setText(2,RDFeed::publicUrl(q->value(7).toString(),
|
||||
q->value(1).toString()));
|
||||
item->setText(3,q->value(3).toString());
|
||||
item->setText(4,q->value(4).toString());
|
||||
item->setText(5,q->value(5).toString());
|
||||
item->setText(6,q->value(6).toDateTime().toString("MM/dd/yyyy"));
|
||||
}
|
||||
delete q;
|
||||
}
|
||||
@ -357,17 +361,20 @@ void ListFeeds::RefreshItem(RDListViewItem *item)
|
||||
"IS_SUPERFEED,"+ // 02
|
||||
"ENABLE_AUTOPOST,"+ // 03
|
||||
"KEEP_METADATA,"+ // 04
|
||||
"ORIGIN_DATETIME "+ // 05
|
||||
"ORIGIN_DATETIME,"+ // 05
|
||||
"BASE_URL "+ // 06
|
||||
"from FEEDS where "+
|
||||
QString().sprintf("ID=%d",item->id());
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->next()) {
|
||||
item->setText(0,q->value(0).toString());
|
||||
item->setText(1,q->value(1).toString());
|
||||
item->setText(2,q->value(2).toString());
|
||||
item->setText(3,q->value(3).toString());
|
||||
item->setText(4,q->value(4).toString());
|
||||
item->setText(5,q->value(5).toDateTime().toString("MM/dd/yyyy"));
|
||||
item->setText(2,RDFeed::publicUrl(q->value(0).toString(),
|
||||
q->value(6).toString()));
|
||||
item->setText(3,q->value(2).toString());
|
||||
item->setText(4,q->value(3).toString());
|
||||
item->setText(5,q->value(4).toString());
|
||||
item->setText(6,q->value(5).toDateTime().toString("MM/dd/yyyy"));
|
||||
}
|
||||
delete q;
|
||||
}
|
||||
|
@ -5183,6 +5183,10 @@ Stále ještě jej chcete smazat?</translation>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -4997,6 +4997,10 @@ Wollen Sie ihn immernoch löschen?</translation>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -5150,6 +5150,10 @@ Do you still want to delete it?</source>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -4147,6 +4147,10 @@ Permissions</source>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -4854,6 +4854,10 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -4854,6 +4854,10 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -4977,6 +4977,10 @@ Você ainda quer Deletar?</translation>
|
||||
<source>Deleting remote audio...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListGpis</name>
|
||||
|
@ -19,9 +19,11 @@
|
||||
//
|
||||
|
||||
#include <qapplication.h>
|
||||
#include <qclipboard.h>
|
||||
#include <qtranslator.h>
|
||||
#include <qmessagebox.h>
|
||||
|
||||
#include <rdconf.h>
|
||||
#include <rdescape_string.h>
|
||||
#include <rdpodcast.h>
|
||||
|
||||
@ -104,6 +106,8 @@ MainWidget::MainWidget(RDConfig *c,QWidget *parent)
|
||||
cast_feed_list=new RDListView(this);
|
||||
cast_feed_list->setAllColumnsShowFocus(true);
|
||||
cast_feed_list->setItemMargin(5);
|
||||
connect(cast_feed_list,SIGNAL(clicked(Q3ListViewItem *)),
|
||||
this,SLOT(feedClickedData(Q3ListViewItem *)));
|
||||
connect(cast_feed_list,
|
||||
SIGNAL(doubleClicked(Q3ListViewItem *,const QPoint &,int)),
|
||||
this,
|
||||
@ -112,28 +116,35 @@ MainWidget::MainWidget(RDConfig *c,QWidget *parent)
|
||||
cast_feed_list->setColumnAlignment(0,Qt::AlignCenter);
|
||||
|
||||
cast_feed_list->addColumn(tr("Key Name"));
|
||||
cast_feed_list->setColumnAlignment(1,Qt::AlignHCenter);
|
||||
cast_feed_list->setColumnAlignment(1,Qt::AlignLeft);
|
||||
|
||||
cast_feed_list->addColumn(tr("Feed Name"));
|
||||
cast_feed_list->setColumnAlignment(2,Qt::AlignLeft);
|
||||
|
||||
cast_feed_list->addColumn(tr("Superfeed"));
|
||||
cast_feed_list->addColumn(tr("Casts"));
|
||||
cast_feed_list->setColumnAlignment(3,Qt::AlignCenter);
|
||||
|
||||
cast_feed_list->addColumn(tr("Description"));
|
||||
cast_feed_list->addColumn(tr("Public URL"));
|
||||
cast_feed_list->setColumnAlignment(4,Qt::AlignLeft);
|
||||
|
||||
cast_feed_list->addColumn(tr("Casts"));
|
||||
cast_feed_list->setColumnAlignment(5,Qt::AlignCenter);
|
||||
|
||||
//
|
||||
// Open Button
|
||||
//
|
||||
cast_open_button=new QPushButton(this);
|
||||
cast_open_button->setFont(buttonFont());
|
||||
cast_open_button->setText(tr("&View\nFeed"));
|
||||
cast_open_button->setDisabled(true);
|
||||
connect(cast_open_button,SIGNAL(clicked()),this,SLOT(openData()));
|
||||
|
||||
//
|
||||
// Copy Button
|
||||
//
|
||||
cast_copy_button=new QPushButton(this);
|
||||
cast_copy_button->setFont(buttonFont());
|
||||
cast_copy_button->setText(tr("Copy URL to\nClipboard"));
|
||||
cast_copy_button->setDisabled(true);
|
||||
connect(cast_copy_button,SIGNAL(clicked()),this,SLOT(copyData()));
|
||||
|
||||
//
|
||||
// Close Button
|
||||
//
|
||||
@ -170,6 +181,13 @@ void MainWidget::userChangedData()
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::feedClickedData(Q3ListViewItem *item)
|
||||
{
|
||||
cast_open_button->setDisabled(item==NULL);
|
||||
cast_copy_button->setDisabled(item==NULL);
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::openData()
|
||||
{
|
||||
RDListViewItem *item=(RDListViewItem *)cast_feed_list->selectedItem();
|
||||
@ -183,6 +201,16 @@ void MainWidget::openData()
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::copyData()
|
||||
{
|
||||
RDListViewItem *item=(RDListViewItem *)cast_feed_list->selectedItem();
|
||||
if(item==NULL) {
|
||||
return;
|
||||
}
|
||||
QApplication::clipboard()->setText(item->text(4));
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::feedDoubleclickedData(Q3ListViewItem *,const QPoint &,int)
|
||||
{
|
||||
openData();
|
||||
@ -200,6 +228,7 @@ void MainWidget::resizeEvent(QResizeEvent *e)
|
||||
if(cast_resize) {
|
||||
cast_feed_list->setGeometry(10,10,size().width()-20,size().height()-70);
|
||||
cast_open_button->setGeometry(10,size().height()-55,80,50);
|
||||
cast_copy_button->setGeometry(120,size().height()-55,100,50);
|
||||
cast_close_button->setGeometry(size().width()-90,size().height()-55,80,50);
|
||||
}
|
||||
}
|
||||
@ -214,16 +243,16 @@ void MainWidget::RefreshItem(RDListViewItem *item)
|
||||
int total=0;
|
||||
|
||||
sql=QString("select ")+
|
||||
"CHANNEL_TITLE,"+ // 00
|
||||
"IS_SUPERFEED,"+ // 01
|
||||
"CHANNEL_DESCRIPTION,"+ // 02
|
||||
"ID "+ // 03
|
||||
"CHANNEL_TITLE,"+ // 00
|
||||
"IS_SUPERFEED,"+ // 01
|
||||
"ID,"+ // 02
|
||||
"BASE_URL "+ // 03
|
||||
"from FEEDS where "+
|
||||
"KEY_NAME=\""+RDEscapeString(item->text(1))+"\"";
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
sql=QString().sprintf("select STATUS from PODCASTS where FEED_ID=%u",
|
||||
q->value(3).toUInt());
|
||||
q->value(2).toUInt());
|
||||
q1=new RDSqlQuery(sql);
|
||||
while(q1->next()) {
|
||||
total++;
|
||||
@ -245,9 +274,13 @@ void MainWidget::RefreshItem(RDListViewItem *item)
|
||||
item->setPixmap(0,*cast_redx_map);
|
||||
}
|
||||
item->setText(2,q->value(0).toString());
|
||||
item->setText(3,q->value(1).toString());
|
||||
item->setText(4,q->value(2).toString());
|
||||
item->setText(5,QString().sprintf("%d / %d",active,total));
|
||||
if(RDBool(q->value(1).toString())) {
|
||||
item->setText(3,tr("[superfeed]"));
|
||||
}
|
||||
else {
|
||||
item->setText(3,QString().sprintf("%d / %d",active,total));
|
||||
}
|
||||
item->setText(4,RDFeed::publicUrl(q->value(3).toString(),item->text(1)));
|
||||
}
|
||||
delete q;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// A RSS Feed Management Utility for Rivendell.
|
||||
//
|
||||
// (C) Copyright 2002-2018 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
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -39,7 +39,9 @@ class MainWidget : public RDWidget
|
||||
|
||||
private slots:
|
||||
void openData();
|
||||
void copyData();
|
||||
void userChangedData();
|
||||
void feedClickedData(Q3ListViewItem *item);
|
||||
void feedDoubleclickedData(Q3ListViewItem *item,const QPoint &pt,int col);
|
||||
void quitMainWidget();
|
||||
|
||||
@ -54,6 +56,7 @@ class MainWidget : public RDWidget
|
||||
QPixmap *cast_greencheckmark_map;
|
||||
QPixmap *cast_redx_map;
|
||||
QPushButton *cast_open_button;
|
||||
QPushButton *cast_copy_button;
|
||||
QPushButton *cast_close_button;
|
||||
bool cast_resize;
|
||||
};
|
||||
|
@ -334,7 +334,7 @@ Podcast trotzdem löschen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Popis</translation>
|
||||
<translation type="obsolete">Popis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Casts</source>
|
||||
@ -367,7 +367,16 @@ přívod</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Superfeed</source>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL to
|
||||
Clipboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[superfeed]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -323,7 +323,7 @@ Podcast trotzdem löschen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Beschreibung</translation>
|
||||
<translation type="obsolete">Beschreibung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Casts</source>
|
||||
@ -356,7 +356,16 @@ Feed</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Superfeed</source>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL to
|
||||
Clipboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[superfeed]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -274,7 +274,7 @@ Suscripción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Descripción</translation>
|
||||
<translation type="obsolete">Descripción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Casts</source>
|
||||
@ -306,7 +306,16 @@ Feed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Superfeed</source>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL to
|
||||
Clipboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[superfeed]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -251,10 +251,6 @@ Car&t/Cut</source>
|
||||
<source>Feed Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Casts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -285,7 +281,16 @@ Feed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Superfeed</source>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL to
|
||||
Clipboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[superfeed]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -322,7 +322,7 @@ Vil du halda fram med å sletta podkasten?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Skildring</translation>
|
||||
<translation type="obsolete">Skildring</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Casts</source>
|
||||
@ -355,7 +355,16 @@ straum</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Superfeed</source>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL to
|
||||
Clipboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[superfeed]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -322,7 +322,7 @@ Vil du halda fram med å sletta podkasten?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Skildring</translation>
|
||||
<translation type="obsolete">Skildring</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Casts</source>
|
||||
@ -355,7 +355,16 @@ straum</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Superfeed</source>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL to
|
||||
Clipboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[superfeed]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -288,7 +288,7 @@ Continuar deletando cast?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Descrição</translation>
|
||||
<translation type="obsolete">Descrição</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Casts</source>
|
||||
@ -321,7 +321,16 @@ Feed</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Superfeed</source>
|
||||
<source>Public URL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL to
|
||||
Clipboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[superfeed]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
Loading…
x
Reference in New Issue
Block a user