mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-10-10 16:43:35 +02:00
2021-09-21 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in rdlibrary(1) that failed to update the length of macro carts after editing. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
@@ -166,6 +166,27 @@ QString RDMacroCartModel::allCode() const
|
||||
}
|
||||
|
||||
|
||||
int RDMacroCartModel::totalLength() const
|
||||
{
|
||||
int ret=0;
|
||||
bool ok=false;
|
||||
|
||||
for(int i=0;i<lineCount();i++) {
|
||||
QStringList f0=
|
||||
d_texts.at(i).at(1).toString().split(" ",QString::SkipEmptyParts);
|
||||
if((f0.size()==2)&&(f0.at(0)=="SP")) {
|
||||
f0[1].remove("!");
|
||||
int msec=f0.at(1).toInt(&ok);
|
||||
if(ok&&(msec>=0)) {
|
||||
ret+=msec;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
QModelIndex RDMacroCartModel::addLine(const QModelIndex &row,const QString &rml)
|
||||
{
|
||||
//
|
||||
@@ -207,8 +228,12 @@ void RDMacroCartModel::refresh(const QModelIndex &row,const QString &rml)
|
||||
|
||||
void RDMacroCartModel::save() const
|
||||
{
|
||||
int len=totalLength();
|
||||
QString sql=QString("update `CART` set ")+
|
||||
"`MACROS`=\""+RDEscapeString(allCode())+"\" where "+
|
||||
"`MACROS`='"+RDEscapeString(allCode())+"',"+
|
||||
QString::asprintf("`FORCED_LENGTH`=%d,",len)+
|
||||
QString::asprintf("`AVERAGE_LENGTH`=%d ",len)+
|
||||
"where "+
|
||||
QString::asprintf("`NUMBER`=%u",d_cart_number);
|
||||
RDSqlQuery::apply(sql);
|
||||
}
|
||||
|
@@ -48,6 +48,7 @@ class RDMacroCartModel : public QAbstractTableModel
|
||||
bool isEndHandle(const QModelIndex &row) const;
|
||||
QString code(const QModelIndex &row) const;
|
||||
QString allCode() const;
|
||||
int totalLength() const;
|
||||
QModelIndex addLine(const QModelIndex &row,const QString &rml);
|
||||
void removeLine(const QModelIndex &row);
|
||||
void refresh(const QModelIndex &row,const QString &rml);
|
||||
|
Reference in New Issue
Block a user