Added playback progress bar to Qt TAS editor.
This commit is contained in:
parent
72af0270a3
commit
2b88e96814
|
@ -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 );
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#include <QPainter>
|
||||
#include <QShortcut>
|
||||
#include <QTabWidget>
|
||||
#include <QProgressBar>
|
||||
#include <QStackedWidget>
|
||||
#include <QClipboard>
|
||||
|
||||
|
@ -485,6 +486,7 @@ class TasEditorWindow : public QDialog
|
|||
QPushButton *playPauseBtn;
|
||||
QPushButton *advFrmBtn;
|
||||
QPushButton *advMkrBtn;
|
||||
QProgressBar *progBar;
|
||||
QCheckBox *followCursorCbox;
|
||||
QCheckBox *turboSeekCbox;
|
||||
QCheckBox *autoRestoreCbox;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -246,15 +246,20 @@ 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()
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 )
|
||||
|
|
Loading…
Reference in New Issue