2021-07-27 Fred Gleason <fredg@paravelsystems.com>

* Refactored the 'Edit Recording' dialog in rdcatch(1) to improve
	modularity.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason 2021-07-27 12:21:17 -04:00
parent 3a7ff8acf1
commit dae369075e
6 changed files with 245 additions and 351 deletions

View File

@ -22085,3 +22085,6 @@
2021-07-27 Fred Gleason <fredg@paravelsystems.com> 2021-07-27 Fred Gleason <fredg@paravelsystems.com>
* Refactored the 'Edit Playout' dialog in rdcatch(1) to improve * Refactored the 'Edit Playout' dialog in rdcatch(1) to improve
modularity. modularity.
2021-07-27 Fred Gleason <fredg@paravelsystems.com>
* Refactored the 'Edit Recording' dialog in rdcatch(1) to improve
modularity.

View File

@ -89,7 +89,7 @@ EditPlayout::EditPlayout(int id,std::vector<int> *adds,QString *filter,
edit_destination_button->setText(tr("Select")); edit_destination_button->setText(tr("Select"));
connect(edit_destination_button,SIGNAL(clicked()),this,SLOT(selectCutData())); connect(edit_destination_button,SIGNAL(clicked()),this,SLOT(selectCutData()));
//
// DOW Selector // DOW Selector
// //
edit_dow_selector=new DowSelector(this); edit_dow_selector=new DowSelector(this);

View File

@ -20,7 +20,6 @@
#include <QGroupBox> #include <QGroupBox>
#include <QMessageBox> #include <QMessageBox>
#include <QRadioButton>
#include <rdcut_path.h> #include <rdcut_path.h>
#include <rdescape_string.h> #include <rdescape_string.h>
@ -65,23 +64,11 @@ EditRecording::EditRecording(int id,std::vector<int> *adds,QString *filter,
false,true,true,"RDCatch",false,this); false,true,true,"RDCatch",false,this);
// //
// Active Button // Event Widget
// //
edit_active_button=new QCheckBox(tr("Event Active"),this); edit_event_widget=new EventWidget(EventWidget::RecordEvent,this);
edit_active_button->setGeometry(10,11,145,20); connect(edit_event_widget,SIGNAL(locationChanged(const QString &,int)),
edit_active_button->setFont(labelFont()); this,SLOT(locationChangedData(const QString &,int)));
//
// Station
//
edit_station_box=new QComboBox(this);
edit_station_box->setGeometry(200,10,140,23);
QLabel * label=new QLabel(tr("Location:"),this);
label->setGeometry(125,10,70,23);
label->setFont(labelFont());
label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
connect(edit_station_box,SIGNAL(activated(int)),
this,SLOT(activateStationData(int)));
// //
// Start Parameters // Start Parameters
@ -90,76 +77,61 @@ EditRecording::EditRecording(int id,std::vector<int> *adds,QString *filter,
connect(edit_starttype_group,SIGNAL(buttonClicked(int)), connect(edit_starttype_group,SIGNAL(buttonClicked(int)),
this,SLOT(startTypeClickedData(int))); this,SLOT(startTypeClickedData(int)));
QGroupBox *groupbox=new QGroupBox(tr("Start Parameters"),this); edit_start_groupbox=new QGroupBox(tr("Start Parameters"),this);
groupbox->setFont(labelFont()); edit_start_groupbox->setFont(labelFont());
groupbox->setGeometry(10,37,sizeHint().width()-20,105);
QRadioButton *rbutton=new QRadioButton(tr("Use Hard Time"),this); edit_start_hardtime_radio=new QRadioButton(tr("Use Hard Time"),this);
rbutton->setGeometry(20,57,110,15); edit_starttype_group->
edit_starttype_group->addButton(rbutton,RDRecording::HardStart); addButton(edit_start_hardtime_radio,RDRecording::HardStart);
rbutton->setFont(subLabelFont()); edit_start_hardtime_radio->setFont(subLabelFont());
edit_starttime_edit=new QTimeEdit(this); edit_starttime_edit=new QTimeEdit(this);
edit_starttime_edit->setGeometry(255,53,80,20);
edit_starttime_edit->setDisplayFormat("hh:mm:ss"); edit_starttime_edit->setDisplayFormat("hh:mm:ss");
edit_starttime_label=new QLabel(tr("Record Start Time:"),this); edit_starttime_label=new QLabel(tr("Record Start Time:"),this);
edit_starttime_label->setGeometry(135,57,115,15);
edit_starttime_label->setFont(subLabelFont()); edit_starttime_label->setFont(subLabelFont());
edit_starttime_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); edit_starttime_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
rbutton=new QRadioButton(tr("Use GPI"),this); edit_start_gpi_radio=new QRadioButton(tr("Use GPI"),this);
rbutton->setGeometry(20,81,100,15); edit_start_gpi_radio->setFont(subLabelFont());
rbutton->setFont(subLabelFont());
edit_start_startwindow_edit=new QTimeEdit(this); edit_start_startwindow_edit=new QTimeEdit(this);
edit_start_startwindow_edit->setGeometry(255,77,80,20);
edit_start_startwindow_edit->setDisplayFormat("hh:mm:ss"); edit_start_startwindow_edit->setDisplayFormat("hh:mm:ss");
edit_start_startwindow_label=new QLabel(tr("Window Start Time:"),this); edit_start_startwindow_label=new QLabel(tr("Window Start Time:"),this);
edit_start_startwindow_label->setGeometry(135,81,115,15);
edit_start_startwindow_label->setFont(subLabelFont()); edit_start_startwindow_label->setFont(subLabelFont());
edit_start_startwindow_label-> edit_start_startwindow_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter); setAlignment(Qt::AlignRight|Qt::AlignVCenter);
edit_start_endwindow_edit=new QTimeEdit(this); edit_start_endwindow_edit=new QTimeEdit(this);
edit_start_endwindow_edit->setGeometry(455,77,80,20);
edit_start_endwindow_edit->setDisplayFormat("hh:mm:ss"); edit_start_endwindow_edit->setDisplayFormat("hh:mm:ss");
edit_start_endwindow_label=new QLabel(tr("Window End Time:"),this); edit_start_endwindow_label=new QLabel(tr("Window End Time:"),this);
edit_start_endwindow_label->setGeometry(345,81,105,15);
edit_start_endwindow_label->setFont(subLabelFont()); edit_start_endwindow_label->setFont(subLabelFont());
edit_start_endwindow_label-> edit_start_endwindow_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter); setAlignment(Qt::AlignRight|Qt::AlignVCenter);
edit_startmatrix_spin=new QSpinBox(this); edit_startmatrix_spin=new QSpinBox(this);
edit_startmatrix_spin->setGeometry(185,99,30,20);
edit_startmatrix_spin->setRange(0,MAX_MATRICES-1); edit_startmatrix_spin->setRange(0,MAX_MATRICES-1);
edit_startmatrix_label=new QLabel(tr("GPI Matrix:"),this); edit_startmatrix_label=new QLabel(tr("GPI Matrix:"),this);
edit_startmatrix_label->setGeometry(100,100,80,20);
edit_startmatrix_label->setFont(subLabelFont()); edit_startmatrix_label->setFont(subLabelFont());
edit_startmatrix_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); edit_startmatrix_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
edit_startline_spin=new QSpinBox(this); edit_startline_spin=new QSpinBox(this);
edit_startline_spin->setGeometry(305,99,30,20);
edit_startline_spin->setRange(1,MAX_GPIO_PINS); edit_startline_spin->setRange(1,MAX_GPIO_PINS);
edit_startline_label=new QLabel(tr("GPI Line:"),this); edit_startline_label=new QLabel(tr("GPI Line:"),this);
edit_startline_label->setGeometry(240,100,60,20);
edit_startline_label->setFont(subLabelFont()); edit_startline_label->setFont(subLabelFont());
edit_startline_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); edit_startline_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
edit_startoffset_edit=new QTimeEdit(this); edit_startoffset_edit=new QTimeEdit(this);
edit_startoffset_edit->setGeometry(455,99,80,20);
edit_startoffset_edit->setDisplayFormat("hh:mm:ss"); edit_startoffset_edit->setDisplayFormat("hh:mm:ss");
edit_startoffset_label=new QLabel(tr("Start Delay:"),this); edit_startoffset_time_label=new QLabel(tr("Start Delay:"),this);
edit_startoffset_label->setGeometry(345,100,105,20); edit_startoffset_time_label->setFont(subLabelFont());
edit_startoffset_label->setFont(subLabelFont()); edit_startoffset_time_label->
edit_startoffset_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter); setAlignment(Qt::AlignRight|Qt::AlignVCenter);
edit_multirec_box= edit_multirec_box=
new QCheckBox(tr("Allow Multiple Recordings within this Window"),this); new QCheckBox(tr("Allow Multiple Recordings within this Window"),this);
edit_multirec_box->setGeometry(140,124,sizeHint().width()-170,15);
edit_multirec_box->setFont(subLabelFont()); edit_multirec_box->setFont(subLabelFont());
edit_starttype_group->addButton(rbutton,RDRecording::GpiStart); edit_starttype_group->addButton(edit_start_gpi_radio,RDRecording::GpiStart);
// //
// End Parameters // End Parameters
@ -168,147 +140,116 @@ EditRecording::EditRecording(int id,std::vector<int> *adds,QString *filter,
connect(edit_endtype_group,SIGNAL(buttonClicked(int)), connect(edit_endtype_group,SIGNAL(buttonClicked(int)),
this,SLOT(endTypeClickedData(int))); this,SLOT(endTypeClickedData(int)));
groupbox=new QGroupBox(tr("End Parameters"),this); edit_end_groupbox=new QGroupBox(tr("End Parameters"),this);
groupbox->setFont(labelFont()); edit_end_groupbox->setFont(labelFont());
groupbox->setGeometry(10,160,sizeHint().width()-20,112); edit_end_length_radio=new QRadioButton(tr("Use Length"),this);
rbutton=new QRadioButton(tr("Use Length"),this); edit_endtype_group->addButton(edit_end_length_radio,RDRecording::LengthEnd);
rbutton->setGeometry(20,205,100,15); edit_end_length_radio->setFont(subLabelFont());
edit_endtype_group->addButton(rbutton,RDRecording::LengthEnd);
rbutton->setFont(subLabelFont());
edit_endlength_edit=new QTimeEdit(this); edit_endlength_edit=new QTimeEdit(this);
edit_endlength_edit->setGeometry(245,201,80,20);
edit_endlength_edit->setDisplayFormat("hh:mm:ss"); edit_endlength_edit->setDisplayFormat("hh:mm:ss");
edit_endlength_label=new QLabel(tr("Record Length:"),this); edit_endlength_label=new QLabel(tr("Record Length:"),this);
edit_endlength_label->setGeometry(125,205,115,15);
edit_endlength_label->setFont(subLabelFont()); edit_endlength_label->setFont(subLabelFont());
edit_endlength_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); edit_endlength_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
rbutton=new QRadioButton(tr("Use Hard Time"),this); edit_end_hardtime_radio=new QRadioButton(tr("Use Hard Time"),this);
rbutton->setGeometry(20,181,1100,15); edit_endtype_group->addButton(edit_end_hardtime_radio,RDRecording::HardEnd);
edit_endtype_group->addButton(rbutton,RDRecording::HardEnd); edit_end_hardtime_radio->setFont(subLabelFont());
rbutton->setFont(subLabelFont());
edit_endtime_edit=new QTimeEdit(this); edit_endtime_edit=new QTimeEdit(this);
edit_endtime_edit->setGeometry(245,177,80,20);
edit_endtime_edit->setDisplayFormat("hh:mm:ss"); edit_endtime_edit->setDisplayFormat("hh:mm:ss");
edit_endtime_label=new QLabel(tr("Record End Time:"),this); edit_endtime_label=new QLabel(tr("Record End Time:"),this);
edit_endtime_label->setGeometry(125,181,115,15);
edit_endtime_label->setFont(subLabelFont()); edit_endtime_label->setFont(subLabelFont());
edit_endtime_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); edit_endtime_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
rbutton=new QRadioButton(tr("Use GPI"),this); edit_end_gpi_radio=new QRadioButton(tr("Use GPI"),this);
rbutton->setGeometry(20,229,100,15); edit_end_gpi_radio->setFont(subLabelFont());
rbutton->setFont(subLabelFont());
edit_end_startwindow_edit=new QTimeEdit(this); edit_end_startwindow_edit=new QTimeEdit(this);
edit_end_startwindow_edit->setGeometry(245,225,80,20);
edit_end_startwindow_edit->setDisplayFormat("hh:mm:ss"); edit_end_startwindow_edit->setDisplayFormat("hh:mm:ss");
edit_end_startwindow_label=new QLabel(tr("Window Start Time:"),this); edit_end_startwindow_label=new QLabel(tr("Window Start Time:"),this);
edit_end_startwindow_label->setGeometry(125,229,115,15);
edit_end_startwindow_label->setFont(subLabelFont()); edit_end_startwindow_label->setFont(subLabelFont());
edit_end_startwindow_label-> edit_end_startwindow_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter); setAlignment(Qt::AlignRight|Qt::AlignVCenter);
edit_end_endwindow_edit=new QTimeEdit(this); edit_end_endwindow_edit=new QTimeEdit(this);
edit_end_endwindow_edit->setGeometry(455,225,80,20);
edit_end_endwindow_edit->setDisplayFormat("hh:mm:ss"); edit_end_endwindow_edit->setDisplayFormat("hh:mm:ss");
edit_end_endwindow_label=new QLabel(tr("Window End Time:"),this); edit_end_endwindow_label=new QLabel(tr("Window End Time:"),this);
edit_end_endwindow_label->setGeometry(345,229,105,15);
edit_end_endwindow_label->setFont(subLabelFont()); edit_end_endwindow_label->setFont(subLabelFont());
edit_end_endwindow_label-> edit_end_endwindow_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter); setAlignment(Qt::AlignRight|Qt::AlignVCenter);
edit_endmatrix_spin=new QSpinBox(this); edit_endmatrix_spin=new QSpinBox(this);
edit_endmatrix_spin->setGeometry(185,247,30,20);
edit_endmatrix_spin->setRange(0,MAX_MATRICES-1); edit_endmatrix_spin->setRange(0,MAX_MATRICES-1);
edit_endmatrix_label=new QLabel(tr("GPI Matrix:"),this); edit_endmatrix_label=new QLabel(tr("GPI Matrix:"),this);
edit_endmatrix_label->setGeometry(100,248,80,20);
edit_endmatrix_label->setFont(subLabelFont()); edit_endmatrix_label->setFont(subLabelFont());
edit_endmatrix_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); edit_endmatrix_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
edit_endline_spin=new QSpinBox(this); edit_endline_spin=new QSpinBox(this);
edit_endline_spin->setGeometry(295,247,30,20);
edit_endline_spin->setRange(1,MAX_GPIO_PINS); edit_endline_spin->setRange(1,MAX_GPIO_PINS);
edit_endline_label=new QLabel(tr("GPI Line:"),this); edit_endline_label=new QLabel(tr("GPI Line:"),this);
edit_endline_label->setGeometry(230,248,60,20);
edit_endline_label->setFont(subLabelFont()); edit_endline_label->setFont(subLabelFont());
edit_endline_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); edit_endline_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
edit_maxlength_edit=new QTimeEdit(this); edit_maxlength_edit=new QTimeEdit(this);
edit_maxlength_edit->setGeometry(455,247,80,20);
edit_maxlength_edit->setDisplayFormat("hh:mm:ss"); edit_maxlength_edit->setDisplayFormat("hh:mm:ss");
edit_maxlength_label=new QLabel(tr("Max Record Length:"),this); edit_maxlength_label=new QLabel(tr("Max Record Length:"),this);
edit_maxlength_label->setGeometry(325,248,125,20);
edit_maxlength_label->setFont(subLabelFont()); edit_maxlength_label->setFont(subLabelFont());
edit_maxlength_label-> edit_maxlength_label->
setAlignment(Qt::AlignRight|Qt::AlignVCenter); setAlignment(Qt::AlignRight|Qt::AlignVCenter);
edit_endtype_group->addButton(rbutton,RDRecording::GpiEnd); edit_endtype_group->addButton(edit_end_gpi_radio,RDRecording::GpiEnd);
// //
// Description // Description
// //
edit_description_edit=new QLineEdit(this); edit_description_edit=new QLineEdit(this);
edit_description_edit->setGeometry(105,291,sizeHint().width()-115,20);
edit_description_edit->setValidator(validator); edit_description_edit->setValidator(validator);
label=new QLabel(tr("Description:"),this); edit_description_label=new QLabel(tr("Description:"),this);
label->setGeometry(10,291,90,20); edit_description_label->setFont(labelFont());
label->setFont(labelFont()); edit_description_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
// //
// Source Name // Source Name
// //
edit_source_box=new QComboBox(this); edit_source_box=new QComboBox(this);
edit_source_box->setGeometry(105,317,sizeHint().width()-115,24); edit_source_label=new QLabel(tr("Source:"),this);
label=new QLabel(tr("Source:"),this); edit_source_label->setFont(labelFont());
label->setGeometry(10,317,90,24); edit_source_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
label->setFont(labelFont());
label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
// //
// Destination // Destination
// //
edit_destination_edit=new QLineEdit(this); edit_destination_edit=new QLineEdit(this);
edit_destination_edit->setGeometry(105,345,sizeHint().width()-185,20);
edit_destination_edit->setReadOnly(true); edit_destination_edit->setReadOnly(true);
label=new QLabel(tr("Destination:"),this); edit_destination_label=new QLabel(tr("Destination:"),this);
label->setGeometry(10,345,90,20); edit_destination_label->setFont(labelFont());
label->setFont(labelFont()); edit_destination_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); edit_destination_button=new QPushButton(this);
QPushButton *button=new QPushButton(this); edit_destination_button->setFont(subButtonFont());
button->setGeometry(sizeHint().width()-70,344,60,24); edit_destination_button->setText(tr("Select"));
button->setFont(subButtonFont()); connect(edit_destination_button,SIGNAL(clicked()),this,SLOT(selectCutData()));
button->setText(tr("Select"));
connect(button,SIGNAL(clicked()),this,SLOT(selectCutData()));
// //
// Channels // Channels
// //
edit_channels_box=new QComboBox(this); edit_channels_box=new QComboBox(this);
edit_channels_box->setGeometry(190,370,40,20);
edit_channels_box->insertItem(0,"1"); edit_channels_box->insertItem(0,"1");
edit_channels_box->insertItem(1,"2"); edit_channels_box->insertItem(1,"2");
label=new QLabel(tr("Channels:"),this); edit_channels_label=new QLabel(tr("Channels:"),this);
label->setGeometry(120,370,70,20); edit_channels_label->setFont(labelFont());
label->setFont(labelFont()); edit_channels_label->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
label->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
// //
// Autotrim Controls // Autotrim Controls
// //
edit_autotrim_box=new QCheckBox(tr("Autotrim"),this); edit_autotrim_box=new QCheckBox(tr("Autotrim"),this);
edit_autotrim_box->setGeometry(120,395,100,15);
edit_autotrim_box->setFont(labelFont()); edit_autotrim_box->setFont(labelFont());
connect(edit_autotrim_box,SIGNAL(toggled(bool)), connect(edit_autotrim_box,SIGNAL(toggled(bool)),
this,SLOT(autotrimToggledData(bool))); this,SLOT(autotrimToggledData(bool)));
edit_autotrim_spin=new QSpinBox(this); edit_autotrim_spin=new QSpinBox(this);
edit_autotrim_spin->setGeometry(265,393,40,20);
edit_autotrim_spin->setRange(-99,-1); edit_autotrim_spin->setRange(-99,-1);
edit_autotrim_label=new QLabel(tr("Level:"),this); edit_autotrim_label=new QLabel(tr("Level:"),this);
edit_autotrim_label->setGeometry(220,393,40,20);
edit_autotrim_label->setFont(labelFont()); edit_autotrim_label->setFont(labelFont());
edit_autotrim_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); edit_autotrim_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight);
edit_autotrim_unit=new QLabel(tr("dBFS"),this); edit_autotrim_unit=new QLabel(tr("dBFS"),this);
edit_autotrim_unit->setGeometry(310,393,40,20);
edit_autotrim_unit->setFont(labelFont()); edit_autotrim_unit->setFont(labelFont());
edit_autotrim_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); edit_autotrim_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
@ -316,145 +257,81 @@ EditRecording::EditRecording(int id,std::vector<int> *adds,QString *filter,
// Normalize Controls // Normalize Controls
// //
edit_normalize_box=new QCheckBox(tr("Normalize"),this); edit_normalize_box=new QCheckBox(tr("Normalize"),this);
edit_normalize_box->setGeometry(120,420,100,15);
connect(edit_normalize_box,SIGNAL(toggled(bool)), connect(edit_normalize_box,SIGNAL(toggled(bool)),
this,SLOT(normalizeToggledData(bool))); this,SLOT(normalizeToggledData(bool)));
edit_normalize_box->setFont(labelFont()); edit_normalize_box->setFont(labelFont());
edit_normalize_spin=new QSpinBox(this); edit_normalize_spin=new QSpinBox(this);
edit_normalize_spin->setGeometry(265,418,40,20);
edit_normalize_spin->setRange(-99,-1); edit_normalize_spin->setRange(-99,-1);
edit_normalize_label=new QLabel(tr("Level:"),this); edit_normalize_label=new QLabel(tr("Level:"),this);
edit_normalize_label->setGeometry(220,418,40,20);
edit_normalize_label->setFont(labelFont()); edit_normalize_label->setFont(labelFont());
edit_normalize_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight); edit_normalize_label->setAlignment(Qt::AlignVCenter|Qt::AlignRight);
edit_normalize_unit=new QLabel(tr("dBFS"),this); edit_normalize_unit=new QLabel(tr("dBFS"),this);
edit_normalize_unit->setGeometry(310,418,40,20);
edit_normalize_unit->setFont(labelFont()); edit_normalize_unit->setFont(labelFont());
edit_normalize_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft); edit_normalize_unit->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
// //
// Button Label // DOW Selector
// //
groupbox=new QGroupBox(tr("Active Days"),this); edit_dow_selector=new DowSelector(this);
groupbox->setFont(labelFont());
groupbox->setGeometry(10,442,sizeHint().width()-20,62);
//
// Monday Button
//
edit_mon_button=new QCheckBox(tr("Monday"),this);
edit_mon_button->setGeometry(20,459,135,20);
edit_mon_button->setFont(subLabelFont());
//
// Tuesday Button
//
edit_tue_button=new QCheckBox(tr("Tuesday"),this);
edit_tue_button->setGeometry(115,459,135,20);
edit_tue_button->setFont(subLabelFont());
//
// Wednesday Button
//
edit_wed_button=new QCheckBox(tr("Wednesday"),this);
edit_wed_button->setGeometry(215,459,135,20);
edit_wed_button->setFont(subLabelFont());
//
// Thursday Button
//
edit_thu_button=new QCheckBox(tr("Thursday"),this);
edit_thu_button->setGeometry(335,459,135,20);
edit_thu_button->setFont(subLabelFont());
//
// Friday Button
//
edit_fri_button=new QCheckBox(tr("Friday"),this);
edit_fri_button->setGeometry(440,459,135,20);
edit_fri_button->setFont(subLabelFont());
//
// Saturday Button
//
edit_sat_button=new QCheckBox(tr("Saturday"),this);
edit_sat_button->setGeometry(130,484,80,20);
edit_sat_button->setFont(subLabelFont());
//
// Sunday Button
//
edit_sun_button=new QCheckBox(tr("Sunday"),this);
edit_sun_button->setGeometry(300,484,80,20);
edit_sun_button->setFont(subLabelFont());
// //
// Start Date Offset // Start Date Offset
// //
edit_startoffset_box=new QSpinBox(this); edit_startoffset_box=new QSpinBox(this);
edit_startoffset_box->setGeometry(140,516,55,24);
edit_startoffset_box->setRange(0,355); edit_startoffset_box->setRange(0,355);
edit_startoffset_box->setSpecialValueText(tr("None")); edit_startoffset_box->setSpecialValueText(tr("None"));
label=new QLabel(tr("Start Date Offset:"),this); edit_startoffset_label=new QLabel(tr("Start Date Offset:"),this);
label->setGeometry(10,516,125,24); edit_startoffset_label->setFont(labelFont());
label->setFont(labelFont()); edit_startoffset_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
// //
// End Date Offset // End Date Offset
// //
edit_endoffset_box=new QSpinBox(this); edit_endoffset_box=new QSpinBox(this);
edit_endoffset_box->setGeometry(440,516,55,24);
edit_endoffset_box->setRange(0,355); edit_endoffset_box->setRange(0,355);
edit_endoffset_box->setSpecialValueText(tr("None")); edit_endoffset_box->setSpecialValueText(tr("None"));
label=new QLabel(tr("End Date Offset:"),this); edit_endoffset_label=new QLabel(tr("End Date Offset:"),this);
label->setGeometry(310,516,125,24); edit_endoffset_label->setFont(labelFont());
label->setFont(labelFont()); edit_endoffset_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
// //
// OneShot Button // OneShot Button
// //
edit_oneshot_box=new QCheckBox(tr("Make OneShot"),this); edit_oneshot_box=new QCheckBox(tr("Make OneShot"),this);
edit_oneshot_box->setGeometry(20,553,125,15);
edit_oneshot_box->setFont(labelFont()); edit_oneshot_box->setFont(labelFont());
// //
// Save As Button // Save As Button
// //
button=new QPushButton(this); edit_saveas_button=new QPushButton(this);
button->setGeometry(sizeHint().width()-300,sizeHint().height()-60,80,50); edit_saveas_button->setFont(buttonFont());
button->setFont(buttonFont()); edit_saveas_button->setText(tr("Save As\nNew"));
button->setText(tr("Save As\nNew")); connect(edit_saveas_button,SIGNAL(clicked()),this,SLOT(saveasData()));
connect(button,SIGNAL(clicked()),this,SLOT(saveasData()));
if(adds==NULL) { if(adds==NULL) {
button->hide(); edit_saveas_button->hide();
} }
// //
// Ok Button // Ok Button
// //
button=new QPushButton(this); edit_ok_button=new QPushButton(this);
button->setGeometry(sizeHint().width()-180,sizeHint().height()-60,80,50); edit_ok_button->setDefault(true);
button->setDefault(true); edit_ok_button->setFont(buttonFont());
button->setFont(buttonFont()); edit_ok_button->setText(tr("OK"));
button->setText(tr("OK")); connect(edit_ok_button,SIGNAL(clicked()),this,SLOT(okData()));
connect(button,SIGNAL(clicked()),this,SLOT(okData()));
// //
// Cancel Button // Cancel Button
// //
button=new QPushButton(this); edit_cancel_button=new QPushButton(this);
button->setGeometry(sizeHint().width()-90,sizeHint().height()-60,80,50); edit_cancel_button->setFont(buttonFont());
button->setFont(buttonFont()); edit_cancel_button->setText(tr("Cancel"));
button->setText(tr("Cancel")); connect(edit_cancel_button,SIGNAL(clicked()),this,SLOT(cancelData()));
connect(button,SIGNAL(clicked()),this,SLOT(cancelData()));
// //
// Populate Data // Populate Data
// //
PopulateDecks(edit_station_box); edit_event_widget->fromRecording(edit_recording->id());
edit_active_button->setChecked(edit_recording->isActive());
edit_starttime_edit->setTime(edit_recording->startTime()); edit_starttime_edit->setTime(edit_recording->startTime());
edit_description_edit->setText(edit_recording->description()); edit_description_edit->setText(edit_recording->description());
edit_starttype_group->button((int)edit_recording->startType())-> edit_starttype_group->button((int)edit_recording->startType())->
@ -504,16 +381,11 @@ EditRecording::EditRecording(int id,std::vector<int> *adds,QString *filter,
edit_cutname=edit_recording->cutName(); edit_cutname=edit_recording->cutName();
edit_destination_edit->setText(RDCutPath(edit_cutname)); edit_destination_edit->setText(RDCutPath(edit_cutname));
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_startoffset_box->setValue(edit_recording->startdateOffset()); edit_startoffset_box->setValue(edit_recording->startdateOffset());
edit_endoffset_box->setValue(edit_recording->enddateOffset()); edit_endoffset_box->setValue(edit_recording->enddateOffset());
activateStationData(edit_station_box->currentIndex(),false); locationChangedData(edit_event_widget->stationName(),
edit_event_widget->deckNumber());
QString source=GetSourceName(edit_recording->switchSource()); QString source=GetSourceName(edit_recording->switchSource());
for(int i=0;i<edit_source_box->count();i++) { for(int i=0;i<edit_source_box->count();i++) {
@ -554,7 +426,8 @@ EditRecording::EditRecording(int id,std::vector<int> *adds,QString *filter,
EditRecording::~EditRecording() EditRecording::~EditRecording()
{ {
delete edit_cut_dialog; delete edit_cut_dialog;
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;
} }
@ -564,7 +437,6 @@ EditRecording::~EditRecording()
QSize EditRecording::sizeHint() const QSize EditRecording::sizeHint() const
{ {
return QSize(560,619); return QSize(560,619);
// return QSize(540,619);
} }
@ -574,28 +446,20 @@ QSizePolicy EditRecording::sizePolicy() const
} }
void EditRecording::activateStationData(int id,bool use_temp) void EditRecording::locationChangedData(const QString &station,int decknum)
{ {
QString sql;
RDSqlQuery *q;
if(edit_station_box->currentText().isEmpty()) {
return;
}
QString temp=edit_source_box->currentText();
QStringList f0=edit_station_box->currentText().split(":");
if(edit_deck!=NULL) { if(edit_deck!=NULL) {
delete edit_deck; delete edit_deck;
} }
edit_deck=new RDDeck(f0[0],f0[1].left(f0[1].length()-1).toInt()); edit_deck=new RDDeck(station,decknum);
if(edit_channels_box->count()>0) { if(edit_channels_box->count()>0) {
edit_channels_box->setCurrentIndex(edit_deck->defaultChannels()-1); edit_channels_box->setCurrentIndex(edit_deck->defaultChannels()-1);
} }
edit_source_box->clear(); edit_source_box->clear();
sql=QString("select `NAME` from `INPUTS` where ")+ QString sql=QString("select `NAME` from `INPUTS` where ")+
"(`STATION_NAME`='"+RDEscapeString(edit_deck->switchStation())+"')&&"+ "(`STATION_NAME`='"+RDEscapeString(edit_deck->switchStation())+"')&&"+
QString().sprintf("(`MATRIX`=%d)",edit_deck->switchMatrix()); QString().sprintf("(`MATRIX`=%d)",edit_deck->switchMatrix());
q=new RDSqlQuery(sql); RDSqlQuery *q=new RDSqlQuery(sql);
while(q->next()) { while(q->next()) {
edit_source_box-> edit_source_box->
insertItem(edit_source_box->count(),q->value(0).toString()); insertItem(edit_source_box->count(),q->value(0).toString());
@ -631,7 +495,7 @@ void EditRecording::startTypeClickedData(int id)
edit_start_endwindow_edit->setDisabled(state); edit_start_endwindow_edit->setDisabled(state);
edit_start_endwindow_label->setDisabled(state); edit_start_endwindow_label->setDisabled(state);
edit_startoffset_edit->setDisabled(state); edit_startoffset_edit->setDisabled(state);
edit_startoffset_label->setDisabled(state); edit_startoffset_time_label->setDisabled(state);
edit_startmatrix_spin->setDisabled(state); edit_startmatrix_spin->setDisabled(state);
edit_startmatrix_label->setDisabled(state); edit_startmatrix_label->setDisabled(state);
edit_startline_spin->setDisabled(state); edit_startline_spin->setDisabled(state);
@ -732,6 +596,93 @@ void EditRecording::cancelData()
} }
void EditRecording::resizeEvent(QResizeEvent *e)
{
edit_event_widget->setGeometry(10,11,edit_event_widget->sizeHint().width(),
edit_event_widget->sizeHint().height());
//
// Start Parameters
//
edit_start_groupbox->setGeometry(10,37,size().width()-20,105);
edit_start_hardtime_radio->setGeometry(20,57,110,15);
edit_starttime_edit->setGeometry(255,53,80,20);
edit_starttime_label->setGeometry(135,57,115,15);
edit_start_gpi_radio->setGeometry(20,81,100,15);
edit_start_startwindow_edit->setGeometry(255,77,80,20);
edit_start_startwindow_label->setGeometry(135,81,115,15);
edit_start_endwindow_edit->setGeometry(455,77,80,20);
edit_start_endwindow_label->setGeometry(345,81,105,15);
edit_startmatrix_spin->setGeometry(185,99,35,20);
edit_startmatrix_label->setGeometry(100,100,80,20);
edit_startline_spin->setGeometry(305,99,35,20);
edit_startline_label->setGeometry(240,100,60,20);
edit_startoffset_edit->setGeometry(455,99,80,20);
edit_startoffset_time_label->setGeometry(345,100,105,20);
edit_multirec_box->setGeometry(140,124,size().width()-170,15);
//
// End Parameters
//
edit_end_groupbox->setGeometry(10,160,size().width()-20,112);
edit_end_length_radio->setGeometry(20,205,100,15);
edit_endlength_edit->setGeometry(245,201,80,20);
edit_endlength_label->setGeometry(125,205,115,15);
edit_end_hardtime_radio->setGeometry(20,181,1100,15);
edit_endtime_edit->setGeometry(245,177,80,20);
edit_endtime_label->setGeometry(125,181,115,15);
edit_end_gpi_radio->setGeometry(20,229,100,15);
edit_end_startwindow_edit->setGeometry(245,225,80,20);
edit_end_startwindow_label->setGeometry(125,229,115,15);
edit_end_endwindow_edit->setGeometry(455,225,80,20);
edit_end_endwindow_label->setGeometry(345,229,105,15);
edit_endmatrix_spin->setGeometry(185,247,35,20);
edit_endmatrix_label->setGeometry(100,248,80,20);
edit_endline_spin->setGeometry(295,247,35,20);
edit_endline_label->setGeometry(230,248,60,20);
edit_maxlength_edit->setGeometry(455,247,80,20);
edit_maxlength_label->setGeometry(325,248,125,20);
edit_description_edit->setGeometry(105,291,size().width()-115,20);
edit_description_label->setGeometry(10,291,90,20);
edit_source_box->setGeometry(105,317,size().width()-115,24);
edit_source_label->setGeometry(10,317,90,24);
edit_destination_edit->setGeometry(105,345,size().width()-185,20);
edit_destination_label->setGeometry(10,345,90,20);
edit_destination_button->setGeometry(size().width()-70,344,60,24);
edit_channels_label->setGeometry(120,370,70,20);
edit_channels_box->setGeometry(190,370,40,20);
edit_autotrim_box->setGeometry(120,395,100,15);
edit_autotrim_label->setGeometry(220,393,40,20);
edit_autotrim_spin->setGeometry(265,393,50,20);
edit_autotrim_unit->setGeometry(320,393,40,20);
edit_normalize_box->setGeometry(120,420,100,15);
edit_normalize_label->setGeometry(220,418,40,20);
edit_normalize_spin->setGeometry(265,418,50,20);
edit_normalize_unit->setGeometry(320,418,40,20);
edit_dow_selector->setGeometry(30,442,edit_dow_selector->sizeHint().width(),
edit_dow_selector->sizeHint().height());
edit_startoffset_box->setGeometry(140,516,55,24);
edit_startoffset_label->setGeometry(10,516,125,24);
edit_endoffset_box->setGeometry(440,516,55,24);
edit_endoffset_label->setGeometry(310,516,125,24);
edit_oneshot_box->setGeometry(20,553,125,15);
edit_saveas_button->
setGeometry(size().width()-300,size().height()-60,80,50);
edit_ok_button->setGeometry(size().width()-180,size().height()-60,80,50);
edit_cancel_button->setGeometry(size().width()-90,size().height()-60,80,50);
}
void EditRecording::keyPressEvent(QKeyEvent *e) void EditRecording::keyPressEvent(QKeyEvent *e)
{ {
switch(e->key()) { switch(e->key()) {
@ -753,65 +704,12 @@ void EditRecording::closeEvent(QCloseEvent *e)
} }
void EditRecording::PopulateDecks(QComboBox *box)
{
int count=0;
box->clear();
QString sql=QString("select ")+
"`STATION_NAME`,"+ // 00
"`CHANNEL` "+ // 01
"from `DECKS` where "+
"(`CARD_NUMBER`!=-1)&&"+
"(`PORT_NUMBER`!=-1)&&"+
"(`CHANNEL`!=0)&&"+
"(`CHANNEL`<9) "+
"order by `STATION_NAME`,`CHANNEL`";
RDSqlQuery *q=new RDSqlQuery(sql);
while(q->next()) {
box->insertItem(box->count(),q->value(0).toString()+
QString().sprintf(" : %dR",q->value(1).toInt()));
if((q->value(0).toString()==edit_recording->station())&&
(q->value(1).toUInt()==edit_recording->channel())) {
box->setCurrentIndex(count);
}
count++;
}
if(q->size()>0) {
if(edit_deck!=NULL) {
delete edit_deck;
}
q->first();
edit_deck=new RDDeck(q->value(0).toString(),q->value(1).toUInt());
if(edit_channels_box->count()>0) {
edit_channels_box->setCurrentIndex(edit_deck->defaultChannels()-1);
}
}
delete q;
if(box->count()==0) { // In case the deck has been disabled
box->insertItem(box->count(),edit_recording->station()+
QString().sprintf(" : %dR",edit_recording->channel()));
}
}
void EditRecording::Save() void EditRecording::Save()
{ {
int chan=-1; edit_event_widget->toRecording(edit_recording->id());
QString station=GetLocation(&chan);
edit_recording->setIsActive(edit_active_button->isChecked());
edit_recording->setStation(station);
edit_recording->setType(RDRecording::Recording);
edit_recording->setChannel(chan);
edit_recording->setDescription(edit_description_edit->text()); edit_recording->setDescription(edit_description_edit->text());
edit_recording->setCutName(edit_cutname); edit_recording->setCutName(edit_cutname);
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->setSwitchSource(GetSource()); edit_recording->setSwitchSource(GetSource());
edit_recording->setStartdateOffset(edit_startoffset_box->value()); edit_recording->setStartdateOffset(edit_startoffset_box->value());
edit_recording->setEnddateOffset(edit_endoffset_box->value()); edit_recording->setEnddateOffset(edit_endoffset_box->value());
@ -1011,10 +909,10 @@ bool EditRecording::CheckEvent(bool include_myself)
// //
// Verify that the GPI values are valid // Verify that the GPI values are valid
// //
QStringList f0=edit_station_box->currentText().split(":");
switch((RDRecording::StartType)edit_starttype_group->checkedId()) { switch((RDRecording::StartType)edit_starttype_group->checkedId()) {
case RDRecording::GpiStart: case RDRecording::GpiStart:
matrix=new RDMatrix(f0[0],edit_startmatrix_spin->value()); matrix=new RDMatrix(edit_event_widget->stationName(),
edit_startmatrix_spin->value());
if(!matrix->exists()) { if(!matrix->exists()) {
QMessageBox::warning(this,tr("Record Parameter Error"), QMessageBox::warning(this,tr("Record Parameter Error"),
tr("The start GPI matrix doesn't exist!")); tr("The start GPI matrix doesn't exist!"));
@ -1036,7 +934,8 @@ bool EditRecording::CheckEvent(bool include_myself)
} }
switch((RDRecording::EndType)edit_endtype_group->checkedId()) { switch((RDRecording::EndType)edit_endtype_group->checkedId()) {
case RDRecording::GpiEnd: case RDRecording::GpiEnd:
matrix=new RDMatrix(f0[0],edit_endmatrix_spin->value()); matrix=new RDMatrix(edit_event_widget->stationName(),
edit_endmatrix_spin->value());
if(!matrix->exists()) { if(!matrix->exists()) {
QMessageBox::warning(this,tr("Record Parameter Error"), QMessageBox::warning(this,tr("Record Parameter Error"),
tr("The end GPI matrix doesn't exist!")); tr("The end GPI matrix doesn't exist!"));
@ -1057,10 +956,10 @@ bool EditRecording::CheckEvent(bool include_myself)
} }
QString sql=QString("select `ID` from `RECORDINGS` where ")+ QString sql=QString("select `ID` from `RECORDINGS` where ")+
"(`STATION_NAME`='"+RDEscapeString(f0[0])+"')&&"+ "(`STATION_NAME`='"+RDEscapeString(edit_event_widget->stationName())+"')&&"+
QString().sprintf("(`TYPE`=%d)&&",RDRecording::Recording)+ QString().sprintf("(`TYPE`=%d)&&",RDRecording::Recording)+
"(`START_TIME`='"+RDEscapeString(edit_starttime_edit->time().toString("hh:mm:ss"))+"')&&"+ "(`START_TIME`='"+RDEscapeString(edit_starttime_edit->time().toString("hh:mm:ss"))+"')&&"+
QString().sprintf("(`CHANNEL`=%d)",f0[1].toInt()); QString().sprintf("(`CHANNEL`=%d)",edit_event_widget->deckNumber());
switch((RDRecording::StartType)edit_starttype_group->checkedId()) { switch((RDRecording::StartType)edit_starttype_group->checkedId()) {
case RDRecording::HardStart: case RDRecording::HardStart:
break; break;
@ -1071,25 +970,25 @@ bool EditRecording::CheckEvent(bool include_myself)
edit_startline_spin->value()); edit_startline_spin->value());
break; break;
} }
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) {
@ -1141,12 +1040,3 @@ int EditRecording::GetSource()
delete q; delete q;
return source; return source;
} }
QString EditRecording::GetLocation(int *chan) const
{
QStringList f0=edit_station_box->currentText().split(":");
*chan=
f0[1].trimmed().left(f0[1].trimmed().length()-1).toInt();
return f0[0].trimmed();
}

View File

@ -21,12 +21,12 @@
#ifndef EDIT_RECORDING_H #ifndef EDIT_RECORDING_H
#define EDIT_RECORDING_H #define EDIT_RECORDING_H
#include <QButtonGroup> #include <QButtonGroup>
#include <QComboBox> #include <QComboBox>
#include <QCheckBox> #include <QCheckBox>
#include <QDateTimeEdit> #include <QDateTimeEdit>
#include <QLabel> #include <QLabel>
#include <QRadioButton>
#include <QSpinBox> #include <QSpinBox>
#include <rdcut_dialog.h> #include <rdcut_dialog.h>
@ -34,6 +34,9 @@
#include <rddialog.h> #include <rddialog.h>
#include <rdrecording.h> #include <rdrecording.h>
#include "eventwidget.h"
#include "dowselector.h"
class EditRecording : public RDDialog class EditRecording : public RDDialog
{ {
Q_OBJECT Q_OBJECT
@ -45,7 +48,7 @@ class EditRecording : public RDDialog
QSizePolicy sizePolicy() const; QSizePolicy sizePolicy() const;
private slots: private slots:
void activateStationData(int,bool use_temp=true); void locationChangedData(const QString &station,int decknum);
void startTypeClickedData(int id); void startTypeClickedData(int id);
void endTypeClickedData(int id); void endTypeClickedData(int id);
void selectCutData(); void selectCutData();
@ -56,51 +59,58 @@ class EditRecording : public RDDialog
void cancelData(); void cancelData();
protected: protected:
void resizeEvent(QResizeEvent *e);
void keyPressEvent(QKeyEvent *); void keyPressEvent(QKeyEvent *);
void closeEvent(QCloseEvent *e); void closeEvent(QCloseEvent *e);
private: private:
void PopulateDecks(QComboBox *box);
void Save(); void Save();
bool CheckEvent(bool include_myself); bool CheckEvent(bool include_myself);
QString GetSourceName(int input); QString GetSourceName(int input);
int GetSource(); int GetSource();
QString GetLocation(int *chan) const;
RDDeck *edit_deck; RDDeck *edit_deck;
RDCutDialog *edit_cut_dialog; RDCutDialog *edit_cut_dialog;
RDRecording *edit_recording; RDRecording *edit_recording;
QCheckBox *edit_active_button; EventWidget *edit_event_widget;
QComboBox *edit_station_box; QGroupBox *edit_start_groupbox;
QRadioButton *edit_start_hardtime_radio;
QRadioButton *edit_start_gpi_radio;
QLabel *edit_description_label;
QLineEdit *edit_description_edit; QLineEdit *edit_description_edit;
QString edit_cutname; QString edit_cutname;
QLabel *edit_destination_label;
QLineEdit *edit_destination_edit; QLineEdit *edit_destination_edit;
QCheckBox *edit_sun_button; QPushButton *edit_destination_button;
QCheckBox *edit_mon_button; DowSelector *edit_dow_selector;
QCheckBox *edit_tue_button; QLabel *edit_source_label;
QCheckBox *edit_wed_button;
QCheckBox *edit_thu_button;
QCheckBox *edit_fri_button;
QCheckBox *edit_sat_button;
QComboBox *edit_source_box; QComboBox *edit_source_box;
QLabel *edit_startoffset_time_label;
QSpinBox *edit_startoffset_box; QSpinBox *edit_startoffset_box;
QLabel *edit_endoffset_label;
QSpinBox *edit_endoffset_box; QSpinBox *edit_endoffset_box;
QCheckBox *edit_oneshot_box; QCheckBox *edit_oneshot_box;
QLabel *edit_oneshot_label;
QButtonGroup *edit_starttype_group; QButtonGroup *edit_starttype_group;
QLabel *edit_starttime_label;
QButtonGroup *edit_endtype_group; QButtonGroup *edit_endtype_group;
QGroupBox *edit_end_groupbox;
QRadioButton *edit_end_hardtime_radio;
QRadioButton *edit_end_length_radio;
QRadioButton *edit_end_gpi_radio;
QLabel *edit_endtime_label; QLabel *edit_endtime_label;
QLabel *edit_endlength_label; QLabel *edit_starttime_label;
QTimeEdit *edit_starttime_edit; QTimeEdit *edit_starttime_edit;
QTimeEdit *edit_endtime_edit; QTimeEdit *edit_endtime_edit;
QLabel *edit_endlength_label;
QTimeEdit *edit_endlength_edit; QTimeEdit *edit_endlength_edit;
QLabel *edit_start_startwindow_label; QLabel *edit_start_startwindow_label;
QTimeEdit *edit_start_startwindow_edit; QTimeEdit *edit_start_startwindow_edit;
QLabel *edit_start_endwindow_label; QLabel *edit_start_endwindow_label;
QTimeEdit *edit_start_endwindow_edit; QTimeEdit *edit_start_endwindow_edit;
QLabel *edit_end_startwindow_label;
QCheckBox *edit_multirec_box; QCheckBox *edit_multirec_box;
QLabel *edit_multirec_label;
QLabel *edit_maxlength_label; QLabel *edit_maxlength_label;
QTimeEdit *edit_maxlength_edit; QTimeEdit *edit_maxlength_edit;
QLabel *edit_end_startwindow_label;
QTimeEdit *edit_end_startwindow_edit; QTimeEdit *edit_end_startwindow_edit;
QLabel *edit_end_endwindow_label; QLabel *edit_end_endwindow_label;
QTimeEdit *edit_end_endwindow_edit; QTimeEdit *edit_end_endwindow_edit;
@ -117,15 +127,21 @@ class EditRecording : public RDDialog
QLabel *edit_startoffset_label; QLabel *edit_startoffset_label;
QTimeEdit *edit_startoffset_edit; QTimeEdit *edit_startoffset_edit;
std::vector<int> *edit_added_events; std::vector<int> *edit_added_events;
QLabel *edit_channels_label;
QComboBox *edit_channels_box; QComboBox *edit_channels_box;
QCheckBox *edit_autotrim_box; QCheckBox *edit_autotrim_box;
QLabel *edit_autotrim_label; QLabel *edit_autotrim_label;
QLabel *edit_autotrim_level_label;
QSpinBox *edit_autotrim_spin; QSpinBox *edit_autotrim_spin;
QLabel *edit_autotrim_unit; QLabel *edit_autotrim_unit;
QCheckBox *edit_normalize_box; QCheckBox *edit_normalize_box;
QLabel *edit_normalize_label; QLabel *edit_normalize_label;
QLabel *edit_normalize_level_label;
QSpinBox *edit_normalize_spin; QSpinBox *edit_normalize_spin;
QLabel *edit_normalize_unit; QLabel *edit_normalize_unit;
QPushButton *edit_saveas_button;
QPushButton *edit_ok_button;
QPushButton *edit_cancel_button;
QString *edit_filter; QString *edit_filter;
QString edit_group; QString edit_group;
QString edit_schedcode; QString edit_schedcode;

View File

@ -60,9 +60,33 @@ EventWidget::EventWidget(EventWidget::EventType type,QWidget *parent)
d_time_label->setFont(labelFont()); d_time_label->setFont(labelFont());
d_time_edit=new QTimeEdit(this); d_time_edit=new QTimeEdit(this);
d_time_edit->setDisplayFormat("hh:mm:ss"); d_time_edit->setDisplayFormat("hh:mm:ss");
if(d_event_type==EventWidget::RecordEvent) {
d_time_label->hide();
d_time_edit->hide();
}
switch(d_event_type) { switch(d_event_type) {
case EventWidget::RecordEvent: case EventWidget::RecordEvent:
d_location_box->clear();
sql=QString("select ")+
"`STATION_NAME`,"+ // 00
"`CHANNEL` "+ // 01
"from `DECKS` where "+
"(`CARD_NUMBER`!=-1)&&"+
"(`PORT_NUMBER`!=-1)&&"+
"(`CHANNEL`!=0)&&"+
"(`CHANNEL`<9) "+
"order by `STATION_NAME`,`CHANNEL`";
q=new RDSqlQuery(sql);
while(q->next()) {
d_location_box->
insertItem(d_location_box->count(),
q->value(0).toString()+
QString().sprintf(" : %dR",q->value(1).toInt()),
q->value(0).toString()+"\t"+
QString().sprintf("%d",q->value(1).toInt()));
}
delete q;
break; break;
case EventWidget::PlayEvent: case EventWidget::PlayEvent:
@ -142,9 +166,7 @@ void EventWidget::toRecording(unsigned record_id) const
{ {
QString sql=QString("update `RECORDINGS` set ")+ QString sql=QString("update `RECORDINGS` set ")+
"`IS_ACTIVE`='"+RDYesNo(d_state_check->isChecked())+"',"+ "`IS_ACTIVE`='"+RDYesNo(d_state_check->isChecked())+"',"+
"`STATION_NAME`='"+RDEscapeString(d_current_station_name)+"',"+ "`STATION_NAME`='"+RDEscapeString(d_current_station_name)+"' ";
"`START_TIME`='"+
RDEscapeString(d_time_edit->time().toString("hh:mm:ss"))+"' ";
switch(d_event_type) { switch(d_event_type) {
case EventWidget::RecordEvent: case EventWidget::RecordEvent:
sql+=QString().sprintf(",`CHANNEL`=%u ",d_current_deck_number); sql+=QString().sprintf(",`CHANNEL`=%u ",d_current_deck_number);
@ -175,15 +197,17 @@ void EventWidget::fromRecording(unsigned record_id)
RDSqlQuery *q=new RDSqlQuery(sql); RDSqlQuery *q=new RDSqlQuery(sql);
if(q->first()) { if(q->first()) {
d_state_check->setChecked(q->value(0).toString()=="Y"); d_state_check->setChecked(q->value(0).toString()=="Y");
d_time_edit->setTime(q->value(3).toTime());
switch(d_event_type) { switch(d_event_type) {
case EventWidget::RecordEvent: case EventWidget::RecordEvent:
d_location_box-> d_location_box->
setCurrentText(q->value(1).toString()+ setCurrentText(q->value(1).toString()+
QString().sprintf(" : %uR",q->value(2).toUInt())); QString().sprintf(" : %uR",q->value(2).toUInt()));
d_current_station_name=q->value(1).toString();
d_current_deck_number=q->value(2).toUInt();
break; break;
case EventWidget::PlayEvent: case EventWidget::PlayEvent:
d_time_edit->setTime(q->value(3).toTime());
d_location_box-> d_location_box->
setCurrentText(q->value(1).toString()+ setCurrentText(q->value(1).toString()+
QString().sprintf(" : %uP",q->value(2).toUInt()-128)); QString().sprintf(" : %uP",q->value(2).toUInt()-128));
@ -192,6 +216,7 @@ void EventWidget::fromRecording(unsigned record_id)
break; break;
case EventWidget::OtherEvent: case EventWidget::OtherEvent:
d_time_edit->setTime(q->value(3).toTime());
d_location_box->setCurrentText(q->value(1).toString()); d_location_box->setCurrentText(q->value(1).toString());
d_current_station_name=q->value(1).toString(); d_current_station_name=q->value(1).toString();
d_current_deck_number=-1; d_current_deck_number=-1;

View File

@ -311,14 +311,6 @@ New</source>
<source>Edit Recording</source> <source>Edit Recording</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> <message>
<source>Start Parameters</source> <source>Start Parameters</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -411,38 +403,6 @@ New</source>
<source>Normalize</source> <source>Normalize</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>Start Date Offset:</source> <source>Start Date Offset:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>