diff --git a/Compass/Compass.zip b/Compass/Compass.zip new file mode 100644 index 0000000..a5bbb4e Binary files /dev/null and b/Compass/Compass.zip differ diff --git a/LedOK/QXlsx/source/xlsxcell.cpp b/LedOK/QXlsx/source/xlsxcell.cpp index 2de4718..9c93755 100644 --- a/LedOK/QXlsx/source/xlsxcell.cpp +++ b/LedOK/QXlsx/source/xlsxcell.cpp @@ -205,11 +205,11 @@ QVariant Cell::readValue() const // */ } - if (hasFormula()) { - QString formulaString = this->formula().formulaText(); - ret = formulaString; - return ret; // return formula string - } + // if (hasFormula()) { + // QString formulaString = this->formula().formulaText(); + // ret = formulaString; + // return ret; // return formula string + // } return ret; } diff --git a/LedOK/QXlsx/source/xlsxworksheet.cpp b/LedOK/QXlsx/source/xlsxworksheet.cpp index 9f692f9..b4877c8 100644 --- a/LedOK/QXlsx/source/xlsxworksheet.cpp +++ b/LedOK/QXlsx/source/xlsxworksheet.cpp @@ -2057,10 +2057,9 @@ double Worksheet::rowHeight(int row) const int min_col = d->dimension.isValid() ? d->dimension.firstColumn() : 1; auto it = d->rowsInfo.constFind(row); - if (d->checkDimensions(row, min_col, false, true) || it == d->rowsInfo.constEnd()) { + if(d->checkDimensions(row, min_col, false, true) || it == d->rowsInfo.constEnd() ||(*it)->height==0) { return d->sheetFormatProps.defaultRowHeight; // return default on invalid row } - return (*it)->height; } diff --git a/LedOK/gutil/qcore.h b/LedOK/gutil/qcore.h index df3ff4e..ab8b1dd 100644 --- a/LedOK/gutil/qcore.h +++ b/LedOK/gutil/qcore.h @@ -5,6 +5,7 @@ #include #include #include +#include "windows.h" #define ToStr QString::number @@ -57,7 +58,7 @@ inline void OpenCMD(const QStringList &arguments) { template inline QThread *ThreadStart(Func &&f) { - QThread* thread = QThread::create(f); + auto thread = QThread::create(f); QObject::connect(thread, &QThread::finished, thread, &QThread::deleteLater); thread->start(); return thread; diff --git a/LedOK/program/etable.cpp b/LedOK/program/etable.cpp index 1f59b26..5cb98a5 100644 --- a/LedOK/program/etable.cpp +++ b/LedOK/program/etable.cpp @@ -508,6 +508,7 @@ bool ETable::save(const QString &pageDir) { int ETable::read(QXlsx::Worksheet *sheet) { int rowCnt, colCnt; auto cells = sheet->getFullCells(&rowCnt, &colCnt); + qDebug()<<"rowCnt colCnt"<dimension(); if(dimension.rowCount() > rowCnt) rowCnt = dimension.rowCount(); if(dimension.columnCount() > colCnt) colCnt = dimension.columnCount(); @@ -517,7 +518,7 @@ int ETable::read(QXlsx::Worksheet *sheet) { for(int c=0; csetColumnWidth(c, sheet->columnWidth(c+1) * 7.2); for(auto &cell : cells) { auto fmt = cell.cell->format(); - auto item = new QTableWidgetItem(cell.cell->value().toString()); + auto item = new QTableWidgetItem(cell.cell->readValue().toString()); auto ft = fmt.font(); ft.setStyleStrategy(QFont::NoAntialias); item->setFont(ft); @@ -535,7 +536,7 @@ int ETable::read(QXlsx::Worksheet *sheet) { else if(va==QXlsx::Format::AlignBottom) vAlign = Qt::AlignBottom; item->setTextAlignment(hAlign | vAlign); table->setItem(cell.row-1, cell.col-1, item); - qDebug()<cellType()<cellType()<cellType(); } auto mergeds = sheet->mergedCells(); diff --git a/LedOK/program/evideo.cpp b/LedOK/program/evideo.cpp index a09c8e5..35725c4 100644 --- a/LedOK/program/evideo.cpp +++ b/LedOK/program/evideo.cpp @@ -49,7 +49,7 @@ EVideo *EVideo::create(const JObj &ele, PageListItem *pageItem, EBase *multiWin) dur = round(dur*0.000001); auto ins = new EVideo(dir, name, widget["pathRaw"].toString(), widget["fileRaw"].toString(), img, pageItem, multiWin); ins->setBaseAttr(ele); - if(ins->_duration < 4) ins->_duration = dur; + if(ins->_duration < 4 && ins->_duration < dur*0.125) ins->_duration = dur; ins->vol = ele["vol"].toInt(100); ins->useSW = ele["useSW"].toBool(); ins->isPreSplit = ele["isPreSplit"].toBool();