mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-07-04 06:29:08 +02:00
2020-12-29 Fred Gleason <fredg@paravelsystems.com>
* Refactored the Full Log widget in rdairplay to use the model-based API. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
ca7ead3ea3
commit
1ce6d0ddc3
@ -20756,3 +20756,6 @@
|
||||
'RDLogListModel'.
|
||||
2020-12-27 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Removed the 'RDLogEvent' class.
|
||||
2020-12-29 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Refactored the Full Log widget in rdairplay to use the model-based
|
||||
API.
|
||||
|
@ -2785,6 +2785,21 @@ Bitte Kofiguration prüfen und erneut versuchen.</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDLogPlay</name>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDMbLookup</name>
|
||||
<message>
|
||||
|
@ -2780,6 +2780,21 @@ Bitte Kofiguration prüfen und erneut versuchen.</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDLogPlay</name>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDMbLookup</name>
|
||||
<message>
|
||||
|
@ -2770,6 +2770,21 @@ Do you still want to proceed?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDLogPlay</name>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDMbLookup</name>
|
||||
<message>
|
||||
|
@ -2292,6 +2292,21 @@ Do you want to overwrite it?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDLogPlay</name>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDMbLookup</name>
|
||||
<message>
|
||||
|
@ -2751,6 +2751,21 @@ Sjekk eksportoppsettet ditt og prøv att.</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDLogPlay</name>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDMbLookup</name>
|
||||
<message>
|
||||
|
@ -2751,6 +2751,21 @@ Sjekk eksportoppsettet ditt og prøv att.</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDLogPlay</name>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDMbLookup</name>
|
||||
<message>
|
||||
|
@ -2785,6 +2785,21 @@ Por Favor, cheque suas configurações e tenbte outra vez.</translation>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDLogPlay</name>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDMbLookup</name>
|
||||
<message>
|
||||
|
@ -34,62 +34,6 @@ RDLogModel::RDLogModel(const QString &logname,bool read_only,QObject *parent)
|
||||
d_read_only=read_only;
|
||||
|
||||
MakeModel();
|
||||
/*
|
||||
d_fms=NULL;
|
||||
d_bold_fms=NULL;
|
||||
d_log_icons=new RDLogIcons();
|
||||
d_start_time_style=RDLogModel::Scheduled;
|
||||
d_max_id=0;
|
||||
|
||||
//
|
||||
// Column Attributes
|
||||
//
|
||||
unsigned left=Qt::AlignLeft|Qt::AlignVCenter;
|
||||
unsigned center=Qt::AlignCenter;
|
||||
unsigned right=Qt::AlignRight|Qt::AlignVCenter;
|
||||
|
||||
d_headers.push_back(tr("Start Time"));
|
||||
d_alignments.push_back(right);
|
||||
|
||||
d_headers.push_back(tr("Trans"));
|
||||
d_alignments.push_back(center);
|
||||
|
||||
d_headers.push_back(tr("Cart"));
|
||||
d_alignments.push_back(center);
|
||||
|
||||
d_headers.push_back(tr("Group"));
|
||||
d_alignments.push_back(center);
|
||||
|
||||
d_headers.push_back(tr("Length"));
|
||||
d_alignments.push_back(right);
|
||||
|
||||
d_headers.push_back(tr("Title"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Artist"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Client"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Agency"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Label"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Source"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Ext Data"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Line ID"));
|
||||
d_alignments.push_back(right);
|
||||
|
||||
d_headers.push_back(tr("Count"));
|
||||
d_alignments.push_back(right);
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
@ -129,6 +73,18 @@ void RDLogModel::setPalette(const QPalette &pal)
|
||||
}
|
||||
|
||||
|
||||
QFont RDLogModel::normalFont() const
|
||||
{
|
||||
return d_font;
|
||||
}
|
||||
|
||||
|
||||
QFont RDLogModel::boldFont() const
|
||||
{
|
||||
return d_bold_font;
|
||||
}
|
||||
|
||||
|
||||
void RDLogModel::setFont(const QFont &font)
|
||||
{
|
||||
d_font=font;
|
||||
@ -179,78 +135,19 @@ QVariant RDLogModel::data(const QModelIndex &index,int role) const
|
||||
if((ll=logLine(row))!=NULL) {
|
||||
switch((Qt::ItemDataRole)role) {
|
||||
case Qt::DisplayRole:
|
||||
switch(index.column()) {
|
||||
case 0: // Start Time
|
||||
return StartTimeString(row);
|
||||
|
||||
case 1: // Transition
|
||||
return RDLogLine::transText(ll->transType());
|
||||
|
||||
case 2: // Cart Number
|
||||
return ll->cartNumberText();
|
||||
|
||||
case 3: // Group
|
||||
return ll->groupName();
|
||||
|
||||
case 4: // Length
|
||||
return ll->forcedLengthText();
|
||||
|
||||
case 5: // Title
|
||||
return ll->titleText();
|
||||
|
||||
case 6: // Artist
|
||||
return ll->artist();
|
||||
|
||||
case 7: // Client
|
||||
return ll->client();
|
||||
|
||||
case 8: // Agency
|
||||
return ll->agency();
|
||||
|
||||
case 9: // Label
|
||||
return ll->markerLabel();
|
||||
|
||||
case 10: // Source
|
||||
return RDLogLine::sourceText(ll->source());
|
||||
|
||||
case 11: // Ext Data
|
||||
return ll->extData();
|
||||
|
||||
case 12: // Line ID
|
||||
return QString().sprintf("%d",ll->id());
|
||||
|
||||
case 13: // Count
|
||||
return QString().sprintf("%d",row);
|
||||
}
|
||||
break;
|
||||
return cellText(col,row,ll);
|
||||
|
||||
case Qt::DecorationRole:
|
||||
if(col==0) {
|
||||
return d_log_icons->typeIcon(ll->type(),ll->source());
|
||||
}
|
||||
break;
|
||||
return cellIcon(col,row,ll);
|
||||
|
||||
case Qt::FontRole:
|
||||
if(col==3) {
|
||||
return d_bold_font;
|
||||
}
|
||||
return d_font;
|
||||
return cellTextFont(col,row,ll);
|
||||
|
||||
case Qt::TextColorRole:
|
||||
switch(col) {
|
||||
case 0:
|
||||
if(ll->timeType()==RDLogLine::Hard) {
|
||||
return Qt::blue;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
return ll->groupColor();
|
||||
}
|
||||
break;
|
||||
return cellTextColor(col,row,ll);
|
||||
|
||||
case Qt::BackgroundRole:
|
||||
return backgroundColor(row,ll);
|
||||
return rowBackgroundColor(row,ll);
|
||||
|
||||
default:
|
||||
break;
|
||||
@ -319,6 +216,8 @@ int RDLogModel::load(bool track_ptrs)
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
|
||||
beginResetModel();
|
||||
|
||||
//
|
||||
// Get the service name
|
||||
//
|
||||
@ -336,10 +235,7 @@ int RDLogModel::load(bool track_ptrs)
|
||||
|
||||
LoadLines(d_log_name,0,track_ptrs);
|
||||
|
||||
if(lineCount()>0) {
|
||||
beginInsertRows(QModelIndex(),0,lineCount()-1);
|
||||
endInsertRows();
|
||||
}
|
||||
endResetModel();
|
||||
|
||||
return d_log_lines.size();
|
||||
}
|
||||
@ -517,7 +413,7 @@ int RDLogModel::validate(QString *report,const QDate &date)
|
||||
}
|
||||
|
||||
|
||||
void RDLogModel::refresh(int line)
|
||||
void RDLogModel::update(int line)
|
||||
{
|
||||
if(d_log_name.isEmpty()) {
|
||||
return;
|
||||
@ -1606,7 +1502,140 @@ void RDLogModel::emitAllDataChanged()
|
||||
}
|
||||
|
||||
|
||||
QColor RDLogModel::backgroundColor(int line,RDLogLine *ll) const
|
||||
QStringList RDLogModel::headerTexts() const
|
||||
{
|
||||
QStringList ret;
|
||||
|
||||
ret.push_back(tr("Start Time"));
|
||||
ret.push_back(tr("Trans"));
|
||||
ret.push_back(tr("Cart"));
|
||||
ret.push_back(tr("Group"));
|
||||
ret.push_back(tr("Length"));
|
||||
ret.push_back(tr("Title"));
|
||||
ret.push_back(tr("Artist"));
|
||||
ret.push_back(tr("Client"));
|
||||
ret.push_back(tr("Agency"));
|
||||
ret.push_back(tr("Label"));
|
||||
ret.push_back(tr("Source"));
|
||||
ret.push_back(tr("Ext Data"));
|
||||
ret.push_back(tr("Line ID"));
|
||||
ret.push_back(tr("Count"));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
QList<int> RDLogModel::columnAlignments() const
|
||||
{
|
||||
QList<int> ret;
|
||||
int left=Qt::AlignLeft|Qt::AlignVCenter;
|
||||
int center=Qt::AlignCenter;
|
||||
int right=Qt::AlignRight|Qt::AlignVCenter;
|
||||
|
||||
ret.push_back(right); // Start Time
|
||||
ret.push_back(center); // Trans
|
||||
ret.push_back(center); // Cart
|
||||
ret.push_back(center); // Group
|
||||
ret.push_back(right); // Length
|
||||
ret.push_back(left); // Title
|
||||
ret.push_back(left); // Artist
|
||||
ret.push_back(left); // Client
|
||||
ret.push_back(left); // Agency
|
||||
ret.push_back(left); // Label
|
||||
ret.push_back(left); // Source
|
||||
ret.push_back(left); // Ext Data
|
||||
ret.push_back(right); // Line ID
|
||||
ret.push_back(right); // Count
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
QPixmap RDLogModel::cellIcon(int col,int row,RDLogLine *ll) const
|
||||
{
|
||||
if(col==0) {
|
||||
return d_log_icons->typeIcon(ll->type(),ll->source());
|
||||
}
|
||||
return QPixmap();
|
||||
}
|
||||
|
||||
|
||||
QString RDLogModel::cellText(int col,int line,RDLogLine *ll) const
|
||||
{
|
||||
switch(col) {
|
||||
case 0: // Start Time
|
||||
return StartTimeString(line);
|
||||
|
||||
case 1: // Transition
|
||||
return RDLogLine::transText(ll->transType());
|
||||
|
||||
case 2: // Cart Number
|
||||
return ll->cartNumberText();
|
||||
|
||||
case 3: // Group
|
||||
return ll->groupName();
|
||||
|
||||
case 4: // Length
|
||||
return ll->forcedLengthText();
|
||||
|
||||
case 5: // Title
|
||||
return ll->titleText();
|
||||
|
||||
case 6: // Artist
|
||||
return ll->artist();
|
||||
|
||||
case 7: // Client
|
||||
return ll->client();
|
||||
|
||||
case 8: // Agency
|
||||
return ll->agency();
|
||||
|
||||
case 9: // Label
|
||||
return ll->markerLabel();
|
||||
|
||||
case 10: // Source
|
||||
return RDLogLine::sourceText(ll->source());
|
||||
|
||||
case 11: // Ext Data
|
||||
return ll->extData();
|
||||
|
||||
case 12: // Line ID
|
||||
return QString().sprintf("%d",ll->id());
|
||||
|
||||
case 13: // Count
|
||||
return QString().sprintf("%d",line);
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
|
||||
QFont RDLogModel::cellTextFont(int col,int line,RDLogLine *ll) const
|
||||
{
|
||||
if(col==3) {
|
||||
return d_bold_font;
|
||||
}
|
||||
return d_font;
|
||||
}
|
||||
|
||||
|
||||
QColor RDLogModel::cellTextColor(int col,int line,RDLogLine *ll) const
|
||||
{
|
||||
switch(col) {
|
||||
case 0:
|
||||
if(ll->timeType()==RDLogLine::Hard) {
|
||||
return Qt::blue;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
return ll->groupColor();
|
||||
}
|
||||
|
||||
return d_palette.color(QPalette::Foreground);
|
||||
}
|
||||
|
||||
|
||||
QColor RDLogModel::rowBackgroundColor(int line,RDLogLine *ll) const
|
||||
{
|
||||
return d_palette.color(QPalette::Base);
|
||||
}
|
||||
@ -1620,52 +1649,16 @@ void RDLogModel::MakeModel()
|
||||
d_start_time_style=RDLogModel::Scheduled;
|
||||
d_max_id=0;
|
||||
|
||||
//
|
||||
// Column Attributes
|
||||
//
|
||||
unsigned left=Qt::AlignLeft|Qt::AlignVCenter;
|
||||
unsigned center=Qt::AlignCenter;
|
||||
unsigned right=Qt::AlignRight|Qt::AlignVCenter;
|
||||
QStringList headers=headerTexts();
|
||||
QList<int> alignments=columnAlignments();
|
||||
|
||||
d_headers.push_back(tr("Start Time"));
|
||||
d_alignments.push_back(right);
|
||||
if(headers.size()!=alignments.size()) {
|
||||
fprintf(stderr,"header/alignment size mismatch\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
d_headers.push_back(tr("Trans"));
|
||||
d_alignments.push_back(center);
|
||||
|
||||
d_headers.push_back(tr("Cart"));
|
||||
d_alignments.push_back(center);
|
||||
|
||||
d_headers.push_back(tr("Group"));
|
||||
d_alignments.push_back(center);
|
||||
|
||||
d_headers.push_back(tr("Length"));
|
||||
d_alignments.push_back(right);
|
||||
|
||||
d_headers.push_back(tr("Title"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Artist"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Client"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Agency"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Label"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Source"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Ext Data"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
d_headers.push_back(tr("Line ID"));
|
||||
d_alignments.push_back(right);
|
||||
|
||||
d_headers.push_back(tr("Count"));
|
||||
d_alignments.push_back(right);
|
||||
for(int i=0;i<headers.size();i++) {
|
||||
d_headers.push_back(headers.at(i));
|
||||
d_alignments.push_back(alignments.at(i));
|
||||
}
|
||||
}
|
||||
|
@ -40,6 +40,8 @@ class RDLogModel : public QAbstractTableModel
|
||||
~RDLogModel();
|
||||
QPalette palette();
|
||||
void setPalette(const QPalette &pal);
|
||||
QFont normalFont() const;
|
||||
QFont boldFont() const;
|
||||
void setFont(const QFont &font);
|
||||
int columnCount(const QModelIndex &parent=QModelIndex()) const;
|
||||
int rowCount(const QModelIndex &parent=QModelIndex()) const;
|
||||
@ -58,7 +60,7 @@ class RDLogModel : public QAbstractTableModel
|
||||
int append(const QString &logname,bool track_ptrs=false);
|
||||
int validate(QString *report,const QDate &date);
|
||||
void clear();
|
||||
void refresh(int line);
|
||||
void update(int line);
|
||||
int lineCount() const;
|
||||
void insert(int line,int num_lines,bool preserve_trans=false);
|
||||
void remove(int line,int num_lines,bool preserve_trans=false);
|
||||
@ -89,7 +91,13 @@ class RDLogModel : public QAbstractTableModel
|
||||
protected:
|
||||
void emitDataChanged(int row);
|
||||
void emitAllDataChanged();
|
||||
virtual QColor backgroundColor(int line,RDLogLine *ll) const;
|
||||
virtual QStringList headerTexts() const;
|
||||
virtual QList<int> columnAlignments() const;
|
||||
virtual QPixmap cellIcon(int col,int row,RDLogLine *ll) const;
|
||||
virtual QString cellText(int col,int line,RDLogLine *ll) const;
|
||||
virtual QFont cellTextFont(int col,int line,RDLogLine *ll) const;
|
||||
virtual QColor cellTextColor(int col,int line,RDLogLine *ll) const;
|
||||
virtual QColor rowBackgroundColor(int line,RDLogLine *ll) const;
|
||||
|
||||
private:
|
||||
QString StartTimeString(int line) const;
|
||||
|
@ -55,6 +55,7 @@ RDLogPlay::RDLogPlay(int id,RDEventPlayer *player,QObject *parent)
|
||||
play_duck_volume_port1=0;
|
||||
play_duck_volume_port2=0;
|
||||
play_start_next=false;
|
||||
play_time_mode=RDAirPlayConf::TwentyFourHour;
|
||||
play_running=false;
|
||||
play_next_line=0;
|
||||
play_post_time=QTime();
|
||||
@ -71,6 +72,9 @@ RDLogPlay::RDLogPlay(int id,RDEventPlayer *player,QObject *parent)
|
||||
for(int i=0;i<LOGPLAY_MAX_PLAYS;i++) {
|
||||
play_slot_id[i]=i;
|
||||
}
|
||||
for(int i=0;i<24;i++) {
|
||||
play_hours[i]=false;
|
||||
}
|
||||
|
||||
//
|
||||
// PAD Server Connection
|
||||
@ -221,7 +225,7 @@ void RDLogPlay::setOpMode(RDAirPlayConf::OpMode mode)
|
||||
return;
|
||||
}
|
||||
play_op_mode=mode;
|
||||
UpdateStartTimes(play_line_counter);
|
||||
UpdateStartTimes();
|
||||
}
|
||||
|
||||
|
||||
@ -508,7 +512,7 @@ void RDLogPlay::makeNext(int line,bool refresh_status)
|
||||
SetTransTimer();
|
||||
UpdatePostPoint();
|
||||
emit nextEventChanged(line);
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
}
|
||||
|
||||
|
||||
@ -560,10 +564,11 @@ void RDLogPlay::load()
|
||||
delete log;
|
||||
play_line_counter=0;
|
||||
play_next_line=0;
|
||||
UpdateStartTimes(0);
|
||||
// UpdateStartTimes(0);
|
||||
UpdateStartTimes();
|
||||
emit reloaded();
|
||||
SetTransTimer();
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
UpdatePostPoint();
|
||||
if((running>0)&&(lineCount()>running)) {
|
||||
makeNext(running);
|
||||
@ -601,10 +606,10 @@ void RDLogPlay::append(const QString &log_name)
|
||||
}
|
||||
}
|
||||
RefreshEvents(old_size,lineCount()-old_size);
|
||||
UpdateStartTimes(old_size);
|
||||
UpdateStartTimes();
|
||||
emit reloaded();
|
||||
SetTransTimer();
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
UpdatePostPoint();
|
||||
}
|
||||
|
||||
@ -755,10 +760,10 @@ bool RDLogPlay::refresh()
|
||||
logLine(i)->clearPass();
|
||||
}
|
||||
RefreshEvents(0,lineCount());
|
||||
UpdateStartTimes(next_line);
|
||||
UpdateStartTimes();
|
||||
UpdatePostPoint();
|
||||
SetTransTimer();
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
emit reloaded();
|
||||
if(play_refreshable) {
|
||||
play_refreshable=false;
|
||||
@ -854,19 +859,20 @@ void RDLogPlay::insert(int line,int cartnum,RDLogLine::TransType next_type,
|
||||
logline->loadCart(cartnum,next_type,play_id,play_timescaling_available,type);
|
||||
logline->
|
||||
setTimescalingActive(play_timescaling_available&&logline->enforceLength());
|
||||
UpdateStartTimes(line);
|
||||
UpdateStartTimes();
|
||||
emit inserted(line);
|
||||
UpdatePostPoint();
|
||||
if(mod_line>=0) {
|
||||
emit modified(mod_line);
|
||||
}
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
SetTransTimer();
|
||||
UpdatePostPoint();
|
||||
}
|
||||
|
||||
|
||||
void RDLogPlay::insert(int line,RDLogLine *l,bool update,bool preserv_custom_transition)
|
||||
void RDLogPlay::insert(int line,RDLogLine *l,bool update,
|
||||
bool preserv_custom_transition)
|
||||
{
|
||||
RDLogLine *logline;
|
||||
int lines[TRANSPORT_QUANTITY];
|
||||
@ -908,13 +914,13 @@ void RDLogPlay::insert(int line,RDLogLine *l,bool update,bool preserv_custom_tra
|
||||
logline->
|
||||
setTimescalingActive(play_timescaling_available&&logline->enforceLength());
|
||||
if(update) {
|
||||
UpdateStartTimes(line);
|
||||
UpdateStartTimes();
|
||||
emit inserted(line);
|
||||
UpdatePostPoint();
|
||||
if(mod_line>=0) {
|
||||
emit modified(mod_line);
|
||||
}
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
SetTransTimer();
|
||||
UpdatePostPoint();
|
||||
}
|
||||
@ -971,14 +977,14 @@ void RDLogPlay::remove(int line,int num_lines,bool update,
|
||||
if(nextLine()>line) {
|
||||
makeNext(nextLine()-num_lines);
|
||||
}
|
||||
UpdateStartTimes(line);
|
||||
UpdateStartTimes();
|
||||
if(lineCount()==0) {
|
||||
emit reloaded();
|
||||
}
|
||||
if(mod_line>=0) {
|
||||
emit modified(mod_line);
|
||||
}
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
SetTransTimer();
|
||||
UpdatePostPoint();
|
||||
}
|
||||
@ -1050,12 +1056,7 @@ void RDLogPlay::move(int from_line,int to_line)
|
||||
offset=1;
|
||||
}
|
||||
RDLogModel::move(from_line,to_line);
|
||||
if(from_line>to_line) {
|
||||
UpdateStartTimes(to_line);
|
||||
}
|
||||
else {
|
||||
UpdateStartTimes(from_line);
|
||||
}
|
||||
UpdateStartTimes();
|
||||
SetTransTimer();
|
||||
UpdatePostPoint();
|
||||
emit inserted(to_line);
|
||||
@ -1072,7 +1073,7 @@ void RDLogPlay::move(int from_line,int to_line)
|
||||
makeNext(nextLine()+1);
|
||||
}
|
||||
else {
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1297,7 +1298,7 @@ void RDLogPlay::lineModified(int line)
|
||||
RDLogLine *next_logline;
|
||||
|
||||
SetTransTimer();
|
||||
UpdateStartTimes(line);
|
||||
UpdateStartTimes();
|
||||
|
||||
if((logline=logLine(line))!=NULL) {
|
||||
if((next_logline=logLine(line+1))==NULL) {
|
||||
@ -1317,7 +1318,7 @@ void RDLogPlay::lineModified(int line)
|
||||
line=lines[count-1];
|
||||
}
|
||||
UpdatePostPoint();
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
}
|
||||
|
||||
|
||||
@ -1362,6 +1363,25 @@ QTime RDLogPlay::nextStop() const
|
||||
}
|
||||
|
||||
|
||||
int RDLogPlay::startOfHour(int hour) const
|
||||
{
|
||||
for(int i=0;i<lineCount();i++) {
|
||||
RDLogLine *ll=logLine(i);
|
||||
if(ll->startTime(RDLogLine::Predicted).isValid()) {
|
||||
if(ll->startTime(RDLogLine::Predicted).hour()==hour) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
if(ll->startTime(RDLogLine::Imported).isValid()) {
|
||||
if(ll->startTime(RDLogLine::Imported).hour()==hour) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
bool RDLogPlay::running(bool include_paused)
|
||||
{
|
||||
if(runningEvents(NULL,include_paused)==0) {
|
||||
@ -1388,6 +1408,15 @@ bool RDLogPlay::isRefreshable() const
|
||||
}
|
||||
|
||||
|
||||
void RDLogPlay::setTimeMode(RDAirPlayConf::TimeMode mode)
|
||||
{
|
||||
if(play_time_mode!=mode) {
|
||||
play_time_mode=mode;
|
||||
emit dataChanged(createIndex(0,0),createIndex(0,lineCount()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDLogPlay::transTimerData()
|
||||
{
|
||||
int lines[TRANSPORT_QUANTITY];
|
||||
@ -1553,11 +1582,11 @@ void RDLogPlay::segueEndData(int id)
|
||||
(logline->status()==RDLogLine::Finishing)) {
|
||||
((RDPlayDeck *)logline->playDeck())->stop();
|
||||
CleanupEvent(id);
|
||||
UpdateStartTimes(line);
|
||||
UpdateStartTimes();
|
||||
LogTraffic(logline,(RDLogLine::PlaySource)(play_id+1),
|
||||
RDAirPlayConf::TrafficFinish,play_onair_flag);
|
||||
emit stopped(line);
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1609,10 +1638,10 @@ void RDLogPlay::macroStartedData()
|
||||
logline->
|
||||
setStartTime(RDLogLine::Initial,
|
||||
QTime::currentTime().addMSecs(rda->station()->timeOffset()));
|
||||
UpdateStartTimes(line);
|
||||
UpdateStartTimes();
|
||||
emit played(line);
|
||||
UpdatePostPoint();
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
}
|
||||
|
||||
|
||||
@ -1636,7 +1665,7 @@ void RDLogPlay::macroFinishedData()
|
||||
refresh();
|
||||
play_refresh_pending=false;
|
||||
}
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
}
|
||||
|
||||
|
||||
@ -1654,7 +1683,7 @@ void RDLogPlay::macroStoppedData()
|
||||
RDAirPlayConf::TrafficMacro,play_onair_flag);
|
||||
}
|
||||
UpdatePostPoint();
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
}
|
||||
|
||||
|
||||
@ -1757,6 +1786,118 @@ void RDLogPlay::notificationReceivedData(RDNotification *notify)
|
||||
}
|
||||
|
||||
|
||||
QString RDLogPlay::cellText(int col,int row,RDLogLine *ll) const
|
||||
{
|
||||
if(col==0) { // Start time
|
||||
if((ll->status()==RDLogLine::Scheduled)||
|
||||
(ll->status()==RDLogLine::Paused)) {
|
||||
if(ll->timeType()==RDLogLine::Hard) {
|
||||
return tr("T")+TimeString(ll->startTime(RDLogLine::Logged));
|
||||
}
|
||||
if(!ll->startTime(RDLogLine::Predicted).isNull()) {
|
||||
return TimeString(ll->startTime(RDLogLine::Predicted));
|
||||
}
|
||||
return QString("");
|
||||
}
|
||||
return TimeString(ll->startTime(RDLogLine::Actual));
|
||||
}
|
||||
|
||||
if(((ll->cutNumber()<0)&&(ll->type()==RDLogLine::Cart))) {
|
||||
if(col==5) { // Title
|
||||
if(ll->state()==RDLogLine::NoCart) {
|
||||
return tr("[CART NOT FOUND]");
|
||||
}
|
||||
}
|
||||
if(col==6) { // Artist
|
||||
if(ll->state()==RDLogLine::NoCut) {
|
||||
return tr("[NO AUDIO AVAILABLE]");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return RDLogModel::cellText(col,row,ll);
|
||||
}
|
||||
|
||||
|
||||
QFont RDLogPlay::cellTextFont(int col,int row,RDLogLine *ll) const
|
||||
{
|
||||
if(ll->timeType()==RDLogLine::Hard) {
|
||||
return boldFont();
|
||||
}
|
||||
|
||||
return RDLogModel::cellTextFont(col,row,ll);
|
||||
}
|
||||
|
||||
|
||||
QColor RDLogPlay::cellTextColor(int col,int row,RDLogLine *ll) const
|
||||
{
|
||||
if(col==3) {
|
||||
return ll->groupColor();
|
||||
}
|
||||
if(ll->timeType()==RDLogLine::Hard) {
|
||||
return Qt::blue;
|
||||
}
|
||||
|
||||
return RDLogModel::cellTextColor(col,row,ll);
|
||||
}
|
||||
|
||||
|
||||
QColor RDLogPlay::rowBackgroundColor(int row,RDLogLine *ll) const
|
||||
{
|
||||
switch(ll->status()) {
|
||||
case RDLogLine::Scheduled:
|
||||
case RDLogLine::Auditioning:
|
||||
if((ll->type()==RDLogLine::Cart)&&
|
||||
(ll->state()==RDLogLine::NoCart)) {
|
||||
return LOG_ERROR_COLOR;
|
||||
}
|
||||
else {
|
||||
if(((ll->cutNumber()<0)&&(ll->type()==RDLogLine::Cart))||
|
||||
(ll->state()==RDLogLine::NoCut)) {
|
||||
if((play_next_line>=0)&&(play_next_line==row)) {
|
||||
return LOG_NEXT_COLOR;
|
||||
}
|
||||
return LOG_ERROR_COLOR;
|
||||
}
|
||||
else {
|
||||
if((play_next_line>=0)&&(play_next_line==row)) {
|
||||
if(ll->evergreen()) {
|
||||
return LOG_EVERGREEN_COLOR;
|
||||
}
|
||||
else {
|
||||
return LOG_NEXT_COLOR;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(ll->evergreen()) {
|
||||
return LOG_EVERGREEN_COLOR;
|
||||
}
|
||||
else {
|
||||
return LOG_SCHEDULED_COLOR;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case RDLogLine::Playing:
|
||||
case RDLogLine::Finishing:
|
||||
return LOG_PLAYING_COLOR;
|
||||
|
||||
case RDLogLine::Paused:
|
||||
return LOG_PAUSED_COLOR;
|
||||
|
||||
case RDLogLine::Finished:
|
||||
if(ll->state()==RDLogLine::Ok) {
|
||||
return LOG_FINISHED_COLOR;
|
||||
}
|
||||
return LOG_ERROR_COLOR;
|
||||
}
|
||||
|
||||
return RDLogModel::rowBackgroundColor(row,ll);
|
||||
}
|
||||
|
||||
|
||||
bool RDLogPlay::StartEvent(int line,RDLogLine::TransType trans_type,
|
||||
int trans_length,RDLogLine::StartSource src,
|
||||
int mport,int duck_length)
|
||||
@ -1980,7 +2121,7 @@ bool RDLogPlay::StartEvent(int line,RDLogLine::TransType trans_type,
|
||||
LogTraffic(logline,(RDLogLine::PlaySource)(play_id+1),
|
||||
RDAirPlayConf::TrafficMacro,play_onair_flag);
|
||||
FinishEvent(line);
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
rda->syslog(LOG_INFO,
|
||||
"log engine: asynchronously executed macro cart: Line: %d Cart: %u",
|
||||
line,logline->cartNumber());
|
||||
@ -2018,7 +2159,7 @@ bool RDLogPlay::StartEvent(int line,RDLogLine::TransType trans_type,
|
||||
// Skip Past
|
||||
//
|
||||
logline->setStatus(RDLogLine::Finished);
|
||||
UpdateStartTimes(line);
|
||||
UpdateStartTimes();
|
||||
emit played(line);
|
||||
FinishEvent(line);
|
||||
emit nextEventChanged(play_next_line);
|
||||
@ -2160,7 +2301,7 @@ void RDLogPlay::CleanupEvent(int id)
|
||||
}
|
||||
|
||||
|
||||
void RDLogPlay::UpdateStartTimes(int line)
|
||||
void RDLogPlay::UpdateStartTimes()
|
||||
{
|
||||
QTime time;
|
||||
QTime new_time;
|
||||
@ -2176,13 +2317,13 @@ void RDLogPlay::UpdateStartTimes(int line)
|
||||
RDLogLine *next_logline;
|
||||
RDLogLine::TransType next_trans;
|
||||
int lines[TRANSPORT_QUANTITY];
|
||||
bool hours[24]={false};
|
||||
int line=play_next_line;
|
||||
|
||||
if((running=runningEvents(lines,false))>0) {
|
||||
line=lines[0];
|
||||
}
|
||||
else {
|
||||
line=play_next_line;
|
||||
}
|
||||
|
||||
for(int i=line;i<lineCount();i++) {
|
||||
if((logline=logLine(i))!=NULL) {
|
||||
if((next_logline=logLine(nextLine(i)))!=NULL) {
|
||||
@ -2192,21 +2333,19 @@ void RDLogPlay::UpdateStartTimes(int line)
|
||||
next_trans=RDLogLine::Stop;
|
||||
}
|
||||
stop=false;
|
||||
switch(logline->status()) {
|
||||
case RDLogLine::Playing:
|
||||
case RDLogLine::Finishing:
|
||||
if((logline->status()==RDLogLine::Playing)||
|
||||
(logline->status()==RDLogLine::Finishing)){
|
||||
time=logline->startTime(RDLogLine::Actual);
|
||||
break;
|
||||
|
||||
default:
|
||||
}
|
||||
else {
|
||||
time=GetStartTime(logline->startTime(RDLogLine::Logged),
|
||||
logline->transType(),
|
||||
logline->timeType(),
|
||||
time,prev_total_length,prev_segue_length,
|
||||
&stop,running);
|
||||
logline->setStartTime(RDLogLine::Predicted,time);
|
||||
break;
|
||||
}
|
||||
|
||||
if(stop&&(!stop_set)) {
|
||||
next_stop=time.addMSecs(prev_total_length);
|
||||
stop_set=true;
|
||||
@ -2220,23 +2359,19 @@ void RDLogPlay::UpdateStartTimes(int line)
|
||||
time.addMSecs(logline->effectiveLength()-
|
||||
logline->playPosition());
|
||||
|
||||
switch(logline->status()) {
|
||||
case RDLogLine::Scheduled:
|
||||
case RDLogLine::Paused:
|
||||
if((logline->status()==RDLogLine::Scheduled)||
|
||||
(logline->status()==RDLogLine::Paused)) {
|
||||
prev_total_length=logline->effectiveLength()-
|
||||
logline->playPosition();
|
||||
prev_segue_length=
|
||||
logline->segueLength(next_trans)-logline->playPosition();
|
||||
end_time=
|
||||
time.addMSecs(logline->effectiveLength()-
|
||||
logline->playPosition());
|
||||
break;
|
||||
default:
|
||||
time.addMSecs(logline->effectiveLength()-logline->playPosition());
|
||||
}
|
||||
else {
|
||||
prev_total_length=logline->effectiveLength();
|
||||
prev_segue_length=
|
||||
logline->segueLength(next_trans);
|
||||
end_time=
|
||||
time.addMSecs(logline->effectiveLength());
|
||||
prev_segue_length=logline->segueLength(next_trans);
|
||||
end_time=time.addMSecs(logline->effectiveLength());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2246,6 +2381,27 @@ void RDLogPlay::UpdateStartTimes(int line)
|
||||
play_next_stop=next_stop;
|
||||
emit nextStopChanged(play_next_stop);
|
||||
}
|
||||
|
||||
emit dataChanged(createIndex(0,0),createIndex(0,lineCount()));
|
||||
|
||||
for(int i=0;i<lineCount();i++) {
|
||||
RDLogLine *ll=logLine(i);
|
||||
if(ll->startTime(RDLogLine::Predicted).isValid()) {
|
||||
hours[ll->startTime(RDLogLine::Predicted).hour()]=true;
|
||||
}
|
||||
else {
|
||||
if(ll->startTime(RDLogLine::Imported).isValid()) {
|
||||
hours[ll->startTime(RDLogLine::Imported).hour()]=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
for(int i=0;i<24;i++) {
|
||||
if(hours[i]!=play_hours[i]) {
|
||||
emit hourChanged(i,hours[i]);
|
||||
play_hours[i]=hours[i];
|
||||
}
|
||||
}
|
||||
|
||||
SendNowNext();
|
||||
}
|
||||
|
||||
@ -2274,7 +2430,7 @@ void RDLogPlay::FinishEvent(int line)
|
||||
}
|
||||
}
|
||||
}
|
||||
UpdateStartTimes(line);
|
||||
UpdateStartTimes();
|
||||
emit stopped(line);
|
||||
}
|
||||
|
||||
@ -2454,7 +2610,6 @@ void RDLogPlay::AdvanceActiveEvent()
|
||||
}
|
||||
}
|
||||
else {
|
||||
//if(line<(size()-1)) {
|
||||
if(line<(lineCount())) {
|
||||
RDLogLine *logline;
|
||||
if((logline=logLine(line+1))!=NULL) {
|
||||
@ -2601,8 +2756,9 @@ bool RDLogPlay::GetNextPlayable(int *line,bool skip_meta,bool forced_start)
|
||||
emit modified(i);
|
||||
}
|
||||
else {
|
||||
if(logline->status()==RDLogLine::Scheduled || logline->status()==RDLogLine::Paused ||
|
||||
logline->status()==RDLogLine::Auditioning) {
|
||||
if((logline->status()==RDLogLine::Scheduled)||
|
||||
(logline->status()==RDLogLine::Paused)||
|
||||
(logline->status()==RDLogLine::Auditioning)) {
|
||||
if(((logline->transType()==RDLogLine::Stop)||
|
||||
(play_op_mode==RDAirPlayConf::LiveAssist))&&((i-skipped)!=*line)) {
|
||||
makeNext(i);
|
||||
@ -2656,8 +2812,6 @@ void RDLogPlay::LogPlayEvent(RDLogLine *logline)
|
||||
|
||||
void RDLogPlay::RefreshEvents(int line,int line_quan,bool force_update)
|
||||
{
|
||||
//QTime st=QTime::currentTime();
|
||||
|
||||
//
|
||||
// Check Event Status
|
||||
//
|
||||
@ -2698,6 +2852,16 @@ void RDLogPlay::RefreshEvents(int line,int line_quan,bool force_update)
|
||||
}
|
||||
|
||||
|
||||
void RDLogPlay::ChangeTransport()
|
||||
{
|
||||
emit transportChanged();
|
||||
if(play_next_line>=0) {
|
||||
emit dataChanged(createIndex(play_next_line,0),
|
||||
createIndex(play_next_line+6,columnCount()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDLogPlay::Playing(int id)
|
||||
{
|
||||
RDLogLine *logline;
|
||||
@ -2706,7 +2870,7 @@ void RDLogPlay::Playing(int id)
|
||||
if((logline=logLine(line))==NULL) {
|
||||
return;
|
||||
}
|
||||
UpdateStartTimes(line);
|
||||
UpdateStartTimes();
|
||||
emit played(line);
|
||||
AdvanceActiveEvent();
|
||||
UpdatePostPoint();
|
||||
@ -2717,7 +2881,7 @@ void RDLogPlay::Playing(int id)
|
||||
play_grace_timer->stop();
|
||||
}
|
||||
LogPlayEvent(logline);
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
}
|
||||
|
||||
|
||||
@ -2730,12 +2894,12 @@ void RDLogPlay::Paused(int id)
|
||||
logline->setPortName("");
|
||||
logline->setStatus(RDLogLine::Paused);
|
||||
}
|
||||
UpdateStartTimes(line);
|
||||
UpdateStartTimes();
|
||||
emit paused(line);
|
||||
UpdatePostPoint();
|
||||
LogTraffic(logLine(line),(RDLogLine::PlaySource)(play_id+1),
|
||||
RDAirPlayConf::TrafficPause,play_onair_flag);
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
}
|
||||
|
||||
|
||||
@ -2749,7 +2913,7 @@ void RDLogPlay::Stopped(int id)
|
||||
int line=GetLineById(id);
|
||||
int lines[TRANSPORT_QUANTITY];
|
||||
CleanupEvent(id);
|
||||
UpdateStartTimes(line);
|
||||
UpdateStartTimes();
|
||||
emit stopped(line);
|
||||
LogTraffic(logLine(line),(RDLogLine::PlaySource)(play_id+1),
|
||||
RDAirPlayConf::TrafficStop,play_onair_flag);
|
||||
@ -2763,7 +2927,7 @@ void RDLogPlay::Stopped(int id)
|
||||
if(runningEvents(lines)==0) {
|
||||
next_channel=0;
|
||||
}
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
}
|
||||
|
||||
|
||||
@ -2793,7 +2957,7 @@ void RDLogPlay::Finished(int id)
|
||||
}
|
||||
LogTraffic(logline,(RDLogLine::PlaySource)(play_id+1),
|
||||
RDAirPlayConf::TrafficFinish,play_onair_flag);
|
||||
emit transportChanged();
|
||||
ChangeTransport();
|
||||
}
|
||||
|
||||
|
||||
@ -2839,6 +3003,24 @@ RDLogLine::TransType RDLogPlay::GetTransType(const QString &logname,int line)
|
||||
}
|
||||
|
||||
|
||||
QString RDLogPlay::TimeString(const QTime &time) const
|
||||
{
|
||||
QString ret;
|
||||
switch(play_time_mode) {
|
||||
case RDAirPlayConf::TwelveHour:
|
||||
ret=time.toString("h:mm:ss.zzz");
|
||||
ret=ret.left(ret.length()-2);
|
||||
ret+=(" "+time.toString("ap"));
|
||||
break;
|
||||
|
||||
case RDAirPlayConf::TwentyFourHour:
|
||||
ret=time.toString("hh:mm:ss.zzz").left(10);
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
bool RDLogPlay::ClearBlock(int start_line)
|
||||
{
|
||||
RDLogLine::Status status;
|
||||
@ -2979,15 +3161,16 @@ void RDLogPlay::SendNowNext()
|
||||
//
|
||||
play_pad_socket->write(QString("{\r\n").toUtf8());
|
||||
play_pad_socket->write(QString(" \"padUpdate\": {\r\n").toUtf8());
|
||||
play_pad_socket->write(RDJsonField("dateTime",QDateTime::currentDateTime(),8).
|
||||
toUtf8());
|
||||
play_pad_socket->write(RDJsonField("hostName",
|
||||
rda->station()->name(),8).toUtf8());
|
||||
play_pad_socket->write(RDJsonField("shortHostName",
|
||||
rda->station()->shortName(),8).toUtf8());
|
||||
play_pad_socket->
|
||||
write(RDJsonField("dateTime",QDateTime::currentDateTime(),8).toUtf8());
|
||||
play_pad_socket->
|
||||
write(RDJsonField("hostName",rda->station()->name(),8).toUtf8());
|
||||
play_pad_socket->
|
||||
write(RDJsonField("shortHostName",rda->station()->shortName(),8).toUtf8());
|
||||
play_pad_socket->write(RDJsonField("machine",play_id+1,8));
|
||||
play_pad_socket->write(RDJsonField("onairFlag",play_onair_flag,8));
|
||||
play_pad_socket->write(RDJsonField("mode",RDAirPlayConf::logModeText(play_op_mode),8));
|
||||
play_pad_socket->
|
||||
write(RDJsonField("mode",RDAirPlayConf::logModeText(play_op_mode),8));
|
||||
|
||||
//
|
||||
// Service
|
||||
@ -3142,12 +3325,12 @@ void RDLogPlay::LogTraffic(RDLogLine *logline,RDLogLine::PlaySource src,
|
||||
return;
|
||||
}
|
||||
|
||||
QString eventDateTimeSQL = "NULL";
|
||||
QString evt_sql="NULL";
|
||||
|
||||
if(datetime.isValid() && logline->startTime(RDLogLine::Actual).isValid())
|
||||
eventDateTimeSQL = RDCheckDateTime(QDateTime(datetime.date(),
|
||||
if(datetime.isValid()&&logline->startTime(RDLogLine::Actual).isValid()) {
|
||||
evt_sql=RDCheckDateTime(QDateTime(datetime.date(),
|
||||
logline->startTime(RDLogLine::Actual)), "yyyy-MM-dd hh:mm:ss");
|
||||
|
||||
}
|
||||
sql=QString("insert into ELR_LINES set ")+
|
||||
"SERVICE_NAME=\""+RDEscapeString(serviceName())+"\","+
|
||||
QString().sprintf("LENGTH=%d,",length)+
|
||||
@ -3155,7 +3338,7 @@ void RDLogPlay::LogTraffic(RDLogLine *logline,RDLogLine::PlaySource src,
|
||||
QString().sprintf("LOG_ID=%d,",logline->id())+
|
||||
QString().sprintf("CART_NUMBER=%u,",logline->cartNumber())+
|
||||
"STATION_NAME=\""+RDEscapeString(rda->station()->name())+"\","+
|
||||
"EVENT_DATETIME="+eventDateTimeSQL+","+
|
||||
"EVENT_DATETIME="+evt_sql+","+
|
||||
QString().sprintf("EVENT_TYPE=%d,",action)+
|
||||
QString().sprintf("EVENT_SOURCE=%d,",logline->source())+
|
||||
"EXT_START_TIME="+RDCheckDateTime(logline->extStartTime(),"hh:mm:ss")+","+
|
||||
|
@ -21,8 +21,6 @@
|
||||
#ifndef RDLOGPLAY_H
|
||||
#define RDLOGPLAY_H
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QObject>
|
||||
#include <QSignalMapper>
|
||||
@ -87,8 +85,10 @@ class RDLogPlay : public RDLogModel
|
||||
void clear();
|
||||
void insert(int line,int cartnum,RDLogLine::TransType next_type,
|
||||
RDLogLine::TransType type=RDLogLine::Play);
|
||||
void insert(int line,RDLogLine *logline,bool update=true,bool preserv_custom_transition=false);
|
||||
void remove(int line,int num_lines,bool update=true,bool preserv_custom_transition=false);
|
||||
void insert(int line,RDLogLine *logline,bool update=true,
|
||||
bool preserv_custom_transition=false);
|
||||
void remove(int line,int num_lines,bool update=true,
|
||||
bool preserv_custom_transition=false);
|
||||
void move(int from_line,int to_line);
|
||||
void copy(int from_line,int to_line,
|
||||
RDLogLine::TransType type=RDLogLine::Play);
|
||||
@ -105,10 +105,14 @@ class RDLogPlay : public RDLogModel
|
||||
RDLogLine::Status status(int line);
|
||||
QTime startTime(int line);
|
||||
QTime nextStop() const;
|
||||
int startOfHour(int hour) const;
|
||||
bool running(bool include_paused=true);
|
||||
void resync();
|
||||
bool isRefreshable() const;
|
||||
|
||||
public slots:
|
||||
void setTimeMode(RDAirPlayConf::TimeMode mode);
|
||||
|
||||
private slots:
|
||||
void transTimerData();
|
||||
void graceTimerData();
|
||||
@ -123,7 +127,6 @@ class RDLogPlay : public RDLogModel
|
||||
void macroFinishedData();
|
||||
void macroStoppedData();
|
||||
void timescalingSupportedData(int card,bool state);
|
||||
// void rescanEventsData();
|
||||
void auditionStartedData();
|
||||
void auditionStoppedData();
|
||||
void notificationReceivedData(RDNotification *notify);
|
||||
@ -135,6 +138,7 @@ class RDLogPlay : public RDLogModel
|
||||
void inserted(int line);
|
||||
void removed(int line,int num,bool moving);
|
||||
void modified(int line);
|
||||
void hourChanged(int hour,bool state);
|
||||
void auditionHeadPlayed(int line);
|
||||
void auditionTailPlayed(int line);
|
||||
void auditionStopped(int line);
|
||||
@ -153,12 +157,18 @@ class RDLogPlay : public RDLogModel
|
||||
void channelStarted(int id,int mport,int card,int port);
|
||||
void channelStopped(int id,int mport,int card,int port);
|
||||
|
||||
protected:
|
||||
QString cellText(int col,int line,RDLogLine *ll) const;
|
||||
QFont cellTextFont(int col,int row,RDLogLine *ll) const;
|
||||
QColor cellTextColor(int col,int row,RDLogLine *ll) const;
|
||||
QColor rowBackgroundColor(int row,RDLogLine *ll) const;
|
||||
|
||||
private:
|
||||
bool StartEvent(int line,RDLogLine::TransType trans_type,int trans_length,
|
||||
RDLogLine::StartSource src,int mport=-1,int duck_length=0);
|
||||
bool StartAudioEvent(int line);
|
||||
void CleanupEvent(int id);
|
||||
void UpdateStartTimes(int line);
|
||||
void UpdateStartTimes();
|
||||
void FinishEvent(int line);
|
||||
QTime GetStartTime(QTime sched_time,RDLogLine::TransType trans_type,
|
||||
RDLogLine::TimeType time_type,QTime prev_time,
|
||||
@ -177,6 +187,7 @@ class RDLogPlay : public RDLogModel
|
||||
bool GetNextPlayable(int *line,bool skip_meta,bool forced_start=false);
|
||||
void LogPlayEvent(RDLogLine *logline);
|
||||
void RefreshEvents(int line,int line_quan,bool force_update=false);
|
||||
void ChangeTransport();
|
||||
void Playing(int id);
|
||||
void Paused(int id);
|
||||
void Stopping(int id);
|
||||
@ -184,6 +195,7 @@ class RDLogPlay : public RDLogModel
|
||||
void Finished(int id);
|
||||
void ClearChannel(int deckid);
|
||||
RDLogLine::TransType GetTransType(const QString &logname,int line);
|
||||
QString TimeString(const QTime &time) const;
|
||||
bool ClearBlock(int start_line);
|
||||
void SendNowNext();
|
||||
QString GetPadJson(const QString &name,RDLogLine *ll,
|
||||
@ -193,6 +205,7 @@ class RDLogPlay : public RDLogModel
|
||||
RDAirPlayConf::TrafficAction action,bool onair_flag) const;
|
||||
RDCae *play_cae;
|
||||
RDAirPlayConf::OpMode play_op_mode;
|
||||
RDAirPlayConf::TimeMode play_time_mode;
|
||||
int play_slot_id[LOGPLAY_MAX_PLAYS];
|
||||
int play_segue_length;
|
||||
int play_trans_length;
|
||||
@ -243,6 +256,7 @@ class RDLogPlay : public RDLogModel
|
||||
int play_audition_preroll;
|
||||
RDEventPlayer *play_event_player;
|
||||
RDUnixSocket *play_pad_socket;
|
||||
bool play_hours[24];
|
||||
};
|
||||
|
||||
|
||||
|
@ -51,6 +51,7 @@ dist_rdairplay_SOURCES = button_log.cpp button_log.h\
|
||||
list_logs.cpp list_logs.h\
|
||||
local_macros.cpp colors.h\
|
||||
loglinebox.cpp loglinebox.h\
|
||||
logtableview.cpp logtableview.h\
|
||||
mode_display.cpp mode_display.h\
|
||||
pie_counter.cpp pie_counter.h\
|
||||
post_counter.cpp post_counter.h\
|
||||
@ -67,6 +68,7 @@ nodist_rdairplay_SOURCES = moc_button_log.cpp\
|
||||
moc_list_log.cpp\
|
||||
moc_list_logs.cpp\
|
||||
moc_loglinebox.cpp\
|
||||
moc_logtableview.cpp\
|
||||
moc_mode_display.cpp\
|
||||
moc_pie_counter.cpp\
|
||||
moc_post_counter.cpp\
|
||||
|
@ -97,11 +97,9 @@ void HourSelector::setTimeMode(RDAirPlayConf::TimeMode mode)
|
||||
}
|
||||
|
||||
|
||||
void HourSelector::updateHours(bool states[24])
|
||||
void HourSelector::updateHour(int hour,bool state)
|
||||
{
|
||||
for(unsigned i=0;i<24;i++) {
|
||||
hour_button[i]->setEnabled(states[i]);
|
||||
}
|
||||
hour_button[hour]->setEnabled(state);
|
||||
}
|
||||
|
||||
|
||||
|
@ -31,7 +31,9 @@ class HourSelector : public RDWidget
|
||||
HourSelector(QWidget *parent=0);
|
||||
QSizePolicy sizePolicy() const;
|
||||
void setTimeMode(RDAirPlayConf::TimeMode mode);
|
||||
void updateHours(bool states[24]);
|
||||
|
||||
public slots:
|
||||
void updateHour(int hour,bool state);
|
||||
|
||||
signals:
|
||||
void hourSelected(int hour);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
// list_log.h
|
||||
//
|
||||
// The full log list widget for RDAirPlay.
|
||||
// The full log widget for RDAirPlay.
|
||||
//
|
||||
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
@ -21,14 +21,14 @@
|
||||
#ifndef LIST_LOG_H
|
||||
#define LIST_LOG_H
|
||||
|
||||
#include <rdlogplay.h>
|
||||
#include <rdwidget.h>
|
||||
|
||||
#include "edit_event.h"
|
||||
#include "hourselector.h"
|
||||
#include "lib_listview.h"
|
||||
#include "list_logs.h"
|
||||
|
||||
#define END_MARKER_ID -2
|
||||
#include "logtableview.h"
|
||||
|
||||
class ListLog : public RDWidget
|
||||
{
|
||||
@ -38,9 +38,6 @@ class ListLog : public RDWidget
|
||||
QWidget *parent=0);
|
||||
QSize sizeHint() const;
|
||||
QSizePolicy sizePolicy() const;
|
||||
void refresh();
|
||||
void refresh(int line);
|
||||
void setStatus(int line,RDLogLine::Status status);
|
||||
RDAirPlayConf::ActionMode actionMode() const;
|
||||
void setActionMode(RDAirPlayConf::ActionMode mode,int *cartnum=0);
|
||||
void setOpMode(RDAirPlayConf::OpMode mode);
|
||||
@ -62,43 +59,29 @@ class ListLog : public RDWidget
|
||||
void takeButtonData();
|
||||
void playButtonData();
|
||||
void modifyButtonData();
|
||||
void doubleclickedData(Q3ListViewItem *,const QPoint &,int);
|
||||
void doubleClickedData(const QModelIndex &index);
|
||||
void scrollButtonData();
|
||||
void refreshButtonData();
|
||||
void nextButtonData();
|
||||
void loadButtonData();
|
||||
void logReloadedData();
|
||||
void logPlayedData(int line);
|
||||
void logPausedData(int line);
|
||||
void logStoppedData(int line);
|
||||
void logInsertedData(int line);
|
||||
void logRemovedData(int line,int num,bool moving);
|
||||
void selectionChangedData();
|
||||
void selectionChangedData(const QItemSelection &new_sel,
|
||||
const QItemSelection &old_sel);
|
||||
void transportChangedData();
|
||||
void modifiedData(int line);
|
||||
void modelResetData();
|
||||
void refreshabilityChangedData(bool state);
|
||||
void cartDroppedData(int line,RDLogLine *ll);
|
||||
|
||||
private:
|
||||
enum PlayButtonMode {ButtonDisabled=0,ButtonPlay=1,ButtonStop=2};
|
||||
void RefreshList();
|
||||
void RefreshList(int line);
|
||||
void RefreshItem(RDListViewItem *l,int line);
|
||||
int CurrentLine();
|
||||
RDLogLine::Status CurrentStatus();
|
||||
RDLogLine::State CurrentState();
|
||||
void ClearSelection();
|
||||
RDListViewItem *GetItem(int line);
|
||||
void UpdateTimes(int removed_line=-1,int num_lines=0);
|
||||
void ScrollTo(int line);
|
||||
void UpdateColor(int line,bool next=false);
|
||||
void SetColor();
|
||||
void SetPlaybuttonMode(ListLog::PlayButtonMode mode);
|
||||
QString TimeString(const QTime &time) const;
|
||||
void UpdateHourSelector();
|
||||
int PredictedStartHour(RDListViewItem *item);
|
||||
HourSelector *list_hour_selector;
|
||||
LibListView *list_log_list;
|
||||
LogTableView *list_log_view;
|
||||
RDLogPlay *list_log;
|
||||
ListLogs *list_logs_dialog;
|
||||
RDAirPlayConf::ActionMode list_action_mode;
|
||||
@ -128,14 +111,6 @@ class ListLog : public RDWidget
|
||||
bool list_scroll;
|
||||
bool list_suspended_scroll;
|
||||
QPalette list_scroll_color[2];
|
||||
QPixmap *list_playout_map;
|
||||
QPixmap *list_macro_map;
|
||||
QPixmap *list_chain_map;
|
||||
QPixmap *list_track_cart_map;
|
||||
QPixmap *list_mic16_map;
|
||||
QPixmap *list_notemarker_map;
|
||||
QPixmap *list_traffic_map;
|
||||
QPixmap *list_music_map;
|
||||
bool list_pause_allowed;
|
||||
bool list_audition_head_playing;
|
||||
bool list_audition_tail_playing;
|
||||
|
56
rdairplay/logtableview.cpp
Normal file
56
rdairplay/logtableview.cpp
Normal file
@ -0,0 +1,56 @@
|
||||
// logtableview.cpp
|
||||
//
|
||||
// TableView widget for RDAirPlay
|
||||
//
|
||||
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
// 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 <rdcartdrag.h>
|
||||
#include <rdlogplay.h>
|
||||
|
||||
#include "logtableview.h"
|
||||
|
||||
LogTableView::LogTableView(QWidget *parent)
|
||||
: QTableView(parent)
|
||||
{
|
||||
setAcceptDrops(true);
|
||||
}
|
||||
|
||||
|
||||
void LogTableView::dragEnterEvent(QDragEnterEvent *e)
|
||||
{
|
||||
e->accept(RDCartDrag::canDecode(e));
|
||||
}
|
||||
|
||||
|
||||
void LogTableView::dragMoveEvent(QDragMoveEvent *e)
|
||||
{
|
||||
e->accept(RDCartDrag::canDecode(e));
|
||||
}
|
||||
|
||||
|
||||
void LogTableView::dropEvent(QDropEvent *e)
|
||||
{
|
||||
RDLogLine ll;
|
||||
int line=-1;
|
||||
int y_pos=e->pos().y();
|
||||
|
||||
if(RDCartDrag::decode(e,&ll)) {
|
||||
line=rowAt(y_pos);
|
||||
emit cartDropped(line,&ll);
|
||||
}
|
||||
}
|
47
rdairplay/logtableview.h
Normal file
47
rdairplay/logtableview.h
Normal file
@ -0,0 +1,47 @@
|
||||
// logtableview.h
|
||||
//
|
||||
// The Log TableView widget for RDAirPlay
|
||||
//
|
||||
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
// 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 LOGTABLEVIEW_H
|
||||
#define LOGTABLEVIEW_H
|
||||
|
||||
#include <QDropEvent>
|
||||
#include <QDragEnterEvent>
|
||||
#include <QTableView>
|
||||
|
||||
#include <rdlog_line.h>
|
||||
|
||||
class LogTableView : public QTableView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
LogTableView(QWidget *parent);
|
||||
|
||||
signals:
|
||||
void cartDropped(int line,RDLogLine *ll);
|
||||
|
||||
protected:
|
||||
void dragEnterEvent(QDragEnterEvent *e);
|
||||
void dragMoveEvent(QDragMoveEvent *e);
|
||||
void dropEvent(QDropEvent *e);
|
||||
};
|
||||
|
||||
|
||||
#endif // LOGTABLEVIEW_H
|
@ -23,9 +23,9 @@
|
||||
#include <sys/mman.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
#include <qapplication.h>
|
||||
#include <qmessagebox.h>
|
||||
#include <qtranslator.h>
|
||||
#include <QApplication>
|
||||
#include <QMessageBox>
|
||||
#include <QTranslator>
|
||||
|
||||
#include <rdconf.h>
|
||||
#include <rdgetpasswd.h>
|
||||
@ -39,7 +39,6 @@
|
||||
//
|
||||
// Global Resources
|
||||
//
|
||||
RDAudioPort *rdaudioport_conf;
|
||||
RDEventPlayer *rdevent_player;
|
||||
RDCartDialog *rdcart_dialog;
|
||||
MainWidget *prog_ptr;
|
||||
@ -1447,7 +1446,7 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
|
||||
rda->airplayConf()->defaultTransType());
|
||||
air_log[id]->logLine(air_log[id]->lineCount()-1)->
|
||||
setTransType(rda->airplayConf()->defaultTransType());
|
||||
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
|
||||
air_log[id]->update(air_log[id]->lineCount()-1);
|
||||
}
|
||||
else {
|
||||
air_log[id]->
|
||||
@ -1455,7 +1454,7 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
|
||||
rda->airplayConf()->defaultTransType());
|
||||
air_log[id]->logLine(line)->
|
||||
setTransType(rda->airplayConf()->defaultTransType());
|
||||
air_log_list[id]->refresh(line);
|
||||
air_log[id]->update(line);
|
||||
}
|
||||
SetActionMode(StartButton::Stop);
|
||||
break;
|
||||
@ -1484,14 +1483,14 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
|
||||
if(air_source_id==id) {
|
||||
if(line<0) {
|
||||
air_log[id]->move(air_copy_line,air_log[id]->lineCount());
|
||||
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
|
||||
air_log[id]->update(air_log[id]->lineCount()-1);
|
||||
}
|
||||
else {
|
||||
if(line>air_copy_line) {
|
||||
line--;
|
||||
}
|
||||
air_log[id]->move(air_copy_line,line);
|
||||
air_log_list[id]->refresh(line);
|
||||
air_log[id]->update(line);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -1499,12 +1498,12 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
|
||||
if(line<0) {
|
||||
air_log[id]->
|
||||
insert(air_log[id]->lineCount(),air_add_cart,RDLogLine::Play);
|
||||
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
|
||||
air_log[id]->update(air_log[id]->lineCount()-1);
|
||||
}
|
||||
else {
|
||||
air_log[id]->
|
||||
insert(line,air_add_cart,air_log[id]->nextTransType(line));
|
||||
air_log_list[id]->refresh(line);
|
||||
air_log[id]->update(line);
|
||||
}
|
||||
}
|
||||
SetActionMode(StartButton::Stop);
|
||||
@ -1540,7 +1539,7 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
|
||||
rda->airplayConf()->defaultTransType());
|
||||
air_log[id]->logLine(air_log[id]->lineCount()-1)->
|
||||
setTransType(rda->airplayConf()->defaultTransType());
|
||||
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
|
||||
air_log[id]->update(air_log[id]->lineCount()-1);
|
||||
}
|
||||
else {
|
||||
air_log[id]->
|
||||
@ -1548,7 +1547,7 @@ void MainWidget::selectClickedData(int id,int line,RDLogLine::Status status)
|
||||
rda->airplayConf()->defaultTransType());
|
||||
air_log[id]->logLine(line)->
|
||||
setTransType(rda->airplayConf()->defaultTransType());
|
||||
air_log_list[id]->refresh(line);
|
||||
air_log[id]->update(line);
|
||||
}
|
||||
}
|
||||
SetActionMode(StartButton::Stop);
|
||||
@ -1612,7 +1611,7 @@ void MainWidget::cartDroppedData(int id,int line,RDLogLine *ll)
|
||||
rda->airplayConf()->defaultTransType());
|
||||
air_log[id]->logLine(air_log[id]->lineCount()-1)->
|
||||
setTransType(rda->airplayConf()->defaultTransType());
|
||||
air_log_list[id]->refresh(air_log[id]->lineCount()-1);
|
||||
air_log[id]->update(air_log[id]->lineCount()-1);
|
||||
}
|
||||
else {
|
||||
air_log[id]->
|
||||
@ -1620,7 +1619,7 @@ void MainWidget::cartDroppedData(int id,int line,RDLogLine *ll)
|
||||
rda->airplayConf()->defaultTransType());
|
||||
air_log[id]->logLine(line)->
|
||||
setTransType(rda->airplayConf()->defaultTransType());
|
||||
air_log_list[id]->refresh(line);
|
||||
air_log[id]->update(line);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -28,6 +28,7 @@ x11 {
|
||||
SOURCES += list_logs.cpp
|
||||
SOURCES += local_macros.cpp
|
||||
SOURCES += loglinebox.cpp
|
||||
SOURCES += logtableview.cpp
|
||||
SOURCES += mode_display.cpp
|
||||
SOURCES += pie_counter.cpp
|
||||
SOURCES += post_counter.cpp
|
||||
@ -46,6 +47,7 @@ x11 {
|
||||
HEADERS += list_log.h
|
||||
HEADERS += list_logs.h
|
||||
HEADERS += loglinebox.h
|
||||
HEADERS += logtableview.h
|
||||
HEADERS += mode_display.h
|
||||
HEADERS += pie_counter.h
|
||||
HEADERS += post_counter.h
|
||||
|
@ -301,59 +301,59 @@ zápis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>--- end of log ---</source>
|
||||
<translation>--- konec zápisu ---</translation>
|
||||
<translation type="obsolete">--- konec zápisu ---</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PLAY</source>
|
||||
<translation>PŘEHRÁT</translation>
|
||||
<translation type="obsolete">PŘEHRÁT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>STOP</source>
|
||||
<translation>ZASTAVIT</translation>
|
||||
<translation type="obsolete">ZASTAVIT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SEGUE</source>
|
||||
<translation>PŘECHOD</translation>
|
||||
<translation type="obsolete">PŘECHOD</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MARKER</source>
|
||||
<translation>ZNAČKA</translation>
|
||||
<translation type="obsolete">ZNAČKA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TRACK</source>
|
||||
<translation>STOPA</translation>
|
||||
<translation type="obsolete">STOPA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LINK</source>
|
||||
<translation>ODKAZ</translation>
|
||||
<translation type="obsolete">ODKAZ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[music import]</source>
|
||||
<translation>[zavedení hudby]</translation>
|
||||
<translation type="obsolete">[zavedení hudby]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[traffic import]</source>
|
||||
<translation>[zavedení přenosu]</translation>
|
||||
<translation type="obsolete">[zavedení přenosu]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CHAIN TO</source>
|
||||
<translation>ŘETĚZ K</translation>
|
||||
<translation type="obsolete">ŘETĚZ K</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation>[VOZÍK NENALEZEN]</translation>
|
||||
<translation type="obsolete">[VOZÍK NENALEZEN]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO VALID CUT AVAILABLE]</source>
|
||||
<translation>[ŽÁDNÝ PLATNÝ ZÁBĚR NENÍ DOSTUPNÝ]</translation>
|
||||
<translation type="obsolete">[ŽÁDNÝ PLATNÝ ZÁBĚR NENÍ DOSTUPNÝ]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation>[ŽÁDNÝ ZVUK NENÍ DOSTUPNÝ]</translation>
|
||||
<translation type="obsolete">[ŽÁDNÝ ZVUK NENÍ DOSTUPNÝ]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished">T</translation>
|
||||
<translation type="obsolete">T</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause</source>
|
||||
@ -381,7 +381,7 @@ zápis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selected:</source>
|
||||
<translation>Vybráno:</translation>
|
||||
<translation type="unfinished">Vybráno:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Audition
|
||||
@ -399,70 +399,6 @@ poslechu</translation>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Len</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trans</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cart</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Album</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Agency</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Marker</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Line ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Count</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Est. Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sch. Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListLogs</name>
|
||||
|
@ -301,59 +301,59 @@ auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>--- end of log ---</source>
|
||||
<translation>--- ende des Logs ---</translation>
|
||||
<translation type="obsolete">--- ende des Logs ---</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PLAY</source>
|
||||
<translation>PLAY</translation>
|
||||
<translation type="obsolete">PLAY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>STOP</source>
|
||||
<translation>STOP</translation>
|
||||
<translation type="obsolete">STOP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SEGUE</source>
|
||||
<translation>SEGUE</translation>
|
||||
<translation type="obsolete">SEGUE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MARKER</source>
|
||||
<translation>MARKER</translation>
|
||||
<translation type="obsolete">MARKER</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TRACK</source>
|
||||
<translation>TRACK</translation>
|
||||
<translation type="obsolete">TRACK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LINK</source>
|
||||
<translation>LINK</translation>
|
||||
<translation type="obsolete">LINK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[music import]</source>
|
||||
<translation>[musikimport]</translation>
|
||||
<translation type="obsolete">[musikimport]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[traffic import]</source>
|
||||
<translation>[traffic import]</translation>
|
||||
<translation type="obsolete">[traffic import]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CHAIN TO</source>
|
||||
<translation>CHAIN TO</translation>
|
||||
<translation type="obsolete">CHAIN TO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation>[CART NICHT GEFUNDEN]</translation>
|
||||
<translation type="obsolete">[CART NICHT GEFUNDEN]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO VALID CUT AVAILABLE]</source>
|
||||
<translation>[KEIN GÜLTIGER CUT VERFÜGBAR]</translation>
|
||||
<translation type="obsolete">[KEIN GÜLTIGER CUT VERFÜGBAR]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation>[KEIN AUDIO VERFÜGBAR]</translation>
|
||||
<translation type="obsolete">[KEIN AUDIO VERFÜGBAR]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished">T</translation>
|
||||
<translation type="obsolete">T</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause</source>
|
||||
@ -381,7 +381,7 @@ auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selected:</source>
|
||||
<translation>Ausgewählt:</translation>
|
||||
<translation type="unfinished">Ausgewählt:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Audition
|
||||
@ -399,70 +399,6 @@ vorhören</translation>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Len</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trans</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cart</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Album</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Agency</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Marker</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Line ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Count</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Est. Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sch. Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListLogs</name>
|
||||
|
@ -291,47 +291,47 @@ Lista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>--- end of log ---</source>
|
||||
<translation>--- fin de la lista ---</translation>
|
||||
<translation type="obsolete">--- fin de la lista ---</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PLAY</source>
|
||||
<translation>REPRO</translation>
|
||||
<translation type="obsolete">REPRO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>STOP</source>
|
||||
<translation>PARAR</translation>
|
||||
<translation type="obsolete">PARAR</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SEGUE</source>
|
||||
<translation>SEGUE</translation>
|
||||
<translation type="obsolete">SEGUE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MARKER</source>
|
||||
<translation>MARCADOR</translation>
|
||||
<translation type="obsolete">MARCADOR</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CHAIN TO</source>
|
||||
<translation>ENCADENAR A</translation>
|
||||
<translation type="obsolete">ENCADENAR A</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation>[CARTUCHO NO ENCONTRADO]</translation>
|
||||
<translation type="obsolete">[CARTUCHO NO ENCONTRADO]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO VALID CUT AVAILABLE]</source>
|
||||
<translation>[NO HAY AUDIOS VÁLIDOS]</translation>
|
||||
<translation type="obsolete">[NO HAY AUDIOS VÁLIDOS]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished">T</translation>
|
||||
<translation type="obsolete">T</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation>[NO HAY AUDIO DISPONIBLE]</translation>
|
||||
<translation type="obsolete">[NO HAY AUDIO DISPONIBLE]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TRACK</source>
|
||||
<translation>PISTA</translation>
|
||||
<translation type="obsolete">PISTA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LEN</source>
|
||||
@ -339,15 +339,15 @@ Lista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LINK</source>
|
||||
<translation>ENLACE</translation>
|
||||
<translation type="obsolete">ENLACE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[music import]</source>
|
||||
<translation>[importar música]</translation>
|
||||
<translation type="obsolete">[importar música]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[traffic import]</source>
|
||||
<translation>[importar tráfico]</translation>
|
||||
<translation type="obsolete">[importar tráfico]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>EST TIME</source>
|
||||
@ -381,7 +381,7 @@ Lista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selected:</source>
|
||||
<translation>Selecc.:</translation>
|
||||
<translation type="unfinished">Selecc.:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Audition
|
||||
@ -399,70 +399,6 @@ Final</translation>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Len</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trans</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cart</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Album</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Agency</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Marker</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Line ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Count</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Est. Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sch. Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListLogs</name>
|
||||
|
@ -301,59 +301,59 @@ un Log</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>--- end of log ---</source>
|
||||
<translation>-- fin du log --</translation>
|
||||
<translation type="obsolete">-- fin du log --</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PLAY</source>
|
||||
<translation>LANCER</translation>
|
||||
<translation type="obsolete">LANCER</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>STOP</source>
|
||||
<translation>STOPPER</translation>
|
||||
<translation type="obsolete">STOPPER</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SEGUE</source>
|
||||
<translation>ENCHAINER</translation>
|
||||
<translation type="obsolete">ENCHAINER</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MARKER</source>
|
||||
<translation>MARQUE</translation>
|
||||
<translation type="obsolete">MARQUE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TRACK</source>
|
||||
<translation>TRACK</translation>
|
||||
<translation type="obsolete">TRACK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LINK</source>
|
||||
<translation>LIEN</translation>
|
||||
<translation type="obsolete">LIEN</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[music import]</source>
|
||||
<translation>[import musique]</translation>
|
||||
<translation type="obsolete">[import musique]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[traffic import]</source>
|
||||
<translation>[import pub]</translation>
|
||||
<translation type="obsolete">[import pub]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CHAIN TO</source>
|
||||
<translation>LIER A</translation>
|
||||
<translation type="obsolete">LIER A</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation>[CART INCONNU]</translation>
|
||||
<translation type="obsolete">[CART INCONNU]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO VALID CUT AVAILABLE]</source>
|
||||
<translation>[PAS DE CUT DISPONIBLE]</translation>
|
||||
<translation type="obsolete">[PAS DE CUT DISPONIBLE]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation>[PAS DE SON DISPONIBLE]</translation>
|
||||
<translation type="obsolete">[PAS DE SON DISPONIBLE]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished">T</translation>
|
||||
<translation type="obsolete">T</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause</source>
|
||||
@ -381,7 +381,7 @@ un Log</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selected:</source>
|
||||
<translation>Sélection:</translation>
|
||||
<translation type="unfinished">Sélection:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Audition
|
||||
@ -403,70 +403,6 @@ la Fin</translation>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Len</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trans</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cart</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Album</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Agency</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Marker</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Line ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Count</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Est. Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sch. Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListLogs</name>
|
||||
|
@ -305,19 +305,19 @@ logg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>--- end of log ---</source>
|
||||
<translation>--- slutt på loggen ---</translation>
|
||||
<translation type="obsolete">--- slutt på loggen ---</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PLAY</source>
|
||||
<translation>SPEL</translation>
|
||||
<translation type="obsolete">SPEL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>STOP</source>
|
||||
<translation>STOPP</translation>
|
||||
<translation type="obsolete">STOPP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SEGUE</source>
|
||||
<translation>OVERGANG</translation>
|
||||
<translation type="obsolete">OVERGANG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OVERLAP</source>
|
||||
@ -325,43 +325,43 @@ logg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MARKER</source>
|
||||
<translation>MARKØR</translation>
|
||||
<translation type="obsolete">MARKØR</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TRACK</source>
|
||||
<translation>SPOR</translation>
|
||||
<translation type="obsolete">SPOR</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LINK</source>
|
||||
<translation>LENKJE</translation>
|
||||
<translation type="obsolete">LENKJE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[music import]</source>
|
||||
<translation>[musikkimport]</translation>
|
||||
<translation type="obsolete">[musikkimport]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[traffic import]</source>
|
||||
<translation>[trafikkimport]</translation>
|
||||
<translation type="obsolete">[trafikkimport]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CHAIN TO</source>
|
||||
<translation>LENK TIL</translation>
|
||||
<translation type="obsolete">LENK TIL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation>[FANN IKKJE KORG]</translation>
|
||||
<translation type="obsolete">[FANN IKKJE KORG]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO VALID CUT AVAILABLE]</source>
|
||||
<translation>[GYLDIG KUTT FINST IKKJE</translation>
|
||||
<translation type="obsolete">[GYLDIG KUTT FINST IKKJE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation>[LYD FINST IKKJE]</translation>
|
||||
<translation type="obsolete">[LYD FINST IKKJE]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished">S</translation>
|
||||
<translation type="obsolete">S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause</source>
|
||||
@ -397,76 +397,12 @@ Tail</source>
|
||||
<source>Start</source>
|
||||
<translation type="unfinished">Start</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selected:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Len</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trans</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cart</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Album</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Agency</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Marker</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Line ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Count</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Est. Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sch. Time</source>
|
||||
<source>Selected:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -305,19 +305,19 @@ logg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>--- end of log ---</source>
|
||||
<translation>--- slutt på loggen ---</translation>
|
||||
<translation type="obsolete">--- slutt på loggen ---</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PLAY</source>
|
||||
<translation>SPEL</translation>
|
||||
<translation type="obsolete">SPEL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>STOP</source>
|
||||
<translation>STOPP</translation>
|
||||
<translation type="obsolete">STOPP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SEGUE</source>
|
||||
<translation>OVERGANG</translation>
|
||||
<translation type="obsolete">OVERGANG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OVERLAP</source>
|
||||
@ -325,43 +325,43 @@ logg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MARKER</source>
|
||||
<translation>MARKØR</translation>
|
||||
<translation type="obsolete">MARKØR</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TRACK</source>
|
||||
<translation>SPOR</translation>
|
||||
<translation type="obsolete">SPOR</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LINK</source>
|
||||
<translation>LENKJE</translation>
|
||||
<translation type="obsolete">LENKJE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[music import]</source>
|
||||
<translation>[musikkimport]</translation>
|
||||
<translation type="obsolete">[musikkimport]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[traffic import]</source>
|
||||
<translation>[trafikkimport]</translation>
|
||||
<translation type="obsolete">[trafikkimport]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CHAIN TO</source>
|
||||
<translation>LENK TIL</translation>
|
||||
<translation type="obsolete">LENK TIL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation>[FANN IKKJE KORG]</translation>
|
||||
<translation type="obsolete">[FANN IKKJE KORG]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO VALID CUT AVAILABLE]</source>
|
||||
<translation>[GYLDIG KUTT FINST IKKJE</translation>
|
||||
<translation type="obsolete">[GYLDIG KUTT FINST IKKJE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation>[LYD FINST IKKJE]</translation>
|
||||
<translation type="obsolete">[LYD FINST IKKJE]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished">S</translation>
|
||||
<translation type="obsolete">S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause</source>
|
||||
@ -397,76 +397,12 @@ Tail</source>
|
||||
<source>Start</source>
|
||||
<translation type="unfinished">Start</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selected:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Len</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trans</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cart</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Album</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Agency</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Marker</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Line ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Count</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Est. Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sch. Time</source>
|
||||
<source>Selected:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -330,63 +330,63 @@ Log</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selected:</source>
|
||||
<translation>Selecionado:</translation>
|
||||
<translation type="unfinished">Selecionado:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>--- end of log ---</source>
|
||||
<translation>Fim da Lista</translation>
|
||||
<translation type="obsolete">Fim da Lista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PLAY</source>
|
||||
<translation>TOQUE</translation>
|
||||
<translation type="obsolete">TOQUE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>STOP</source>
|
||||
<translation>PARE</translation>
|
||||
<translation type="obsolete">PARE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SEGUE</source>
|
||||
<translation>SOBRE</translation>
|
||||
<translation type="obsolete">SOBRE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MARKER</source>
|
||||
<translation>MARCADOR</translation>
|
||||
<translation type="obsolete">MARCADOR</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TRACK</source>
|
||||
<translation>PISTA</translation>
|
||||
<translation type="obsolete">PISTA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LINK</source>
|
||||
<translation>LINK</translation>
|
||||
<translation type="obsolete">LINK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[music import]</source>
|
||||
<translation>[importar música]</translation>
|
||||
<translation type="obsolete">[importar música]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[traffic import]</source>
|
||||
<translation>[importar tráfego]</translation>
|
||||
<translation type="obsolete">[importar tráfego]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CHAIN TO</source>
|
||||
<translation>CORRENTE PARA</translation>
|
||||
<translation type="obsolete">CORRENTE PARA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[CART NOT FOUND]</source>
|
||||
<translation>[CART NÃO ENCONTRADO]</translation>
|
||||
<translation type="obsolete">[CART NÃO ENCONTRADO]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO VALID CUT AVAILABLE]</source>
|
||||
<translation>[NÃO HÁ CONTEÚDO VÁLIDO]</translation>
|
||||
<translation type="obsolete">[NÃO HÁ CONTEÚDO VÁLIDO]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[NO AUDIO AVAILABLE]</source>
|
||||
<translation>[NÃO HÁ ÁUDIO VÁLIDO]</translation>
|
||||
<translation type="obsolete">[NÃO HÁ ÁUDIO VÁLIDO]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>T</source>
|
||||
<translation type="unfinished">T</translation>
|
||||
<translation type="obsolete">T</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pause</source>
|
||||
@ -400,70 +400,6 @@ Log</source>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Len</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trans</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cart</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Artist</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Album</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Agency</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Marker</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Line ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Count</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Est. Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sch. Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListLogs</name>
|
||||
|
@ -710,7 +710,7 @@ void EditLog::insertCartButtonData()
|
||||
edit_log_model,line,this);
|
||||
int ret=edit->exec();
|
||||
if(ret>=0) {
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
SetLogModified(true);
|
||||
}
|
||||
else {
|
||||
@ -744,7 +744,7 @@ void EditLog::insertMarkerButtonData()
|
||||
edit_marker=new EditMarker(edit_log_model->logLine(line),this);
|
||||
ret=edit_marker->exec();
|
||||
if(ret>=0) {
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
SetLogModified(true);
|
||||
}
|
||||
else {
|
||||
@ -761,7 +761,7 @@ void EditLog::insertMarkerButtonData()
|
||||
edit_track=new EditTrack(edit_log_model->logLine(line),this);
|
||||
ret=edit_track->exec();
|
||||
if(ret>=0) {
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
SetLogModified(true);
|
||||
}
|
||||
else {
|
||||
@ -776,7 +776,7 @@ void EditLog::insertMarkerButtonData()
|
||||
edit_chain=new EditChain(edit_log_model->logLine(line),this);
|
||||
ret=edit_chain->exec();
|
||||
if(ret>=0) {
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
SetLogModified(true);
|
||||
}
|
||||
else {
|
||||
@ -854,7 +854,7 @@ void EditLog::editButtonData()
|
||||
edit_schedcode,edit_service_box->currentText(),
|
||||
edit_log_model,line,this);
|
||||
if(edit_cart->exec()>=0) {
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
SetLogModified(true);
|
||||
}
|
||||
delete edit_cart;
|
||||
@ -995,7 +995,7 @@ void EditLog::cartDroppedData(int line,RDLogLine *ll)
|
||||
edit_log_model->logLine(line)->setTransType(edit_default_trans);
|
||||
edit_log_model->logLine(line)->setFadeupGain(-3000);
|
||||
edit_log_model->logLine(line)->setFadedownGain(-3000);
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
SetLogModified(true);
|
||||
}
|
||||
|
||||
|
@ -72,7 +72,7 @@ void LogModel::setServiceName(const QString &str)
|
||||
}
|
||||
|
||||
|
||||
QColor LogModel::backgroundColor(int line,RDLogLine *ll) const
|
||||
QColor LogModel::rowBackgroundColor(int row,RDLogLine *ll) const
|
||||
{
|
||||
QDateTime now=QDateTime(QDate::currentDate(),QTime::currentTime());
|
||||
|
||||
@ -82,7 +82,7 @@ QColor LogModel::backgroundColor(int line,RDLogLine *ll) const
|
||||
case RDCart::AlwaysValid:
|
||||
if(d_group_list->groupIsValid(ll->groupName())||
|
||||
ll->groupName().isEmpty()) {
|
||||
return RDLogModel::backgroundColor(line,ll);
|
||||
return RDLogModel::rowBackgroundColor(row,ll);
|
||||
}
|
||||
return RD_CART_INVALID_SERVICE_COLOR;
|
||||
|
||||
@ -102,9 +102,9 @@ QColor LogModel::backgroundColor(int line,RDLogLine *ll) const
|
||||
|
||||
default:
|
||||
if(d_group_list->groupIsValid(ll->groupName())||ll->groupName().isEmpty()) {
|
||||
return RDLogModel::backgroundColor(line,ll);
|
||||
return RDLogModel::rowBackgroundColor(row,ll);
|
||||
}
|
||||
return RD_CART_INVALID_SERVICE_COLOR;
|
||||
}
|
||||
return RDLogModel::backgroundColor(line,ll);
|
||||
return RDLogModel::rowBackgroundColor(row,ll);
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ class LogModel : public RDLogModel
|
||||
void setServiceName(const QString &str);
|
||||
|
||||
protected:
|
||||
QColor backgroundColor(int line,RDLogLine *ll) const;
|
||||
QColor rowBackgroundColor(int row,RDLogLine *ll) const;
|
||||
|
||||
private:
|
||||
RDGroupList *d_group_list;
|
||||
|
@ -1019,7 +1019,7 @@ void VoiceTracker::resetData()
|
||||
return;
|
||||
}
|
||||
if(d_loaded) {
|
||||
d_log_model->refresh(line);
|
||||
d_log_model->update(line);
|
||||
d_tracks++;
|
||||
}
|
||||
LoadBlockLength(d_track_line);
|
||||
@ -1074,7 +1074,7 @@ void VoiceTracker::insertData(int line,RDLogLine *logline,bool warn)
|
||||
d_log_model->logLine(line)->setType(RDLogLine::Track);
|
||||
d_log_model->logLine(line)->setTransType(RDLogLine::Segue);
|
||||
d_log_model->logLine(line)->setMarkerComment(tr("Voice Track"));
|
||||
d_log_model->refresh(line);
|
||||
d_log_model->update(line);
|
||||
|
||||
d_tracks++;
|
||||
d_size_altered=true;
|
||||
|
@ -36,7 +36,7 @@ void MainObject::Addcart(int line,unsigned cartnum)
|
||||
edit_log_model->logLine(line)->setFadeupGain(-3000);
|
||||
edit_log_model->logLine(line)->setFadedownGain(-3000);
|
||||
edit_log_model->logLine(line)->setCartNumber(cartnum);
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
edit_modified=true;
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ void MainObject::Addchain(int line,const QString &logname)
|
||||
edit_log_model->logLine(line)->
|
||||
setTransType(rda->airplayConf()->defaultTransType());
|
||||
edit_log_model->logLine(line)->setMarkerLabel(logname);
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
edit_modified=true;
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ void MainObject::Addmarker(int line)
|
||||
setTransType(rda->airplayConf()->defaultTransType());
|
||||
edit_log_model->logLine(line)->setMarkerLabel(tr("Label"));
|
||||
edit_log_model->logLine(line)->setMarkerComment(tr("Marker Comment"));
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
edit_modified=true;
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ void MainObject::Addtrack(int line)
|
||||
edit_log_model->logLine(line)->
|
||||
setTransType(rda->airplayConf()->defaultTransType());
|
||||
edit_log_model->logLine(line)->setMarkerComment(tr("Voice Track"));
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
edit_modified=true;
|
||||
}
|
||||
|
||||
@ -462,7 +462,7 @@ void MainObject::Setcart(int line,unsigned cartnum)
|
||||
if((logline->type()==RDLogLine::Cart)||
|
||||
(logline->type()==RDLogLine::Macro)) {
|
||||
logline->setCartNumber(cartnum);
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
edit_modified=true;
|
||||
}
|
||||
else {
|
||||
@ -482,7 +482,7 @@ void MainObject::Setcomment(int line,const QString &str)
|
||||
if((logline->type()==RDLogLine::Marker)||
|
||||
(logline->type()==RDLogLine::Track)) {
|
||||
logline->setMarkerComment(str);
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
edit_modified=true;
|
||||
}
|
||||
else {
|
||||
@ -516,7 +516,7 @@ void MainObject::Setlabel(int line,const QString &str)
|
||||
if((logline->type()==RDLogLine::Chain)||
|
||||
(logline->type()==RDLogLine::Marker)) {
|
||||
logline->setMarkerLabel(str);
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
edit_modified=true;
|
||||
}
|
||||
else {
|
||||
@ -562,7 +562,7 @@ void MainObject::Settime(int line,RDLogLine::TimeType type,const QTime &time)
|
||||
void MainObject::Settrans(int line,RDLogLine::TransType type)
|
||||
{
|
||||
edit_log_model->logLine(line)->setTransType(type);
|
||||
edit_log_model->refresh(line);
|
||||
edit_log_model->update(line);
|
||||
edit_modified=true;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user