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 ) );
|
advFrmBtn->setIcon( style()->standardIcon( QStyle::SP_MediaSeekForward ) );
|
||||||
advMkrBtn->setIcon( style()->standardIcon( QStyle::SP_MediaSkipForward ) );
|
advMkrBtn->setIcon( style()->standardIcon( QStyle::SP_MediaSkipForward ) );
|
||||||
|
|
||||||
|
progBar = new QProgressBar();
|
||||||
|
progBar->setRange( 0, 1 );
|
||||||
|
|
||||||
followCursorCbox = new QCheckBox( tr("Follow Cursor") );
|
followCursorCbox = new QCheckBox( tr("Follow Cursor") );
|
||||||
turboSeekCbox = new QCheckBox( tr("Turbo Seek") );
|
turboSeekCbox = new QCheckBox( tr("Turbo Seek") );
|
||||||
autoRestoreCbox = new QCheckBox( tr("Auto-Restore Last Position") );
|
autoRestoreCbox = new QCheckBox( tr("Auto-Restore Last Position") );
|
||||||
|
@ -1152,6 +1155,7 @@ void TasEditorWindow::buildSideControlPanel(void)
|
||||||
hbox->addWidget( playPauseBtn );
|
hbox->addWidget( playPauseBtn );
|
||||||
hbox->addWidget( advFrmBtn );
|
hbox->addWidget( advFrmBtn );
|
||||||
hbox->addWidget( advMkrBtn );
|
hbox->addWidget( advMkrBtn );
|
||||||
|
vbox->addWidget( progBar );
|
||||||
|
|
||||||
hbox = new QHBoxLayout();
|
hbox = new QHBoxLayout();
|
||||||
vbox->addLayout( hbox );
|
vbox->addLayout( hbox );
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QShortcut>
|
#include <QShortcut>
|
||||||
#include <QTabWidget>
|
#include <QTabWidget>
|
||||||
|
#include <QProgressBar>
|
||||||
#include <QStackedWidget>
|
#include <QStackedWidget>
|
||||||
#include <QClipboard>
|
#include <QClipboard>
|
||||||
|
|
||||||
|
@ -485,6 +486,7 @@ class TasEditorWindow : public QDialog
|
||||||
QPushButton *playPauseBtn;
|
QPushButton *playPauseBtn;
|
||||||
QPushButton *advFrmBtn;
|
QPushButton *advFrmBtn;
|
||||||
QPushButton *advMkrBtn;
|
QPushButton *advMkrBtn;
|
||||||
|
QProgressBar *progBar;
|
||||||
QCheckBox *followCursorCbox;
|
QCheckBox *followCursorCbox;
|
||||||
QCheckBox *turboSeekCbox;
|
QCheckBox *turboSeekCbox;
|
||||||
QCheckBox *autoRestoreCbox;
|
QCheckBox *autoRestoreCbox;
|
||||||
|
|
|
@ -266,7 +266,7 @@ void GREENZONE::save(EMUFILE *os, int save_type)
|
||||||
if (frame / PROGRESSBAR_UPDATE_RATE > last_tick)
|
if (frame / PROGRESSBAR_UPDATE_RATE > last_tick)
|
||||||
{
|
{
|
||||||
setTasProjectProgressBar( frame, greenzoneSize );
|
setTasProjectProgressBar( frame, greenzoneSize );
|
||||||
//playback->setProgressbar(frame, greenzoneSize);
|
playback->setProgressbar(frame, greenzoneSize);
|
||||||
last_tick = frame / PROGRESSBAR_UPDATE_RATE;
|
last_tick = frame / PROGRESSBAR_UPDATE_RATE;
|
||||||
}
|
}
|
||||||
if (!savestates[frame].size()) continue;
|
if (!savestates[frame].size()) continue;
|
||||||
|
@ -291,7 +291,7 @@ void GREENZONE::save(EMUFILE *os, int save_type)
|
||||||
if (frame / PROGRESSBAR_UPDATE_RATE > last_tick)
|
if (frame / PROGRESSBAR_UPDATE_RATE > last_tick)
|
||||||
{
|
{
|
||||||
setTasProjectProgressBar( frame, greenzoneSize );
|
setTasProjectProgressBar( frame, greenzoneSize );
|
||||||
//playback->setProgressbar(frame, greenzoneSize);
|
playback->setProgressbar(frame, greenzoneSize);
|
||||||
last_tick = frame / PROGRESSBAR_UPDATE_RATE;
|
last_tick = frame / PROGRESSBAR_UPDATE_RATE;
|
||||||
}
|
}
|
||||||
if (!savestates[frame].size()) continue;
|
if (!savestates[frame].size()) continue;
|
||||||
|
@ -317,7 +317,7 @@ void GREENZONE::save(EMUFILE *os, int save_type)
|
||||||
if (frame / PROGRESSBAR_UPDATE_RATE > last_tick)
|
if (frame / PROGRESSBAR_UPDATE_RATE > last_tick)
|
||||||
{
|
{
|
||||||
setTasProjectProgressBar( frame, greenzoneSize );
|
setTasProjectProgressBar( frame, greenzoneSize );
|
||||||
//playback->setProgressbar(frame, greenzoneSize);
|
playback->setProgressbar(frame, greenzoneSize);
|
||||||
last_tick = frame / PROGRESSBAR_UPDATE_RATE;
|
last_tick = frame / PROGRESSBAR_UPDATE_RATE;
|
||||||
}
|
}
|
||||||
if (!savestates[frame].size()) continue;
|
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)
|
if (i / SAVING_HISTORY_PROGRESSBAR_UPDATE_RATE > last_tick)
|
||||||
{
|
{
|
||||||
setTasProjectProgressBar( i, historyTotalItems );
|
setTasProjectProgressBar( i, historyTotalItems );
|
||||||
//playback->setProgressbar(i, historyTotalItems);
|
playback->setProgressbar(i, historyTotalItems);
|
||||||
last_tick = i / PROGRESSBAR_UPDATE_RATE;
|
last_tick = i / PROGRESSBAR_UPDATE_RATE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -246,15 +246,20 @@ void PLAYBACK::updateProgressbar()
|
||||||
if (pauseFrame)
|
if (pauseFrame)
|
||||||
{
|
{
|
||||||
setProgressbar(currFrameCounter - seekingBeginningFrame, pauseFrame - seekingBeginningFrame);
|
setProgressbar(currFrameCounter - seekingBeginningFrame, pauseFrame - seekingBeginningFrame);
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
if (emuPausedState)
|
if (emuPausedState)
|
||||||
|
{
|
||||||
// full progressbar
|
// full progressbar
|
||||||
setProgressbar(1, 1);
|
setProgressbar(1, 1);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
// cleared progressbar
|
// cleared progressbar
|
||||||
setProgressbar(0, 1);
|
setProgressbar(0, 1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//RedrawWindow(hwndProgressbar, NULL, NULL, RDW_INVALIDATE);
|
//RedrawWindow(hwndProgressbar, NULL, NULL, RDW_INVALIDATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -576,7 +581,11 @@ int PLAYBACK::getFlashingPauseFrame()
|
||||||
|
|
||||||
void PLAYBACK::setProgressbar(int a, int b)
|
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);
|
//SendMessage(hwndProgressbar, PBM_SETPOS, PROGRESSBAR_WIDTH * a / b, 0);
|
||||||
}
|
}
|
||||||
void PLAYBACK::cancelSeeking()
|
void PLAYBACK::cancelSeeking()
|
||||||
|
|
|
@ -281,7 +281,7 @@ void SELECTION::save(EMUFILE *os, bool really_save)
|
||||||
if (i / SAVING_HISTORY_PROGRESSBAR_UPDATE_RATE > last_tick)
|
if (i / SAVING_HISTORY_PROGRESSBAR_UPDATE_RATE > last_tick)
|
||||||
{
|
{
|
||||||
setTasProjectProgressBar( i, historyTotalItems );
|
setTasProjectProgressBar( i, historyTotalItems );
|
||||||
//playback->setProgressbar(i, historyTotalItems);
|
playback->setProgressbar(i, historyTotalItems);
|
||||||
last_tick = i / PROGRESSBAR_UPDATE_RATE;
|
last_tick = i / PROGRESSBAR_UPDATE_RATE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -188,10 +188,12 @@ bool TASEDITOR_PROJECT::save(const char* differentName, bool inputInBinary, bool
|
||||||
write32le(selectionOffset, ofs);
|
write32le(selectionOffset, ofs);
|
||||||
// finish
|
// finish
|
||||||
delete ofs;
|
delete ofs;
|
||||||
//playback->updateProgressbar();
|
playback->updateProgressbar();
|
||||||
// also set project.changed to false, unless it was SaveCompact
|
// also set project.changed to false, unless it was SaveCompact
|
||||||
if (!differentName)
|
if (!differentName)
|
||||||
|
{
|
||||||
reset();
|
reset();
|
||||||
|
}
|
||||||
// restore cursor
|
// restore cursor
|
||||||
|
|
||||||
if ( progressDialog )
|
if ( progressDialog )
|
||||||
|
|
Loading…
Reference in New Issue