mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-29 07:02:34 +02:00
2018-11-29 Fred Gleason <fredg@paravelsystems.com>
* Added a 'SERVICES.INCLUDE_IMPORT_MARKERS' field to the database. * Added a 'LOGS.INCLUDE_IMPORT_MARKERS' field to the database. * Incremented the database version to 301. * Added an 'Inlcude Import Markers in Finished Logs' checkbox to the 'Edit Service' dialog in rdadmin(1).
This commit is contained in:
parent
4220a2c9d4
commit
a9a3f385ad
@ -18064,3 +18064,9 @@
|
||||
* Optimized RDAudioPort SQL queries.
|
||||
2018-11-26 Patrick Linstruth <patrick@deltecent.com>
|
||||
* Fixed bug where requested port could overrun HPI_MAX_NODES.
|
||||
2018-11-29 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added a 'SERVICES.INCLUDE_IMPORT_MARKERS' field to the database.
|
||||
* Added a 'LOGS.INCLUDE_IMPORT_MARKERS' field to the database.
|
||||
* Incremented the database version to 301.
|
||||
* Added an 'Inlcude Import Markers in Finished Logs' checkbox to
|
||||
the 'Edit Service' dialog in rdadmin(1).
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 99 KiB |
@ -361,6 +361,18 @@
|
||||
as-played data to be purged from the database the specified number
|
||||
of days after being generated.
|
||||
</para>
|
||||
<para>
|
||||
The <computeroutput>Include Import Markers in Finished Logs</computeroutput>
|
||||
box, if ticked, will cause markers to indicate the base location
|
||||
of imported Music and Traffic events to be retained even after
|
||||
such events have been imported. Some users find these markers
|
||||
distracting, so their retention can be disabled by clearing this
|
||||
check box.
|
||||
</para>
|
||||
<warning>
|
||||
If import markers are not included in finished logs, then it will
|
||||
not be possible re-import music or traffic data into those logs.
|
||||
</warning>
|
||||
<sect3 xml:id="sect.rdadmin.manage_services.general.configure_autofill_carts">
|
||||
<title>Configuring Autofill Carts</title>
|
||||
<para>
|
||||
|
@ -1,34 +1,34 @@
|
||||
LOGS Table Layout for Rivendell
|
||||
|
||||
The LOGS table holds data concerning each log object that exists
|
||||
on the system. Following is the layout of a record in the LOGS
|
||||
table:
|
||||
on the system.
|
||||
|
||||
FIELD NAME TYPE REMARKS
|
||||
-------------------------------------------------------------------
|
||||
NAME varchar(64)
|
||||
LOG_EXISTS enum('N','Y')
|
||||
TYPE int(11) 0=Log, 1=Event, 2=Clock, 3=Grid
|
||||
SERVICE varchar(10) From SERVICES.NAME
|
||||
DESCRIPTION varchar(64)
|
||||
ORIGIN_USER varchar(191) From USERS.LOGIN_NAME
|
||||
ORIGIN_DATETIME datetime
|
||||
LINK_DATETIME datetime
|
||||
MODIFIED_DATETIME datetime
|
||||
AUTO_REFRESH enum('N','Y')
|
||||
START_DATE date
|
||||
END_DATE date
|
||||
PURGE_DATE date
|
||||
IMPORT_DATE date
|
||||
SCHEDULED_TRACKS int unsigned(10)
|
||||
COMPLETED_TRACKS int unsigned(10)
|
||||
MUSIC_LINKS int
|
||||
MUSIC_LINKED enum('N','Y')
|
||||
TRAFFIC_LINKS int
|
||||
TRAFFIC_LINKED enum('N','Y')
|
||||
NEXT_ID int(11)
|
||||
LOCK_USER_NAME varchar(191) From USER.LOGIN_NAME
|
||||
LOCK_STATION_NAME varchar(64) From STATIONS.NAME
|
||||
LOCK_IPV4_ADDRESS varchar(16)
|
||||
LOCK_DATETIME datetime
|
||||
LOCK_GUID varchar(82)
|
||||
NAME varchar(64)
|
||||
LOG_EXISTS enum('N','Y')
|
||||
TYPE int(11) 0=Log, 1=Event, 2=Clock, 3=Grid
|
||||
SERVICE varchar(10) From SERVICES.NAME
|
||||
DESCRIPTION varchar(64)
|
||||
ORIGIN_USER varchar(191) From USERS.LOGIN_NAME
|
||||
ORIGIN_DATETIME datetime
|
||||
LINK_DATETIME datetime
|
||||
MODIFIED_DATETIME datetime
|
||||
AUTO_REFRESH enum('N','Y')
|
||||
START_DATE date
|
||||
END_DATE date
|
||||
PURGE_DATE date
|
||||
IMPORT_DATE date
|
||||
SCHEDULED_TRACKS int unsigned(10)
|
||||
COMPLETED_TRACKS int unsigned(10)
|
||||
INCLUDE_IMPORT_MARKERS enum('N','Y')
|
||||
MUSIC_LINKS int
|
||||
MUSIC_LINKED enum('N','Y')
|
||||
TRAFFIC_LINKS int
|
||||
TRAFFIC_LINKED enum('N','Y')
|
||||
NEXT_ID int(11)
|
||||
LOCK_USER_NAME varchar(191) From USER.LOGIN_NAME
|
||||
LOCK_STATION_NAME varchar(64) From STATIONS.NAME
|
||||
LOCK_IPV4_ADDRESS varchar(16)
|
||||
LOCK_DATETIME datetime
|
||||
LOCK_GUID varchar(82)
|
||||
|
@ -18,6 +18,7 @@ AUTO_REFRESH enum('N','Y')
|
||||
DEFAULT_LOG_SHELFLIFE int(11)
|
||||
LOG_SHELFLIFE_ORIGIN int(11) 0=Air Date, 1=Log Creation
|
||||
ELR_SHELFLIFE int(11)
|
||||
INCLUDE_IMPORT_MARKERS enum('N','Y')
|
||||
TFC_PATH varchar(191)
|
||||
TFC_PREIMPORT_CMD text
|
||||
TFC_WIN_PATH varchar(191)
|
||||
|
@ -24,7 +24,7 @@
|
||||
/*
|
||||
* Current Database Version
|
||||
*/
|
||||
#define RD_VERSION_DATABASE 300
|
||||
#define RD_VERSION_DATABASE 301
|
||||
|
||||
|
||||
#endif // DBVERSION_H
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Abstract a Rivendell Log Manager Event
|
||||
//
|
||||
// (C) Copyright 2002-2006,2016-2018 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -911,7 +911,7 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname,
|
||||
}
|
||||
|
||||
|
||||
bool RDEventLine::linkLog(RDLogEvent *e,const QString &svcname,
|
||||
bool RDEventLine::linkLog(RDLogEvent *e,RDLog *log,const QString &svcname,
|
||||
RDLogLine *link_logline,const QString &track_str,
|
||||
const QString &label_cart,const QString &track_cart,
|
||||
QString *errors)
|
||||
@ -945,13 +945,15 @@ bool RDEventLine::linkLog(RDLogEvent *e,const QString &svcname,
|
||||
//
|
||||
// Insert Parent Link
|
||||
//
|
||||
e->insert(e->size(),1);
|
||||
logline=new RDLogLine();
|
||||
*logline=*link_logline;
|
||||
logline->setId(e->nextId());
|
||||
*(e->logLine(e->size()-1))=*logline;
|
||||
delete logline;
|
||||
logline=NULL;
|
||||
if(log->includeImportMarkers()) {
|
||||
e->insert(e->size(),1);
|
||||
logline=new RDLogLine();
|
||||
*logline=*link_logline;
|
||||
logline->setId(e->nextId());
|
||||
*(e->logLine(e->size()-1))=*logline;
|
||||
delete logline;
|
||||
logline=NULL;
|
||||
}
|
||||
|
||||
//
|
||||
// Clear Leading Event Values
|
||||
@ -1139,17 +1141,7 @@ bool RDEventLine::linkLog(RDLogEvent *e,const QString &svcname,
|
||||
logline->setCartNumber(q->value(0).toUInt());
|
||||
}
|
||||
}
|
||||
/*
|
||||
//
|
||||
// Clear Leading Event Values
|
||||
//
|
||||
time_type=RDLogLine::Relative;
|
||||
trans_type=event_default_transtype;
|
||||
*/
|
||||
time=time.addMSecs(length);
|
||||
/*
|
||||
grace_time=-1;
|
||||
*/
|
||||
}
|
||||
delete q;
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Abstract a Rivendell Log Manager Event
|
||||
//
|
||||
// (C) Copyright 2002-2004,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -25,6 +25,7 @@
|
||||
|
||||
#include <rdlog_event.h>
|
||||
#include <rdeventimportlist.h>
|
||||
#include <rdlog.h>
|
||||
#include <rdlog_line.h>
|
||||
#include <rdstation.h>
|
||||
|
||||
@ -81,7 +82,7 @@ class RDEventLine
|
||||
bool save(RDConfig *config);
|
||||
bool generateLog(QString logname,const QString &svcname,
|
||||
QString *errors, unsigned artistsep,QString clockname);
|
||||
bool linkLog(RDLogEvent *e,const QString &svcname,
|
||||
bool linkLog(RDLogEvent *e,RDLog *log,const QString &svcname,
|
||||
RDLogLine *link_logline,const QString &track_str,
|
||||
const QString &label_cart,const QString &track_cart,
|
||||
QString *errors);
|
||||
|
@ -223,6 +223,18 @@ void RDLog::setCompletedTracks(unsigned tracks) const
|
||||
}
|
||||
|
||||
|
||||
bool RDLog::includeImportMarkers() const
|
||||
{
|
||||
return RDBool(GetStringValue("INCLUDE_IMPORT_MARKERS"));
|
||||
}
|
||||
|
||||
|
||||
void RDLog::setIncludeImportMarkers(bool state)
|
||||
{
|
||||
SetRow("INCLUDE_IMPORT_MARKERS",RDYesNo(state));
|
||||
}
|
||||
|
||||
|
||||
int RDLog::linkQuantity(RDLog::Source src) const
|
||||
{
|
||||
switch(src) {
|
||||
@ -638,11 +650,9 @@ QString RDLog::GetStringValue(const QString &field) const
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
accum=q->value(0).toString();
|
||||
delete q;
|
||||
return accum;
|
||||
}
|
||||
delete q;
|
||||
return 0;
|
||||
return accum;
|
||||
}
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// Abstract a Rivendell Log
|
||||
//
|
||||
// (C) Copyright 2002-2004,2016 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2018 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -21,8 +21,6 @@
|
||||
#ifndef RDLOG_H
|
||||
#define RDLOG_H
|
||||
|
||||
#include <qsqldatabase.h>
|
||||
|
||||
#include <rdconfig.h>
|
||||
#include <rdlog_event.h>
|
||||
#include <rduser.h>
|
||||
@ -65,6 +63,8 @@ class RDLog
|
||||
void setScheduledTracks(unsigned tracks) const;
|
||||
unsigned completedTracks() const;
|
||||
void setCompletedTracks(unsigned tracks) const;
|
||||
bool includeImportMarkers() const;
|
||||
void setIncludeImportMarkers(bool state);
|
||||
int linkQuantity(RDLog::Source src) const;
|
||||
void setLinkQuantity(RDLog::Source src,int quan) const;
|
||||
void updateLinkQuantity(RDLog::Source src) const;
|
||||
|
@ -180,6 +180,20 @@ void RDSvc::setElrShelflife(int days) const
|
||||
}
|
||||
|
||||
|
||||
bool RDSvc::includeImportMarkers() const
|
||||
{
|
||||
return
|
||||
RDBool(RDGetSqlValue("SERVICES","NAME",svc_name,"INCLUDE_IMPORT_MARKERS").
|
||||
toString());
|
||||
}
|
||||
|
||||
|
||||
void RDSvc::setIncludeImportMarkers(bool state)
|
||||
{
|
||||
SetRow("INCLUDE_IMPORT_MARKERS",RDYesNo(state));
|
||||
}
|
||||
|
||||
|
||||
bool RDSvc::chainto() const
|
||||
{
|
||||
return
|
||||
@ -722,6 +736,7 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname,
|
||||
log=new RDLog(logname);
|
||||
log->setDescription(RDDateDecode(descriptionTemplate(),date,svc_station,
|
||||
svc_config,svc_name));
|
||||
log->setIncludeImportMarkers(includeImportMarkers());
|
||||
|
||||
emit generationProgress(1);
|
||||
|
||||
@ -805,6 +820,26 @@ bool RDSvc::linkLog(RDSvc::ImportSource src,const QDate &date,
|
||||
return false;
|
||||
}
|
||||
|
||||
//
|
||||
// Calculate Source
|
||||
//
|
||||
RDLogLine::Type src_type=RDLogLine::UnknownType;
|
||||
RDLog::Source link_src=RDLog::SourceMusic;
|
||||
switch(src) {
|
||||
case RDSvc::Music:
|
||||
src_type=RDLogLine::MusicLink;
|
||||
link_src=RDLog::SourceMusic;
|
||||
break;
|
||||
|
||||
case RDSvc::Traffic:
|
||||
src_type=RDLogLine::TrafficLink;
|
||||
link_src=RDLog::SourceTraffic;
|
||||
break;
|
||||
}
|
||||
RDLog *log=new RDLog(logname);
|
||||
int current_link=0;
|
||||
int total_links=log->linkQuantity(link_src);
|
||||
|
||||
emit generationProgress(0);
|
||||
|
||||
//
|
||||
@ -825,26 +860,6 @@ bool RDSvc::linkLog(RDSvc::ImportSource src,const QDate &date,
|
||||
return false;
|
||||
}
|
||||
|
||||
//
|
||||
// Calculate Source
|
||||
//
|
||||
RDLogLine::Type src_type=RDLogLine::UnknownType;
|
||||
RDLog::Source link_src=RDLog::SourceMusic;
|
||||
switch(src) {
|
||||
case RDSvc::Music:
|
||||
src_type=RDLogLine::MusicLink;
|
||||
link_src=RDLog::SourceMusic;
|
||||
break;
|
||||
|
||||
case RDSvc::Traffic:
|
||||
src_type=RDLogLine::TrafficLink;
|
||||
link_src=RDLog::SourceTraffic;
|
||||
break;
|
||||
}
|
||||
RDLog *log=new RDLog(logname);
|
||||
int current_link=0;
|
||||
int total_links=log->linkQuantity(link_src);
|
||||
|
||||
//
|
||||
// Iterate Through the Log
|
||||
//
|
||||
@ -858,8 +873,8 @@ bool RDSvc::linkLog(RDSvc::ImportSource src,const QDate &date,
|
||||
RDEventLine *e=new RDEventLine(svc_station);
|
||||
e->setName(logline->linkEventName());
|
||||
e->load();
|
||||
e->linkLog(dest_event,svc_name,logline,track_str,label_cart,track_cart,
|
||||
&autofill_errors);
|
||||
e->linkLog(dest_event,log,svc_name,logline,track_str,label_cart,
|
||||
track_cart,&autofill_errors);
|
||||
delete e;
|
||||
emit generationProgress(1+(24*current_link++)/total_links);
|
||||
}
|
||||
|
@ -63,6 +63,8 @@ class RDSvc : public QObject
|
||||
void setLogShelflifeOrigin(ShelflifeOrigin orig);
|
||||
int elrShelflife() const;
|
||||
void setElrShelflife(int days) const;
|
||||
bool includeImportMarkers() const;
|
||||
void setIncludeImportMarkers(bool state);
|
||||
bool chainto() const;
|
||||
void setChainto(bool state) const;
|
||||
QString importTemplate(ImportSource src) const;
|
||||
|
@ -223,6 +223,17 @@ EditSvc::EditSvc(QString svc,QWidget *parent)
|
||||
label->setGeometry(640,117,200,19);
|
||||
label->setAlignment(Qt::AlignLeft);
|
||||
|
||||
//
|
||||
// Include Import Markers by Default
|
||||
//
|
||||
svc_import_markers_check=new QCheckBox(this);
|
||||
svc_import_markers_check->setGeometry(460,140,15,15);
|
||||
label=
|
||||
new QLabel(svc_shelflife_box,tr("Include Import Markers in Finished Logs"),
|
||||
this);
|
||||
label->setGeometry(480,140,sizeHint().width()-490,19);
|
||||
label->setAlignment(Qt::AlignLeft);
|
||||
|
||||
//
|
||||
// Enable Hosts Button
|
||||
//
|
||||
@ -506,6 +517,7 @@ EditSvc::EditSvc(QString svc,QWidget *parent)
|
||||
else {
|
||||
svc_shelflife_spin->setDisabled(true);
|
||||
}
|
||||
svc_import_markers_check->setChecked(svc_svc->includeImportMarkers());
|
||||
svc_tfc_path_edit->setText(svc_svc->importPath(RDSvc::Traffic));
|
||||
svc_tfc_preimport_cmd_edit->
|
||||
setText(svc_svc->preimportCommand(RDSvc::Traffic));
|
||||
@ -668,6 +680,7 @@ void EditSvc::Save()
|
||||
else {
|
||||
svc_svc->setElrShelflife(-1);
|
||||
}
|
||||
svc_svc->setIncludeImportMarkers(svc_import_markers_check->isChecked());
|
||||
svc_svc->setImportPath(RDSvc::Traffic,svc_tfc_path_edit->text());
|
||||
svc_svc->
|
||||
setPreimportCommand(RDSvc::Traffic,svc_tfc_preimport_cmd_edit->text());
|
||||
|
@ -84,6 +84,7 @@ class EditSvc : public QDialog
|
||||
QComboBox *svc_loglifeorigin_box;
|
||||
QCheckBox *svc_shelflife_box;
|
||||
QSpinBox *svc_shelflife_spin;
|
||||
QCheckBox *svc_import_markers_check;
|
||||
bool import_changed;
|
||||
};
|
||||
|
||||
|
@ -4043,6 +4043,10 @@ uloženo. Uložit nyní?</translation>
|
||||
<source>Preimport Command:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Include Import Markers in Finished Logs</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditSvcPerms</name>
|
||||
|
@ -3928,6 +3928,10 @@ gespeichert werden. Jetzt speichern?</translation>
|
||||
<source>Preimport Command:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Include Import Markers in Finished Logs</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditSvcPerms</name>
|
||||
|
@ -4000,6 +4000,10 @@ debe guardarse. ¿Hacerlo ahora?</translation>
|
||||
<source>Preimport Command:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Include Import Markers in Finished Logs</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditSvcPerms</name>
|
||||
|
@ -3373,6 +3373,10 @@ must be saved. Save now?</source>
|
||||
<source>Preimport Command:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Include Import Markers in Finished Logs</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditSvcPerms</name>
|
||||
|
@ -3877,6 +3877,10 @@ Lagre no?</translation>
|
||||
<source>Preimport Command:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Include Import Markers in Finished Logs</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditSvcPerms</name>
|
||||
|
@ -3877,6 +3877,10 @@ Lagre no?</translation>
|
||||
<source>Preimport Command:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Include Import Markers in Finished Logs</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditSvcPerms</name>
|
||||
|
@ -3908,6 +3908,10 @@ deve ser salva. Salvar Agora?</translation>
|
||||
<source>Preimport Command:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Include Import Markers in Finished Logs</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditSvcPerms</name>
|
||||
|
@ -390,29 +390,38 @@ void GenerateLog::musicData()
|
||||
RDLog *log=new RDLog(logname);
|
||||
if(((log->linkState(RDLog::SourceMusic)==RDLog::LinkDone)||
|
||||
(log->linkState(RDLog::SourceTraffic)==RDLog::LinkDone))) {
|
||||
if(QMessageBox::question(this,"RDLogManager - "+tr("Music Exists"),
|
||||
tr("The log for")+" "+
|
||||
gen_date_edit->date().toString("MM/dd/yyyy")+" "+
|
||||
tr("already contains merged music and/or traffic data.")+"\n"+
|
||||
tr("Remerging it will remove this data. Remerge?"),
|
||||
QMessageBox::Yes,QMessageBox::No)!=
|
||||
QMessageBox::Yes) {
|
||||
delete log;
|
||||
delete svc;
|
||||
return;
|
||||
}
|
||||
if((tracks=log->completedTracks())>0) {
|
||||
if(QMessageBox::warning(this,"RDLogManager - "+tr("Tracks Exist"),
|
||||
tr("This will also delete the")+
|
||||
QString().sprintf(" %u ",tracks)+
|
||||
tr("voice tracks associated with this log.")+
|
||||
"\n"+tr("Continue?"),
|
||||
QMessageBox::Yes,QMessageBox::No)!=
|
||||
if(log->includeImportMarkers()) {
|
||||
if(QMessageBox::question(this,"RDLogManager - "+tr("Music Exists"),
|
||||
tr("The log for")+" "+
|
||||
gen_date_edit->date().toString("MM/dd/yyyy")+" "+
|
||||
tr("already contains merged music and/or traffic data.")+"\n"+
|
||||
tr("Remerging it will remove this data. Remerge?"),
|
||||
QMessageBox::Yes,QMessageBox::No)!=
|
||||
QMessageBox::Yes) {
|
||||
delete log;
|
||||
delete svc;
|
||||
return;
|
||||
}
|
||||
if((tracks=log->completedTracks())>0) {
|
||||
if(QMessageBox::warning(this,"RDLogManager - "+tr("Tracks Exist"),
|
||||
tr("This will also delete the")+
|
||||
QString().sprintf(" %u ",tracks)+
|
||||
tr("voice tracks associated with this log.")+
|
||||
"\n"+tr("Continue?"),
|
||||
QMessageBox::Yes,QMessageBox::No)!=
|
||||
QMessageBox::Yes) {
|
||||
delete log;
|
||||
delete svc;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
QMessageBox::warning(this,"RDLogManager - "+tr("Error"),
|
||||
tr("The log for")+" "+
|
||||
gen_date_edit->date().toString("MM/dd/yyyy")+" "+
|
||||
tr("cannot be relinked."));
|
||||
return;
|
||||
}
|
||||
log->removeTracks(rda->station(),rda->user(),rda->config());
|
||||
if(!svc->clearLogLinks(RDSvc::Traffic,logname,rda->user(),&err_msg)) {
|
||||
@ -461,15 +470,24 @@ void GenerateLog::trafficData()
|
||||
rda->station(),rda->config(),svc->name());
|
||||
RDLog *log=new RDLog(logname);
|
||||
if((log->linkState(RDLog::SourceTraffic)==RDLog::LinkDone)) {
|
||||
if(QMessageBox::question(this,"RDLogManager - "+tr("Traffic Exists"),
|
||||
tr("The log for")+" "+
|
||||
gen_date_edit->date().toString("MM/dd/yyyy")+" "+
|
||||
tr("already contains merged traffic data.")+"\n"+
|
||||
tr("Remerging it will remove this data. Remerge?"),
|
||||
QMessageBox::Yes,QMessageBox::No)!=
|
||||
QMessageBox::Yes) {
|
||||
delete log;
|
||||
delete svc;
|
||||
if(log->includeImportMarkers()) {
|
||||
if(QMessageBox::question(this,"RDLogManager - "+tr("Traffic Exists"),
|
||||
tr("The log for")+" "+
|
||||
gen_date_edit->date().toString("MM/dd/yyyy")+" "+
|
||||
tr("already contains merged traffic data.")+"\n"+
|
||||
tr("Remerging it will remove this data. Remerge?"),
|
||||
QMessageBox::Yes,QMessageBox::No)!=
|
||||
QMessageBox::Yes) {
|
||||
delete log;
|
||||
delete svc;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
QMessageBox::warning(this,"RDLogManager - "+tr("Error"),
|
||||
tr("The log for")+" "+
|
||||
gen_date_edit->date().toString("MM/dd/yyyy")+" "+
|
||||
tr("cannot be relinked."));
|
||||
return;
|
||||
}
|
||||
if(!svc->clearLogLinks(RDSvc::Traffic,logname,rda->user(),&err_msg)) {
|
||||
@ -512,7 +530,9 @@ void GenerateLog::fileScanData()
|
||||
if(gen_music_enabled) {
|
||||
if(QFile::exists(svc->
|
||||
importFilename(RDSvc::Music,gen_date_edit->date()))) {
|
||||
gen_music_button->setEnabled(true);
|
||||
gen_music_button->setEnabled(log->includeImportMarkers()||
|
||||
(log->linkState(RDLog::SourceMusic)==
|
||||
RDLog::LinkMissing));
|
||||
gen_mus_avail_label->setPixmap(*gen_greenball_map);
|
||||
}
|
||||
else {
|
||||
@ -527,8 +547,11 @@ void GenerateLog::fileScanData()
|
||||
if(QFile::exists(svc->
|
||||
importFilename(RDSvc::Traffic,gen_date_edit->date()))) {
|
||||
gen_traffic_button->
|
||||
setEnabled((!gen_music_enabled)||
|
||||
(log->linkState(RDLog::SourceMusic)==RDLog::LinkDone));
|
||||
setEnabled(((!gen_music_enabled)||
|
||||
(log->linkState(RDLog::SourceMusic)==RDLog::LinkDone))&&
|
||||
(log->includeImportMarkers()||
|
||||
(log->linkState(RDLog::SourceTraffic)==
|
||||
RDLog::LinkMissing)));
|
||||
gen_tfc_avail_label->setPixmap(*gen_greenball_map);
|
||||
}
|
||||
else {
|
||||
|
@ -132,6 +132,13 @@ void LogObject::userData()
|
||||
(const char *)log->name().utf8());
|
||||
exit(256);
|
||||
}
|
||||
if((!log->includeImportMarkers())&&
|
||||
(log->linkState(RDLog::SourceMusic)!=RDLog::LinkMissing)) {
|
||||
fprintf(stderr,
|
||||
"rdlogmanager: music for log \"%s\" cannot be reimported\n",
|
||||
(const char *)log->name().utf8());
|
||||
exit(256);
|
||||
}
|
||||
report="";
|
||||
log->removeTracks(rda->station(),rda->user(),rda->config());
|
||||
if(!svc->clearLogLinks(RDSvc::Traffic,logname,rda->user(),&err_msg)) {
|
||||
@ -168,6 +175,13 @@ void LogObject::userData()
|
||||
(const char *)log->name().utf8());
|
||||
exit(256);
|
||||
}
|
||||
if((!log->includeImportMarkers())&&
|
||||
(log->linkState(RDLog::SourceTraffic)!=RDLog::LinkMissing)) {
|
||||
fprintf(stderr,
|
||||
"rdlogmanager: traffic for log \"%s\" cannot be reimported\n",
|
||||
(const char *)log->name().utf8());
|
||||
exit(256);
|
||||
}
|
||||
report="";
|
||||
if(!svc->clearLogLinks(RDSvc::Traffic,logname,rda->user(),&err_msg)) {
|
||||
fprintf(stderr,"rdlogmanager: %s\n",(const char *)err_msg);
|
||||
|
@ -887,11 +887,11 @@ Pokračovat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No Errors</source>
|
||||
<translation>Žádné chyby</translation>
|
||||
<translation type="unfinished">Žádné chyby</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No exceptions found.</source>
|
||||
<translation>Nenalezena žádná chyba.</translation>
|
||||
<translation type="unfinished">Nenalezena žádná chyba.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>already contains merged music and/or traffic data.
|
||||
@ -977,6 +977,10 @@ Opětovné sloučení tato data smaže. Sloučit znovu?</translation>
|
||||
<source>already contains merged traffic data.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cannot be relinked.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImportListView</name>
|
||||
|
@ -887,11 +887,11 @@ Fortfahren?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No Errors</source>
|
||||
<translation>Keine Fehler</translation>
|
||||
<translation type="unfinished">Keine Fehler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No exceptions found.</source>
|
||||
<translation>Keine Fehler gefunden.</translation>
|
||||
<translation type="unfinished">Keine Fehler gefunden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>already contains merged music and/or traffic data.
|
||||
@ -977,6 +977,10 @@ Einbinden wird diese entfernen. Fortfahren?</translation>
|
||||
<source>already contains merged traffic data.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cannot be relinked.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImportListView</name>
|
||||
|
@ -841,11 +841,11 @@ Do you want to save?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>No Errors</source>
|
||||
<translation>No hubo errores</translation>
|
||||
<translation type="unfinished">No hubo errores</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No exceptions found.</source>
|
||||
<translation>No se encontraron errores.</translation>
|
||||
<translation type="unfinished">No se encontraron errores.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This will also delete the</source>
|
||||
@ -979,6 +979,10 @@ removerá estos datos. ¿Remezclar?</translation>
|
||||
<source>already contains merged traffic data.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cannot be relinked.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImportListView</name>
|
||||
|
@ -801,14 +801,6 @@ Do you want to save?</source>
|
||||
<source>Tracks Exist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No Errors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No exceptions found.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Music Exists</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -877,6 +869,18 @@ Do you want to save?</source>
|
||||
<source>already contains merged traffic data.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No Errors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No exceptions found.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cannot be relinked.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImportListView</name>
|
||||
|
@ -900,11 +900,11 @@ Hald fram?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No Errors</source>
|
||||
<translation>Ingen feil</translation>
|
||||
<translation type="unfinished">Ingen feil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No exceptions found.</source>
|
||||
<translation>Fann ingen unntak.</translation>
|
||||
<translation type="unfinished">Fann ingen unntak.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>already contains merged music and/or traffic data.
|
||||
@ -982,6 +982,10 @@ Flettar du på nytt, vil du fjerna desse dataa. Flett på nytt?</translation>
|
||||
<source>already contains merged traffic data.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cannot be relinked.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImportListView</name>
|
||||
|
@ -900,11 +900,11 @@ Hald fram?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No Errors</source>
|
||||
<translation>Ingen feil</translation>
|
||||
<translation type="unfinished">Ingen feil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No exceptions found.</source>
|
||||
<translation>Fann ingen unntak.</translation>
|
||||
<translation type="unfinished">Fann ingen unntak.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>already contains merged music and/or traffic data.
|
||||
@ -982,6 +982,10 @@ Flettar du på nytt, vil du fjerna desse dataa. Flett på nytt?</translation>
|
||||
<source>already contains merged traffic data.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cannot be relinked.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImportListView</name>
|
||||
|
@ -893,11 +893,11 @@ Continue</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No Errors</source>
|
||||
<translation>Sem Erros</translation>
|
||||
<translation type="unfinished">Sem Erros</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No exceptions found.</source>
|
||||
<translation>Exceções não encontradas. Parabéns. </translation>
|
||||
<translation type="unfinished">Exceções não encontradas. Parabéns. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>already contains merged music and/or traffic data.
|
||||
@ -979,6 +979,10 @@ Re-agregar removerá estes dados. Re-agregar? </translation>
|
||||
<source>already contains merged traffic data.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cannot be relinked.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImportListView</name>
|
||||
|
@ -40,6 +40,16 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg)
|
||||
|
||||
// NEW SCHEMA REVERSIONS GO HERE...
|
||||
|
||||
//
|
||||
// Revert 301
|
||||
//
|
||||
if((cur_schema==301)&&(set_schema<cur_schema)) {
|
||||
DropColumn("LOGS","INCLUDE_IMPORT_MARKERS");
|
||||
DropColumn("SERVICES","INCLUDE_IMPORT_MARKERS");
|
||||
|
||||
WriteSchemaVersion(--cur_schema);
|
||||
}
|
||||
|
||||
//
|
||||
// Revert 300
|
||||
//
|
||||
|
@ -140,7 +140,7 @@ void MainObject::InitializeSchemaMap() {
|
||||
global_version_map["2.17"]=268;
|
||||
global_version_map["2.18"]=272;
|
||||
global_version_map["2.19"]=275;
|
||||
global_version_map["3.0"]=300;
|
||||
global_version_map["3.0"]=301;
|
||||
}
|
||||
|
||||
|
||||
|
@ -9598,6 +9598,23 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg)
|
||||
WriteSchemaVersion(++cur_schema);
|
||||
}
|
||||
|
||||
if((cur_schema<301)&&(set_schema>cur_schema)) {
|
||||
sql=QString("alter table SERVICES add column ")+
|
||||
"INCLUDE_IMPORT_MARKERS enum('N','Y') default 'Y' after ELR_SHELFLIFE";
|
||||
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
sql=QString("alter table LOGS add column ")+
|
||||
"INCLUDE_IMPORT_MARKERS enum('N','Y') default 'Y' after COMPLETED_TRACKS";
|
||||
if(!RDSqlQuery::apply(sql,err_msg)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
WriteSchemaVersion(++cur_schema);
|
||||
}
|
||||
|
||||
|
||||
// NEW SCHEMA UPDATES GO HERE...
|
||||
|
||||
//
|
||||
|
Loading…
x
Reference in New Issue
Block a user