Simplify refresh signalling

This commit is contained in:
G.K.MacGregor
2023-09-12 13:50:00 +01:00
parent a28e56797b
commit a4680326f0
5 changed files with 36 additions and 48 deletions

View File

@@ -107,11 +107,10 @@ signals:
void cursorMoved(); void cursorMoved();
void selectionMoved(); void selectionMoved();
void colourChanged(int i); void colourChanged(int i);
void contentsChange(int row);
void pageOptionsChanged(); void pageOptionsChanged();
void aboutToChangeSubPage(); void aboutToChangeSubPage();
void subPageSelected(); void subPageSelected();
void refreshNeeded(); void contentsChanged();
void tripletCommandHighlight(int tripletNumber); void tripletCommandHighlight(int tripletNumber);

View File

@@ -72,7 +72,7 @@ void TypeCharacterCommand::redo()
m_teletextDocument->moveCursor(m_row, m_columnEnd); m_teletextDocument->moveCursor(m_row, m_columnEnd);
m_teletextDocument->cursorRight(); m_teletextDocument->cursorRight();
emit m_teletextDocument->contentsChange(m_row); emit m_teletextDocument->contentsChanged();
} }
void TypeCharacterCommand::undo() void TypeCharacterCommand::undo()
@@ -83,7 +83,7 @@ void TypeCharacterCommand::undo()
m_teletextDocument->currentSubPage()->setCharacter(m_row, c, m_oldRowContents[c]); m_teletextDocument->currentSubPage()->setCharacter(m_row, c, m_oldRowContents[c]);
m_teletextDocument->moveCursor(m_row, m_columnStart); m_teletextDocument->moveCursor(m_row, m_columnStart);
emit m_teletextDocument->contentsChange(m_row); emit m_teletextDocument->contentsChanged();
} }
bool TypeCharacterCommand::mergeWith(const QUndoCommand *command) bool TypeCharacterCommand::mergeWith(const QUndoCommand *command)
@@ -122,7 +122,7 @@ void ToggleMosaicBitCommand::redo()
m_teletextDocument->currentSubPage()->setCharacter(m_row, m_column, m_newCharacter); m_teletextDocument->currentSubPage()->setCharacter(m_row, m_column, m_newCharacter);
m_teletextDocument->moveCursor(m_row, m_column); m_teletextDocument->moveCursor(m_row, m_column);
emit m_teletextDocument->contentsChange(m_row); emit m_teletextDocument->contentsChanged();
} }
void ToggleMosaicBitCommand::undo() void ToggleMosaicBitCommand::undo()
@@ -131,7 +131,7 @@ void ToggleMosaicBitCommand::undo()
m_teletextDocument->currentSubPage()->setCharacter(m_row, m_column, m_oldCharacter); m_teletextDocument->currentSubPage()->setCharacter(m_row, m_column, m_oldCharacter);
m_teletextDocument->moveCursor(m_row, m_column); m_teletextDocument->moveCursor(m_row, m_column);
emit m_teletextDocument->contentsChange(m_row); emit m_teletextDocument->contentsChanged();
} }
bool ToggleMosaicBitCommand::mergeWith(const QUndoCommand *command) bool ToggleMosaicBitCommand::mergeWith(const QUndoCommand *command)
@@ -183,7 +183,7 @@ void BackspaceKeyCommand::redo()
m_teletextDocument->currentSubPage()->setCharacter(m_row, c, m_newRowContents[c]); m_teletextDocument->currentSubPage()->setCharacter(m_row, c, m_newRowContents[c]);
m_teletextDocument->moveCursor(m_row, m_columnEnd); m_teletextDocument->moveCursor(m_row, m_columnEnd);
emit m_teletextDocument->contentsChange(m_row); emit m_teletextDocument->contentsChanged();
} }
void BackspaceKeyCommand::undo() void BackspaceKeyCommand::undo()
@@ -195,7 +195,7 @@ void BackspaceKeyCommand::undo()
m_teletextDocument->moveCursor(m_row, m_columnStart); m_teletextDocument->moveCursor(m_row, m_columnStart);
m_teletextDocument->cursorRight(); m_teletextDocument->cursorRight();
emit m_teletextDocument->contentsChange(m_row); emit m_teletextDocument->contentsChanged();
} }
bool BackspaceKeyCommand::mergeWith(const QUndoCommand *command) bool BackspaceKeyCommand::mergeWith(const QUndoCommand *command)
@@ -237,7 +237,7 @@ void DeleteKeyCommand::redo()
m_teletextDocument->currentSubPage()->setCharacter(m_row, c, m_newRowContents[c]); m_teletextDocument->currentSubPage()->setCharacter(m_row, c, m_newRowContents[c]);
m_teletextDocument->moveCursor(m_row, m_column); m_teletextDocument->moveCursor(m_row, m_column);
emit m_teletextDocument->contentsChange(m_row); emit m_teletextDocument->contentsChanged();
} }
void DeleteKeyCommand::undo() void DeleteKeyCommand::undo()
@@ -248,7 +248,7 @@ void DeleteKeyCommand::undo()
m_teletextDocument->currentSubPage()->setCharacter(m_row, c, m_oldRowContents[c]); m_teletextDocument->currentSubPage()->setCharacter(m_row, c, m_oldRowContents[c]);
m_teletextDocument->moveCursor(m_row, m_column); m_teletextDocument->moveCursor(m_row, m_column);
emit m_teletextDocument->contentsChange(m_row); emit m_teletextDocument->contentsChanged();
} }
bool DeleteKeyCommand::mergeWith(const QUndoCommand *command) bool DeleteKeyCommand::mergeWith(const QUndoCommand *command)
@@ -291,7 +291,7 @@ void InsertRowCommand::redo()
for (int c=0; c<40; c++) for (int c=0; c<40; c++)
m_teletextDocument->currentSubPage()->setCharacter(m_row, c, ' '); m_teletextDocument->currentSubPage()->setCharacter(m_row, c, ' ');
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
} }
void InsertRowCommand::undo() void InsertRowCommand::undo()
@@ -306,7 +306,7 @@ void InsertRowCommand::undo()
for (int c=0; c<40; c++) for (int c=0; c<40; c++)
m_teletextDocument->currentSubPage()->setCharacter(23, c, m_deletedBottomRow[c]); m_teletextDocument->currentSubPage()->setCharacter(23, c, m_deletedBottomRow[c]);
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
} }
@@ -331,7 +331,7 @@ void DeleteRowCommand::redo()
for (int c=0; c<40; c++) for (int c=0; c<40; c++)
m_teletextDocument->currentSubPage()->setCharacter(blankingRow, c, ' '); m_teletextDocument->currentSubPage()->setCharacter(blankingRow, c, ' ');
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
} }
void DeleteRowCommand::undo() void DeleteRowCommand::undo()
@@ -346,7 +346,7 @@ void DeleteRowCommand::undo()
for (int c=0; c<40; c++) for (int c=0; c<40; c++)
m_teletextDocument->currentSubPage()->setCharacter(m_row, c, m_deletedRow[c]); m_teletextDocument->currentSubPage()->setCharacter(m_row, c, m_deletedRow[c]);
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
} }
@@ -381,7 +381,7 @@ void CutCommand::redo()
for (int r=m_selectionTopRow; r<=m_selectionBottomRow; r++) { for (int r=m_selectionTopRow; r<=m_selectionBottomRow; r++) {
for (int c=m_selectionLeftColumn; c<=m_selectionRightColumn; c++) for (int c=m_selectionLeftColumn; c<=m_selectionRightColumn; c++)
m_teletextDocument->currentSubPage()->setCharacter(r, c, 0x20); m_teletextDocument->currentSubPage()->setCharacter(r, c, 0x20);
emit m_teletextDocument->contentsChange(r); emit m_teletextDocument->contentsChanged();
} }
} }
@@ -397,7 +397,7 @@ void CutCommand::undo()
for (int c=m_selectionLeftColumn; c<=m_selectionRightColumn; c++) for (int c=m_selectionLeftColumn; c<=m_selectionRightColumn; c++)
m_teletextDocument->currentSubPage()->setCharacter(r, c, m_deletedCharacters[arrayR].at(arrayC++)); m_teletextDocument->currentSubPage()->setCharacter(r, c, m_deletedCharacters[arrayR].at(arrayC++));
emit m_teletextDocument->contentsChange(r); emit m_teletextDocument->contentsChanged();
arrayR++; arrayR++;
} }
@@ -636,7 +636,7 @@ void PasteCommand::redo()
} }
if (r < 25) if (r < 25)
emit m_teletextDocument->contentsChange(r); emit m_teletextDocument->contentsChanged();
arrayR++; arrayR++;
// If paste area is taller than clipboard data, repeat the pattern // If paste area is taller than clipboard data, repeat the pattern
@@ -679,7 +679,7 @@ void PasteCommand::undo()
} }
if (r < 25) if (r < 25)
emit m_teletextDocument->contentsChange(r); emit m_teletextDocument->contentsChanged();
arrayR++; arrayR++;
} }
@@ -746,7 +746,7 @@ void SetFullScreenColourCommand::redo()
m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->selectSubPageIndex(m_subPageIndex);
m_teletextDocument->currentSubPage()->setDefaultScreenColour(m_newColour); m_teletextDocument->currentSubPage()->setDefaultScreenColour(m_newColour);
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
emit m_teletextDocument->pageOptionsChanged(); emit m_teletextDocument->pageOptionsChanged();
} }
@@ -755,7 +755,7 @@ void SetFullScreenColourCommand::undo()
m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->selectSubPageIndex(m_subPageIndex);
m_teletextDocument->currentSubPage()->setDefaultScreenColour(m_oldColour); m_teletextDocument->currentSubPage()->setDefaultScreenColour(m_oldColour);
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
emit m_teletextDocument->pageOptionsChanged(); emit m_teletextDocument->pageOptionsChanged();
} }
@@ -785,7 +785,7 @@ void SetFullRowColourCommand::redo()
m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->selectSubPageIndex(m_subPageIndex);
m_teletextDocument->currentSubPage()->setDefaultRowColour(m_newColour); m_teletextDocument->currentSubPage()->setDefaultRowColour(m_newColour);
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
emit m_teletextDocument->pageOptionsChanged(); emit m_teletextDocument->pageOptionsChanged();
} }
@@ -794,7 +794,7 @@ void SetFullRowColourCommand::undo()
m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->selectSubPageIndex(m_subPageIndex);
m_teletextDocument->currentSubPage()->setDefaultRowColour(m_oldColour); m_teletextDocument->currentSubPage()->setDefaultRowColour(m_oldColour);
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
emit m_teletextDocument->pageOptionsChanged(); emit m_teletextDocument->pageOptionsChanged();
} }
@@ -824,7 +824,7 @@ void SetCLUTRemapCommand::redo()
m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->selectSubPageIndex(m_subPageIndex);
m_teletextDocument->currentSubPage()->setColourTableRemap(m_newMap); m_teletextDocument->currentSubPage()->setColourTableRemap(m_newMap);
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
emit m_teletextDocument->pageOptionsChanged(); emit m_teletextDocument->pageOptionsChanged();
} }
@@ -833,7 +833,7 @@ void SetCLUTRemapCommand::undo()
m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->selectSubPageIndex(m_subPageIndex);
m_teletextDocument->currentSubPage()->setColourTableRemap(m_oldMap); m_teletextDocument->currentSubPage()->setColourTableRemap(m_oldMap);
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
emit m_teletextDocument->pageOptionsChanged(); emit m_teletextDocument->pageOptionsChanged();
} }
@@ -863,7 +863,7 @@ void SetBlackBackgroundSubstCommand::redo()
m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->selectSubPageIndex(m_subPageIndex);
m_teletextDocument->currentSubPage()->setBlackBackgroundSubst(m_newSub); m_teletextDocument->currentSubPage()->setBlackBackgroundSubst(m_newSub);
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
emit m_teletextDocument->pageOptionsChanged(); emit m_teletextDocument->pageOptionsChanged();
} }
@@ -872,7 +872,7 @@ void SetBlackBackgroundSubstCommand::undo()
m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->selectSubPageIndex(m_subPageIndex);
m_teletextDocument->currentSubPage()->setBlackBackgroundSubst(m_oldSub); m_teletextDocument->currentSubPage()->setBlackBackgroundSubst(m_oldSub);
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
emit m_teletextDocument->pageOptionsChanged(); emit m_teletextDocument->pageOptionsChanged();
} }
@@ -904,7 +904,7 @@ void SetColourCommand::redo()
m_teletextDocument->currentSubPage()->setCLUT(m_colourIndex, m_newColour); m_teletextDocument->currentSubPage()->setCLUT(m_colourIndex, m_newColour);
emit m_teletextDocument->colourChanged(m_colourIndex); emit m_teletextDocument->colourChanged(m_colourIndex);
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
} }
void SetColourCommand::undo() void SetColourCommand::undo()
@@ -913,7 +913,7 @@ void SetColourCommand::undo()
m_teletextDocument->currentSubPage()->setCLUT(m_colourIndex, m_oldColour); m_teletextDocument->currentSubPage()->setCLUT(m_colourIndex, m_oldColour);
emit m_teletextDocument->colourChanged(m_colourIndex); emit m_teletextDocument->colourChanged(m_colourIndex);
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
} }
@@ -934,7 +934,7 @@ void ResetCLUTCommand::redo()
emit m_teletextDocument->colourChanged(i); emit m_teletextDocument->colourChanged(i);
} }
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
} }
void ResetCLUTCommand::undo() void ResetCLUTCommand::undo()
@@ -945,5 +945,5 @@ void ResetCLUTCommand::undo()
emit m_teletextDocument->colourChanged(i); emit m_teletextDocument->colourChanged(i);
} }
emit m_teletextDocument->refreshNeeded(); emit m_teletextDocument->contentsChanged();
} }

