mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-09-04 14:48:41 +02:00
2018-07-20 Fred Gleason <fredg@paravelsystems.com>
* Removed the Auxiliary Fields from the podcasting system. * Fixed a regression in the RDFeed system that caused segfaults when accessing channel XML.
This commit is contained in:
parent
c2f11d76be
commit
0dc7a4e698
@ -17197,3 +17197,7 @@
|
||||
2018-07-19 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added a 'CAST_DOWNLOADS' table to the database.
|
||||
* Incremented the database version to 294.
|
||||
2018-07-20 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Removed the Auxiliary Fields from the podcasting system.
|
||||
* Fixed a regression in the RDFeed system that caused segfaults
|
||||
when accessing channel XML.
|
||||
|
@ -103,7 +103,6 @@ dist_librd_la_SOURCES = dbversion.h\
|
||||
rdconf.cpp rdconf.h\
|
||||
rdconfig.cpp rdconfig.h\
|
||||
rdcopyaudio.cpp rdcopyaudio.h\
|
||||
rdcreateauxfieldstable.cpp rdcreateauxfieldstable.h\
|
||||
rdcueedit.cpp rdcueedit.h\
|
||||
rdcueeditdialog.cpp rdcueeditdialog.h\
|
||||
rdcut.cpp rdcut.h\
|
||||
|
@ -1,32 +0,0 @@
|
||||
// rdrdcreateauxfieldstable.cpp
|
||||
//
|
||||
// Create a new, empty Rivendell log table.
|
||||
//
|
||||
// (C) Copyright 2002-2003,2016-2017 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#include <rddb.h>
|
||||
|
||||
void RDCreateAuxFieldsTable(QString keyname,RDConfig *config)
|
||||
{
|
||||
keyname.replace(" ","_");
|
||||
QString sql=QString("create table if not exists `")+
|
||||
keyname+"_FIELDS` (CAST_ID int unsigned not null primary key) "+
|
||||
config->createTablePostfix();
|
||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
}
|
||||
|
@ -1,31 +0,0 @@
|
||||
// rdrdcreateauxfieldstable.h
|
||||
//
|
||||
// Create a new, empty Rivendell log table.
|
||||
//
|
||||
// (C) Copyright 2002-2003,2016-2017 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#ifndef RDRDCREATEAUXFIELDSTABLE_H
|
||||
#define RDRDCREATEAUXFIELDSTABLE_H
|
||||
|
||||
#include <qstring.h>
|
||||
|
||||
#include <rdconfig.h>
|
||||
|
||||
void RDCreateAuxFieldsTable(QString keyname,RDConfig *config);
|
||||
|
||||
|
||||
#endif // RDRDCREATEAUXFIELDSTABLE_H
|
@ -76,19 +76,23 @@ void RDIncrementCastCount(QString keyname,unsigned cast_id)
|
||||
"FEED_KEY_NAME=\""+RDEscapeString(keyname)+"\" && "+
|
||||
QString().sprintf("(CAST_ID=%u)&&",cast_id)+
|
||||
"(ACCESS_DATE=\""+RDEscapeString(now.toString("yyyy-MM-dd"))+"\")";
|
||||
printf("SQL1: %s\n",(const char *)sql);
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
sql=QString("update CAST_DOWNLOADS set ")+
|
||||
QString().sprintf("ACCESS_COUNT=%u where ",q->value(0).toUInt()+1)+
|
||||
"FEED_KEY_NAME=\""+RDEscapeString(keyname)+"\" && "+
|
||||
QString().sprintf("(CAST_ID=%u)&&",cast_id)+
|
||||
"(ACCESS_DATE=\""+RDEscapeString(now.toString("yyyy-MM-dd"))+"\")";
|
||||
}
|
||||
else {
|
||||
sql=QString("insert into CAST_DOWNLOADS set ")+
|
||||
"FEED_KEY_NAME=\""+RDEscapeString(keyname)+"\","+
|
||||
QString().sprintf("CAST_ID=%u,",cast_id)+
|
||||
"ACCESS_DATE=\""+RDEscapeString(now.toString("yyyy-MM-dd"))+"\","+
|
||||
"ACCESS_COUNT=1";
|
||||
}
|
||||
printf("SQL2: %s\n",(const char *)sql);
|
||||
RDSqlQuery::apply(sql);
|
||||
delete q;
|
||||
}
|
||||
|
@ -43,9 +43,7 @@ all:
|
||||
|
||||
bin_PROGRAMS = rdadmin
|
||||
|
||||
dist_rdadmin_SOURCES = add_aux_field.cpp add_aux_field.h\
|
||||
add_encoder.cpp add_encoder.h\
|
||||
add_feed.cpp add_feed.h\
|
||||
dist_rdadmin_SOURCES = add_feed.cpp add_feed.h\
|
||||
add_group.cpp add_group.h\
|
||||
add_hostvar.cpp add_hostvar.h\
|
||||
add_matrix.cpp add_matrix.h\
|
||||
@ -57,13 +55,11 @@ dist_rdadmin_SOURCES = add_aux_field.cpp add_aux_field.h\
|
||||
add_user.cpp add_user.h\
|
||||
autofill_carts.cpp autofill_carts.h\
|
||||
edit_audios.cpp edit_audios.h\
|
||||
edit_aux_field.cpp edit_aux_field.h\
|
||||
edit_backup.cpp edit_backup.h\
|
||||
edit_cartslots.cpp edit_cartslots.h\
|
||||
edit_channelgpios.cpp edit_channelgpios.h\
|
||||
edit_decks.cpp edit_decks.h\
|
||||
edit_dropbox.cpp edit_dropbox.h\
|
||||
edit_encoder.cpp edit_encoder.h\
|
||||
edit_endpoint.cpp edit_endpoint.h\
|
||||
edit_feed.cpp edit_feed.h\
|
||||
edit_feed_perms.cpp edit_feed_perms.h\
|
||||
@ -99,9 +95,7 @@ dist_rdadmin_SOURCES = add_aux_field.cpp add_aux_field.h\
|
||||
help_audios.cpp help_audios.h\
|
||||
importfields.cpp importfields.h\
|
||||
info_dialog.cpp info_dialog.h\
|
||||
list_aux_fields.cpp list_aux_fields.h\
|
||||
list_dropboxes.cpp list_dropboxes.h\
|
||||
list_encoders.cpp list_encoders.h\
|
||||
list_endpoints.cpp list_endpoints.h\
|
||||
list_feeds.cpp list_feeds.h\
|
||||
list_gpis.cpp list_gpis.h\
|
||||
@ -126,9 +120,7 @@ dist_rdadmin_SOURCES = add_aux_field.cpp add_aux_field.h\
|
||||
view_adapters.cpp view_adapters.h\
|
||||
view_node_info.cpp view_node_info.h
|
||||
|
||||
nodist_rdadmin_SOURCES = moc_add_aux_field.cpp\
|
||||
moc_add_encoder.cpp\
|
||||
moc_add_feed.cpp\
|
||||
nodist_rdadmin_SOURCES = moc_add_feed.cpp\
|
||||
moc_add_group.cpp\
|
||||
moc_add_hostvar.cpp\
|
||||
moc_add_matrix.cpp\
|
||||
@ -140,13 +132,11 @@ nodist_rdadmin_SOURCES = moc_add_aux_field.cpp\
|
||||
moc_add_user.cpp\
|
||||
moc_autofill_carts.cpp\
|
||||
moc_edit_audios.cpp\
|
||||
moc_edit_aux_field.cpp\
|
||||
moc_edit_backup.cpp\
|
||||
moc_edit_cartslots.cpp\
|
||||
moc_edit_channelgpios.cpp\
|
||||
moc_edit_decks.cpp\
|
||||
moc_edit_dropbox.cpp\
|
||||
moc_edit_encoder.cpp\
|
||||
moc_edit_endpoint.cpp\
|
||||
moc_edit_feed.cpp\
|
||||
moc_edit_feed_perms.cpp\
|
||||
@ -181,9 +171,7 @@ nodist_rdadmin_SOURCES = moc_add_aux_field.cpp\
|
||||
moc_help_audios.cpp\
|
||||
moc_importfields.cpp\
|
||||
moc_info_dialog.cpp\
|
||||
moc_list_aux_fields.cpp\
|
||||
moc_list_dropboxes.cpp\
|
||||
moc_list_encoders.cpp\
|
||||
moc_list_endpoints.cpp\
|
||||
moc_list_feeds.cpp\
|
||||
moc_list_gpis.cpp\
|
||||
|
@ -1,172 +0,0 @@
|
||||
// add_aux_field.cpp
|
||||
//
|
||||
// Add an Auxiliary Field for an RSS Feed
|
||||
//
|
||||
// (C) Copyright 2002-2007,2016 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#include <qmessagebox.h>
|
||||
#include <rdescape_string.h>
|
||||
#include <rddb.h>
|
||||
#include <add_aux_field.h>
|
||||
|
||||
AddAuxField::AddAuxField(unsigned feed_id,unsigned *field_id,QWidget *parent)
|
||||
: QDialog(parent,"",true)
|
||||
{
|
||||
add_feed_id=feed_id;
|
||||
add_field_id=field_id;
|
||||
setCaption(tr("Add Aux Field"));
|
||||
|
||||
|
||||
//
|
||||
// Fix the Window Size
|
||||
//
|
||||
setMinimumWidth(sizeHint().width());
|
||||
setMaximumWidth(sizeHint().width());
|
||||
setMinimumHeight(sizeHint().height());
|
||||
setMaximumHeight(sizeHint().height());
|
||||
|
||||
//
|
||||
// Create Fonts
|
||||
//
|
||||
QFont bold_font=QFont("Helvetica",12,QFont::Bold);
|
||||
bold_font.setPixelSize(12);
|
||||
QFont font=QFont("Helvetica",12,QFont::Normal);
|
||||
font.setPixelSize(12);
|
||||
|
||||
//
|
||||
// Variable Name
|
||||
//
|
||||
add_varname_edit=new QLineEdit(this);
|
||||
add_varname_edit->setGeometry(165,10,130,20);
|
||||
add_varname_edit->setMaxLength(11);
|
||||
QLabel *label=
|
||||
new QLabel(add_varname_edit,tr("Variable Name: "),this);
|
||||
label->setGeometry(10,13,105,20);
|
||||
label->setFont(bold_font);
|
||||
label->setAlignment(AlignRight);
|
||||
label=new QLabel(add_varname_edit,tr("%AUX_"),this);
|
||||
label->setGeometry(120,13,45,20);
|
||||
label->setFont(font);
|
||||
label->setAlignment(AlignRight);
|
||||
label=new QLabel(add_varname_edit,tr("%"),this);
|
||||
label->setGeometry(295,13,30,20);
|
||||
label->setFont(font);
|
||||
label->setAlignment(AlignLeft);
|
||||
|
||||
|
||||
//
|
||||
// Caption
|
||||
//
|
||||
add_caption_edit=new QLineEdit(this);
|
||||
add_caption_edit->setGeometry(120,37,sizeHint().width()-130,20);
|
||||
add_caption_edit->setMaxLength(64);
|
||||
label=new QLabel(add_caption_edit,tr("Caption: "),this);
|
||||
label->setGeometry(10,37,105,20);
|
||||
label->setFont(bold_font);
|
||||
label->setAlignment(AlignRight);
|
||||
|
||||
//
|
||||
// Ok Button
|
||||
//
|
||||
QPushButton *button=new QPushButton(this);
|
||||
button->setGeometry(sizeHint().width()-180,sizeHint().height()-60,80,50);
|
||||
button->setDefault(true);
|
||||
button->setFont(bold_font);
|
||||
button->setText(tr("&OK"));
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(okData()));
|
||||
|
||||
//
|
||||
// Cancel Button
|
||||
//
|
||||
button=new QPushButton(this);
|
||||
button->setGeometry(sizeHint().width()-90,sizeHint().height()-60,
|
||||
80,50);
|
||||
button->setFont(bold_font);
|
||||
button->setText(tr("&Cancel"));
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(cancelData()));
|
||||
}
|
||||
|
||||
|
||||
QSize AddAuxField::sizeHint() const
|
||||
{
|
||||
return QSize(400,127);
|
||||
}
|
||||
|
||||
|
||||
QSizePolicy AddAuxField::sizePolicy() const
|
||||
{
|
||||
return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
|
||||
}
|
||||
|
||||
|
||||
void AddAuxField::okData()
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
sql=QString().sprintf("select ID from AUX_METADATA \
|
||||
where (FEED_ID=%u)&&(VAR_NAME=\"%%AUX_%s%%\")",
|
||||
add_feed_id,(const char *)add_varname_edit->text());
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
delete q;
|
||||
QMessageBox::warning(this,tr("Name Exists"),
|
||||
tr("That variable name already exists!"));
|
||||
return;
|
||||
}
|
||||
delete q;
|
||||
sql=QString().sprintf("insert into AUX_METADATA set VAR_NAME=\"%%AUX_%s%%\",\
|
||||
CAPTION=\"%s\",FEED_ID=%u",
|
||||
(const char *)RDEscapeString(add_varname_edit->text()),
|
||||
(const char *)RDEscapeString(add_caption_edit->text()),
|
||||
add_feed_id);
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
|
||||
sql=QString().sprintf("select ID from AUX_METADATA \
|
||||
where (FEED_ID=%u)&&(VAR_NAME=\"%%AUX_%s%%\")",
|
||||
add_feed_id,
|
||||
(const char *)RDEscapeString(add_varname_edit->
|
||||
text()));
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
*add_field_id=q->value(0).toUInt();
|
||||
}
|
||||
delete q;
|
||||
|
||||
sql=QString().sprintf("select KEY_NAME from FEEDS where ID=%u",add_feed_id);
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
QString keyname=q->value(0).toString();
|
||||
delete q;
|
||||
keyname.replace(" ","_");
|
||||
sql=QString().sprintf("alter table %s_FIELDS add column AUX_%s char(255)",
|
||||
(const char *)keyname,
|
||||
(const char *)RDEscapeString(add_varname_edit->
|
||||
text()));
|
||||
q=new RDSqlQuery(sql);
|
||||
}
|
||||
delete q;
|
||||
|
||||
done(0);
|
||||
}
|
||||
|
||||
|
||||
void AddAuxField::cancelData()
|
||||
{
|
||||
done(-1);
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
// add_aux_field.h
|
||||
//
|
||||
// Add an Auxiliary Field for an RSS Feed
|
||||
//
|
||||
// (C) Copyright 2002-2007,2016 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#ifndef ADD_AUX_FIELD_H
|
||||
#define ADD_AUX_FIELD_H
|
||||
|
||||
#include <qdialog.h>
|
||||
#include <qsqldatabase.h>
|
||||
#include <qlabel.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qlineedit.h>
|
||||
#include <qcombobox.h>
|
||||
|
||||
class AddAuxField : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
AddAuxField(unsigned feed_id,unsigned *field_id,QWidget *parent=0);
|
||||
QSize sizeHint() const;
|
||||
QSizePolicy sizePolicy() const;
|
||||
|
||||
private slots:
|
||||
void okData();
|
||||
void cancelData();
|
||||
|
||||
private:
|
||||
QLineEdit *add_varname_edit;
|
||||
QLineEdit *add_caption_edit;
|
||||
unsigned add_feed_id;
|
||||
unsigned *add_field_id;
|
||||
};
|
||||
|
||||
|
||||
#endif // ADD_AUX_FIELD
|
||||
|
@ -1,145 +0,0 @@
|
||||
// add_encoder.cpp
|
||||
//
|
||||
// Add a Rivendell Encoder
|
||||
//
|
||||
// (C) Copyright 2002,2016-2018 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#include <qdialog.h>
|
||||
#include <qstring.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qlabel.h>
|
||||
#include <qmessagebox.h>
|
||||
#include <qdatetime.h>
|
||||
|
||||
#include <rddb.h>
|
||||
#include <rdescape_string.h>
|
||||
#include <rdcreateauxfieldstable.h>
|
||||
|
||||
#include <edit_encoder.h>
|
||||
#include <add_encoder.h>
|
||||
|
||||
AddEncoder::AddEncoder(QString *encname,const QString &stationname,
|
||||
QWidget *parent)
|
||||
: QDialog(parent,"",true)
|
||||
{
|
||||
encoder_name=encname;
|
||||
encoder_stationname=stationname;
|
||||
|
||||
//
|
||||
// Fix the Window Size
|
||||
//
|
||||
setMinimumWidth(sizeHint().width());
|
||||
setMaximumWidth(sizeHint().width());
|
||||
setMinimumHeight(sizeHint().height());
|
||||
setMaximumHeight(sizeHint().height());
|
||||
|
||||
setCaption(tr("Add Encoder"));
|
||||
|
||||
//
|
||||
// Create Fonts
|
||||
//
|
||||
QFont font=QFont("Helvetica",12,QFont::Bold);
|
||||
font.setPixelSize(12);
|
||||
QFont user_font=QFont("Helvetica",12,QFont::Normal);
|
||||
user_font.setPixelSize(12);
|
||||
|
||||
//
|
||||
// Encoder Name
|
||||
//
|
||||
encoder_name_edit=new QLineEdit(this);
|
||||
encoder_name_edit->setGeometry(145,11,sizeHint().width()-150,19);
|
||||
encoder_name_edit->setMaxLength(32);
|
||||
QLabel *label=new QLabel(encoder_name_edit,tr("&New Encoder Name:"),this);
|
||||
label->setGeometry(10,11,130,19);
|
||||
label->setFont(font);
|
||||
label->setAlignment(AlignRight|AlignVCenter|ShowPrefix);
|
||||
|
||||
//
|
||||
// Ok Button
|
||||
//
|
||||
QPushButton *ok_button=new QPushButton(this);
|
||||
ok_button->setGeometry(sizeHint().width()-180,sizeHint().height()-60,80,50);
|
||||
ok_button->setDefault(true);
|
||||
ok_button->setFont(font);
|
||||
ok_button->setText(tr("&OK"));
|
||||
connect(ok_button,SIGNAL(clicked()),this,SLOT(okData()));
|
||||
|
||||
//
|
||||
// Cancel Button
|
||||
//
|
||||
QPushButton *cancel_button=new QPushButton(this);
|
||||
cancel_button->setGeometry(sizeHint().width()-90,sizeHint().height()-60,
|
||||
80,50);
|
||||
cancel_button->setFont(font);
|
||||
cancel_button->setText(tr("&Cancel"));
|
||||
connect(cancel_button,SIGNAL(clicked()),this,SLOT(cancelData()));
|
||||
}
|
||||
|
||||
|
||||
AddEncoder::~AddEncoder()
|
||||
{
|
||||
delete encoder_name_edit;
|
||||
}
|
||||
|
||||
|
||||
QSize AddEncoder::sizeHint() const
|
||||
{
|
||||
return QSize(250,124);
|
||||
}
|
||||
|
||||
|
||||
QSizePolicy AddEncoder::sizePolicy() const
|
||||
{
|
||||
return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
|
||||
}
|
||||
|
||||
|
||||
void AddEncoder::okData()
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
sql=QString("select NAME from ENCODERS where ")+
|
||||
"(NAME=\""+RDEscapeString(encoder_name_edit->text())+"\")&&"+
|
||||
"(STATION_NAME=\""+RDEscapeString(encoder_stationname)+"\")";
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
QMessageBox::warning(this,tr("Add Encoder Error"),
|
||||
tr("A encoder with that name already exists!"));
|
||||
delete q;
|
||||
return;
|
||||
}
|
||||
delete q;
|
||||
|
||||
//
|
||||
// Create Encoder
|
||||
//
|
||||
sql=QString("insert into ENCODERS set ")+
|
||||
"NAME=\""+RDEscapeString(encoder_name_edit->text())+"\""+
|
||||
"STATION_NAME=\""+RDEscapeString(encoder_stationname)+"\"";
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
*encoder_name=encoder_name_edit->text();
|
||||
|
||||
done(0);
|
||||
}
|
||||
|
||||
|
||||
void AddEncoder::cancelData()
|
||||
{
|
||||
done(-1);
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
// add_encoder.h
|
||||
//
|
||||
// Add a Rivendell Encoder
|
||||
//
|
||||
// (C) Copyright 2008,2016 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#ifndef ADD_ENCODER_H
|
||||
#define ADD_ENCODER_H
|
||||
|
||||
#include <qdialog.h>
|
||||
#include <qcheckbox.h>
|
||||
#include <qlineedit.h>
|
||||
|
||||
class AddEncoder : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
AddEncoder(QString *encname,const QString &stationname,QWidget *parent=0);
|
||||
~AddEncoder();
|
||||
QSize sizeHint() const;
|
||||
QSizePolicy sizePolicy() const;
|
||||
|
||||
private slots:
|
||||
void okData();
|
||||
void cancelData();
|
||||
|
||||
private:
|
||||
QLineEdit *encoder_name_edit;
|
||||
QString *encoder_name;
|
||||
QString encoder_stationname;
|
||||
};
|
||||
|
||||
|
||||
#endif // ADD_ENCODER_H
|
@ -27,7 +27,6 @@
|
||||
|
||||
#include <rddb.h>
|
||||
#include <rdapplication.h>
|
||||
#include <rdcreateauxfieldstable.h>
|
||||
#include <rdescape_string.h>
|
||||
#include <rdfeedlog.h>
|
||||
#include <rdtextvalidator.h>
|
||||
@ -173,7 +172,6 @@ void AddFeed::okData()
|
||||
"ITEM_XML=\""+RDEscapeString(DEFAULT_ITEM_XML)+"\"";
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
RDCreateAuxFieldsTable(feed_keyname_edit->text(),rda->config());
|
||||
sql=QString("select ID from FEEDS where ")+
|
||||
"KEY_NAME=\""+RDEscapeString(feed_keyname_edit->text())+"\"";
|
||||
q=new RDSqlQuery(sql);
|
||||
|
@ -1,139 +0,0 @@
|
||||
// edit_aux_field.cpp
|
||||
//
|
||||
// Edit an Auxiliary Field for an RSS Feed
|
||||
//
|
||||
// (C) Copyright 2002-2007,2016 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#include <qmessagebox.h>
|
||||
#include <rddb.h>
|
||||
#include <rdescape_string.h>
|
||||
#include <edit_aux_field.h>
|
||||
|
||||
|
||||
EditAuxField::EditAuxField(unsigned feed_id,QWidget *parent)
|
||||
: QDialog(parent,"",true)
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
edit_field_id=feed_id;
|
||||
setCaption(tr("Edit Auxiliary Metadata Fields"));
|
||||
|
||||
//
|
||||
// Fix the Window Size
|
||||
//
|
||||
setMinimumWidth(sizeHint().width());
|
||||
setMaximumWidth(sizeHint().width());
|
||||
setMinimumHeight(sizeHint().height());
|
||||
setMaximumHeight(sizeHint().height());
|
||||
|
||||
//
|
||||
// Create Fonts
|
||||
//
|
||||
QFont bold_font=QFont("Helvetica",12,QFont::Bold);
|
||||
bold_font.setPixelSize(12);
|
||||
QFont font=QFont("Helvetica",12,QFont::Normal);
|
||||
font.setPixelSize(12);
|
||||
|
||||
//
|
||||
// Variable Name
|
||||
//
|
||||
edit_varname_edit=new QLineEdit(this);
|
||||
edit_varname_edit->setGeometry(120,10,130,20);
|
||||
edit_varname_edit->setReadOnly(true);
|
||||
QLabel *label=
|
||||
new QLabel(edit_varname_edit,tr("Variable Name: "),this);
|
||||
label->setGeometry(10,13,105,20);
|
||||
label->setFont(bold_font);
|
||||
label->setAlignment(AlignRight);
|
||||
|
||||
//
|
||||
// Variable Name
|
||||
//
|
||||
edit_caption_edit=new QLineEdit(this);
|
||||
edit_caption_edit->setGeometry(120,37,sizeHint().width()-130,20);
|
||||
edit_caption_edit->setMaxLength(64);
|
||||
label=new QLabel(edit_caption_edit,tr("Caption: "),this);
|
||||
label->setGeometry(10,37,105,20);
|
||||
label->setFont(bold_font);
|
||||
label->setAlignment(AlignRight);
|
||||
|
||||
//
|
||||
// Ok Button
|
||||
//
|
||||
QPushButton *button=new QPushButton(this);
|
||||
button->setGeometry(sizeHint().width()-180,sizeHint().height()-60,80,50);
|
||||
button->setDefault(true);
|
||||
button->setFont(bold_font);
|
||||
button->setText(tr("&OK"));
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(okData()));
|
||||
|
||||
//
|
||||
// Cancel Button
|
||||
//
|
||||
button=new QPushButton(this);
|
||||
button->setGeometry(sizeHint().width()-90,sizeHint().height()-60,
|
||||
80,50);
|
||||
button->setFont(bold_font);
|
||||
button->setText(tr("&Cancel"));
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(cancelData()));
|
||||
|
||||
//
|
||||
// Load Data
|
||||
//
|
||||
sql=QString().sprintf("select VAR_NAME,CAPTION from AUX_METADATA \
|
||||
where ID=%u",edit_field_id);
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
edit_varname_edit->setText(q->value(0).toString());
|
||||
edit_caption_edit->setText(q->value(1).toString());
|
||||
}
|
||||
delete q;
|
||||
}
|
||||
|
||||
|
||||
QSize EditAuxField::sizeHint() const
|
||||
{
|
||||
return QSize(400,127);
|
||||
}
|
||||
|
||||
|
||||
QSizePolicy EditAuxField::sizePolicy() const
|
||||
{
|
||||
return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
|
||||
}
|
||||
|
||||
|
||||
void EditAuxField::okData()
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
sql=QString("update AUX_METADATA set ")+
|
||||
"CAPTION=\""+RDEscapeString(edit_caption_edit->text())+"\" where "+
|
||||
QString().sprintf("ID=%u",edit_field_id);
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
|
||||
done(0);
|
||||
}
|
||||
|
||||
|
||||
void EditAuxField::cancelData()
|
||||
{
|
||||
done(-1);
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
// edit_aux_field.h
|
||||
//
|
||||
// Edit an Auxiliary Field for an RSS Feed
|
||||
//
|
||||
// (C) Copyright 2002-2007,2016 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#ifndef EDIT_AUX_FIELD_H
|
||||
#define EDIT_AUX_FIELD_H
|
||||
|
||||
#include <qdialog.h>
|
||||
#include <qsqldatabase.h>
|
||||
#include <qlabel.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qlineedit.h>
|
||||
#include <qcombobox.h>
|
||||
|
||||
class EditAuxField : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
EditAuxField(unsigned field_id,QWidget *parent=0);
|
||||
QSize sizeHint() const;
|
||||
QSizePolicy sizePolicy() const;
|
||||
|
||||
private slots:
|
||||
void okData();
|
||||
void cancelData();
|
||||
|
||||
private:
|
||||
QLineEdit *edit_varname_edit;
|
||||
QLineEdit *edit_caption_edit;
|
||||
unsigned edit_field_id;
|
||||
};
|
||||
|
||||
|
||||
#endif // EDIT_AUX_FIELD
|
||||
|
@ -1,216 +0,0 @@
|
||||
// edit_encoder.cpp
|
||||
//
|
||||
// Edit a Rivendell Encoder
|
||||
//
|
||||
// (C) Copyright 2008,2016 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#include <qmessagebox.h>
|
||||
|
||||
#include <rdescape_string.h>
|
||||
#include <rddb.h>
|
||||
|
||||
#include <edit_encoder.h>
|
||||
|
||||
EditEncoder::EditEncoder(int encoder_id,QWidget *parent)
|
||||
: QDialog(parent,"",true)
|
||||
{
|
||||
QString sql;
|
||||
QSqlQuery *q;
|
||||
|
||||
edit_encoder_id=encoder_id;
|
||||
setCaption(tr("RDAdmin - Edit Encoder"));
|
||||
|
||||
//
|
||||
// Fix the Window Size
|
||||
//
|
||||
setMinimumWidth(sizeHint().width());
|
||||
setMaximumWidth(sizeHint().width());
|
||||
setMinimumHeight(sizeHint().height());
|
||||
setMaximumHeight(sizeHint().height());
|
||||
|
||||
//
|
||||
// Create Fonts
|
||||
//
|
||||
QFont bold_font=QFont("Helvetica",12,QFont::Bold);
|
||||
bold_font.setPixelSize(12);
|
||||
QFont font=QFont("Helvetica",12,QFont::Normal);
|
||||
font.setPixelSize(12);
|
||||
|
||||
//
|
||||
// Name
|
||||
//
|
||||
QLabel *label=new QLabel(tr("Name:"),this);
|
||||
label->setGeometry(10,10,95,20);
|
||||
label->setFont(bold_font);
|
||||
label->setAlignment(AlignRight|AlignVCenter);
|
||||
QLabel *name_label=new QLabel(this);
|
||||
name_label->setGeometry(110,10,sizeHint().width()-120,20);
|
||||
name_label->setFont(font);
|
||||
name_label->setAlignment(AlignLeft|AlignVCenter);
|
||||
|
||||
//
|
||||
// Default Extension
|
||||
//
|
||||
edit_extension_edit=new QLineEdit(this);
|
||||
edit_extension_edit->setGeometry(130,32,80,20);
|
||||
label=new QLabel(edit_extension_edit,tr("Default Extension:"),this);
|
||||
label->setGeometry(10,32,115,20);
|
||||
label->setAlignment(AlignRight|AlignVCenter);
|
||||
label->setFont(bold_font);
|
||||
|
||||
//
|
||||
// Command Line
|
||||
//
|
||||
edit_commandline_edit=new QLineEdit(this);
|
||||
edit_commandline_edit->setGeometry(130,54,sizeHint().width()-140,20);
|
||||
label=new QLabel(edit_commandline_edit,tr("Command Line:"),this);
|
||||
label->setGeometry(10,54,115,20);
|
||||
label->setAlignment(AlignRight|AlignVCenter);
|
||||
label->setFont(bold_font);
|
||||
|
||||
//
|
||||
// Channels
|
||||
//
|
||||
edit_channel_edit=new RDIntegerEdit(tr("Allow Channels"),1,2,this);
|
||||
edit_channel_edit->setGeometry(50,82,120,180);
|
||||
|
||||
//
|
||||
// Sample Rates
|
||||
//
|
||||
edit_samprate_edit=new RDIntegerEdit(tr("Allow Sample Rates"),
|
||||
4000,192000,this);
|
||||
edit_samprate_edit->setGeometry(190,82,120,180);
|
||||
|
||||
//
|
||||
// Bit Rates
|
||||
//
|
||||
edit_bitrate_edit=new RDIntegerEdit(tr("Allow Bit Rates"),0,1000000,this);
|
||||
edit_bitrate_edit->setGeometry(330,82,120,180);
|
||||
|
||||
//
|
||||
// Ok Button
|
||||
//
|
||||
QPushButton *button=new QPushButton(this,"ok_button");
|
||||
button->setGeometry(sizeHint().width()-180,sizeHint().height()-60,80,50);
|
||||
button->setDefault(true);
|
||||
button->setFont(bold_font);
|
||||
button->setText(tr("&OK"));
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(okData()));
|
||||
|
||||
//
|
||||
// Cancel Button
|
||||
//
|
||||
button=new QPushButton(this,"cancel_button");
|
||||
button->setGeometry(sizeHint().width()-90,sizeHint().height()-60,
|
||||
80,50);
|
||||
button->setFont(bold_font);
|
||||
button->setText(tr("&Cancel"));
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(cancelData()));
|
||||
|
||||
//
|
||||
// Load Data
|
||||
//
|
||||
sql=QString().sprintf("select NAME,DEFAULT_EXTENSION,COMMAND_LINE \
|
||||
from ENCODERS where ID=%d",
|
||||
encoder_id);
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
name_label->setText(q->value(0).toString());
|
||||
edit_extension_edit->setText(q->value(1).toString());
|
||||
edit_commandline_edit->setText(q->value(2).toString());
|
||||
}
|
||||
delete q;
|
||||
LoadList("CHANNELS",edit_channel_edit);
|
||||
LoadList("SAMPLERATES",edit_samprate_edit);
|
||||
LoadList("BITRATES",edit_bitrate_edit);
|
||||
}
|
||||
|
||||
|
||||
QSize EditEncoder::sizeHint() const
|
||||
{
|
||||
return QSize(500,332);
|
||||
}
|
||||
|
||||
|
||||
QSizePolicy EditEncoder::sizePolicy() const
|
||||
{
|
||||
return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
|
||||
}
|
||||
|
||||
|
||||
void EditEncoder::okData()
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
sql=QString("update ENCODERS set ")+
|
||||
"DEFAULT_EXTENSION=\""+RDEscapeString(edit_extension_edit->text())+"\","+
|
||||
"COMMAND_LINE=\""+RDEscapeString(edit_commandline_edit->text())+"\"";
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
SaveList("CHANNELS",edit_channel_edit);
|
||||
SaveList("SAMPLERATES",edit_samprate_edit);
|
||||
SaveList("BITRATES",edit_bitrate_edit);
|
||||
|
||||
done(0);
|
||||
}
|
||||
|
||||
|
||||
void EditEncoder::cancelData()
|
||||
{
|
||||
done(1);
|
||||
}
|
||||
|
||||
|
||||
void EditEncoder::LoadList(const QString ¶mname,RDIntegerEdit *edit)
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
std::vector<int> values;
|
||||
|
||||
sql=QString("select ")+
|
||||
paramname+" from `ENCODER_"+paramname+"` where "+
|
||||
QString().sprintf("ENCODER_ID=%d ",edit_encoder_id)+
|
||||
"order by "+paramname;
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
values.push_back(q->value(0).toInt());
|
||||
}
|
||||
delete q;
|
||||
edit->setValues(&values);
|
||||
}
|
||||
|
||||
|
||||
void EditEncoder::SaveList(const QString ¶mname,RDIntegerEdit *edit)
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
std::vector<int> values;
|
||||
|
||||
sql=QString("delete from `ENCODER_")+paramname+"` where "+
|
||||
QString().sprintf("ENCODER_ID=%d",edit_encoder_id);
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
edit->values(&values);
|
||||
for(unsigned i=0;i<values.size();i++) {
|
||||
sql=QString("insert into `ENCODER_")+paramname+"` set "+
|
||||
QString().sprintf("ENCODER_ID=%d,",edit_encoder_id)+
|
||||
paramname+QString().sprintf("=%d",values[i]);
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
}
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
// edit_encoder.h
|
||||
//
|
||||
// Edit a Rivendell Encoder
|
||||
//
|
||||
// (C) Copyright 2008,2016 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#ifndef EDIT_ENCODER_H
|
||||
#define EDIT_ENCODER_H
|
||||
|
||||
#include <qdialog.h>
|
||||
#include <qlabel.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qlineedit.h>
|
||||
#include <qcombobox.h>
|
||||
|
||||
#include <rdintegeredit.h>
|
||||
|
||||
class EditEncoder : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
EditEncoder(int encoder_id,QWidget *parent=0);
|
||||
QSize sizeHint() const;
|
||||
QSizePolicy sizePolicy() const;
|
||||
|
||||
private slots:
|
||||
void okData();
|
||||
void cancelData();
|
||||
|
||||
private:
|
||||
void LoadList(const QString ¶mname,RDIntegerEdit *edit);
|
||||
void SaveList(const QString ¶mname,RDIntegerEdit *edit);
|
||||
QLineEdit *edit_extension_edit;
|
||||
QLineEdit *edit_commandline_edit;
|
||||
RDIntegerEdit *edit_channel_edit;
|
||||
RDIntegerEdit *edit_samprate_edit;
|
||||
RDIntegerEdit *edit_bitrate_edit;
|
||||
int edit_encoder_id;
|
||||
};
|
||||
|
||||
|
||||
#endif // EDIT_ENCODER
|
||||
|
@ -33,7 +33,6 @@
|
||||
|
||||
#include "edit_feed.h"
|
||||
#include "globals.h"
|
||||
#include "list_aux_fields.h"
|
||||
|
||||
EditFeed::EditFeed(const QString &feed,QWidget *parent)
|
||||
: QDialog(parent,"",true)
|
||||
@ -406,24 +405,13 @@ EditFeed::EditFeed(const QString &feed,QWidget *parent)
|
||||
// Item XML
|
||||
//
|
||||
feed_item_xml_edit=new QTextEdit(this);
|
||||
feed_item_xml_edit->
|
||||
setGeometry(615,270,365,176);
|
||||
feed_item_xml_edit->setGeometry(615,270,365,250);
|
||||
feed_item_xml_label=new QLabel(feed_item_xml_edit,tr("Item XML:"),this);
|
||||
feed_item_xml_label->setGeometry(520,270,90,19);
|
||||
feed_item_xml_label->setFont(font);
|
||||
feed_item_xml_label->
|
||||
setAlignment(AlignRight|AlignVCenter|ShowPrefix);
|
||||
|
||||
//
|
||||
// Metadata Button
|
||||
//
|
||||
feed_metadata_button=new QPushButton(this);
|
||||
feed_metadata_button->setGeometry(615,460,150,50);
|
||||
feed_metadata_button->setDefault(true);
|
||||
feed_metadata_button->setFont(font);
|
||||
feed_metadata_button->setText(tr("&Define Auxiliary\nMetadata Fields"));
|
||||
connect(feed_metadata_button,SIGNAL(clicked()),this,SLOT(editData()));
|
||||
|
||||
//
|
||||
// Ok Button
|
||||
//
|
||||
@ -549,15 +537,6 @@ void EditFeed::normalizeCheckData(bool state)
|
||||
feed_normalize_unit_label->setEnabled(state);
|
||||
}
|
||||
|
||||
|
||||
void EditFeed::editData()
|
||||
{
|
||||
ListAuxFields *lf=new ListAuxFields(feed_feed->id(),this);
|
||||
lf->exec();
|
||||
delete lf;
|
||||
}
|
||||
|
||||
|
||||
void EditFeed::redirectToggledData(bool state)
|
||||
{
|
||||
if(state) {
|
||||
@ -669,7 +648,6 @@ void EditFeed::RedirectChanged(bool state)
|
||||
feed_extension_edit->setDisabled(state);
|
||||
feed_castorder_box->setDisabled(state);
|
||||
feed_format_button->setDisabled(state);
|
||||
feed_metadata_button->setDisabled(state);
|
||||
feed_channel_title_label->setDisabled(state);
|
||||
feed_channel_category_label->setDisabled(state);
|
||||
feed_channel_link_label->setDisabled(state);
|
||||
|
@ -48,7 +48,6 @@ class EditFeed : public QDialog
|
||||
void purgeUsernameChangedData(const QString &username);
|
||||
void setFormatData();
|
||||
void normalizeCheckData(bool state);
|
||||
void editData();
|
||||
void redirectToggledData(bool state);
|
||||
void okData();
|
||||
void cancelData();
|
||||
@ -92,8 +91,6 @@ class EditFeed : public QDialog
|
||||
QLabel *feed_redirect_label;
|
||||
QLineEdit *feed_redirect_edit;
|
||||
QPushButton *feed_format_button;
|
||||
QPushButton *feed_metadata_button;
|
||||
|
||||
QLabel *feed_channel_title_label;
|
||||
QLabel *feed_channel_category_label;
|
||||
QLabel *feed_channel_link_label;
|
||||
|
@ -34,7 +34,6 @@
|
||||
|
||||
#include "edit_replicator.h"
|
||||
#include "globals.h"
|
||||
#include "list_aux_fields.h"
|
||||
|
||||
EditReplicator::EditReplicator(const QString &repl_name,QWidget *parent)
|
||||
: QDialog(parent,"",true)
|
||||
|
@ -43,7 +43,6 @@
|
||||
#include "edit_cartslots.h"
|
||||
#include "edit_decks.h"
|
||||
#include "list_dropboxes.h"
|
||||
#include "list_encoders.h"
|
||||
#include "list_hostvars.h"
|
||||
#include "edit_jack.h"
|
||||
#include "list_matrices.h"
|
||||
|
@ -1,238 +0,0 @@
|
||||
// list_aux_fields.cpp
|
||||
//
|
||||
// List Auxiliary Fields for an RSS Feed
|
||||
//
|
||||
// (C) Copyright 2002-2007,2016 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#include <qdialog.h>
|
||||
#include <qstring.h>
|
||||
#include <qtextedit.h>
|
||||
#include <qpainter.h>
|
||||
#include <qmessagebox.h>
|
||||
|
||||
#include <rddb.h>
|
||||
#include <list_aux_fields.h>
|
||||
#include <edit_aux_field.h>
|
||||
#include <add_aux_field.h>
|
||||
|
||||
ListAuxFields::ListAuxFields(unsigned feed_id,QWidget *parent)
|
||||
: QDialog(parent,"",true)
|
||||
{
|
||||
list_feed_id=feed_id;
|
||||
setCaption(tr("Auxiliary Metadata Fields"));
|
||||
|
||||
//
|
||||
// Fix the Window Size
|
||||
//
|
||||
setMinimumWidth(sizeHint().width());
|
||||
setMaximumWidth(sizeHint().width());
|
||||
setMinimumHeight(sizeHint().height());
|
||||
setMaximumHeight(sizeHint().height());
|
||||
|
||||
//
|
||||
// Create Fonts
|
||||
//
|
||||
QFont bold_font=QFont("Helvetica",12,QFont::Bold);
|
||||
bold_font.setPixelSize(12);
|
||||
QFont font=QFont("Helvetica",12,QFont::Normal);
|
||||
font.setPixelSize(12);
|
||||
|
||||
//
|
||||
// Fields List Box
|
||||
//
|
||||
list_list_view=new QListView(this);
|
||||
list_list_view->
|
||||
setGeometry(10,24,sizeHint().width()-20,sizeHint().height()-94);
|
||||
QLabel *label=new QLabel(list_list_view,tr("Auxiliary Metadata Fields"),this);
|
||||
label->setFont(bold_font);
|
||||
label->setGeometry(14,5,sizeHint().width()-28,19);
|
||||
list_list_view->setAllColumnsShowFocus(true);
|
||||
list_list_view->setItemMargin(5);
|
||||
list_list_view->addColumn(tr("Var Name"));
|
||||
list_list_view->setColumnAlignment(0,Qt::AlignHCenter);
|
||||
list_list_view->addColumn(tr("Caption"));
|
||||
list_list_view->setColumnAlignment(1,Qt::AlignLeft);
|
||||
connect(list_list_view,
|
||||
SIGNAL(doubleClicked(QListViewItem *,const QPoint &,int)),
|
||||
this,
|
||||
SLOT(doubleClickedData(QListViewItem *,const QPoint &,int)));
|
||||
|
||||
//
|
||||
// Add Button
|
||||
//
|
||||
QPushButton *button=new QPushButton(this);
|
||||
button->setGeometry(10,sizeHint().height()-60,80,50);
|
||||
button->setFont(bold_font);
|
||||
button->setText(tr("&Add"));
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(addData()));
|
||||
|
||||
//
|
||||
// Edit Button
|
||||
//
|
||||
button=new QPushButton(this);
|
||||
button->setGeometry(100,sizeHint().height()-60,80,50);
|
||||
button->setFont(bold_font);
|
||||
button->setText(tr("&Edit"));
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(editData()));
|
||||
|
||||
//
|
||||
// Delete Button
|
||||
//
|
||||
button=new QPushButton(this);
|
||||
button->setGeometry(190,sizeHint().height()-60,80,50);
|
||||
button->setFont(bold_font);
|
||||
button->setText(tr("&Delete"));
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(deleteData()));
|
||||
|
||||
//
|
||||
// Close Button
|
||||
//
|
||||
button=new QPushButton(this);
|
||||
button->setGeometry(sizeHint().width()-90,sizeHint().height()-60,
|
||||
80,50);
|
||||
button->setFont(bold_font);
|
||||
button->setText(tr("&Close"));
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(closeData()));
|
||||
|
||||
RefreshList();
|
||||
}
|
||||
|
||||
|
||||
QSize ListAuxFields::sizeHint() const
|
||||
{
|
||||
return QSize(400,250);
|
||||
}
|
||||
|
||||
|
||||
QSizePolicy ListAuxFields::sizePolicy() const
|
||||
{
|
||||
return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
|
||||
}
|
||||
|
||||
|
||||
void ListAuxFields::addData()
|
||||
{
|
||||
unsigned field_id=0;
|
||||
|
||||
AddAuxField *af=new AddAuxField(list_feed_id,&field_id,this);
|
||||
if(af->exec()==0) {
|
||||
RDListViewItem *item=new RDListViewItem(list_list_view);
|
||||
item->setId(field_id);
|
||||
RefreshItem(item);
|
||||
list_list_view->setSelected(item,true);
|
||||
list_list_view->ensureItemVisible(item);
|
||||
}
|
||||
delete af;
|
||||
}
|
||||
|
||||
|
||||
void ListAuxFields::editData()
|
||||
{
|
||||
RDListViewItem *item=(RDListViewItem *)list_list_view->selectedItem();
|
||||
if(item==NULL) {
|
||||
return;
|
||||
}
|
||||
EditAuxField *ef=new EditAuxField(item->id(),this);
|
||||
if(ef->exec()==0) {
|
||||
RefreshItem(item);
|
||||
}
|
||||
delete ef;
|
||||
}
|
||||
|
||||
|
||||
void ListAuxFields::deleteData()
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
RDListViewItem *item=(RDListViewItem *)list_list_view->selectedItem();
|
||||
if(item==NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(QMessageBox::question(this,tr("Warning"),
|
||||
tr("This will delete all data associated with this field!\nAre you sure you want to continue?"),QMessageBox::Yes,QMessageBox::No)==QMessageBox::No) {
|
||||
return;
|
||||
}
|
||||
|
||||
sql=QString().sprintf("select KEY_NAME from FEEDS where ID=%d",list_feed_id);
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
QString keyname=q->value(0).toString();
|
||||
delete q;
|
||||
keyname.replace(" ","_");
|
||||
QString varname=item->text(0).mid(1,item->text(0).length()-2);
|
||||
sql=QString("alter table `")+
|
||||
keyname+"_FIELDS` drop column "+varname;
|
||||
q=new RDSqlQuery(sql);
|
||||
}
|
||||
delete q;
|
||||
|
||||
sql=QString().sprintf("delete from AUX_METADATA where ID=%d",item->id());
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
delete item;
|
||||
}
|
||||
|
||||
|
||||
void ListAuxFields::doubleClickedData(QListViewItem *item,const QPoint &pt,
|
||||
int col)
|
||||
{
|
||||
editData();
|
||||
}
|
||||
|
||||
|
||||
void ListAuxFields::closeData()
|
||||
{
|
||||
done(0);
|
||||
}
|
||||
|
||||
|
||||
void ListAuxFields::RefreshList()
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
RDListViewItem *item;
|
||||
|
||||
list_list_view->clear();
|
||||
sql=QString().sprintf("select ID,VAR_NAME,CAPTION from AUX_METADATA \
|
||||
where FEED_ID=%u order by CAPTION",list_feed_id);
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
item=new RDListViewItem(list_list_view);
|
||||
item->setId(q->value(0).toInt());
|
||||
item->setText(0,q->value(1).toString());
|
||||
item->setText(1,q->value(2).toString());
|
||||
}
|
||||
delete q;
|
||||
}
|
||||
|
||||
|
||||
void ListAuxFields::RefreshItem(RDListViewItem *item)
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
sql=QString().sprintf("select VAR_NAME,CAPTION from AUX_METADATA \
|
||||
where ID=%d",item->id());
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
item->setText(0,q->value(0).toString());
|
||||
item->setText(1,q->value(1).toString());
|
||||
}
|
||||
delete q;
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
// list_aux_fields.h
|
||||
//
|
||||
// List Auxiliary Fields for an RSS Feed
|
||||
//
|
||||
// (C) Copyright 2002-2007,2016 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#ifndef LIST_AUX_FIELDS_H
|
||||
#define LIST_AUX_FIELDS_H
|
||||
|
||||
#include <qdialog.h>
|
||||
#include <qsqldatabase.h>
|
||||
#include <qlabel.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qlistview.h>
|
||||
|
||||
#include <rdlistviewitem.h>
|
||||
|
||||
class ListAuxFields : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ListAuxFields(unsigned feed_id,QWidget *parent=0);
|
||||
QSize sizeHint() const;
|
||||
QSizePolicy sizePolicy() const;
|
||||
|
||||
private slots:
|
||||
void addData();
|
||||
void editData();
|
||||
void deleteData();
|
||||
void doubleClickedData(QListViewItem *item,const QPoint &pt,int col);
|
||||
void closeData();
|
||||
|
||||
private:
|
||||
void RefreshList();
|
||||
void RefreshItem(RDListViewItem *item);
|
||||
QListView *list_list_view;
|
||||
unsigned list_feed_id;
|
||||
};
|
||||
|
||||
|
||||
#endif // LIST_AUX_FIELDS_H
|
@ -1,305 +0,0 @@
|
||||
// list_encoders.cpp
|
||||
//
|
||||
// List a Rivendell Encoders
|
||||
//
|
||||
// (C) Copyright 2008,2016 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#include <qdialog.h>
|
||||
#include <qstring.h>
|
||||
#include <qtextedit.h>
|
||||
#include <qpainter.h>
|
||||
#include <qmessagebox.h>
|
||||
|
||||
#include <rd.h>
|
||||
#include <rddb.h>
|
||||
#include <rdescape_string.h>
|
||||
#include <list_encoders.h>
|
||||
#include <edit_encoder.h>
|
||||
#include <add_encoder.h>
|
||||
|
||||
ListEncoders::ListEncoders(const QString &stationname,QWidget *parent)
|
||||
: QDialog(parent,"",true)
|
||||
{
|
||||
list_stationname=stationname;
|
||||
setCaption(tr("RDAdmin - List Encoders"));
|
||||
|
||||
//
|
||||
// Fix the Window Size
|
||||
//
|
||||
setMinimumWidth(sizeHint().width());
|
||||
setMinimumHeight(sizeHint().height());
|
||||
|
||||
//
|
||||
// Create Fonts
|
||||
//
|
||||
QFont bold_font=QFont("Helvetica",12,QFont::Bold);
|
||||
bold_font.setPixelSize(12);
|
||||
QFont font=QFont("Helvetica",12,QFont::Normal);
|
||||
font.setPixelSize(12);
|
||||
|
||||
//
|
||||
// Encoders List Box
|
||||
//
|
||||
list_list_view=new RDListView(this);
|
||||
list_list_label=
|
||||
new QLabel(list_list_view,tr("Encoders on")+" "+stationname,this);
|
||||
list_list_label->setFont(bold_font);
|
||||
list_list_view->setAllColumnsShowFocus(true);
|
||||
list_list_view->setItemMargin(5);
|
||||
list_list_view->addColumn(tr("Format Name"));
|
||||
list_list_view->setColumnAlignment(0,Qt::AlignHCenter);
|
||||
list_list_view->addColumn(tr("Extension"));
|
||||
list_list_view->setColumnAlignment(1,Qt::AlignHCenter);
|
||||
list_list_view->addColumn(tr("Valid Channels"));
|
||||
list_list_view->setColumnAlignment(2,Qt::AlignLeft);
|
||||
list_list_view->addColumn(tr("Valid Sample Rates"));
|
||||
list_list_view->setColumnAlignment(3,Qt::AlignLeft);
|
||||
list_list_view->addColumn(tr("Valid Bit Rates"));
|
||||
list_list_view->setColumnAlignment(4,Qt::AlignLeft);
|
||||
connect(list_list_view,
|
||||
SIGNAL(doubleClicked(QListViewItem *,const QPoint &,int)),
|
||||
this,SLOT(doubleClickedData(QListViewItem *,const QPoint &,int)));
|
||||
|
||||
//
|
||||
// Add Button
|
||||
//
|
||||
list_add_button=new QPushButton(this);
|
||||
list_add_button->setFont(bold_font);
|
||||
list_add_button->setText(tr("&Add"));
|
||||
connect(list_add_button,SIGNAL(clicked()),this,SLOT(addData()));
|
||||
|
||||
//
|
||||
// Edit Button
|
||||
//
|
||||
list_edit_button=new QPushButton(this);
|
||||
list_edit_button->setFont(bold_font);
|
||||
list_edit_button->setText(tr("&Edit"));
|
||||
connect(list_edit_button,SIGNAL(clicked()),this,SLOT(editData()));
|
||||
|
||||
//
|
||||
// Delete Button
|
||||
//
|
||||
list_delete_button=new QPushButton(this);
|
||||
list_delete_button->setFont(bold_font);
|
||||
list_delete_button->setText(tr("&Delete"));
|
||||
connect(list_delete_button,SIGNAL(clicked()),this,SLOT(deleteData()));
|
||||
|
||||
//
|
||||
// Close Button
|
||||
//
|
||||
list_close_button=new QPushButton(this);
|
||||
list_close_button->setDefault(true);
|
||||
list_close_button->setFont(bold_font);
|
||||
list_close_button->setText(tr("&Close"));
|
||||
connect(list_close_button,SIGNAL(clicked()),this,SLOT(closeData()));
|
||||
|
||||
RefreshList();
|
||||
}
|
||||
|
||||
|
||||
QSize ListEncoders::sizeHint() const
|
||||
{
|
||||
return QSize(600,375);
|
||||
}
|
||||
|
||||
|
||||
QSizePolicy ListEncoders::sizePolicy() const
|
||||
{
|
||||
return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
|
||||
}
|
||||
|
||||
|
||||
void ListEncoders::resizeEvent(QResizeEvent *e)
|
||||
{
|
||||
list_list_label->setGeometry(14,5,size().width()-20,19);
|
||||
list_list_view->setGeometry(10,24,size().width()-20,size().height()-94);
|
||||
list_add_button->setGeometry(10,size().height()-60,80,50);
|
||||
list_edit_button->setGeometry(100,size().height()-60,80,50);
|
||||
list_delete_button->setGeometry(190,size().height()-60,80,50);
|
||||
list_close_button->setGeometry(size().width()-90,size().height()-60,80,50);
|
||||
}
|
||||
|
||||
|
||||
void ListEncoders::addData()
|
||||
{
|
||||
QString name;
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
RDSqlQuery *q1;
|
||||
|
||||
AddEncoder *ad=new AddEncoder(&name,list_stationname,this);
|
||||
if(ad->exec()==0) {
|
||||
sql=QString("select ID from ENCODERS where ")+
|
||||
"(NAME=\""+RDEscapeString(name)+"\")&&"+
|
||||
"(STATION_NAME=\""+RDEscapeString(list_stationname)+"\")";
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
EditEncoder *ee=new EditEncoder(q->value(0).toInt());
|
||||
if(ee->exec()==0) {
|
||||
RDListViewItem *item=new RDListViewItem(list_list_view);
|
||||
item->setId(q->value(0).toInt());
|
||||
item->setText(0,name);
|
||||
RefreshItem(item);
|
||||
list_list_view->ensureItemVisible(item);
|
||||
}
|
||||
else {
|
||||
sql=QString("delete from ENCODERS where ")+
|
||||
"(NAME=\""+RDEscapeString(name)+"\")&&"+
|
||||
"(STATION_NAME=\""+RDEscapeString(list_stationname)+"\")";
|
||||
q1=new RDSqlQuery(sql);
|
||||
delete q1;
|
||||
}
|
||||
delete ee;
|
||||
}
|
||||
delete q;
|
||||
}
|
||||
else {
|
||||
sql=QString("delete from ENCODERS where ")+
|
||||
"(NAME=\""+RDEscapeString(name)+"\")&&"+
|
||||
"(STATION_NAME=\""+RDEscapeString(list_stationname)+"\")";
|
||||
q1=new RDSqlQuery(sql);
|
||||
delete q1;
|
||||
}
|
||||
delete ad;
|
||||
}
|
||||
|
||||
|
||||
void ListEncoders::editData()
|
||||
{
|
||||
RDListViewItem *item;
|
||||
|
||||
if((item=(RDListViewItem *)list_list_view->selectedItem())==NULL) {
|
||||
return;
|
||||
}
|
||||
EditEncoder *ee=new EditEncoder(item->id());
|
||||
if(ee->exec()==0) {
|
||||
RefreshItem(item);
|
||||
}
|
||||
delete ee;
|
||||
}
|
||||
|
||||
|
||||
void ListEncoders::doubleClickedData(QListViewItem *item,const QPoint &pt,
|
||||
int col)
|
||||
{
|
||||
editData();
|
||||
}
|
||||
|
||||
|
||||
void ListEncoders::deleteData()
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
QString feedlist;
|
||||
|
||||
RDListViewItem *item;
|
||||
|
||||
if((item=(RDListViewItem *)list_list_view->selectedItem())==NULL) {
|
||||
return;
|
||||
}
|
||||
if(QMessageBox::question(this,tr("RDAdmin - Delete Encoder"),
|
||||
tr("Are you sure you want to delete this encoder?"),
|
||||
QMessageBox::Yes,QMessageBox::No)==QMessageBox::No) {
|
||||
return;
|
||||
}
|
||||
sql=QString().sprintf("select KEY_NAME,CHANNEL_TITLE from FEEDS \
|
||||
where UPLOAD_FORMAT=%d",item->id());
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
feedlist+=(q->value(0).toString()+" - "+q->value(1).toString());
|
||||
}
|
||||
delete q;
|
||||
if(!feedlist.isEmpty()) {
|
||||
if(QMessageBox::warning(this,tr("RDAdmin - List Encoders"),
|
||||
tr("This encoder is in use by the following RSS feeds:\n\n")+feedlist+tr("\n\nDo you still want to delete it?"),QMessageBox::Yes,QMessageBox::No)==QMessageBox::No) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
sql=QString().sprintf("delete from ENCODERS where ID=%d",item->id());
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
delete item;
|
||||
}
|
||||
|
||||
|
||||
void ListEncoders::closeData()
|
||||
{
|
||||
done(0);
|
||||
}
|
||||
|
||||
|
||||
void ListEncoders::RefreshList()
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
RDListViewItem *item=NULL;
|
||||
|
||||
sql=QString("select ID,NAME,COMMAND_LINE from ENCODERS where ")+
|
||||
"STATION_NAME=\""+RDEscapeString(list_stationname)+"\"";
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
item=new RDListViewItem(list_list_view);
|
||||
item->setId(q->value(0).toInt());
|
||||
item->setText(0,q->value(1).toString());
|
||||
RefreshItem(item);
|
||||
}
|
||||
delete q;
|
||||
}
|
||||
|
||||
|
||||
void ListEncoders::RefreshItem(RDListViewItem *item)
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
sql=QString().sprintf("select DEFAULT_EXTENSION from ENCODERS \
|
||||
where ID=%d",item->id());
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
item->setText(1,q->value(0).toString());
|
||||
}
|
||||
delete q;
|
||||
item->setText(2,BuildList(item->id(),"CHANNELS"));
|
||||
item->setText(3,BuildList(item->id(),"SAMPLERATES"));
|
||||
item->setText(4,BuildList(item->id(),"BITRATES"));
|
||||
}
|
||||
|
||||
|
||||
QString ListEncoders::BuildList(int encoder_id,const QString ¶mname)
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
QString ret;
|
||||
|
||||
sql=QString("select ")+
|
||||
paramname+" from `ENCODER_"+paramname+"` where "+
|
||||
QString().sprintf("ENCODER_ID=%d",encoder_id)+
|
||||
"order by "+paramname;
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
ret=ret+QString().sprintf("%d,",q->value(0).toInt());
|
||||
}
|
||||
delete q;
|
||||
if(ret.isEmpty()) {
|
||||
ret=tr("[none]");
|
||||
}
|
||||
else {
|
||||
ret=ret.left(ret.length()-1);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
// list_encoders.h
|
||||
//
|
||||
// List Rivendell Encoders
|
||||
//
|
||||
// (C) Copyright 2008,2016 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
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#ifndef LIST_ENCODERS_H
|
||||
#define LIST_ENCODERS_H
|
||||
|
||||
#include <qdialog.h>
|
||||
#include <qsqldatabase.h>
|
||||
#include <qlabel.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <rdlistviewitem.h>
|
||||
|
||||
#include <rduser.h>
|
||||
#include <rdmatrix.h>
|
||||
|
||||
class ListEncoders : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ListEncoders(const QString &stationname,QWidget *parent=0);
|
||||
QSize sizeHint() const;
|
||||
QSizePolicy sizePolicy() const;
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *e);
|
||||
|
||||
private slots:
|
||||
void addData();
|
||||
void editData();
|
||||
void doubleClickedData(QListViewItem *item,const QPoint &pt,int col);
|
||||
void deleteData();
|
||||
void closeData();
|
||||
|
||||
private:
|
||||
void RefreshList();
|
||||
void RefreshItem(RDListViewItem *item);
|
||||
QString BuildList(int encoder_id,const QString ¶mname);
|
||||
QString list_stationname;
|
||||
QLabel *list_list_label;
|
||||
RDListView *list_list_view;
|
||||
QPushButton *list_add_button;
|
||||
QPushButton *list_edit_button;
|
||||
QPushButton *list_delete_button;
|
||||
QPushButton *list_close_button;
|
||||
};
|
||||
|
||||
|
||||
#endif // LIST_ENCODERS_H
|
@ -173,8 +173,6 @@ void ListFeeds::addData()
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
RDDeleteFeedLog(feed);
|
||||
feed.replace(" ","_");
|
||||
rda->dropTable(feed+"_FIELDS");
|
||||
delete edit_feed;
|
||||
return;
|
||||
}
|
||||
@ -274,8 +272,6 @@ void ListFeeds::deleteData()
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
RDDeleteFeedLog(feedname);
|
||||
feedname.replace(" ","_");
|
||||
rda->dropTable(feedname+"_FIELDS");
|
||||
item->setSelected(false);
|
||||
|
||||
pd->reset();
|
||||
|
@ -20,8 +20,6 @@
|
||||
TEMPLATE = app
|
||||
|
||||
x11 {
|
||||
SOURCES += add_aux_field.cpp
|
||||
SOURCES += add_encoder.cpp
|
||||
SOURCES += add_feed.cpp
|
||||
SOURCES += add_group.cpp
|
||||
SOURCES += add_hostvar.cpp
|
||||
@ -33,12 +31,10 @@ x11 {
|
||||
SOURCES += add_user.cpp
|
||||
SOURCES += autofill_carts.cpp
|
||||
SOURCES += edit_audios.cpp
|
||||
SOURCES += edit_aux_field.cpp
|
||||
SOURCES += edit_backup.cpp
|
||||
SOURCES += edit_cartslots.cpp
|
||||
SOURCES += edit_decks.cpp
|
||||
SOURCES += edit_dropbox.cpp
|
||||
SOURCES += edit_encoder.cpp
|
||||
SOURCES += edit_endpoint.cpp
|
||||
SOURCES += edit_feed.cpp
|
||||
SOURCES += edit_feed_perms.cpp
|
||||
@ -67,9 +63,7 @@ x11 {
|
||||
SOURCES += edit_user_perms.cpp
|
||||
SOURCES += edit_vguest_resource.cpp
|
||||
SOURCES += info_dialog.cpp
|
||||
SOURCES += list_aux_fields.cpp
|
||||
SOURCES += list_dropboxes.cpp
|
||||
SOURCES += list_encoders.cpp
|
||||
SOURCES += list_endpoints.cpp
|
||||
SOURCES += list_feeds.cpp
|
||||
SOURCES += list_gpis.cpp
|
||||
@ -93,8 +87,6 @@ x11 {
|
||||
}
|
||||
|
||||
x11 {
|
||||
HEADERS += add_aux_field.h
|
||||
HEADERS += add_encoder.h
|
||||
HEADERS += add_feed.h
|
||||
HEADERS += add_group.h
|
||||
HEADERS += add_hostvar.h
|
||||
@ -106,12 +98,10 @@ x11 {
|
||||
HEADERS += add_user.h
|
||||
HEADERS += autofill_carts.h
|
||||
HEADERS += edit_audios.h
|
||||
HEADERS += edit_aux_field.h
|
||||
HEADERS += edit_backup.h
|
||||
HEADERS += edit_cartslots.h
|
||||
HEADERS += edit_decks.h
|
||||
HEADERS += edit_dropbox.h
|
||||
HEADERS += edit_encoder.h
|
||||
HEADERS += edit_endpoint.h
|
||||
HEADERS += edit_feed.h
|
||||
HEADERS += edit_feed_perms.h
|
||||
@ -140,9 +130,7 @@ x11 {
|
||||
HEADERS += edit_user_perms.h
|
||||
HEADERS += edit_vguest_resource.h
|
||||
HEADERS += info_dialog.h
|
||||
HEADERS += list_aux_fields.h
|
||||
HEADERS += list_dropboxes.h
|
||||
HEADERS += list_encoders.h
|
||||
HEADERS += list_endpoints.h
|
||||
HEADERS += list_feeds.h
|
||||
HEADERS += list_gpis.h
|
||||
|
@ -164,66 +164,50 @@ a záloha původní databáze uložena v </translation>
|
||||
<name>AddAuxField</name>
|
||||
<message>
|
||||
<source>Add Aux Field</source>
|
||||
<translation>Přidat pomocné pole</translation>
|
||||
<translation type="obsolete">Přidat pomocné pole</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation>Název proměnné: </translation>
|
||||
<translation type="obsolete">Název proměnné: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%AUX_</source>
|
||||
<translation>%AUX_</translation>
|
||||
<translation type="obsolete">%AUX_</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%</source>
|
||||
<translation>%</translation>
|
||||
<translation type="obsolete">%</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation>Popisek: </translation>
|
||||
<translation type="obsolete">Popisek: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>Z&rušit</translation>
|
||||
<translation type="obsolete">Z&rušit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name Exists</source>
|
||||
<translation>Název existuje</translation>
|
||||
<translation type="obsolete">Název existuje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>That variable name already exists!</source>
|
||||
<translation>Proměnná s tímto názvem již existuje!</translation>
|
||||
<translation type="obsolete">Proměnná s tímto názvem již existuje!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddEncoder</name>
|
||||
<message>
|
||||
<source>Add Encoder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New Encoder Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">Z&rušit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Encoder Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A encoder with that name already exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">Z&rušit</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -775,23 +759,23 @@ a záloha původní databáze uložena v </translation>
|
||||
<name>EditAuxField</name>
|
||||
<message>
|
||||
<source>Edit Auxiliary Metadata Fields</source>
|
||||
<translation>Upravit pole pomocných popisných dat</translation>
|
||||
<translation type="obsolete">Upravit pole pomocných popisných dat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation>Název proměnné: </translation>
|
||||
<translation type="obsolete">Název proměnné: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation>Popisek: </translation>
|
||||
<translation type="obsolete">Popisek: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>Z&rušit</translation>
|
||||
<translation type="obsolete">Z&rušit</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1309,39 +1293,39 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<name>EditEncoder</name>
|
||||
<message>
|
||||
<source>RDAdmin - Edit Encoder</source>
|
||||
<translation>RDAdmin - Upravit kodér</translation>
|
||||
<translation type="obsolete">RDAdmin - Upravit kodér</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name:</source>
|
||||
<translation>Název:</translation>
|
||||
<translation type="obsolete">Název:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Channels</source>
|
||||
<translation>Povolit kanály</translation>
|
||||
<translation type="obsolete">Povolit kanály</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Sample Rates</source>
|
||||
<translation>Povolit vzorkovací kmitočty</translation>
|
||||
<translation type="obsolete">Povolit vzorkovací kmitočty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Bit Rates</source>
|
||||
<translation>Povolit datové toky</translation>
|
||||
<translation type="obsolete">Povolit datové toky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>Z&rušit</translation>
|
||||
<translation type="obsolete">Z&rušit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Extension:</source>
|
||||
<translation>Výchozí přípona:</translation>
|
||||
<translation type="obsolete">Výchozí přípona:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command Line:</source>
|
||||
<translation>Příkazový řádek:</translation>
|
||||
<translation type="obsolete">Příkazový řádek:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1576,7 +1560,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<message>
|
||||
<source>&Define Auxiliary
|
||||
Metadata Fields</source>
|
||||
<translation>&Vymezit pomocná
|
||||
<translation type="obsolete">&Vymezit pomocná
|
||||
pole popisných dat</translation>
|
||||
</message>
|
||||
<message>
|
||||
@ -4465,40 +4449,40 @@ GNU Library General Public License. Klepněte na tlačítko pro zobrazení povol
|
||||
<name>ListAuxFields</name>
|
||||
<message>
|
||||
<source>Auxiliary Metadata Fields</source>
|
||||
<translation>Pomocná pole s popisnými daty</translation>
|
||||
<translation type="obsolete">Pomocná pole s popisnými daty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Var Name</source>
|
||||
<translation>Název proměnné</translation>
|
||||
<translation type="obsolete">Název proměnné</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption</source>
|
||||
<translation>Popisek</translation>
|
||||
<translation type="obsolete">Popisek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation>&Přidat</translation>
|
||||
<translation type="obsolete">&Přidat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Upravit</translation>
|
||||
<translation type="obsolete">&Upravit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>S&mazat</translation>
|
||||
<translation type="obsolete">S&mazat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation>&Zavřít</translation>
|
||||
<translation type="obsolete">&Zavřít</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>Varování</translation>
|
||||
<translation type="obsolete">Varování</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This will delete all data associated with this field!
|
||||
Are you sure you want to continue?</source>
|
||||
<translation>Toto smaže všechna data spojená s tímto polem!
|
||||
<translation type="obsolete">Toto smaže všechna data spojená s tímto polem!
|
||||
Jste si jistý, že chcete pokračovat?</translation>
|
||||
</message>
|
||||
</context>
|
||||
@ -4581,61 +4565,61 @@ Jste si jistý, že chcete pokračovat?</translation>
|
||||
<name>ListEncoders</name>
|
||||
<message>
|
||||
<source>RDAdmin - List Encoders</source>
|
||||
<translation>RDAdmin - Zobrazit kodéry</translation>
|
||||
<translation type="obsolete">RDAdmin - Zobrazit kodéry</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format Name</source>
|
||||
<translation>Název formátu</translation>
|
||||
<translation type="obsolete">Název formátu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Channels</source>
|
||||
<translation>Platné kanály</translation>
|
||||
<translation type="obsolete">Platné kanály</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Sample Rates</source>
|
||||
<translation>Platné vzorkovací kmitočty</translation>
|
||||
<translation type="obsolete">Platné vzorkovací kmitočty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Bit Rates</source>
|
||||
<translation>Platné datové toky</translation>
|
||||
<translation type="obsolete">Platné datové toky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Upravit</translation>
|
||||
<translation type="obsolete">&Upravit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation>&Zavřít</translation>
|
||||
<translation type="obsolete">&Zavřít</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation>[žádný]</translation>
|
||||
<translation type="obsolete">[žádný]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation>&Přidat</translation>
|
||||
<translation type="obsolete">&Přidat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>S&mazat</translation>
|
||||
<translation type="obsolete">S&mazat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RDAdmin - Delete Encoder</source>
|
||||
<translation>RDAdmin - Smazat kodér</translation>
|
||||
<translation type="obsolete">RDAdmin - Smazat kodér</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to delete this encoder?</source>
|
||||
<translation>Opravdu chcete smazat tento kodér?</translation>
|
||||
<translation type="obsolete">Opravdu chcete smazat tento kodér?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extension</source>
|
||||
<translation>Rozšíření</translation>
|
||||
<translation type="obsolete">Rozšíření</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This encoder is in use by the following RSS feeds:
|
||||
|
||||
</source>
|
||||
<translation>Tento kodér je používán následujícími přívody RSS:
|
||||
<translation type="obsolete">Tento kodér je používán následujícími přívody RSS:
|
||||
|
||||
</translation>
|
||||
</message>
|
||||
@ -4643,13 +4627,13 @@ Jste si jistý, že chcete pokračovat?</translation>
|
||||
<source>
|
||||
|
||||
Do you still want to delete it?</source>
|
||||
<translation>
|
||||
<translation type="obsolete">
|
||||
|
||||
Stále ještě jej chcete smazat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encoders on</source>
|
||||
<translation>Kodéry na</translation>
|
||||
<translation type="obsolete">Kodéry na</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -128,68 +128,24 @@ worden. Aktuelle Version</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddAuxField</name>
|
||||
<message>
|
||||
<source>Add Aux Field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%AUX_</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">Abbre&chen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name Exists</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>That variable name already exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">Abbre&chen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddEncoder</name>
|
||||
<message>
|
||||
<source>Add Encoder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New Encoder Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">Abbre&chen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Encoder Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A encoder with that name already exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">Abbre&chen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -739,25 +695,13 @@ worden. Aktuelle Version</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAuxField</name>
|
||||
<message>
|
||||
<source>Edit Auxiliary Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">Abbre&chen</translation>
|
||||
<translation type="obsolete">Abbre&chen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1277,39 +1221,31 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<name>EditEncoder</name>
|
||||
<message>
|
||||
<source>RDAdmin - Edit Encoder</source>
|
||||
<translation>RDAdmin - Encoder editieren</translation>
|
||||
<translation type="obsolete">RDAdmin - Encoder editieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name:</source>
|
||||
<translation>Name:</translation>
|
||||
<translation type="obsolete">Name:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Channels</source>
|
||||
<translation>Kanäle erlauben</translation>
|
||||
<translation type="obsolete">Kanäle erlauben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Sample Rates</source>
|
||||
<translation>Sampleraten erlauben</translation>
|
||||
<translation type="obsolete">Sampleraten erlauben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Bit Rates</source>
|
||||
<translation>Bitraten erlauben</translation>
|
||||
<translation type="obsolete">Bitraten erlauben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>Abbre&chen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Extension:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command Line:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">Abbre&chen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1541,11 +1477,6 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<source>Item XML:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Define Auxiliary
|
||||
Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
@ -4411,42 +4342,21 @@ anzeigen</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListAuxFields</name>
|
||||
<message>
|
||||
<source>Auxiliary Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Var Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation type="unfinished">&Hinzufügen</translation>
|
||||
<translation type="obsolete">&Hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation type="unfinished">&Editieren</translation>
|
||||
<translation type="obsolete">&Editieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation type="unfinished">&Löschen</translation>
|
||||
<translation type="obsolete">&Löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished">&Schliessen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This will delete all data associated with this field!
|
||||
Are you sure you want to continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Schliessen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4528,61 +4438,61 @@ Are you sure you want to continue?</source>
|
||||
<name>ListEncoders</name>
|
||||
<message>
|
||||
<source>RDAdmin - List Encoders</source>
|
||||
<translation>RDAdmin Encoder anzeigen</translation>
|
||||
<translation type="obsolete">RDAdmin Encoder anzeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format Name</source>
|
||||
<translation>Formatname</translation>
|
||||
<translation type="obsolete">Formatname</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Channels</source>
|
||||
<translation>Gültige Kanäle</translation>
|
||||
<translation type="obsolete">Gültige Kanäle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Sample Rates</source>
|
||||
<translation>Gültige Sampleraten</translation>
|
||||
<translation type="obsolete">Gültige Sampleraten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Bit Rates</source>
|
||||
<translation>Gültige Bitraten</translation>
|
||||
<translation type="obsolete">Gültige Bitraten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Editieren</translation>
|
||||
<translation type="obsolete">&Editieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation>&Schliessen</translation>
|
||||
<translation type="obsolete">&Schliessen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation>[keine]</translation>
|
||||
<translation type="obsolete">[keine]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation>&Hinzufügen</translation>
|
||||
<translation type="obsolete">&Hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>&Löschen</translation>
|
||||
<translation type="obsolete">&Löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RDAdmin - Delete Encoder</source>
|
||||
<translation>RDAdmin - Encoder löschen</translation>
|
||||
<translation type="obsolete">RDAdmin - Encoder löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to delete this encoder?</source>
|
||||
<translation>Sind Sie sicher, daß sie diesen encoder löschen wollen?</translation>
|
||||
<translation type="obsolete">Sind Sie sicher, daß sie diesen encoder löschen wollen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extension</source>
|
||||
<translation>Erweiterung</translation>
|
||||
<translation type="obsolete">Erweiterung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This encoder is in use by the following RSS feeds:
|
||||
|
||||
</source>
|
||||
<translation>Dieser Encoder wird von folgenden RSS-Feeds verwendet:
|
||||
<translation type="obsolete">Dieser Encoder wird von folgenden RSS-Feeds verwendet:
|
||||
|
||||
</translation>
|
||||
</message>
|
||||
@ -4590,14 +4500,10 @@ Are you sure you want to continue?</source>
|
||||
<source>
|
||||
|
||||
Do you still want to delete it?</source>
|
||||
<translation>
|
||||
<translation type="obsolete">
|
||||
|
||||
Wollen Sie ihn immernoch löschen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encoders on</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListEndpoints</name>
|
||||
|
@ -165,66 +165,58 @@ y un respaldo de la base de datos se guardó en </translation>
|
||||
<name>AddAuxField</name>
|
||||
<message>
|
||||
<source>Add Aux Field</source>
|
||||
<translation>Añadir Campo Aux</translation>
|
||||
<translation type="obsolete">Añadir Campo Aux</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation>Nombre:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%AUX_</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%</source>
|
||||
<translation></translation>
|
||||
<translation type="obsolete">Nombre:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation>Texto:</translation>
|
||||
<translation type="obsolete">Texto:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&Aceptar</translation>
|
||||
<translation type="obsolete">&Aceptar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>&Cancelar</translation>
|
||||
<translation type="obsolete">&Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name Exists</source>
|
||||
<translation>El nombre existe</translation>
|
||||
<translation type="obsolete">El nombre existe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>That variable name already exists!</source>
|
||||
<translation>¡Una variable con ese nombre ya existe!</translation>
|
||||
<translation type="obsolete">¡Una variable con ese nombre ya existe!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddEncoder</name>
|
||||
<message>
|
||||
<source>Add Encoder</source>
|
||||
<translation>Agregar Codificador</translation>
|
||||
<translation type="obsolete">Agregar Codificador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New Encoder Name:</source>
|
||||
<translation>&Nombre:</translation>
|
||||
<translation type="obsolete">&Nombre:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&Aceptar</translation>
|
||||
<translation type="obsolete">&Aceptar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>&Cancelar</translation>
|
||||
<translation type="obsolete">&Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Encoder Error</source>
|
||||
<translation>Error añadiendo Codificador</translation>
|
||||
<translation type="obsolete">Error añadiendo Codificador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A encoder with that name already exists!</source>
|
||||
<translation>¡Un codificador con ese nombre ya existe!</translation>
|
||||
<translation type="obsolete">¡Un codificador con ese nombre ya existe!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -775,23 +767,23 @@ y un respaldo de la base de datos se guardó en </translation>
|
||||
<name>EditAuxField</name>
|
||||
<message>
|
||||
<source>Edit Auxiliary Metadata Fields</source>
|
||||
<translation>Editar campos de metadatos auxiliares</translation>
|
||||
<translation type="obsolete">Editar campos de metadatos auxiliares</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation>Variable: </translation>
|
||||
<translation type="obsolete">Variable: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation>Texto: </translation>
|
||||
<translation type="obsolete">Texto: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&Aceptar</translation>
|
||||
<translation type="obsolete">&Aceptar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>&Cancelar</translation>
|
||||
<translation type="obsolete">&Cancelar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1303,39 +1295,39 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<name>EditEncoder</name>
|
||||
<message>
|
||||
<source>RDAdmin - Edit Encoder</source>
|
||||
<translation>RDAdmin - Editar Codificador</translation>
|
||||
<translation type="obsolete">RDAdmin - Editar Codificador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name:</source>
|
||||
<translation>Nombre:</translation>
|
||||
<translation type="obsolete">Nombre:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Channels</source>
|
||||
<translation>Canales permitidos</translation>
|
||||
<translation type="obsolete">Canales permitidos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Sample Rates</source>
|
||||
<translation>Tasas muest permit</translation>
|
||||
<translation type="obsolete">Tasas muest permit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Bit Rates</source>
|
||||
<translation>Tasas bit permitidas</translation>
|
||||
<translation type="obsolete">Tasas bit permitidas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&Aceptar</translation>
|
||||
<translation type="obsolete">&Aceptar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>&Cancelar</translation>
|
||||
<translation type="obsolete">&Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Extension:</source>
|
||||
<translation>Extensión por omisión:</translation>
|
||||
<translation type="obsolete">Extensión por omisión:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command Line:</source>
|
||||
<translation>Línea de comandos:</translation>
|
||||
<translation type="obsolete">Línea de comandos:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1566,7 +1558,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<message>
|
||||
<source>&Define Auxiliary
|
||||
Metadata Fields</source>
|
||||
<translation>&Definir campos de
|
||||
<translation type="obsolete">&Definir campos de
|
||||
metadatos auxiliares</translation>
|
||||
</message>
|
||||
<message>
|
||||
@ -4420,40 +4412,40 @@ PARA UN PROPÓSITO PARTICULAR. Oprima el botón "Ver licencia" para d
|
||||
<name>ListAuxFields</name>
|
||||
<message>
|
||||
<source>Auxiliary Metadata Fields</source>
|
||||
<translation>Campos de metadatos auxiliares</translation>
|
||||
<translation type="obsolete">Campos de metadatos auxiliares</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Var Name</source>
|
||||
<translation>Nombre</translation>
|
||||
<translation type="obsolete">Nombre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption</source>
|
||||
<translation>Texto</translation>
|
||||
<translation type="obsolete">Texto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation>&Añadir</translation>
|
||||
<translation type="obsolete">&Añadir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Editar</translation>
|
||||
<translation type="obsolete">&Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>E&liminar</translation>
|
||||
<translation type="obsolete">E&liminar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation>&Cerrar</translation>
|
||||
<translation type="obsolete">&Cerrar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>Advertencia</translation>
|
||||
<translation type="obsolete">Advertencia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This will delete all data associated with this field!
|
||||
Are you sure you want to continue?</source>
|
||||
<translation>¡Esto eliminará todos los datos asociados con este campo!
|
||||
<translation type="obsolete">¡Esto eliminará todos los datos asociados con este campo!
|
||||
¿Está seguro de continuar?</translation>
|
||||
</message>
|
||||
</context>
|
||||
@ -4536,61 +4528,61 @@ Are you sure you want to continue?</source>
|
||||
<name>ListEncoders</name>
|
||||
<message>
|
||||
<source>RDAdmin - List Encoders</source>
|
||||
<translation>RDAdmin - Lista de codificadores</translation>
|
||||
<translation type="obsolete">RDAdmin - Lista de codificadores</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format Name</source>
|
||||
<translation>Nombre del formato</translation>
|
||||
<translation type="obsolete">Nombre del formato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Channels</source>
|
||||
<translation>Canales válidos</translation>
|
||||
<translation type="obsolete">Canales válidos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Sample Rates</source>
|
||||
<translation>Tasas muestra válidas</translation>
|
||||
<translation type="obsolete">Tasas muestra válidas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Bit Rates</source>
|
||||
<translation>Tasas de bit válidas</translation>
|
||||
<translation type="obsolete">Tasas de bit válidas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Editar</translation>
|
||||
<translation type="obsolete">&Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation>&Cerrar</translation>
|
||||
<translation type="obsolete">&Cerrar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation>[ninguna]</translation>
|
||||
<translation type="obsolete">[ninguna]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation>&Agregar</translation>
|
||||
<translation type="obsolete">&Agregar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>E&liminar</translation>
|
||||
<translation type="obsolete">E&liminar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RDAdmin - Delete Encoder</source>
|
||||
<translation>RDAdmin - Eliminar codificador</translation>
|
||||
<translation type="obsolete">RDAdmin - Eliminar codificador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to delete this encoder?</source>
|
||||
<translation>¿Está seguro de querer eliminar este codificador?</translation>
|
||||
<translation type="obsolete">¿Está seguro de querer eliminar este codificador?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extension</source>
|
||||
<translation>Extensión</translation>
|
||||
<translation type="obsolete">Extensión</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This encoder is in use by the following RSS feeds:
|
||||
|
||||
</source>
|
||||
<translation>Este codificador está siendo usado por las fuentes RSS:
|
||||
<translation type="obsolete">Este codificador está siendo usado por las fuentes RSS:
|
||||
|
||||
</translation>
|
||||
</message>
|
||||
@ -4598,13 +4590,13 @@ Are you sure you want to continue?</source>
|
||||
<source>
|
||||
|
||||
Do you still want to delete it?</source>
|
||||
<translation>
|
||||
<translation type="obsolete">
|
||||
|
||||
¿Aún desea eliminarlo?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encoders on</source>
|
||||
<translation>Codificad. en</translation>
|
||||
<translation type="obsolete">Codificad. en</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -1,70 +1,4 @@
|
||||
<!DOCTYPE TS><TS>
|
||||
<context>
|
||||
<name>AddAuxField</name>
|
||||
<message>
|
||||
<source>Add Aux Field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%AUX_</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name Exists</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>That variable name already exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddEncoder</name>
|
||||
<message>
|
||||
<source>Add Encoder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New Encoder Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Encoder Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A encoder with that name already exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddFeed</name>
|
||||
<message>
|
||||
@ -530,29 +464,6 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAuxField</name>
|
||||
<message>
|
||||
<source>Edit Auxiliary Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditBackup</name>
|
||||
<message>
|
||||
@ -1040,45 +951,6 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEncoder</name>
|
||||
<message>
|
||||
<source>RDAdmin - Edit Encoder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Channels</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Sample Rates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Bit Rates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Extension:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command Line:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEndpoint</name>
|
||||
<message>
|
||||
@ -1308,11 +1180,6 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<source>Item XML:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Define Auxiliary
|
||||
Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -3929,46 +3796,6 @@ PARTICULAR PURPOSE. Touch the "View License" button for details.</sou
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListAuxFields</name>
|
||||
<message>
|
||||
<source>Auxiliary Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Var Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This will delete all data associated with this field!
|
||||
Are you sure you want to continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListDropboxes</name>
|
||||
<message>
|
||||
@ -4044,77 +3871,6 @@ Are you sure you want to continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListEncoders</name>
|
||||
<message>
|
||||
<source>RDAdmin - List Encoders</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Channels</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Sample Rates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Bit Rates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RDAdmin - Delete Encoder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to delete this encoder?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extension</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This encoder is in use by the following RSS feeds:
|
||||
|
||||
</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>
|
||||
|
||||
Do you still want to delete it?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encoders on</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListEndpoints</name>
|
||||
<message>
|
||||
|
@ -118,68 +118,24 @@ oppdatert til versjon </translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddAuxField</name>
|
||||
<message>
|
||||
<source>Add Aux Field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%AUX_</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">&Avbryt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name Exists</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>That variable name already exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Avbryt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddEncoder</name>
|
||||
<message>
|
||||
<source>Add Encoder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New Encoder Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">&Avbryt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Encoder Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A encoder with that name already exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Avbryt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -721,25 +677,13 @@ oppdatert til versjon </translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAuxField</name>
|
||||
<message>
|
||||
<source>Edit Auxiliary Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">&Avbryt</translation>
|
||||
<translation type="obsolete">&Avbryt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1257,41 +1201,13 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEncoder</name>
|
||||
<message>
|
||||
<source>RDAdmin - Edit Encoder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Channels</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Sample Rates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Bit Rates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">&Avbryt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Extension:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command Line:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Avbryt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1523,11 +1439,6 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<source>Item XML:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Define Auxiliary
|
||||
Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
@ -4385,42 +4296,21 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListAuxFields</name>
|
||||
<message>
|
||||
<source>Auxiliary Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Var Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation type="unfinished">&Legg til</translation>
|
||||
<translation type="obsolete">&Legg til</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation type="unfinished">R&ediger</translation>
|
||||
<translation type="obsolete">R&ediger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation type="unfinished">&Slett</translation>
|
||||
<translation type="obsolete">&Slett</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished">&Lukk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This will delete all data associated with this field!
|
||||
Are you sure you want to continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Lukk</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4500,73 +4390,25 @@ Are you sure you want to continue?</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListEncoders</name>
|
||||
<message>
|
||||
<source>RDAdmin - List Encoders</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extension</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Channels</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Sample Rates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Bit Rates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation type="unfinished">&Legg til</translation>
|
||||
<translation type="obsolete">&Legg til</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation type="unfinished">R&ediger</translation>
|
||||
<translation type="obsolete">R&ediger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation type="unfinished">&Slett</translation>
|
||||
<translation type="obsolete">&Slett</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished">&Lukk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RDAdmin - Delete Encoder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to delete this encoder?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This encoder is in use by the following RSS feeds:
|
||||
|
||||
</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>
|
||||
|
||||
Do you still want to delete it?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Lukk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation type="unfinished">[ingen]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encoders on</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">[ingen]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -118,68 +118,24 @@ oppdatert til versjon </translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddAuxField</name>
|
||||
<message>
|
||||
<source>Add Aux Field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%AUX_</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">&Avbryt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name Exists</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>That variable name already exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Avbryt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddEncoder</name>
|
||||
<message>
|
||||
<source>Add Encoder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New Encoder Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">&Avbryt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Encoder Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A encoder with that name already exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Avbryt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -721,25 +677,13 @@ oppdatert til versjon </translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAuxField</name>
|
||||
<message>
|
||||
<source>Edit Auxiliary Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">&Avbryt</translation>
|
||||
<translation type="obsolete">&Avbryt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1257,41 +1201,13 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEncoder</name>
|
||||
<message>
|
||||
<source>RDAdmin - Edit Encoder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Channels</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Sample Rates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Bit Rates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">&Avbryt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Extension:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command Line:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Avbryt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1523,11 +1439,6 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<source>Item XML:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Define Auxiliary
|
||||
Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&OK</translation>
|
||||
@ -4385,42 +4296,21 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListAuxFields</name>
|
||||
<message>
|
||||
<source>Auxiliary Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Var Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation type="unfinished">&Legg til</translation>
|
||||
<translation type="obsolete">&Legg til</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation type="unfinished">R&ediger</translation>
|
||||
<translation type="obsolete">R&ediger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation type="unfinished">&Slett</translation>
|
||||
<translation type="obsolete">&Slett</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished">&Lukk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This will delete all data associated with this field!
|
||||
Are you sure you want to continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Lukk</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4500,73 +4390,25 @@ Are you sure you want to continue?</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListEncoders</name>
|
||||
<message>
|
||||
<source>RDAdmin - List Encoders</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extension</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Channels</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Sample Rates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Bit Rates</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation type="unfinished">&Legg til</translation>
|
||||
<translation type="obsolete">&Legg til</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation type="unfinished">R&ediger</translation>
|
||||
<translation type="obsolete">R&ediger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation type="unfinished">&Slett</translation>
|
||||
<translation type="obsolete">&Slett</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished">&Lukk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RDAdmin - Delete Encoder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to delete this encoder?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This encoder is in use by the following RSS feeds:
|
||||
|
||||
</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>
|
||||
|
||||
Do you still want to delete it?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Lukk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation type="unfinished">[ingen]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encoders on</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">[ingen]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -119,68 +119,16 @@ atualizada para a Versão</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddAuxField</name>
|
||||
<message>
|
||||
<source>Add Aux Field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%AUX_</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">&Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name Exists</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>That variable name already exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Cancelar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddEncoder</name>
|
||||
<message>
|
||||
<source>Add Encoder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New Encoder Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">&Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Encoder Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A encoder with that name already exists!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Cancelar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -722,25 +670,9 @@ atualizada para a Versão</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAuxField</name>
|
||||
<message>
|
||||
<source>Edit Auxiliary Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable Name: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished">&Cancelar</translation>
|
||||
<translation type="obsolete">&Cancelar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1260,40 +1192,32 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<name>EditEncoder</name>
|
||||
<message>
|
||||
<source>RDAdmin - Edit Encoder</source>
|
||||
<translation>RDAdmin - Editar Codificador</translation>
|
||||
<translation type="obsolete">RDAdmin - Editar Codificador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name:</source>
|
||||
<translation>Nome:</translation>
|
||||
<translation type="obsolete">Nome:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Channels</source>
|
||||
<translation>Permita Canais</translation>
|
||||
<translation type="obsolete">Permita Canais</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Sample Rates</source>
|
||||
<translation>Permitir Taxas de Amostragem</translation>
|
||||
<translation type="obsolete">Permitir Taxas de Amostragem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Bit Rates</source>
|
||||
<translation>Permitir Taxa de Bits</translation>
|
||||
<translation type="obsolete">Permitir Taxa de Bits</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>
|
||||
<translation type="obsolete">
|
||||
&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>&Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default Extension:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command Line:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Cancelar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1525,11 +1449,6 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<source>Item XML:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Define Auxiliary
|
||||
Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -4404,42 +4323,21 @@ FINALIDADE PARTICULAR. Aperte o botão VER LICENÇA para mais detalhes.</transl
|
||||
</context>
|
||||
<context>
|
||||
<name>ListAuxFields</name>
|
||||
<message>
|
||||
<source>Auxiliary Metadata Fields</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Var Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Caption</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation type="unfinished">&Adicionar</translation>
|
||||
<translation type="obsolete">&Adicionar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation type="unfinished">&Editar</translation>
|
||||
<translation type="obsolete">&Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation type="unfinished">&Deletar</translation>
|
||||
<translation type="obsolete">&Deletar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished">&Fechar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This will delete all data associated with this field!
|
||||
Are you sure you want to continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">&Fechar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4521,58 +4419,58 @@ Are you sure you want to continue?</source>
|
||||
<name>ListEncoders</name>
|
||||
<message>
|
||||
<source>RDAdmin - List Encoders</source>
|
||||
<translation>RDAdmin - Listar Codificadores
|
||||
<translation type="obsolete">RDAdmin - Listar Codificadores
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format Name</source>
|
||||
<translation>Formato</translation>
|
||||
<translation type="obsolete">Formato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extension</source>
|
||||
<translation>Extensão</translation>
|
||||
<translation type="obsolete">Extensão</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Channels</source>
|
||||
<translation>Canais Válidos</translation>
|
||||
<translation type="obsolete">Canais Válidos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Sample Rates</source>
|
||||
<translation>Taxas de Amostragem</translation>
|
||||
<translation type="obsolete">Taxas de Amostragem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Valid Bit Rates</source>
|
||||
<translation>Taxa de Bits Válidas</translation>
|
||||
<translation type="obsolete">Taxa de Bits Válidas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Add</source>
|
||||
<translation>&Adicionar</translation>
|
||||
<translation type="obsolete">&Adicionar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Editar</translation>
|
||||
<translation type="obsolete">&Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>&Deletar</translation>
|
||||
<translation type="obsolete">&Deletar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation>&Fechar</translation>
|
||||
<translation type="obsolete">&Fechar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RDAdmin - Delete Encoder</source>
|
||||
<translation>RDAdmin - Deletar Codificador</translation>
|
||||
<translation type="obsolete">RDAdmin - Deletar Codificador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to delete this encoder?</source>
|
||||
<translation>Tem certeza que quer deletar este codificador?</translation>
|
||||
<translation type="obsolete">Tem certeza que quer deletar este codificador?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This encoder is in use by the following RSS feeds:
|
||||
|
||||
</source>
|
||||
<translation>Este Codificador está em uso pelo Feed RRS:
|
||||
<translation type="obsolete">Este Codificador está em uso pelo Feed RRS:
|
||||
|
||||
</translation>
|
||||
</message>
|
||||
@ -4580,16 +4478,12 @@ Are you sure you want to continue?</source>
|
||||
<source>
|
||||
|
||||
Do you still want to delete it?</source>
|
||||
<translation>
|
||||
<translation type="obsolete">
|
||||
Você ainda quer Deletar?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation>[Nenhum]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encoders on</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="obsolete">[Nenhum]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -41,9 +41,6 @@
|
||||
EditCast::EditCast(unsigned cast_id,QWidget *parent)
|
||||
: QDialog(parent,"",true)
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
RDSqlQuery *q1;
|
||||
int ypos=0;
|
||||
|
||||
cast_cast=new RDPodcast(rda->config(),cast_id);
|
||||
@ -177,43 +174,7 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
|
||||
cast_item_comments_label->setFont(font);
|
||||
cast_item_comments_label->setAlignment(AlignRight|AlignVCenter|ShowPrefix);
|
||||
|
||||
//
|
||||
// Auxiliary Fields
|
||||
//
|
||||
cast_ypos=233+ypos;
|
||||
QString keyname=cast_cast->keyName();
|
||||
keyname.replace(" ","_");
|
||||
QLabel *label;
|
||||
sql=QString("select ")+
|
||||
"VAR_NAME,"+
|
||||
"CAPTION "+
|
||||
"from AUX_METADATA where "+
|
||||
QString().sprintf("FEED_ID=%u ",cast_cast->feedId())+
|
||||
"order by VAR_NAME";
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
cast_aux_varnames.push_back(q->value(0).toString().
|
||||
mid(1,q->value(0).toString().length()-2));
|
||||
cast_aux_edits.push_back(new QLineEdit(this));
|
||||
cast_aux_edits.back()->
|
||||
setGeometry(115,cast_ypos,sizeHint().width()-125,20);
|
||||
cast_aux_edits.back()->setMaxLength(255);
|
||||
sql=QString("select ")+
|
||||
cast_aux_varnames.back()+" from `"+keyname+"_FIELDS where "+
|
||||
QString().sprintf("CAST_ID=%u",cast_cast->id());
|
||||
q1=new RDSqlQuery(sql);
|
||||
if(q1->first()) {
|
||||
cast_aux_edits.back()->setText(q1->value(0).toString());
|
||||
}
|
||||
delete q1;
|
||||
label=new QLabel(cast_aux_edits.back(),q->value(1).toString()+":",this);
|
||||
label->setGeometry(20,cast_ypos,90,20);
|
||||
label->setFont(font);
|
||||
label->setAlignment(AlignRight|AlignVCenter|ShowPrefix);
|
||||
cast_ypos+=22;
|
||||
}
|
||||
delete q;
|
||||
cast_ypos+=3;
|
||||
|
||||
//
|
||||
// Effective DateTime
|
||||
@ -221,7 +182,7 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
|
||||
cast_item_effective_edit=new QDateTimeEdit(this);
|
||||
cast_item_effective_edit->
|
||||
setGeometry(115,cast_ypos,165,20);
|
||||
label=new QLabel(cast_item_effective_edit,tr("Air Date/Time:"),this);
|
||||
QLabel *label=new QLabel(cast_item_effective_edit,tr("Air Date/Time:"),this);
|
||||
label->setGeometry(20,cast_ypos,90,20);
|
||||
label->setFont(font);
|
||||
label->setAlignment(AlignRight|AlignVCenter|ShowPrefix);
|
||||
@ -374,17 +335,17 @@ EditCast::EditCast(unsigned cast_id,QWidget *parent)
|
||||
addDays(cast_cast->shelfLife()));
|
||||
expirationSelectedData(cast_item_expiration_box->currentItem());
|
||||
switch(cast_status) {
|
||||
case RDPodcast::StatusActive:
|
||||
cast_item_status_group->setButton(1);
|
||||
break;
|
||||
case RDPodcast::StatusActive:
|
||||
cast_item_status_group->setButton(1);
|
||||
break;
|
||||
|
||||
case RDPodcast::StatusPending:
|
||||
cast_item_status_group->setButton(0);
|
||||
break;
|
||||
case RDPodcast::StatusPending:
|
||||
cast_item_status_group->setButton(0);
|
||||
break;
|
||||
|
||||
case RDPodcast::StatusExpired:
|
||||
cast_item_status_group->setDisabled(true);
|
||||
break;
|
||||
case RDPodcast::StatusExpired:
|
||||
cast_item_status_group->setDisabled(true);
|
||||
break;
|
||||
}
|
||||
|
||||
//
|
||||
@ -465,9 +426,6 @@ void EditCast::reportData()
|
||||
|
||||
void EditCast::okData()
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
cast_cast->setItemTitle(cast_item_title_edit->text());
|
||||
cast_cast->setItemAuthor(cast_item_author_edit->text());
|
||||
cast_cast->setItemCategory(cast_item_category_edit->text());
|
||||
@ -501,17 +459,6 @@ void EditCast::okData()
|
||||
}
|
||||
}
|
||||
|
||||
QString keyname=cast_cast->keyName();
|
||||
keyname.replace(" ","_");
|
||||
for(unsigned i=0;i<cast_aux_varnames.size();i++) {
|
||||
sql=QString("update `")+keyname+"_FIELDS` set "+
|
||||
cast_aux_varnames[i]+
|
||||
"=\"RDEscapeString(cast_aux_edits[i]->text()\" where "+
|
||||
QString().sprintf("CAST_ID=%u",cast_cast->id());
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
}
|
||||
|
||||
cast_feed->
|
||||
setLastBuildDateTime(RDLocalToUtc(QDateTime(QDate::currentDate(),
|
||||
QTime::currentTime())));
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Edit a Rivendell Cast
|
||||
//
|
||||
// (C) Copyright 2002-2004,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2004,2016-2018 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
|
||||
@ -73,8 +73,6 @@ class EditCast : public QDialog
|
||||
QDateEdit *cast_item_expiration_edit;
|
||||
QDateTimeEdit *cast_item_effective_edit;
|
||||
QButtonGroup *cast_item_status_group;
|
||||
std::vector<QString> cast_aux_varnames;
|
||||
std::vector<QLineEdit *> cast_aux_edits;
|
||||
int cast_ypos;
|
||||
RDPodcast::Status cast_status;
|
||||
};
|
||||
|
@ -213,12 +213,7 @@ void MainObject::ServeRss(const char *keyname,bool count)
|
||||
q1=new RDSqlQuery(sql);
|
||||
while(q1->next()) {
|
||||
printf("<item>\n");
|
||||
printf("%s\n",(const char *)
|
||||
ResolveAuxWildcards(ResolveItemWildcards(keyname,q1,q),
|
||||
getenv("QUERY_STRING"),
|
||||
q->value(13).toUInt(),
|
||||
q1->value(7).toUInt()));
|
||||
//printf("%s\n",(const char *)ResolveItemWildcards(q1,q));
|
||||
printf("%s\n",(const char *)ResolveItemWildcards(keyname,q1,q));
|
||||
printf("</item>\n");
|
||||
}
|
||||
delete q1;
|
||||
@ -316,43 +311,6 @@ QString MainObject::ResolveItemWildcards(const QString &keyname,
|
||||
}
|
||||
|
||||
|
||||
QString MainObject::ResolveAuxWildcards(QString xml,QString keyname,
|
||||
unsigned feed_id,unsigned cast_id)
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
RDSqlQuery *q1;
|
||||
|
||||
keyname.replace(" ","_");
|
||||
sql=QString("select VAR_NAME from AUX_METADATA where ")+
|
||||
QString().sprintf("FEED_ID=%u",feed_id);
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->size()==0) {
|
||||
delete q;
|
||||
return xml;
|
||||
}
|
||||
sql="select ";
|
||||
while(q->next()) {
|
||||
sql+=q->value(0).toString().mid(1,q->value(0).toString().length()-2);
|
||||
sql+=",";
|
||||
}
|
||||
sql=sql.left(sql.length()-1);
|
||||
sql+=QString().sprintf(" from %s_FIELDS where CAST_ID=%u",
|
||||
(const char *)keyname,cast_id);
|
||||
q->seek(-1);
|
||||
q1=new RDSqlQuery(sql);
|
||||
while(q1->next()) {
|
||||
q->next();
|
||||
xml.replace(q->value(0).toString(),
|
||||
RDXmlEscape(q1->value(0).toString()));
|
||||
}
|
||||
delete q1;
|
||||
delete q;
|
||||
|
||||
return xml;
|
||||
}
|
||||
|
||||
|
||||
bool MainObject::ShouldCount(const QString &hdr)
|
||||
{
|
||||
bool ret=false;
|
||||
|
@ -38,8 +38,6 @@ class MainObject : public QObject
|
||||
QString ResolveChannelWildcards(RDSqlQuery *chan_q);
|
||||
QString ResolveItemWildcards(const QString &keyname,
|
||||
RDSqlQuery *item_q,RDSqlQuery *chan_q);
|
||||
QString ResolveAuxWildcards(QString xml,QString keyname,unsigned feed_id,
|
||||
unsigned cast_id);
|
||||
bool ShouldCount(const QString &hdr);
|
||||
void Redirect(const QString &url);
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user