From a4680326f06d78218142c743a23ed67f4af952bd Mon Sep 17 00:00:00 2001 From: "G.K.MacGregor" Date: Tue, 12 Sep 2023 13:50:00 +0100 Subject: [PATCH] Simplify refresh signalling --- document.h | 3 +-- levelonecommands.cpp | 56 ++++++++++++++++++++++---------------------- mainwidget.cpp | 12 +--------- mainwidget.h | 1 - x26commands.cpp | 12 +++++----- 5 files changed, 36 insertions(+), 48 deletions(-) diff --git a/document.h b/document.h index f6dd656..4692f36 100644 --- a/document.h +++ b/document.h @@ -107,11 +107,10 @@ signals: void cursorMoved(); void selectionMoved(); void colourChanged(int i); - void contentsChange(int row); void pageOptionsChanged(); void aboutToChangeSubPage(); void subPageSelected(); - void refreshNeeded(); + void contentsChanged(); void tripletCommandHighlight(int tripletNumber); diff --git a/levelonecommands.cpp b/levelonecommands.cpp index 7e4152e..57c58ef 100644 --- a/levelonecommands.cpp +++ b/levelonecommands.cpp @@ -72,7 +72,7 @@ void TypeCharacterCommand::redo() m_teletextDocument->moveCursor(m_row, m_columnEnd); m_teletextDocument->cursorRight(); - emit m_teletextDocument->contentsChange(m_row); + emit m_teletextDocument->contentsChanged(); } void TypeCharacterCommand::undo() @@ -83,7 +83,7 @@ void TypeCharacterCommand::undo() m_teletextDocument->currentSubPage()->setCharacter(m_row, c, m_oldRowContents[c]); m_teletextDocument->moveCursor(m_row, m_columnStart); - emit m_teletextDocument->contentsChange(m_row); + emit m_teletextDocument->contentsChanged(); } 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->moveCursor(m_row, m_column); - emit m_teletextDocument->contentsChange(m_row); + emit m_teletextDocument->contentsChanged(); } void ToggleMosaicBitCommand::undo() @@ -131,7 +131,7 @@ void ToggleMosaicBitCommand::undo() m_teletextDocument->currentSubPage()->setCharacter(m_row, m_column, m_oldCharacter); m_teletextDocument->moveCursor(m_row, m_column); - emit m_teletextDocument->contentsChange(m_row); + emit m_teletextDocument->contentsChanged(); } 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->moveCursor(m_row, m_columnEnd); - emit m_teletextDocument->contentsChange(m_row); + emit m_teletextDocument->contentsChanged(); } void BackspaceKeyCommand::undo() @@ -195,7 +195,7 @@ void BackspaceKeyCommand::undo() m_teletextDocument->moveCursor(m_row, m_columnStart); m_teletextDocument->cursorRight(); - emit m_teletextDocument->contentsChange(m_row); + emit m_teletextDocument->contentsChanged(); } 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->moveCursor(m_row, m_column); - emit m_teletextDocument->contentsChange(m_row); + emit m_teletextDocument->contentsChanged(); } void DeleteKeyCommand::undo() @@ -248,7 +248,7 @@ void DeleteKeyCommand::undo() m_teletextDocument->currentSubPage()->setCharacter(m_row, c, m_oldRowContents[c]); m_teletextDocument->moveCursor(m_row, m_column); - emit m_teletextDocument->contentsChange(m_row); + emit m_teletextDocument->contentsChanged(); } bool DeleteKeyCommand::mergeWith(const QUndoCommand *command) @@ -291,7 +291,7 @@ void InsertRowCommand::redo() for (int c=0; c<40; c++) m_teletextDocument->currentSubPage()->setCharacter(m_row, c, ' '); - emit m_teletextDocument->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); } void InsertRowCommand::undo() @@ -306,7 +306,7 @@ void InsertRowCommand::undo() for (int c=0; c<40; 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++) m_teletextDocument->currentSubPage()->setCharacter(blankingRow, c, ' '); - emit m_teletextDocument->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); } void DeleteRowCommand::undo() @@ -346,7 +346,7 @@ void DeleteRowCommand::undo() for (int c=0; c<40; 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 c=m_selectionLeftColumn; c<=m_selectionRightColumn; c++) 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++) m_teletextDocument->currentSubPage()->setCharacter(r, c, m_deletedCharacters[arrayR].at(arrayC++)); - emit m_teletextDocument->contentsChange(r); + emit m_teletextDocument->contentsChanged(); arrayR++; } @@ -636,7 +636,7 @@ void PasteCommand::redo() } if (r < 25) - emit m_teletextDocument->contentsChange(r); + emit m_teletextDocument->contentsChanged(); arrayR++; // If paste area is taller than clipboard data, repeat the pattern @@ -679,7 +679,7 @@ void PasteCommand::undo() } if (r < 25) - emit m_teletextDocument->contentsChange(r); + emit m_teletextDocument->contentsChanged(); arrayR++; } @@ -746,7 +746,7 @@ void SetFullScreenColourCommand::redo() m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->currentSubPage()->setDefaultScreenColour(m_newColour); - emit m_teletextDocument->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); emit m_teletextDocument->pageOptionsChanged(); } @@ -755,7 +755,7 @@ void SetFullScreenColourCommand::undo() m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->currentSubPage()->setDefaultScreenColour(m_oldColour); - emit m_teletextDocument->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); emit m_teletextDocument->pageOptionsChanged(); } @@ -785,7 +785,7 @@ void SetFullRowColourCommand::redo() m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->currentSubPage()->setDefaultRowColour(m_newColour); - emit m_teletextDocument->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); emit m_teletextDocument->pageOptionsChanged(); } @@ -794,7 +794,7 @@ void SetFullRowColourCommand::undo() m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->currentSubPage()->setDefaultRowColour(m_oldColour); - emit m_teletextDocument->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); emit m_teletextDocument->pageOptionsChanged(); } @@ -824,7 +824,7 @@ void SetCLUTRemapCommand::redo() m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->currentSubPage()->setColourTableRemap(m_newMap); - emit m_teletextDocument->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); emit m_teletextDocument->pageOptionsChanged(); } @@ -833,7 +833,7 @@ void SetCLUTRemapCommand::undo() m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->currentSubPage()->setColourTableRemap(m_oldMap); - emit m_teletextDocument->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); emit m_teletextDocument->pageOptionsChanged(); } @@ -863,7 +863,7 @@ void SetBlackBackgroundSubstCommand::redo() m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->currentSubPage()->setBlackBackgroundSubst(m_newSub); - emit m_teletextDocument->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); emit m_teletextDocument->pageOptionsChanged(); } @@ -872,7 +872,7 @@ void SetBlackBackgroundSubstCommand::undo() m_teletextDocument->selectSubPageIndex(m_subPageIndex); m_teletextDocument->currentSubPage()->setBlackBackgroundSubst(m_oldSub); - emit m_teletextDocument->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); emit m_teletextDocument->pageOptionsChanged(); } @@ -904,7 +904,7 @@ void SetColourCommand::redo() m_teletextDocument->currentSubPage()->setCLUT(m_colourIndex, m_newColour); emit m_teletextDocument->colourChanged(m_colourIndex); - emit m_teletextDocument->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); } void SetColourCommand::undo() @@ -913,7 +913,7 @@ void SetColourCommand::undo() m_teletextDocument->currentSubPage()->setCLUT(m_colourIndex, m_oldColour); 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->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); } void ResetCLUTCommand::undo() @@ -945,5 +945,5 @@ void ResetCLUTCommand::undo() emit m_teletextDocument->colourChanged(i); } - emit m_teletextDocument->refreshNeeded(); + emit m_teletextDocument->contentsChanged(); } diff --git a/mainwidget.cpp b/mainwidget.cpp index 0c8cdcd..7a10390 100644 --- a/mainwidget.cpp +++ b/mainwidget.cpp @@ -62,8 +62,7 @@ TeletextWidget::TeletextWidget(QFrame *parent) : QFrame(parent) connect(&m_pageRender, &TeletextPageRender::flashChanged, this, &TeletextWidget::updateFlashTimer); connect(&m_pageDecode, &TeletextPageDecode::sidePanelsChanged, this, &TeletextWidget::changeSize); connect(m_teletextDocument, &TeletextDocument::subPageSelected, this, &TeletextWidget::subPageSelected); - connect(m_teletextDocument, &TeletextDocument::contentsChange, this, &TeletextWidget::refreshRow); - connect(m_teletextDocument, &TeletextDocument::refreshNeeded, this, &TeletextWidget::refreshPage); + connect(m_teletextDocument, &TeletextDocument::contentsChanged, this, &TeletextWidget::refreshPage); connect(m_teletextDocument, &TeletextDocument::colourChanged, &m_pageRender, &TeletextPageRender::colourChanged); } @@ -94,15 +93,6 @@ void TeletextWidget::subPageSelected() 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() { m_pageDecode.decodePage(); diff --git a/mainwidget.h b/mainwidget.h index ddbbe68..3b13b3e 100644 --- a/mainwidget.h +++ b/mainwidget.h @@ -69,7 +69,6 @@ public slots: void setShowControlCodes(bool showControlCodes); void updateFlashTimer(int newFlashTimer); void pauseFlash(bool pauseNow); - void refreshRow(int rowChanged); void setControlBit(int bitNumber, bool active); void setDefaultCharSet(int newDefaultCharSet); diff --git a/x26commands.cpp b/x26commands.cpp index 37f6b11..8813cfc 100644 --- a/x26commands.cpp +++ b/x26commands.cpp @@ -68,7 +68,7 @@ void InsertTripletCommand::redo() if (changingSubPage) m_teletextDocument->emit subPageSelected(); else - m_teletextDocument->emit refreshNeeded(); + m_teletextDocument->emit contentsChanged(); if (m_firstDo) m_firstDo = false; @@ -107,7 +107,7 @@ void InsertTripletCommand::undo() if (changingSubPage) m_teletextDocument->emit subPageSelected(); else - m_teletextDocument->emit refreshNeeded(); + m_teletextDocument->emit contentsChanged(); } @@ -155,7 +155,7 @@ void DeleteTripletCommand::redo() if (changingSubPage) m_teletextDocument->emit subPageSelected(); else - m_teletextDocument->emit refreshNeeded(); + m_teletextDocument->emit contentsChanged(); } void DeleteTripletCommand::undo() @@ -189,7 +189,7 @@ void DeleteTripletCommand::undo() if (changingSubPage) m_teletextDocument->emit subPageSelected(); else - m_teletextDocument->emit refreshNeeded(); + m_teletextDocument->emit contentsChanged(); m_teletextDocument->emit tripletCommandHighlight(m_row); } @@ -225,7 +225,7 @@ void EditTripletCommand::redo() 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_teletextDocument->emit refreshNeeded(); + m_teletextDocument->emit contentsChanged(); if (m_firstDo) m_firstDo = false; @@ -240,7 +240,7 @@ void EditTripletCommand::undo() 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_teletextDocument->emit refreshNeeded(); + m_teletextDocument->emit contentsChanged(); m_teletextDocument->emit tripletCommandHighlight(m_row); }