Add RE command to TTI file handling
This commit is contained in:
@@ -297,7 +297,7 @@ bool LevelOnePage::packetExists(int packetNumber, int designationCode) const
|
|||||||
|
|
||||||
if (packetNumber == 28) {
|
if (packetNumber == 28) {
|
||||||
if (designationCode == 0) {
|
if (designationCode == 0) {
|
||||||
if (m_leftSidePanelDisplayed || m_rightSidePanelDisplayed || m_defaultScreenColour !=0 || m_defaultRowColour !=0 || m_blackBackgroundSubst || m_colourTableRemap !=0 || m_defaultCharSet != 0 || m_secondCharSet != 0xf)
|
if (m_leftSidePanelDisplayed || m_rightSidePanelDisplayed || m_defaultScreenColour != 0 || m_defaultRowColour != 0 || m_blackBackgroundSubst || m_colourTableRemap != 0 || m_secondCharSet != 0xf)
|
||||||
return true;
|
return true;
|
||||||
return !isPaletteDefault(16, 31);
|
return !isPaletteDefault(16, 31);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,6 +79,12 @@ bool LoadTTIFormat::load(QFile *inFile, TeletextDocument *document)
|
|||||||
loadingPage->setDefaultNOS(((pageStatusRead & 0x0200) >> 9) | ((pageStatusRead & 0x0100) >> 7) | ((pageStatusRead & 0x0080) >> 5));
|
loadingPage->setDefaultNOS(((pageStatusRead & 0x0200) >> 9) | ((pageStatusRead & 0x0100) >> 7) | ((pageStatusRead & 0x0080) >> 5));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (inLine.startsWith("RE,")) {
|
||||||
|
bool regionValueOk;
|
||||||
|
int regionValueRead = inLine.remove(0, 3).toInt(®ionValueOk);
|
||||||
|
if (regionValueOk)
|
||||||
|
loadingPage->setDefaultCharSet(regionValueRead);
|
||||||
|
}
|
||||||
if (inLine.startsWith("CT,") && (inLine.endsWith(",C") || inLine.endsWith(",T"))) {
|
if (inLine.startsWith("CT,") && (inLine.endsWith(",C") || inLine.endsWith(",T"))) {
|
||||||
bool cycleValueOk;
|
bool cycleValueOk;
|
||||||
int cycleValueRead = inLine.mid(3, inLine.size()-5).toInt(&cycleValueOk);
|
int cycleValueRead = inLine.mid(3, inLine.size()-5).toInt(&cycleValueOk);
|
||||||
|
|||||||
@@ -190,10 +190,12 @@ void SaveTTIFormat::writeSubPageStart(const PageBase &subPage, int subPageNumber
|
|||||||
|
|
||||||
writeString(QString("PS,%1").arg(0x8000 | statusBits, 4, 16, QChar('0')));
|
writeString(QString("PS,%1").arg(0x8000 | statusBits, 4, 16, QChar('0')));
|
||||||
|
|
||||||
if (m_document->pageFunction() == TeletextDocument::PFLevelOnePage)
|
if (m_document->pageFunction() == TeletextDocument::PFLevelOnePage) {
|
||||||
|
// Level One Page: page region and cycle
|
||||||
|
writeString(QString("RE,%1").arg(static_cast<const LevelOnePage *>(&subPage)->defaultCharSet()));
|
||||||
writeString(QString("CT,%1,%2").arg(static_cast<const LevelOnePage *>(&subPage)->cycleValue()).arg(static_cast<const LevelOnePage *>(&subPage)->cycleType()==LevelOnePage::CTcycles ? 'C' : 'T'));
|
writeString(QString("CT,%1,%2").arg(static_cast<const LevelOnePage *>(&subPage)->cycleValue()).arg(static_cast<const LevelOnePage *>(&subPage)->cycleType()==LevelOnePage::CTcycles ? 'C' : 'T'));
|
||||||
else
|
} else
|
||||||
// X/28/0 specifies page function and coding but the PF command
|
// Not a Level One Page: X/28/0 specifies page function and coding but the PF command
|
||||||
// should make it obvious to a human that this is not a Level One Page
|
// should make it obvious to a human that this is not a Level One Page
|
||||||
writeString(QString("PF,%1,%2").arg(m_document->pageFunction()).arg(m_document->packetCoding()));
|
writeString(QString("PF,%1,%2").arg(m_document->pageFunction()).arg(m_document->packetCoding()));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user