View File

@@ -62,8 +62,7 @@ TeletextWidget::TeletextWidget(QFrame *parent) : QFrame(parent)
connect(&m_pageRender, &TeletextPageRender::flashChanged, this, &TeletextWidget::updateFlashTimer); connect(&m_pageRender, &TeletextPageRender::flashChanged, this, &TeletextWidget::updateFlashTimer);
connect(&m_pageDecode, &TeletextPageDecode::sidePanelsChanged, this, &TeletextWidget::changeSize); connect(&m_pageDecode, &TeletextPageDecode::sidePanelsChanged, this, &TeletextWidget::changeSize);
connect(m_teletextDocument, &TeletextDocument::subPageSelected, this, &TeletextWidget::subPageSelected); connect(m_teletextDocument, &TeletextDocument::subPageSelected, this, &TeletextWidget::subPageSelected);
connect(m_teletextDocument, &TeletextDocument::contentsChange, this, &TeletextWidget::refreshRow); connect(m_teletextDocument, &TeletextDocument::contentsChanged, this, &TeletextWidget::refreshPage);
connect(m_teletextDocument, &TeletextDocument::refreshNeeded, this, &TeletextWidget::refreshPage);
connect(m_teletextDocument, &TeletextDocument::colourChanged, &m_pageRender, &TeletextPageRender::colourChanged); connect(m_teletextDocument, &TeletextDocument::colourChanged, &m_pageRender, &TeletextPageRender::colourChanged);
} }
@@ -94,15 +93,6 @@ void TeletextWidget::subPageSelected()
update(); update();
} }
void TeletextWidget::refreshRow(int rowChanged)
{
Q_UNUSED(rowChanged);
// TODO trace signals where this is called so we can remove this
m_pageDecode.decodePage();
update();
}
void TeletextWidget::refreshPage() void TeletextWidget::refreshPage()
{ {
m_pageDecode.decodePage(); m_pageDecode.decodePage();

View File

@@ -69,7 +69,6 @@ public slots:
void setShowControlCodes(bool showControlCodes); void setShowControlCodes(bool showControlCodes);
void updateFlashTimer(int newFlashTimer); void updateFlashTimer(int newFlashTimer);
void pauseFlash(bool pauseNow); void pauseFlash(bool pauseNow);
void refreshRow(int rowChanged);
void setControlBit(int bitNumber, bool active); void setControlBit(int bitNumber, bool active);
void setDefaultCharSet(int newDefaultCharSet); void setDefaultCharSet(int newDefaultCharSet);

View File

@@ -68,7 +68,7 @@ void InsertTripletCommand::redo()
if (changingSubPage) if (changingSubPage)
m_teletextDocument->emit subPageSelected(); m_teletextDocument->emit subPageSelected();
else else
m_teletextDocument->emit refreshNeeded(); m_teletextDocument->emit contentsChanged();
if (m_firstDo) if (m_firstDo)
m_firstDo = false; m_firstDo = false;
@@ -107,7 +107,7 @@ void InsertTripletCommand::undo()
if (changingSubPage) if (changingSubPage)
m_teletextDocument->emit subPageSelected(); m_teletextDocument->emit subPageSelected();
else else
m_teletextDocument->emit refreshNeeded(); m_teletextDocument->emit contentsChanged();
} }
@@ -155,7 +155,7 @@ void DeleteTripletCommand::redo()
if (changingSubPage) if (changingSubPage)
m_teletextDocument->emit subPageSelected(); m_teletextDocument->emit subPageSelected();
else else
m_teletextDocument->emit refreshNeeded(); m_teletextDocument->emit contentsChanged();
} }
void DeleteTripletCommand::undo() void DeleteTripletCommand::undo()
@@ -189,7 +189,7 @@ void DeleteTripletCommand::undo()
if (changingSubPage) if (changingSubPage)
m_teletextDocument->emit subPageSelected(); m_teletextDocument->emit subPageSelected();
else else
m_teletextDocument->emit refreshNeeded(); m_teletextDocument->emit contentsChanged();
m_teletextDocument->emit tripletCommandHighlight(m_row); m_teletextDocument->emit tripletCommandHighlight(m_row);
} }
@@ -225,7 +225,7 @@ void EditTripletCommand::redo()
m_teletextDocument->currentSubPage()->enhancements()->replace(m_row, m_newTriplet); m_teletextDocument->currentSubPage()->enhancements()->replace(m_row, m_newTriplet);
m_x26Model->emit dataChanged(m_x26Model->createIndex(m_row, 0), m_x26Model->createIndex(m_row, 3), {m_role}); m_x26Model->emit dataChanged(m_x26Model->createIndex(m_row, 0), m_x26Model->createIndex(m_row, 3), {m_role});
m_teletextDocument->emit refreshNeeded(); m_teletextDocument->emit contentsChanged();
if (m_firstDo) if (m_firstDo)
m_firstDo = false; m_firstDo = false;
@@ -240,7 +240,7 @@ void EditTripletCommand::undo()
m_teletextDocument->currentSubPage()->enhancements()->replace(m_row, m_oldTriplet); m_teletextDocument->currentSubPage()->enhancements()->replace(m_row, m_oldTriplet);
m_x26Model->emit dataChanged(m_x26Model->createIndex(m_row, 0), m_x26Model->createIndex(m_row, 3), {m_role}); m_x26Model->emit dataChanged(m_x26Model->createIndex(m_row, 0), m_x26Model->createIndex(m_row, 3), {m_role});
m_teletextDocument->emit refreshNeeded(); m_teletextDocument->emit contentsChanged();
m_teletextDocument->emit tripletCommandHighlight(m_row); m_teletextDocument->emit tripletCommandHighlight(m_row);
} }