diff --git a/src/drivers/Qt/ppuViewer.cpp b/src/drivers/Qt/ppuViewer.cpp index 8485a32d..c2416058 100644 --- a/src/drivers/Qt/ppuViewer.cpp +++ b/src/drivers/Qt/ppuViewer.cpp @@ -2591,6 +2591,25 @@ spriteViewerDialog_t::spriteViewerDialog_t(QWidget *parent) viewMenu->addAction(act); + // View -> Preview Size + subMenu = viewMenu->addMenu(tr("Preview &Size")); + group = new QActionGroup(this); + group->setExclusive(true); + + act = new QAction(tr("&1x"), this); + act->setCheckable(true); + act->setChecked(true); + group->addAction(act); + subMenu->addAction(act); + connect(act, SIGNAL(triggered()), this, SLOT(setPreviewSize1x(void)) ); + + act = new QAction(tr("&2x"), this); + act->setCheckable(true); + act->setChecked(false); + group->addAction(act); + subMenu->addAction(act); + connect(act, SIGNAL(triggered()), this, SLOT(setPreviewSize2x(void)) ); + // Focus Policy optMenu = menuBar->addMenu(tr("&Options")); @@ -2812,6 +2831,17 @@ void spriteViewerDialog_t::toggleGridVis(void) oamView->setGridVisibility( !oamView->getGridVisibility() ); } //---------------------------------------------------- +void spriteViewerDialog_t::setPreviewSize1x(void) +{ + preView->setMinScale(1); + resize( minimumSizeHint() ); +} +//---------------------------------------------------- +void spriteViewerDialog_t::setPreviewSize2x(void) +{ + preView->setMinScale(2); +} +//---------------------------------------------------- void spriteViewerDialog_t::togglePreviewVis(bool state) { if ( state ) @@ -3354,6 +3384,18 @@ void oamPreview_t::setIndex(int val) selSprite = val; } //---------------------------------------------------- +void oamPreview_t::setMinScale(int scale) +{ + if ( scale < 1 ) + { + scale = 1; + } + setMinimumWidth( scale*256 ); + setMinimumHeight( scale*240 ); + + return; +} +//---------------------------------------------------- int oamPreview_t::heightForWidth(int w) const { return ((w*256)/240); diff --git a/src/drivers/Qt/ppuViewer.h b/src/drivers/Qt/ppuViewer.h index 55dad958..aa0662fa 100644 --- a/src/drivers/Qt/ppuViewer.h +++ b/src/drivers/Qt/ppuViewer.h @@ -404,6 +404,7 @@ class oamPreview_t : public QWidget ~oamPreview_t(void); void setIndex(int val); + void setMinScale(int val); protected: void paintEvent(QPaintEvent *event); void resizeEvent(QResizeEvent *event); @@ -457,6 +458,8 @@ class spriteViewerDialog_t : public QDialog void setHoverFocus(void); void toggleGridVis(void); void togglePreviewVis(bool); + void setPreviewSize1x(void); + void setPreviewSize2x(void); void previewAnimWidthChange(const QVariant &); void previewAnimResizeDone(void); };