mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-07-07 16:07:45 +02:00
2021-07-20 Fred Gleason <fredg@paravelsystems.com>
* Refactored the 'Edit Upload' dialog in rdcatch(1) to improve modularity. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
75c04995e7
commit
08cb2f241e
@ -22058,3 +22058,6 @@
|
|||||||
2021-07-17 Fred Gleason <fredg@paravelsystems.com>
|
2021-07-17 Fred Gleason <fredg@paravelsystems.com>
|
||||||
* Disabled host key validation for SFTP transfers in the podcast
|
* Disabled host key validation for SFTP transfers in the podcast
|
||||||
subsystem.
|
subsystem.
|
||||||
|
2021-07-20 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
* Refactored the 'Edit Upload' dialog in rdcatch(1) to improve
|
||||||
|
modularity.
|
||||||
|
@ -615,7 +615,7 @@ void RDRecording::setUrlPassword(QString passwd) const
|
|||||||
|
|
||||||
bool RDRecording::urlUseIdFile() const
|
bool RDRecording::urlUseIdFile() const
|
||||||
{
|
{
|
||||||
return RDBool(GetStringValue("URL_PASSWORD"));
|
return RDBool(GetStringValue("URL_USE_ID_FILE"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,12 +49,14 @@ dist_rdcatch_SOURCES = add_recording.cpp add_recording.h\
|
|||||||
catchtableview.cpp catchtableview.h\
|
catchtableview.cpp catchtableview.h\
|
||||||
colors.h\
|
colors.h\
|
||||||
deckmon.cpp deckmon.h\
|
deckmon.cpp deckmon.h\
|
||||||
|
dowselector.cpp dowselector.h\
|
||||||
edit_cartevent.cpp edit_cartevent.h\
|
edit_cartevent.cpp edit_cartevent.h\
|
||||||
edit_download.cpp edit_download.h\
|
edit_download.cpp edit_download.h\
|
||||||
edit_playout.cpp edit_playout.h\
|
edit_playout.cpp edit_playout.h\
|
||||||
edit_recording.cpp edit_recording.h\
|
edit_recording.cpp edit_recording.h\
|
||||||
edit_switchevent.cpp edit_switchevent.h\
|
edit_switchevent.cpp edit_switchevent.h\
|
||||||
edit_upload.cpp edit_upload.h\
|
edit_upload.cpp edit_upload.h\
|
||||||
|
eventwidget.cpp eventwidget.h\
|
||||||
globals.h\
|
globals.h\
|
||||||
list_reports.cpp list_reports.h\
|
list_reports.cpp list_reports.h\
|
||||||
rdcatch.cpp rdcatch.h\
|
rdcatch.cpp rdcatch.h\
|
||||||
@ -64,12 +66,14 @@ dist_rdcatch_SOURCES = add_recording.cpp add_recording.h\
|
|||||||
nodist_rdcatch_SOURCES = moc_add_recording.cpp\
|
nodist_rdcatch_SOURCES = moc_add_recording.cpp\
|
||||||
moc_catchtableview.cpp\
|
moc_catchtableview.cpp\
|
||||||
moc_deckmon.cpp\
|
moc_deckmon.cpp\
|
||||||
|
moc_dowselector.cpp\
|
||||||
moc_edit_cartevent.cpp\
|
moc_edit_cartevent.cpp\
|
||||||
moc_edit_download.cpp\
|
moc_edit_download.cpp\
|
||||||
moc_edit_playout.cpp\
|
moc_edit_playout.cpp\
|
||||||
moc_edit_recording.cpp\
|
moc_edit_recording.cpp\
|
||||||
moc_edit_switchevent.cpp\
|
moc_edit_switchevent.cpp\
|
||||||
moc_edit_upload.cpp\
|
moc_edit_upload.cpp\
|
||||||
|
moc_eventwidget.cpp\
|
||||||
moc_list_reports.cpp\
|
moc_list_reports.cpp\
|
||||||
moc_rdcatch.cpp\
|
moc_rdcatch.cpp\
|
||||||
moc_recordlistmodel.cpp\
|
moc_recordlistmodel.cpp\
|
||||||
|
134
rdcatch/dowselector.cpp
Normal file
134
rdcatch/dowselector.cpp
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
// dowselector.cpp
|
||||||
|
//
|
||||||
|
// Day of the week selector
|
||||||
|
//
|
||||||
|
// (C) Copyright 2021 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 <QDateTime>
|
||||||
|
|
||||||
|
#include <rdconf.h>
|
||||||
|
#include <rddb.h>
|
||||||
|
|
||||||
|
#include "dowselector.h"
|
||||||
|
|
||||||
|
DowSelector::DowSelector(QWidget *parent)
|
||||||
|
: RDWidget(parent)
|
||||||
|
{
|
||||||
|
d_group_box=new QGroupBox(tr("Active Days"),this);
|
||||||
|
d_group_box->setFont(labelFont());
|
||||||
|
|
||||||
|
QDate monday=QDate::currentDate();
|
||||||
|
while(monday.dayOfWeek()!=1) {
|
||||||
|
monday=monday.addDays(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i=0;i<7;i++) {
|
||||||
|
d_labels[i]=new QLabel(monday.addDays(i).toString("dddd"),this);
|
||||||
|
d_labels[i]->setFont(defaultFont());
|
||||||
|
d_checks[i]=new QCheckBox(this);
|
||||||
|
d_checks[i]->setFont(defaultFont());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QSize DowSelector::sizeHint() const
|
||||||
|
{
|
||||||
|
return QSize(500,62);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QSizePolicy DowSelector::sizePolicy() const
|
||||||
|
{
|
||||||
|
return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool DowSelector::dayOfWeekEnabled(int dow)
|
||||||
|
{
|
||||||
|
return d_checks[dow]->isChecked();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DowSelector::toRecording(unsigned record_id) const
|
||||||
|
{
|
||||||
|
QString sql=QString("update `RECORDINGS` set ")+
|
||||||
|
"`MON`='"+RDYesNo(d_checks[0]->isChecked())+"',"+
|
||||||
|
"`TUE`='"+RDYesNo(d_checks[1]->isChecked())+"',"+
|
||||||
|
"`WED`='"+RDYesNo(d_checks[2]->isChecked())+"',"+
|
||||||
|
"`THU`='"+RDYesNo(d_checks[3]->isChecked())+"',"+
|
||||||
|
"`FRI`='"+RDYesNo(d_checks[4]->isChecked())+"',"+
|
||||||
|
"`SAT`='"+RDYesNo(d_checks[5]->isChecked())+"',"+
|
||||||
|
"`SUN`='"+RDYesNo(d_checks[6]->isChecked())+"' "+
|
||||||
|
"where "+
|
||||||
|
QString().sprintf("`ID`=%u",record_id);
|
||||||
|
RDSqlQuery::apply(sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DowSelector::fromRecording(unsigned record_id)
|
||||||
|
{
|
||||||
|
QString sql=QString("select ")+
|
||||||
|
"`MON`,"+ // 00
|
||||||
|
"`TUE`,"+ // 01
|
||||||
|
"`WED`,"+ // 02
|
||||||
|
"`THU`,"+ // 03
|
||||||
|
"`FRI`,"+ // 04
|
||||||
|
"`SAT`,"+ // 05
|
||||||
|
"`SUN` "+ // 06
|
||||||
|
"from `RECORDINGS` where "+
|
||||||
|
QString().sprintf("`ID`=%u",record_id);
|
||||||
|
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||||
|
if(q->first()) {
|
||||||
|
for(int i=0;i<7;i++) {
|
||||||
|
d_checks[i]->setChecked(q->value(i).toString()=="Y");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delete q;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DowSelector::enableDayOfWeek(int dow,bool state)
|
||||||
|
{
|
||||||
|
d_checks[dow]->setChecked(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DowSelector::resizeEvent(QResizeEvent *e)
|
||||||
|
{
|
||||||
|
d_group_box->setGeometry(0,0,width(),height());
|
||||||
|
|
||||||
|
d_checks[0]->setGeometry(10,16,20,20);
|
||||||
|
d_labels[0]->setGeometry(30,16,115,20);
|
||||||
|
|
||||||
|
d_checks[1]->setGeometry(105,16,20,20);
|
||||||
|
d_labels[1]->setGeometry(125,16,115,20);
|
||||||
|
|
||||||
|
d_checks[2]->setGeometry(205,16,20,20);
|
||||||
|
d_labels[2]->setGeometry(225,16,115,20);
|
||||||
|
|
||||||
|
d_checks[3]->setGeometry(325,16,20,20);
|
||||||
|
d_labels[3]->setGeometry(345,16,115,20);
|
||||||
|
|
||||||
|
d_checks[4]->setGeometry(430,16,20,20);
|
||||||
|
d_labels[4]->setGeometry(450,16,40,20);
|
||||||
|
|
||||||
|
d_checks[5]->setGeometry(120,38,20,20);
|
||||||
|
d_labels[5]->setGeometry(140,38,60,20);
|
||||||
|
|
||||||
|
d_checks[6]->setGeometry(290,38,20,20);
|
||||||
|
d_labels[6]->setGeometry(310,38,60,20);
|
||||||
|
}
|
55
rdcatch/dowselector.h
Normal file
55
rdcatch/dowselector.h
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
// dowselector.h
|
||||||
|
//
|
||||||
|
// Day of the week selector
|
||||||
|
//
|
||||||
|
// (C) Copyright 2021 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 DOWSELECTOR_H
|
||||||
|
#define DOWSELECTOR_H
|
||||||
|
|
||||||
|
#include <QCheckBox>
|
||||||
|
#include <QGroupBox>
|
||||||
|
#include <QLabel>
|
||||||
|
|
||||||
|
#include <rdwidget.h>
|
||||||
|
|
||||||
|
class DowSelector : public RDWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
DowSelector(QWidget *parent=0);
|
||||||
|
QSize sizeHint() const;
|
||||||
|
QSizePolicy sizePolicy() const;
|
||||||
|
bool dayOfWeekEnabled(int dow);
|
||||||
|
void toRecording(unsigned record_id) const;
|
||||||
|
void fromRecording(unsigned record_id);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void enableDayOfWeek(int dow,bool state);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void resizeEvent(QResizeEvent *e);
|
||||||
|
|
||||||
|
private:
|
||||||
|
QGroupBox *d_group_box;
|
||||||
|
QCheckBox *d_checks[7];
|
||||||
|
QLabel *d_labels[7];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // DOWSELECTOR_H
|
||||||
|
|
@ -18,7 +18,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
//
|
//
|
||||||
|
|
||||||
#include <QGroupBox>
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
|
||||||
@ -34,10 +33,6 @@ EditUpload::EditUpload(int id,std::vector<int> *adds,QString *filter,
|
|||||||
QWidget *parent)
|
QWidget *parent)
|
||||||
: RDDialog(parent)
|
: RDDialog(parent)
|
||||||
{
|
{
|
||||||
QString sql;
|
|
||||||
RDSqlQuery *q;
|
|
||||||
QString temp;
|
|
||||||
|
|
||||||
edit_deck=NULL;
|
edit_deck=NULL;
|
||||||
edit_added_events=adds;
|
edit_added_events=adds;
|
||||||
edit_filter=filter;
|
edit_filter=filter;
|
||||||
@ -50,11 +45,6 @@ EditUpload::EditUpload(int id,std::vector<int> *adds,QString *filter,
|
|||||||
setMinimumSize(sizeHint());
|
setMinimumSize(sizeHint());
|
||||||
setMaximumSize(sizeHint());
|
setMaximumSize(sizeHint());
|
||||||
|
|
||||||
//
|
|
||||||
// Text Validator
|
|
||||||
//
|
|
||||||
RDTextValidator *validator=new RDTextValidator(this);
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// The Recording Record
|
// The Recording Record
|
||||||
//
|
//
|
||||||
@ -65,33 +55,10 @@ EditUpload::EditUpload(int id,std::vector<int> *adds,QString *filter,
|
|||||||
//
|
//
|
||||||
edit_cut_dialog=new RDCutDialog(edit_filter,&edit_group,&edit_schedcode,
|
edit_cut_dialog=new RDCutDialog(edit_filter,&edit_group,&edit_schedcode,
|
||||||
false,false,false,"RDCatch",false,this);
|
false,false,false,"RDCatch",false,this);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Active Button
|
// Event Widget
|
||||||
//
|
//
|
||||||
edit_active_button=new QCheckBox(this);
|
edit_event_widget=new EventWidget(EventWidget::OtherEvent,this);
|
||||||
edit_active_label=new QLabel(tr("Event Active"),this);
|
|
||||||
edit_active_label->setFont(labelFont());
|
|
||||||
edit_active_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Station
|
|
||||||
//
|
|
||||||
edit_station_box=new RDComboBox(this);
|
|
||||||
connect(edit_station_box,SIGNAL(editTextChanged(const QString &)),
|
|
||||||
this,SLOT(stationChangedData(const QString &)));
|
|
||||||
edit_station_label=new QLabel(tr("Location:"),this);
|
|
||||||
edit_station_label->setFont(labelFont());
|
|
||||||
edit_station_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Start Time
|
|
||||||
//
|
|
||||||
edit_starttime_edit=new QTimeEdit(this);
|
|
||||||
edit_starttime_edit->setDisplayFormat("hh:mm:ss");
|
|
||||||
edit_starttime_label=new QLabel(tr("Start Time:"),this);
|
|
||||||
edit_starttime_label->setFont(labelFont());
|
|
||||||
edit_starttime_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Source
|
// Source
|
||||||
@ -104,13 +71,13 @@ EditUpload::EditUpload(int id,std::vector<int> *adds,QString *filter,
|
|||||||
edit_source_select_button=new QPushButton(this);
|
edit_source_select_button=new QPushButton(this);
|
||||||
edit_source_select_button->setFont(subButtonFont());
|
edit_source_select_button->setFont(subButtonFont());
|
||||||
edit_source_select_button->setText(tr("Select"));
|
edit_source_select_button->setText(tr("Select"));
|
||||||
connect(edit_source_select_button,SIGNAL(clicked()),this,SLOT(selectCartData()));
|
connect(edit_source_select_button,SIGNAL(clicked()),
|
||||||
|
this,SLOT(selectCartData()));
|
||||||
|
|
||||||
//
|
//
|
||||||
// Description
|
// Description
|
||||||
//
|
//
|
||||||
edit_description_edit=new QLineEdit(this);
|
edit_description_edit=new QLineEdit(this);
|
||||||
edit_description_edit->setValidator(validator);
|
|
||||||
edit_description_label=new QLabel(tr("Description:"),this);
|
edit_description_label=new QLabel(tr("Description:"),this);
|
||||||
edit_description_label->setFont(labelFont());
|
edit_description_label->setFont(labelFont());
|
||||||
edit_description_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
edit_description_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||||
@ -124,6 +91,7 @@ EditUpload::EditUpload(int id,std::vector<int> *adds,QString *filter,
|
|||||||
edit_feed_label->setFont(labelFont());
|
edit_feed_label->setFont(labelFont());
|
||||||
edit_feed_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
edit_feed_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||||
edit_feed_model=new RDFeedListModel(true,true,this);
|
edit_feed_model=new RDFeedListModel(true,true,this);
|
||||||
|
edit_feed_model->setFont(defaultFont());
|
||||||
edit_feed_box->setModel(edit_feed_model);
|
edit_feed_box->setModel(edit_feed_model);
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -131,7 +99,6 @@ EditUpload::EditUpload(int id,std::vector<int> *adds,QString *filter,
|
|||||||
//
|
//
|
||||||
edit_url_edit=new QLineEdit(this);
|
edit_url_edit=new QLineEdit(this);
|
||||||
edit_url_edit->setMaxLength(191);
|
edit_url_edit->setMaxLength(191);
|
||||||
edit_url_edit->setValidator(validator);
|
|
||||||
connect(edit_url_edit,SIGNAL(textChanged(const QString &)),
|
connect(edit_url_edit,SIGNAL(textChanged(const QString &)),
|
||||||
this,SLOT(urlChangedData(const QString &)));
|
this,SLOT(urlChangedData(const QString &)));
|
||||||
edit_url_label=new QLabel(tr("Url:"),this);
|
edit_url_label=new QLabel(tr("Url:"),this);
|
||||||
@ -143,7 +110,6 @@ EditUpload::EditUpload(int id,std::vector<int> *adds,QString *filter,
|
|||||||
//
|
//
|
||||||
edit_username_edit=new QLineEdit(this);
|
edit_username_edit=new QLineEdit(this);
|
||||||
edit_username_edit->setMaxLength(64);
|
edit_username_edit->setMaxLength(64);
|
||||||
edit_username_edit->setValidator(validator);
|
|
||||||
edit_username_label=new QLabel(tr("Username:"),this);
|
edit_username_label=new QLabel(tr("Username:"),this);
|
||||||
edit_username_label->setFont(labelFont());
|
edit_username_label->setFont(labelFont());
|
||||||
edit_username_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
edit_username_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||||
@ -154,11 +120,19 @@ EditUpload::EditUpload(int id,std::vector<int> *adds,QString *filter,
|
|||||||
edit_password_edit=new QLineEdit(this);
|
edit_password_edit=new QLineEdit(this);
|
||||||
edit_password_edit->setEchoMode(QLineEdit::Password);
|
edit_password_edit->setEchoMode(QLineEdit::Password);
|
||||||
edit_password_edit->setMaxLength(64);
|
edit_password_edit->setMaxLength(64);
|
||||||
edit_username_edit->setValidator(validator);
|
|
||||||
edit_password_label=new QLabel(tr("Password:"),this);
|
edit_password_label=new QLabel(tr("Password:"),this);
|
||||||
edit_password_label->setFont(labelFont());
|
edit_password_label->setFont(labelFont());
|
||||||
edit_password_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
edit_password_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Use ssh(1) ID File
|
||||||
|
//
|
||||||
|
edit_use_id_file_label=
|
||||||
|
new QLabel(tr("Authenticate with local identity file"),this);
|
||||||
|
edit_use_id_file_label->setFont(labelFont());
|
||||||
|
edit_use_id_file_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
||||||
|
edit_use_id_file_check=new QCheckBox(this);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Audio Format
|
// Audio Format
|
||||||
//
|
//
|
||||||
@ -204,68 +178,10 @@ EditUpload::EditUpload(int id,std::vector<int> *adds,QString *filter,
|
|||||||
edit_metadata_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
edit_metadata_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Button Label
|
// Day of the week Selector
|
||||||
//
|
//
|
||||||
QGroupBox *groupbox=new QGroupBox(tr("Active Days"),this);
|
edit_dow_selector=new DowSelector(this);
|
||||||
groupbox->setFont(labelFont());
|
|
||||||
groupbox->setGeometry(10,266,sizeHint().width()-20,62);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Monday Button
|
|
||||||
//
|
|
||||||
edit_mon_button=new QCheckBox(this);
|
|
||||||
edit_mon_label=new QLabel(tr("Monday"),this);
|
|
||||||
edit_mon_label->setFont(subLabelFont());
|
|
||||||
edit_mon_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Tuesday Button
|
|
||||||
//
|
|
||||||
edit_tue_button=new QCheckBox(this);
|
|
||||||
edit_tue_label=new QLabel(tr("Tuesday"),this);
|
|
||||||
edit_tue_label->setFont(subLabelFont());
|
|
||||||
edit_tue_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Wednesday Button
|
|
||||||
//
|
|
||||||
edit_wed_button=new QCheckBox(this);
|
|
||||||
edit_wed_label=new QLabel(tr("Wednesday"),this);
|
|
||||||
edit_wed_label->setFont(subLabelFont());
|
|
||||||
edit_wed_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Thursday Button
|
|
||||||
//
|
|
||||||
edit_thu_button=new QCheckBox(this);
|
|
||||||
edit_thu_label=new QLabel(tr("Thursday"),this);
|
|
||||||
edit_thu_label->setFont(subLabelFont());
|
|
||||||
edit_thu_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Friday Button
|
|
||||||
//
|
|
||||||
edit_fri_button=new QCheckBox(this);
|
|
||||||
edit_fri_label=new QLabel(tr("Friday"),this);
|
|
||||||
edit_fri_label->setFont(subLabelFont());
|
|
||||||
edit_fri_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Saturday Button
|
|
||||||
//
|
|
||||||
edit_sat_button=new QCheckBox(this);
|
|
||||||
edit_sat_label=new QLabel(tr("Saturday"),this);
|
|
||||||
edit_sat_label->setFont(subLabelFont());
|
|
||||||
edit_sat_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Sunday Button
|
|
||||||
//
|
|
||||||
edit_sun_button=new QCheckBox(this);
|
|
||||||
edit_sun_label=new QLabel(tr("Sunday"),this);
|
|
||||||
edit_sun_label->setFont(subLabelFont());
|
|
||||||
edit_sun_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// OneShot Button
|
// OneShot Button
|
||||||
//
|
//
|
||||||
@ -317,32 +233,18 @@ EditUpload::EditUpload(int id,std::vector<int> *adds,QString *filter,
|
|||||||
//
|
//
|
||||||
// Populate Data
|
// Populate Data
|
||||||
//
|
//
|
||||||
q=new RDSqlQuery("select `NAME` from `STATIONS` where `NAME`!='DEFAULT'");
|
edit_event_widget->fromRecording(edit_recording->id());
|
||||||
while(q->next()) {
|
|
||||||
edit_station_box->insertItem(q->value(0).toString());
|
|
||||||
if(edit_recording->station()==q->value(0).toString()) {
|
|
||||||
edit_station_box->setCurrentIndex(edit_station_box->count()-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
delete q;
|
|
||||||
edit_active_button->setChecked(edit_recording->isActive());
|
|
||||||
edit_starttime_edit->setTime(edit_recording->startTime());
|
|
||||||
edit_description_edit->setText(edit_recording->description());
|
edit_description_edit->setText(edit_recording->description());
|
||||||
edit_url_edit->setText(edit_recording->url());
|
edit_url_edit->setText(edit_recording->url());
|
||||||
edit_username_edit->setText(edit_recording->urlUsername());
|
edit_username_edit->setText(edit_recording->urlUsername());
|
||||||
edit_password_edit->setText(edit_recording->urlPassword());
|
edit_password_edit->setText(edit_recording->urlPassword());
|
||||||
|
edit_use_id_file_check->setChecked(edit_recording->urlUseIdFile());
|
||||||
edit_cutname=edit_recording->cutName();
|
edit_cutname=edit_recording->cutName();
|
||||||
if(!edit_recording->cutName().isEmpty()) {
|
if(!edit_recording->cutName().isEmpty()) {
|
||||||
edit_source_edit->setText("Cut "+edit_recording->cutName());
|
edit_source_edit->setText("Cut "+edit_recording->cutName());
|
||||||
}
|
}
|
||||||
edit_metadata_box->setChecked(edit_recording->enableMetadata());
|
edit_metadata_box->setChecked(edit_recording->enableMetadata());
|
||||||
edit_mon_button->setChecked(edit_recording->mon());
|
edit_dow_selector->fromRecording(edit_recording->id());
|
||||||
edit_tue_button->setChecked(edit_recording->tue());
|
|
||||||
edit_wed_button->setChecked(edit_recording->wed());
|
|
||||||
edit_thu_button->setChecked(edit_recording->thu());
|
|
||||||
edit_fri_button->setChecked(edit_recording->fri());
|
|
||||||
edit_sat_button->setChecked(edit_recording->sat());
|
|
||||||
edit_sun_button->setChecked(edit_recording->sun());
|
|
||||||
edit_eventoffset_spin->setValue(edit_recording->eventdateOffset());
|
edit_eventoffset_spin->setValue(edit_recording->eventdateOffset());
|
||||||
edit_oneshot_box->setChecked(edit_recording->oneShot());
|
edit_oneshot_box->setChecked(edit_recording->oneShot());
|
||||||
edit_settings.setFormat(edit_recording->format());
|
edit_settings.setFormat(edit_recording->format());
|
||||||
@ -366,7 +268,8 @@ EditUpload::EditUpload(int id,std::vector<int> *adds,QString *filter,
|
|||||||
|
|
||||||
EditUpload::~EditUpload()
|
EditUpload::~EditUpload()
|
||||||
{
|
{
|
||||||
delete edit_station_box;
|
delete edit_event_widget;
|
||||||
|
delete edit_dow_selector;
|
||||||
if(edit_deck!=NULL) {
|
if(edit_deck!=NULL) {
|
||||||
delete edit_deck;
|
delete edit_deck;
|
||||||
}
|
}
|
||||||
@ -375,7 +278,7 @@ EditUpload::~EditUpload()
|
|||||||
|
|
||||||
QSize EditUpload::sizeHint() const
|
QSize EditUpload::sizeHint() const
|
||||||
{
|
{
|
||||||
return QSize(520,441);
|
return QSize(520,451);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -405,15 +308,18 @@ void EditUpload::feedChangedData(int index)
|
|||||||
edit_password_label->setEnabled(index==0);
|
edit_password_label->setEnabled(index==0);
|
||||||
edit_password_edit->setEnabled(index==0);
|
edit_password_edit->setEnabled(index==0);
|
||||||
|
|
||||||
|
urlChangedData(edit_url_edit->text());
|
||||||
|
|
||||||
edit_format_label->setEnabled(index==0);
|
edit_format_label->setEnabled(index==0);
|
||||||
edit_format_edit->setEnabled(index==0);
|
edit_format_edit->setEnabled(index==0);
|
||||||
edit_format_set_button->setEnabled(index==0);
|
edit_format_set_button->setEnabled(index==0);
|
||||||
|
|
||||||
edit_normalize_box->setEnabled(index==0);
|
|
||||||
edit_normalize_label->setEnabled(index==0);
|
edit_normalize_label->setEnabled(index==0);
|
||||||
edit_normalize_level_label->setEnabled(index==0);
|
edit_normalize_box->setEnabled(index==0);
|
||||||
edit_normalize_spin->setEnabled(index==0);
|
edit_normalize_level_label->
|
||||||
edit_normalize_unit->setEnabled(index==0);
|
setEnabled((index==0)&&edit_normalize_box->isChecked());
|
||||||
|
edit_normalize_spin->setEnabled((index==0)&&edit_normalize_box->isChecked());
|
||||||
|
edit_normalize_unit->setEnabled((index==0)&&edit_normalize_box->isChecked());
|
||||||
|
|
||||||
edit_metadata_box->setEnabled(index==0);
|
edit_metadata_box->setEnabled(index==0);
|
||||||
edit_metadata_label->setEnabled(index==0);
|
edit_metadata_label->setEnabled(index==0);
|
||||||
@ -424,8 +330,9 @@ void EditUpload::urlChangedData(const QString &str)
|
|||||||
{
|
{
|
||||||
QUrl url(str);
|
QUrl url(str);
|
||||||
QString scheme=url.scheme().toLower();
|
QString scheme=url.scheme().toLower();
|
||||||
if((scheme=="ftp")||(scheme=="ftps")||(scheme=="file")||
|
if(((scheme=="ftp")||(scheme=="ftps")||(scheme=="file")||
|
||||||
(scheme=="scp")||(scheme=="sftp")) {
|
(scheme=="scp")||(scheme=="sftp"))&&
|
||||||
|
edit_feed_box->currentIndex()==0) {
|
||||||
edit_username_label->setEnabled(true);
|
edit_username_label->setEnabled(true);
|
||||||
edit_username_edit->setEnabled(true);
|
edit_username_edit->setEnabled(true);
|
||||||
edit_password_label->setEnabled(true);
|
edit_password_label->setEnabled(true);
|
||||||
@ -437,6 +344,15 @@ void EditUpload::urlChangedData(const QString &str)
|
|||||||
edit_password_label->setDisabled(true);
|
edit_password_label->setDisabled(true);
|
||||||
edit_password_edit->setDisabled(true);
|
edit_password_edit->setDisabled(true);
|
||||||
}
|
}
|
||||||
|
if((scheme=="sftp")&&(!rda->station()->sshIdentityFile().isEmpty())&&
|
||||||
|
(edit_feed_box->currentIndex()==0)) {
|
||||||
|
edit_use_id_file_check->setEnabled(true);
|
||||||
|
edit_use_id_file_label->setEnabled(true);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
edit_use_id_file_check->setDisabled(true);
|
||||||
|
edit_use_id_file_label->setDisabled(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -463,10 +379,10 @@ void EditUpload::setFormatData()
|
|||||||
|
|
||||||
void EditUpload::normalizeCheckData(bool state)
|
void EditUpload::normalizeCheckData(bool state)
|
||||||
{
|
{
|
||||||
edit_normalize_label->setEnabled(state);
|
edit_normalize_level_label->
|
||||||
edit_normalize_level_label->setEnabled(state);
|
setEnabled(state&&(edit_feed_box->currentIndex()==0));
|
||||||
edit_normalize_spin->setEnabled(state);
|
edit_normalize_spin->setEnabled(state&&(edit_feed_box->currentIndex()==0));
|
||||||
edit_normalize_unit->setEnabled(state);
|
edit_normalize_unit->setEnabled(state&&(edit_feed_box->currentIndex()==0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -489,7 +405,8 @@ void EditUpload::okData()
|
|||||||
if(edit_feed_box->currentIndex()==0) { // No RSS feed selected
|
if(edit_feed_box->currentIndex()==0) { // No RSS feed selected
|
||||||
if(!CheckFormat()) {
|
if(!CheckFormat()) {
|
||||||
QMessageBox::warning(this,tr("Unsupported Format"),
|
QMessageBox::warning(this,tr("Unsupported Format"),
|
||||||
tr("The currently selected export format is unsupported on host ")+edit_station_box->currentText()+"!");
|
tr("The currently selected export format is unsupported on host ")+
|
||||||
|
edit_event_widget->stationName()+"!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QUrl url(edit_url_edit->text());
|
QUrl url(edit_url_edit->text());
|
||||||
@ -528,63 +445,48 @@ void EditUpload::cancelData()
|
|||||||
|
|
||||||
void EditUpload::resizeEvent(QResizeEvent *e)
|
void EditUpload::resizeEvent(QResizeEvent *e)
|
||||||
{
|
{
|
||||||
edit_active_button->setGeometry(10,11,20,20);
|
edit_event_widget->setGeometry(10,11,edit_event_widget->sizeHint().width(),
|
||||||
edit_active_label->setGeometry(30,11,125,20);
|
edit_event_widget->sizeHint().height());
|
||||||
edit_station_box->setGeometry(200,10,140,23);
|
|
||||||
edit_station_label->setGeometry(125,10,70,23);
|
|
||||||
edit_starttime_edit->setGeometry(sizeHint().width()-90,12,80,20);
|
|
||||||
edit_starttime_label->setGeometry(sizeHint().width()-175,12,80,20);
|
|
||||||
|
|
||||||
edit_source_edit->setGeometry(115,43,sizeHint().width()-195,20);
|
edit_source_edit->setGeometry(115,43,size().width()-195,20);
|
||||||
edit_source_label->setGeometry(10,43,100,19);
|
edit_source_label->setGeometry(10,43,100,19);
|
||||||
edit_source_select_button->setGeometry(sizeHint().width()-70,41,60,24);
|
edit_source_select_button->setGeometry(size().width()-70,41,60,24);
|
||||||
edit_description_edit->setGeometry(115,70,sizeHint().width()-125,20);
|
edit_description_edit->setGeometry(115,70,size().width()-125,20);
|
||||||
edit_description_label->setGeometry(10,70,100,20);
|
edit_description_label->setGeometry(10,70,100,20);
|
||||||
|
|
||||||
edit_feed_box->setGeometry(115,97,160,20);
|
edit_feed_box->setGeometry(115,97,160,20);
|
||||||
edit_feed_label->setGeometry(10,97,100,19);
|
edit_feed_label->setGeometry(10,97,100,19);
|
||||||
edit_url_edit->setGeometry(115,124,sizeHint().width()-125,20);
|
edit_url_edit->setGeometry(115,124,size().width()-125,20);
|
||||||
edit_url_label->setGeometry(10,124,100,20);
|
edit_url_label->setGeometry(10,124,100,20);
|
||||||
edit_username_edit->setGeometry(115,151,150,20);
|
edit_username_edit->setGeometry(115,151,150,20);
|
||||||
edit_username_label->setGeometry(10,151,100,20);
|
edit_username_label->setGeometry(10,151,100,20);
|
||||||
edit_password_edit->setGeometry(360,151,sizeHint().width()-370,20);
|
edit_password_edit->setGeometry(360,151,size().width()-370,20);
|
||||||
edit_password_label->setGeometry(275,151,80,20);
|
edit_password_label->setGeometry(275,151,80,20);
|
||||||
edit_username_edit->setGeometry(115,151,150,20);
|
edit_use_id_file_check->setGeometry(120,176,15,15);
|
||||||
edit_username_label->setGeometry(10,151,100,20);
|
edit_use_id_file_label->setGeometry(140,174,size().width()-150,20);
|
||||||
edit_password_edit->setGeometry(360,151,sizeHint().width()-370,20);
|
|
||||||
edit_password_label->setGeometry(275,151,80,20);
|
edit_format_label->setGeometry(5,205,105,20);
|
||||||
edit_format_label->setGeometry(5,178,105,20);
|
edit_format_edit->setGeometry(115,205,size().width()-195,20);
|
||||||
edit_format_edit->setGeometry(115,178,sizeHint().width()-195,20);
|
edit_format_set_button->setGeometry(size().width()-70,203,60,24);
|
||||||
edit_format_set_button->setGeometry(sizeHint().width()-70,176,60,24);
|
edit_normalize_box->setGeometry(115,233,15,15);
|
||||||
edit_normalize_box->setGeometry(115,208,15,15);
|
edit_normalize_label->setGeometry(135,231,83,20);
|
||||||
edit_normalize_label->setGeometry(135,206,83,20);
|
edit_normalize_spin->setGeometry(265,231,40,20);
|
||||||
edit_normalize_spin->setGeometry(265,206,40,20);
|
edit_normalize_level_label->setGeometry(215,231,45,20);
|
||||||
edit_normalize_level_label->setGeometry(215,206,45,20);
|
edit_normalize_unit->setGeometry(310,231,40,20);
|
||||||
edit_normalize_unit->setGeometry(310,206,40,20);
|
edit_metadata_box->setGeometry(115,254,15,15);
|
||||||
edit_metadata_box->setGeometry(115,231,15,15);
|
edit_metadata_label->setGeometry(135,252,160,20);
|
||||||
edit_metadata_label->setGeometry(135,231,160,20);
|
|
||||||
edit_mon_button->setGeometry(20,282,20,20);
|
edit_dow_selector->setGeometry(10,283,edit_dow_selector->sizeHint().width(),
|
||||||
edit_mon_label->setGeometry(40,282,115,20);
|
edit_dow_selector->sizeHint().height());
|
||||||
edit_tue_button->setGeometry(115,282,20,20);
|
edit_oneshot_box->setGeometry(20,359,15,15);
|
||||||
edit_tue_label->setGeometry(135,282,115,20);
|
edit_oneshot_label->setGeometry(40,357,115,20);
|
||||||
edit_wed_button->setGeometry(215,282,20,20);
|
edit_eventoffset_spin->setGeometry(245,357,45,20);
|
||||||
edit_wed_label->setGeometry(235,282,115,20);
|
edit_eventoffset_label->setGeometry(140,357,100,20);
|
||||||
edit_thu_button->setGeometry(335,282,20,20);
|
edit_eventoffset_unit_label->setGeometry(295,357,40,20);
|
||||||
edit_thu_label->setGeometry(355,282,115,20);
|
|
||||||
edit_fri_button->setGeometry(440,282,20,20);
|
event_saveas_button->setGeometry(size().width()-300,size().height()-60,80,50);
|
||||||
edit_fri_label->setGeometry(460,282,40,20);
|
event_ok_button->setGeometry(size().width()-180,size().height()-60,80,50);
|
||||||
edit_sat_button->setGeometry(130,307,20,20);
|
event_cancel_button->setGeometry(size().width()-90,size().height()-60,80,50);
|
||||||
edit_sat_label->setGeometry(150,307,60,20);
|
|
||||||
edit_sun_button->setGeometry(300,307,20,20);
|
|
||||||
edit_sun_label->setGeometry(320,307,60,20);
|
|
||||||
edit_oneshot_box->setGeometry(20,342,15,15);
|
|
||||||
edit_oneshot_label->setGeometry(40,340,115,20);
|
|
||||||
edit_eventoffset_spin->setGeometry(245,340,45,20);
|
|
||||||
edit_eventoffset_label->setGeometry(140,340,100,20);
|
|
||||||
edit_eventoffset_unit_label->setGeometry(295,340,40,20);
|
|
||||||
event_saveas_button->setGeometry(sizeHint().width()-300,sizeHint().height()-60,80,50);
|
|
||||||
event_ok_button->setGeometry(sizeHint().width()-180,sizeHint().height()-60,80,50);
|
|
||||||
event_cancel_button->setGeometry(sizeHint().width()-90,sizeHint().height()-60,80,50);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -613,36 +515,36 @@ bool EditUpload::CheckFormat()
|
|||||||
{
|
{
|
||||||
bool res=false;
|
bool res=false;
|
||||||
|
|
||||||
RDStation *station=new RDStation(edit_station_box->currentText());
|
RDStation *station=new RDStation(edit_event_widget->stationName());
|
||||||
switch(edit_settings.format()) {
|
switch(edit_settings.format()) {
|
||||||
case RDSettings::Pcm16:
|
case RDSettings::Pcm16:
|
||||||
case RDSettings::Pcm24:
|
case RDSettings::Pcm24:
|
||||||
case RDSettings::MpegL2:
|
case RDSettings::MpegL2:
|
||||||
case RDSettings::MpegL2Wav:
|
case RDSettings::MpegL2Wav:
|
||||||
res=true;
|
res=true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RDSettings::MpegL1:
|
case RDSettings::MpegL1:
|
||||||
res=false;
|
res=false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RDSettings::MpegL3:
|
case RDSettings::MpegL3:
|
||||||
if(station->haveCapability(RDStation::HaveLame)) {
|
if(station->haveCapability(RDStation::HaveLame)) {
|
||||||
res=true;
|
res=true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RDSettings::Flac:
|
case RDSettings::Flac:
|
||||||
if(station->haveCapability(RDStation::HaveFlac)) {
|
if(station->haveCapability(RDStation::HaveFlac)) {
|
||||||
res=true;
|
res=true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RDSettings::OggVorbis:
|
case RDSettings::OggVorbis:
|
||||||
if(station->haveCapability(RDStation::HaveOggenc)) {
|
if(station->haveCapability(RDStation::HaveOggenc)) {
|
||||||
res=true;
|
res=true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
delete station;
|
delete station;
|
||||||
|
|
||||||
@ -652,23 +554,18 @@ bool EditUpload::CheckFormat()
|
|||||||
|
|
||||||
void EditUpload::Save()
|
void EditUpload::Save()
|
||||||
{
|
{
|
||||||
edit_recording->setIsActive(edit_active_button->isChecked());
|
edit_recording->setIsActive(edit_event_widget->isActive());
|
||||||
edit_recording->setStation(edit_station_box->currentText());
|
edit_recording->setStation(edit_event_widget->stationName());
|
||||||
|
edit_recording->setStartTime(edit_event_widget->startTime());
|
||||||
edit_recording->setType(RDRecording::Upload);
|
edit_recording->setType(RDRecording::Upload);
|
||||||
edit_recording->setStartTime(edit_starttime_edit->time());
|
|
||||||
edit_recording->setDescription(edit_description_edit->text());
|
edit_recording->setDescription(edit_description_edit->text());
|
||||||
edit_recording->setCutName(edit_source_edit->text().right(10));
|
edit_recording->setCutName(edit_source_edit->text().right(10));
|
||||||
edit_recording->setUrl(edit_url_edit->text());
|
edit_recording->setUrl(edit_url_edit->text());
|
||||||
edit_recording->setUrlUsername(edit_username_edit->text());
|
edit_recording->setUrlUsername(edit_username_edit->text());
|
||||||
edit_recording->setUrlPassword(edit_password_edit->text());
|
edit_recording->setUrlPassword(edit_password_edit->text());
|
||||||
|
edit_recording->setUrlUseIdFile(edit_use_id_file_check->isChecked());
|
||||||
edit_recording->setEnableMetadata(edit_metadata_box->isChecked());
|
edit_recording->setEnableMetadata(edit_metadata_box->isChecked());
|
||||||
edit_recording->setMon(edit_mon_button->isChecked());
|
edit_dow_selector->toRecording(edit_recording->id());
|
||||||
edit_recording->setTue(edit_tue_button->isChecked());
|
|
||||||
edit_recording->setWed(edit_wed_button->isChecked());
|
|
||||||
edit_recording->setThu(edit_thu_button->isChecked());
|
|
||||||
edit_recording->setFri(edit_fri_button->isChecked());
|
|
||||||
edit_recording->setSat(edit_sat_button->isChecked());
|
|
||||||
edit_recording->setSun(edit_sun_button->isChecked());
|
|
||||||
edit_recording->setEventdateOffset(edit_eventoffset_spin->value());
|
edit_recording->setEventdateOffset(edit_eventoffset_spin->value());
|
||||||
edit_recording->setOneShot(edit_oneshot_box->isChecked());
|
edit_recording->setOneShot(edit_oneshot_box->isChecked());
|
||||||
edit_recording->setFormat(edit_settings.format());
|
edit_recording->setFormat(edit_settings.format());
|
||||||
@ -694,38 +591,38 @@ void EditUpload::Save()
|
|||||||
else {
|
else {
|
||||||
edit_recording->setFeedId(feed_id);
|
edit_recording->setFeedId(feed_id);
|
||||||
}
|
}
|
||||||
// edit_recording->setFeedId(edit_feed_box->currentText());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool EditUpload::CheckEvent(bool include_myself)
|
bool EditUpload::CheckEvent(bool include_myself)
|
||||||
{
|
{
|
||||||
QString sql=QString("select `ID` from `RECORDINGS` where ")+
|
QString sql=QString("select `ID` from `RECORDINGS` where ")+
|
||||||
"(`STATION_NAME`='"+RDEscapeString(edit_station_box->currentText())+"')&&"+
|
"(`STATION_NAME`='"+RDEscapeString(edit_event_widget->stationName())+"')&&"+
|
||||||
QString().sprintf("(`TYPE`=%d)&&",RDRecording::Upload)+
|
QString().sprintf("(`TYPE`=%d)&&",RDRecording::Upload)+
|
||||||
"(`START_TIME`='"+edit_starttime_edit->time().toString("hh:mm:ss")+"')&&"+
|
"(`START_TIME`='"+
|
||||||
|
edit_event_widget->startTime().toString("hh:mm:ss")+"')&&"+
|
||||||
"(`URL`='"+RDEscapeString(edit_url_edit->text())+"')&&"+
|
"(`URL`='"+RDEscapeString(edit_url_edit->text())+"')&&"+
|
||||||
"(`CUT_NAME`='"+RDEscapeString(edit_source_edit->text().right(10))+
|
"(`CUT_NAME`='"+RDEscapeString(edit_source_edit->text().right(10))+
|
||||||
"')";
|
"')";
|
||||||
if(edit_sun_button->isChecked()) {
|
if(edit_dow_selector->dayOfWeekEnabled(7)) {
|
||||||
sql+="&&(`SUN`='Y')";
|
sql+="&&(`SUN`='Y')";
|
||||||
}
|
}
|
||||||
if(edit_mon_button->isChecked()) {
|
if(edit_dow_selector->dayOfWeekEnabled(1)) {
|
||||||
sql+="&&(`MON`='Y')";
|
sql+="&&(`MON`='Y')";
|
||||||
}
|
}
|
||||||
if(edit_tue_button->isChecked()) {
|
if(edit_dow_selector->dayOfWeekEnabled(2)) {
|
||||||
sql+="&&(`TUE`='Y')";
|
sql+="&&(`TUE`='Y')";
|
||||||
}
|
}
|
||||||
if(edit_wed_button->isChecked()) {
|
if(edit_dow_selector->dayOfWeekEnabled(3)) {
|
||||||
sql+="&&(`WED`='Y')";
|
sql+="&&(`WED`='Y')";
|
||||||
}
|
}
|
||||||
if(edit_thu_button->isChecked()) {
|
if(edit_dow_selector->dayOfWeekEnabled(4)) {
|
||||||
sql+="&&(`THU`='Y')";
|
sql+="&&(`THU`='Y')";
|
||||||
}
|
}
|
||||||
if(edit_fri_button->isChecked()) {
|
if(edit_dow_selector->dayOfWeekEnabled(5)) {
|
||||||
sql+="&&(`FRI`='Y')";
|
sql+="&&(`FRI`='Y')";
|
||||||
}
|
}
|
||||||
if(edit_sat_button->isChecked()) {
|
if(edit_dow_selector->dayOfWeekEnabled(6)) {
|
||||||
sql+="&&(`SAT`='Y')";
|
sql+="&&(`SAT`='Y')";
|
||||||
}
|
}
|
||||||
if(!include_myself) {
|
if(!include_myself) {
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
#include <QCheckBox>
|
#include <QCheckBox>
|
||||||
#include <QDateTimeEdit>
|
#include <QDateTimeEdit>
|
||||||
|
#include <QGroupBox>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QSpinBox>
|
#include <QSpinBox>
|
||||||
|
|
||||||
@ -33,6 +34,9 @@
|
|||||||
#include <rdfeedlistmodel.h>
|
#include <rdfeedlistmodel.h>
|
||||||
#include <rdrecording.h>
|
#include <rdrecording.h>
|
||||||
|
|
||||||
|
#include "dowselector.h"
|
||||||
|
#include "eventwidget.h"
|
||||||
|
|
||||||
class EditUpload : public RDDialog
|
class EditUpload : public RDDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -66,12 +70,15 @@ class EditUpload : public RDDialog
|
|||||||
RDCutDialog *edit_cut_dialog;
|
RDCutDialog *edit_cut_dialog;
|
||||||
RDRecording *edit_recording;
|
RDRecording *edit_recording;
|
||||||
RDSettings edit_settings;
|
RDSettings edit_settings;
|
||||||
|
EventWidget *edit_event_widget;
|
||||||
|
/*
|
||||||
QCheckBox *edit_active_button;
|
QCheckBox *edit_active_button;
|
||||||
QLabel *edit_active_label;
|
QLabel *edit_active_label;
|
||||||
QLabel *edit_station_label;
|
QLabel *edit_station_label;
|
||||||
RDComboBox *edit_station_box;
|
RDComboBox *edit_station_box;
|
||||||
QLabel *edit_starttime_label;
|
QLabel *edit_starttime_label;
|
||||||
QTimeEdit *edit_starttime_edit;
|
QTimeEdit *edit_starttime_edit;
|
||||||
|
*/
|
||||||
QLabel *edit_feed_label;
|
QLabel *edit_feed_label;
|
||||||
QComboBox *edit_feed_box;
|
QComboBox *edit_feed_box;
|
||||||
RDFeedListModel *edit_feed_model;
|
RDFeedListModel *edit_feed_model;
|
||||||
@ -84,6 +91,8 @@ class EditUpload : public RDDialog
|
|||||||
QLineEdit *edit_username_edit;
|
QLineEdit *edit_username_edit;
|
||||||
QLabel *edit_password_label;
|
QLabel *edit_password_label;
|
||||||
QLineEdit *edit_password_edit;
|
QLineEdit *edit_password_edit;
|
||||||
|
QCheckBox *edit_use_id_file_check;;
|
||||||
|
QLabel *edit_use_id_file_label;
|
||||||
QString edit_cutname;
|
QString edit_cutname;
|
||||||
QLabel *edit_source_label;
|
QLabel *edit_source_label;
|
||||||
QLineEdit *edit_source_edit;
|
QLineEdit *edit_source_edit;
|
||||||
@ -97,6 +106,10 @@ class EditUpload : public RDDialog
|
|||||||
QLabel *edit_normalize_unit;
|
QLabel *edit_normalize_unit;
|
||||||
QCheckBox *edit_metadata_box;
|
QCheckBox *edit_metadata_box;
|
||||||
QLabel *edit_metadata_label;
|
QLabel *edit_metadata_label;
|
||||||
|
|
||||||
|
DowSelector *edit_dow_selector;
|
||||||
|
/*
|
||||||
|
QGroupBox *edit_dow_group;
|
||||||
QCheckBox *edit_sun_button;
|
QCheckBox *edit_sun_button;
|
||||||
QLabel *edit_sun_label;
|
QLabel *edit_sun_label;
|
||||||
QCheckBox *edit_mon_button;
|
QCheckBox *edit_mon_button;
|
||||||
@ -111,6 +124,7 @@ class EditUpload : public RDDialog
|
|||||||
QLabel *edit_fri_label;
|
QLabel *edit_fri_label;
|
||||||
QCheckBox *edit_sat_button;
|
QCheckBox *edit_sat_button;
|
||||||
QLabel *edit_sat_label;
|
QLabel *edit_sat_label;
|
||||||
|
*/
|
||||||
QLabel *edit_eventoffset_label;
|
QLabel *edit_eventoffset_label;
|
||||||
QSpinBox *edit_eventoffset_spin;
|
QSpinBox *edit_eventoffset_spin;
|
||||||
QLabel *edit_eventoffset_unit_label;
|
QLabel *edit_eventoffset_unit_label;
|
||||||
|
194
rdcatch/eventwidget.cpp
Normal file
194
rdcatch/eventwidget.cpp
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
// eventwidget.cpp
|
||||||
|
//
|
||||||
|
// Widget for setting basic event parameters in rdcatch(1)
|
||||||
|
//
|
||||||
|
// (C) Copyright 2021 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 <QStringList>
|
||||||
|
|
||||||
|
#include <rdconf.h>
|
||||||
|
#include <rddb.h>
|
||||||
|
#include <rdescape_string.h>
|
||||||
|
|
||||||
|
#include "eventwidget.h"
|
||||||
|
|
||||||
|
EventWidget::EventWidget(EventWidget::EventType type,QWidget *parent)
|
||||||
|
: RDWidget(parent)
|
||||||
|
{
|
||||||
|
QString sql;
|
||||||
|
RDSqlQuery *q=NULL;
|
||||||
|
|
||||||
|
d_event_type=type;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Event Active
|
||||||
|
//
|
||||||
|
d_state_check=new QCheckBox(this);
|
||||||
|
d_state_label=new QLabel(tr("Event Active"),this);
|
||||||
|
d_state_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
|
||||||
|
d_state_label->setFont(labelFont());
|
||||||
|
|
||||||
|
//
|
||||||
|
// Location
|
||||||
|
//
|
||||||
|
d_location_label=new QLabel(tr("Location")+":",this);
|
||||||
|
d_location_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||||
|
d_location_label->setFont(labelFont());
|
||||||
|
d_location_box=new QComboBox(this);
|
||||||
|
connect(d_location_box,SIGNAL(activated(const QString &)),
|
||||||
|
this,SLOT(locationActivatedData(const QString &)));
|
||||||
|
|
||||||
|
//
|
||||||
|
// Start Time
|
||||||
|
//
|
||||||
|
d_time_label=new QLabel(tr("Start Time")+":",this);
|
||||||
|
d_time_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||||
|
d_time_label->setFont(labelFont());
|
||||||
|
d_time_edit=new QTimeEdit(this);
|
||||||
|
d_time_edit->setDisplayFormat("hh:mm:ss");
|
||||||
|
|
||||||
|
switch(d_event_type) {
|
||||||
|
case EventWidget::RecordEvent:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case EventWidget::PlayEvent:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case EventWidget::OtherEvent:
|
||||||
|
sql=QString("select ")+
|
||||||
|
"`NAME` "+ // 00
|
||||||
|
"from `STATIONS` "+
|
||||||
|
"order by `NAME`";
|
||||||
|
q=new RDSqlQuery(sql);
|
||||||
|
while(q->next()) {
|
||||||
|
d_location_box->
|
||||||
|
insertItem(d_location_box->count(),q->value(0).toString());
|
||||||
|
}
|
||||||
|
delete q;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QSize EventWidget::sizeHint() const
|
||||||
|
{
|
||||||
|
return QSize(510,23);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QSizePolicy EventWidget::sizePolicy() const
|
||||||
|
{
|
||||||
|
return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool EventWidget::isActive() const
|
||||||
|
{
|
||||||
|
return d_state_check->isChecked();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QString EventWidget::stationName() const
|
||||||
|
{
|
||||||
|
return d_current_station_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int EventWidget::deckNumber() const
|
||||||
|
{
|
||||||
|
return d_current_deck_number;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QTime EventWidget::startTime()
|
||||||
|
{
|
||||||
|
return d_time_edit->time();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EventWidget::toRecording(unsigned record_id) const
|
||||||
|
{
|
||||||
|
QString sql=QString("update `RECORDINGS` set ")+
|
||||||
|
"`IS_ACTIVE`='"+RDYesNo(d_state_check->isChecked())+"',"+
|
||||||
|
"`STATION_NAME`='"+RDEscapeString(d_current_station_name)+"',"+
|
||||||
|
"`START_TIME`='"+
|
||||||
|
RDEscapeString(d_time_edit->time().toString("hh:mm:ss"))+"' "+
|
||||||
|
"where "+
|
||||||
|
QString().sprintf("`ID`=%u",record_id);
|
||||||
|
RDSqlQuery::apply(sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EventWidget::fromRecording(unsigned record_id)
|
||||||
|
{
|
||||||
|
QString sql=QString("select ")+
|
||||||
|
"`IS_ACTIVE`,"+ // 00
|
||||||
|
"`STATION_NAME`,"+ // 01
|
||||||
|
"`CHANNEL`,"+ // 02
|
||||||
|
"`START_TIME` "+ // 03
|
||||||
|
"from `RECORDINGS` where "+
|
||||||
|
QString().sprintf("`ID`=%u",record_id);
|
||||||
|
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||||
|
if(q->first()) {
|
||||||
|
d_state_check->setChecked(q->value(0).toString()=="Y");
|
||||||
|
d_time_edit->setTime(q->value(3).toTime());
|
||||||
|
switch(d_event_type) {
|
||||||
|
case EventWidget::RecordEvent:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case EventWidget::PlayEvent:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case EventWidget::OtherEvent:
|
||||||
|
d_location_box->setCurrentText(q->value(1).toString());
|
||||||
|
d_current_station_name=q->value(1).toString();
|
||||||
|
d_current_deck_number=-1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delete q;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EventWidget::locationActivatedData(const QString &str)
|
||||||
|
{
|
||||||
|
QStringList f0=str.split(":",QString::KeepEmptyParts);
|
||||||
|
|
||||||
|
switch(f0.size()) {
|
||||||
|
case 1:
|
||||||
|
d_current_station_name=f0.at(0).trimmed();
|
||||||
|
emit locationChanged(d_current_station_name);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
d_current_station_name=f0.at(0).trimmed();
|
||||||
|
d_current_deck_number=f0.at(1).toInt()-1;
|
||||||
|
emit locationChanged(d_current_station_name,d_current_deck_number);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EventWidget::resizeEvent(QResizeEvent *e)
|
||||||
|
{
|
||||||
|
d_state_check->setGeometry(0,1,20,20);
|
||||||
|
d_state_label->setGeometry(20,1,125,20);
|
||||||
|
d_location_box->setGeometry(190,0,140,23);
|
||||||
|
d_location_label->setGeometry(115,0,70,23);
|
||||||
|
d_time_edit->setGeometry(size().width()-90,2,80,20);
|
||||||
|
d_time_label->setGeometry(size().width()-175,2,80,20);
|
||||||
|
}
|
72
rdcatch/eventwidget.h
Normal file
72
rdcatch/eventwidget.h
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
// eventwidget.h
|
||||||
|
//
|
||||||
|
// Widget for setting basic event parameters in rdcatch(1)
|
||||||
|
//
|
||||||
|
// (C) Copyright 2021 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 EVENTWIDGET_H
|
||||||
|
#define EVENTWIDGET_H
|
||||||
|
|
||||||
|
#include <QCheckBox>
|
||||||
|
#include <QComboBox>
|
||||||
|
#include <QDateTimeEdit>
|
||||||
|
#include <QLabel>
|
||||||
|
|
||||||
|
#include <rdwidget.h>
|
||||||
|
|
||||||
|
class EventWidget : public RDWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
enum EventType {RecordEvent=0,PlayEvent=1,OtherEvent=2};
|
||||||
|
EventWidget(EventType type,QWidget *parent=0);
|
||||||
|
QSize sizeHint() const;
|
||||||
|
QSizePolicy sizePolicy() const;
|
||||||
|
bool isActive() const;
|
||||||
|
QString stationName() const;
|
||||||
|
int deckNumber() const;
|
||||||
|
QTime startTime();
|
||||||
|
void toRecording(unsigned record_id) const;
|
||||||
|
void fromRecording(unsigned record_id);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void stateChanged(bool state);
|
||||||
|
void locationChanged(const QString &hostname);
|
||||||
|
void locationChanged(const QString &hostname,int decknum);
|
||||||
|
void startTimeChanged(const QTime &time);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void locationActivatedData(const QString &str);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void resizeEvent(QResizeEvent *e);
|
||||||
|
|
||||||
|
private:
|
||||||
|
QCheckBox *d_state_check;
|
||||||
|
QLabel *d_state_label;
|
||||||
|
QLabel *d_location_label;
|
||||||
|
QComboBox *d_location_box;
|
||||||
|
QLabel *d_time_label;
|
||||||
|
QTimeEdit *d_time_edit;
|
||||||
|
EventType d_event_type;
|
||||||
|
QString d_current_station_name;
|
||||||
|
int d_current_deck_number;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // DOWSELECTOR_H
|
||||||
|
|
@ -23,12 +23,14 @@ x11 {
|
|||||||
SOURCES += add_recording.cpp
|
SOURCES += add_recording.cpp
|
||||||
SOURCES += catchtableview.cpp
|
SOURCES += catchtableview.cpp
|
||||||
SOURCES += deckmon.cpp
|
SOURCES += deckmon.cpp
|
||||||
|
SOURCES += dowselector.cpp
|
||||||
SOURCES += edit_cartevent.cpp
|
SOURCES += edit_cartevent.cpp
|
||||||
SOURCES += edit_playout.cpp
|
SOURCES += edit_playout.cpp
|
||||||
SOURCES += edit_recording.cpp
|
SOURCES += edit_recording.cpp
|
||||||
SOURCES += edit_switchevent.cpp
|
SOURCES += edit_switchevent.cpp
|
||||||
SOURCES += edit_download.cpp
|
SOURCES += edit_download.cpp
|
||||||
SOURCES += edit_upload.cpp
|
SOURCES += edit_upload.cpp
|
||||||
|
SOURCES += eventwidget.cpp
|
||||||
SOURCES += rdcatch.cpp
|
SOURCES += rdcatch.cpp
|
||||||
SOURCES += list_reports.cpp
|
SOURCES += list_reports.cpp
|
||||||
SOURCES += recordlistmodel.cpp
|
SOURCES += recordlistmodel.cpp
|
||||||
@ -38,12 +40,14 @@ x11 {
|
|||||||
HEADERS += add_recording.h
|
HEADERS += add_recording.h
|
||||||
HEADERS += catchtableview.h
|
HEADERS += catchtableview.h
|
||||||
HEADERS += deckmon.h
|
HEADERS += deckmon.h
|
||||||
|
HEADERS += dowselector.h
|
||||||
HEADERS += edit_cartevent.h
|
HEADERS += edit_cartevent.h
|
||||||
HEADERS += edit_playout.h
|
HEADERS += edit_playout.h
|
||||||
HEADERS += edit_recording.h
|
HEADERS += edit_recording.h
|
||||||
HEADERS += edit_switchevent.h
|
HEADERS += edit_switchevent.h
|
||||||
HEADERS += edit_download.h
|
HEADERS += edit_download.h
|
||||||
HEADERS += edit_upload.h
|
HEADERS += edit_upload.h
|
||||||
|
HEADERS += eventwidget.h
|
||||||
HEADERS += rdcatch.h
|
HEADERS += rdcatch.h
|
||||||
HEADERS += list_reports.h
|
HEADERS += list_reports.h
|
||||||
HEADERS += recordlistmodel.h
|
HEADERS += recordlistmodel.h
|
||||||
|
@ -98,6 +98,13 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>DowSelector</name>
|
||||||
|
<message>
|
||||||
|
<source>Active Days</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>EditCartEvent</name>
|
<name>EditCartEvent</name>
|
||||||
<message>
|
<message>
|
||||||
@ -760,18 +767,6 @@ New</source>
|
|||||||
<source>Edit Upload</source>
|
<source>Edit Upload</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Event Active</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Location:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Start Time:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>RSS Feed:</source>
|
<source>RSS Feed:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -812,38 +807,6 @@ New</source>
|
|||||||
<source>dBFS</source>
|
<source>dBFS</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Active Days</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Monday</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Tuesday</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Wednesday</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Thursday</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Friday</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Saturday</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Sunday</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Make OneShot</source>
|
<source>Make OneShot</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -925,6 +888,25 @@ New</source>
|
|||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Authenticate with local identity file</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>EventWidget</name>
|
||||||
|
<message>
|
||||||
|
<source>Event Active</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Location</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Start Time</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ListReports</name>
|
<name>ListReports</name>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user