Fix max and min zoom factor. Main window zoom buttons are always enabled.
This commit is contained in:
1 parent
fc00a73144
commit
15382e8a6e
5 files changed
+24
-15
No files matched your search
@@ -54,8 +54,6 @@ SubWindowHandle::SubWindowHandle( QWidget * parent ) :
|
||||
|
||||
m_cWindowName = QString( " " );
|
||||
m_bIsPlaying = true;
|
||||
m_dScaleFactor = 1;
|
||||
|
||||
}
|
||||
|
||||
SubWindowHandle::~SubWindowHandle()
|
||||
@@ -245,8 +243,8 @@ Void SubWindowHandle::stopEvent()
|
||||
|
||||
Void SubWindowHandle::normalSize()
|
||||
{
|
||||
m_dScaleFactor = 1.0;
|
||||
m_cViewArea->setZoomFactor( m_dScaleFactor );
|
||||
Double scaleFactor = 1.0;
|
||||
m_cViewArea->setZoomFactor( scaleFactor );
|
||||
}
|
||||
|
||||
Void SubWindowHandle::zoomToFit()
|
||||
@@ -264,9 +262,10 @@ Void SubWindowHandle::zoomToFit()
|
||||
Void SubWindowHandle::scaleView( Double factor )
|
||||
{
|
||||
Q_ASSERT( m_cViewArea->image() );
|
||||
m_dScaleFactor *= factor;
|
||||
m_cViewArea->setZoomFactor( m_dScaleFactor );
|
||||
adjustScrollBar( m_dScaleFactor );
|
||||
Double scaleFactor = m_cViewArea->getZoomFactor();
|
||||
scaleFactor *= factor;
|
||||
m_cViewArea->setZoomFactor( scaleFactor );
|
||||
adjustScrollBar( scaleFactor );
|
||||
}
|
||||
|
||||
Void SubWindowHandle::scaleView( Int width, Int height )
|
||||
@@ -283,7 +282,6 @@ Void SubWindowHandle::scaleView( const QSize & size )
|
||||
// Calc the zoom factor
|
||||
Double wfactor = 1;
|
||||
Double hfactor = 1;
|
||||
m_dScaleFactor = 1;
|
||||
|
||||
wfactor = ( Double )newSize.width() / imgViewSize.width();
|
||||
hfactor = ( Double )newSize.height() / imgViewSize.height();
|
||||
|
||||
@@ -57,8 +57,6 @@ private:
|
||||
QString m_cWindowName;
|
||||
QString m_cCurrFileName;
|
||||
|
||||
Double m_dScaleFactor;
|
||||
|
||||
Bool m_bIsPlaying;
|
||||
|
||||
public:
|
||||
@@ -124,7 +122,7 @@ public:
|
||||
|
||||
Double getScaleFactor()
|
||||
{
|
||||
return m_dScaleFactor;
|
||||
return m_cViewArea->getZoomFactor();
|
||||
}
|
||||
|
||||
QSize sizeHint() const;
|
||||
|
||||
+12
-2
@@ -91,6 +91,12 @@ void ViewArea::clearMask()
|
||||
m_mask.clear();
|
||||
}
|
||||
|
||||
Double ViewArea::getZoomFactor()
|
||||
{
|
||||
return m_zoomFactor;
|
||||
}
|
||||
|
||||
|
||||
// QSize ViewArea::sizeHint() const
|
||||
// {
|
||||
// int w = m_pixmap.width()*m_zoomFactor;
|
||||
@@ -103,6 +109,12 @@ void ViewArea::setZoomFactor( double f )
|
||||
//if( f == m_zoomFactor )
|
||||
//return;
|
||||
|
||||
if( f < ( 32.0 / m_pixmap.width() ) )
|
||||
f = 32.0 / m_pixmap.width();
|
||||
|
||||
if( f > 10.0 )
|
||||
f = 10.0;
|
||||
|
||||
m_zoomFactor = f;
|
||||
//emit( zoomFactorChanged( m_zoomFactor ) );
|
||||
|
||||
@@ -423,8 +435,6 @@ void ViewArea::wheelEvent( QWheelEvent *event )
|
||||
double f;
|
||||
|
||||
f = m_zoomFactor + 0.001 * event->delta();
|
||||
if( f < ( 32.0 / m_pixmap.width() ) )
|
||||
f = 32.0 / m_pixmap.width();
|
||||
|
||||
setZoomFactor( f );
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <QBitmap>
|
||||
#include <QColor>
|
||||
|
||||
#include "TypeDef.h"
|
||||
#include "GridManager.h"
|
||||
|
||||
namespace plaYUVer
|
||||
@@ -104,6 +105,8 @@ public:
|
||||
void setInputStream( InputStream *stream );
|
||||
InputStream* getInputStream();
|
||||
|
||||
Double getZoomFactor();
|
||||
|
||||
// QSize sizeHint() const;
|
||||
|
||||
signals:
|
||||
|
||||
@@ -222,8 +222,8 @@ void plaYUVerApp::scaleFrame( int ratio )
|
||||
{
|
||||
activeSubWindow()->scaleView( ( Double )( ratio ) / 100.0 );
|
||||
|
||||
actionZoomIn->setEnabled( activeSubWindow()->getScaleFactor() < 3.0 );
|
||||
actionZoomOut->setEnabled( activeSubWindow()->getScaleFactor() > 0.333 );
|
||||
// actionZoomIn->setEnabled( activeSubWindow()->getScaleFactor() < 3.0 );
|
||||
// actionZoomOut->setEnabled( activeSubWindow()->getScaleFactor() > 0.333 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user