diff --git a/src/drivers/Qt/TasEditor/TasEditorWindow.cpp b/src/drivers/Qt/TasEditor/TasEditorWindow.cpp index 73eace2d..4f769c1d 100644 --- a/src/drivers/Qt/TasEditor/TasEditorWindow.cpp +++ b/src/drivers/Qt/TasEditor/TasEditorWindow.cpp @@ -1104,6 +1104,9 @@ void TasEditorWindow::buildSideControlPanel(void) advFrmBtn->setIcon( style()->standardIcon( QStyle::SP_MediaSeekForward ) ); advMkrBtn->setIcon( style()->standardIcon( QStyle::SP_MediaSkipForward ) ); + progBar = new QProgressBar(); + progBar->setRange( 0, 1 ); + followCursorCbox = new QCheckBox( tr("Follow Cursor") ); turboSeekCbox = new QCheckBox( tr("Turbo Seek") ); autoRestoreCbox = new QCheckBox( tr("Auto-Restore Last Position") ); @@ -1152,6 +1155,7 @@ void TasEditorWindow::buildSideControlPanel(void) hbox->addWidget( playPauseBtn ); hbox->addWidget( advFrmBtn ); hbox->addWidget( advMkrBtn ); + vbox->addWidget( progBar ); hbox = new QHBoxLayout(); vbox->addLayout( hbox ); diff --git a/src/drivers/Qt/TasEditor/TasEditorWindow.h b/src/drivers/Qt/TasEditor/TasEditorWindow.h index e9d6316d..0a76321f 100644 --- a/src/drivers/Qt/TasEditor/TasEditorWindow.h +++ b/src/drivers/Qt/TasEditor/TasEditorWindow.h @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -480,14 +481,15 @@ class TasEditorWindow : public QDialog //QGroupBox *historyGBox; QFrame *bbFrame; - QPushButton *rewindMkrBtn; - QPushButton *rewindFrmBtn; - QPushButton *playPauseBtn; - QPushButton *advFrmBtn; - QPushButton *advMkrBtn; - QCheckBox *followCursorCbox; - QCheckBox *turboSeekCbox; - QCheckBox *autoRestoreCbox; + QPushButton *rewindMkrBtn; + QPushButton *rewindFrmBtn; + QPushButton *playPauseBtn; + QPushButton *advFrmBtn; + QPushButton *advMkrBtn; + QProgressBar *progBar; + QCheckBox *followCursorCbox; + QCheckBox *turboSeekCbox; + QCheckBox *autoRestoreCbox; QCheckBox *recRecordingCbox; QCheckBox *recSuperImposeCbox; diff --git a/src/drivers/Qt/TasEditor/greenzone.cpp b/src/drivers/Qt/TasEditor/greenzone.cpp index c8dcb5f2..7507fa30 100644 --- a/src/drivers/Qt/TasEditor/greenzone.cpp +++ b/src/drivers/Qt/TasEditor/greenzone.cpp @@ -266,7 +266,7 @@ void GREENZONE::save(EMUFILE *os, int save_type) if (frame / PROGRESSBAR_UPDATE_RATE > last_tick) { setTasProjectProgressBar( frame, greenzoneSize ); - //playback->setProgressbar(frame, greenzoneSize); + playback->setProgressbar(frame, greenzoneSize); last_tick = frame / PROGRESSBAR_UPDATE_RATE; } if (!savestates[frame].size()) continue; @@ -291,7 +291,7 @@ void GREENZONE::save(EMUFILE *os, int save_type) if (frame / PROGRESSBAR_UPDATE_RATE > last_tick) { setTasProjectProgressBar( frame, greenzoneSize ); - //playback->setProgressbar(frame, greenzoneSize); + playback->setProgressbar(frame, greenzoneSize); last_tick = frame / PROGRESSBAR_UPDATE_RATE; } if (!savestates[frame].size()) continue; @@ -317,7 +317,7 @@ void GREENZONE::save(EMUFILE *os, int save_type) if (frame / PROGRESSBAR_UPDATE_RATE > last_tick) { setTasProjectProgressBar( frame, greenzoneSize ); - //playback->setProgressbar(frame, greenzoneSize); + playback->setProgressbar(frame, greenzoneSize); last_tick = frame / PROGRESSBAR_UPDATE_RATE; } if (!savestates[frame].size()) continue; diff --git a/src/drivers/Qt/TasEditor/history.cpp b/src/drivers/Qt/TasEditor/history.cpp index 61f2dc18..748d6a19 100644 --- a/src/drivers/Qt/TasEditor/history.cpp +++ b/src/drivers/Qt/TasEditor/history.cpp @@ -1009,7 +1009,7 @@ void HISTORY::save(EMUFILE *os, bool really_save) if (i / SAVING_HISTORY_PROGRESSBAR_UPDATE_RATE > last_tick) { setTasProjectProgressBar( i, historyTotalItems ); - //playback->setProgressbar(i, historyTotalItems); + playback->setProgressbar(i, historyTotalItems); last_tick = i / PROGRESSBAR_UPDATE_RATE; } } diff --git a/src/drivers/Qt/TasEditor/playback.cpp b/src/drivers/Qt/TasEditor/playback.cpp index 7777c79d..9e2426d9 100644 --- a/src/drivers/Qt/TasEditor/playback.cpp +++ b/src/drivers/Qt/TasEditor/playback.cpp @@ -246,14 +246,19 @@ void PLAYBACK::updateProgressbar() if (pauseFrame) { setProgressbar(currFrameCounter - seekingBeginningFrame, pauseFrame - seekingBeginningFrame); - } else + } + else { if (emuPausedState) + { // full progressbar setProgressbar(1, 1); + } else + { // cleared progressbar setProgressbar(0, 1); + } } //RedrawWindow(hwndProgressbar, NULL, NULL, RDW_INVALIDATE); } @@ -576,7 +581,11 @@ int PLAYBACK::getFlashingPauseFrame() void PLAYBACK::setProgressbar(int a, int b) { - // TODO + if ( tasWin ) + { + tasWin->progBar->setRange(0,b); + tasWin->progBar->setValue(a); + } //SendMessage(hwndProgressbar, PBM_SETPOS, PROGRESSBAR_WIDTH * a / b, 0); } void PLAYBACK::cancelSeeking() diff --git a/src/drivers/Qt/TasEditor/selection.cpp b/src/drivers/Qt/TasEditor/selection.cpp index 5fb396ef..07434b45 100644 --- a/src/drivers/Qt/TasEditor/selection.cpp +++ b/src/drivers/Qt/TasEditor/selection.cpp @@ -281,7 +281,7 @@ void SELECTION::save(EMUFILE *os, bool really_save) if (i / SAVING_HISTORY_PROGRESSBAR_UPDATE_RATE > last_tick) { setTasProjectProgressBar( i, historyTotalItems ); - //playback->setProgressbar(i, historyTotalItems); + playback->setProgressbar(i, historyTotalItems); last_tick = i / PROGRESSBAR_UPDATE_RATE; } } diff --git a/src/drivers/Qt/TasEditor/taseditor_project.cpp b/src/drivers/Qt/TasEditor/taseditor_project.cpp index de9f82ab..355e4536 100644 --- a/src/drivers/Qt/TasEditor/taseditor_project.cpp +++ b/src/drivers/Qt/TasEditor/taseditor_project.cpp @@ -188,10 +188,12 @@ bool TASEDITOR_PROJECT::save(const char* differentName, bool inputInBinary, bool write32le(selectionOffset, ofs); // finish delete ofs; - //playback->updateProgressbar(); + playback->updateProgressbar(); // also set project.changed to false, unless it was SaveCompact if (!differentName) + { reset(); + } // restore cursor if ( progressDialog )