PropertiesView and View now follow Settings::units.

This commit is contained in:
Jim Evins
2016-04-14 23:10:38 -04:00
parent 2f7f4b2041
commit 783ede0a03
28 changed files with 559 additions and 258 deletions
+60
View File
@@ -28,6 +28,7 @@
#include "LabelModel.h"
#include "LabelModelObject.h"
#include "LabelModelBoxObject.h"
#include "Settings.h"
#include "Cursors.h"
#include "libglabels/Markup.h"
@@ -85,6 +86,10 @@ View::View( QScrollArea* scrollArea, QWidget* parent )
mGridSpacing = 18;
setMouseTracking( true );
setFocusPolicy(Qt::StrongFocus);
connect( Settings::instance(), SIGNAL(changed()), this, SLOT(onSettingsChanged()) );
onSettingsChanged();
}
@@ -851,6 +856,50 @@ View::handleResizeMotion( const glabels::Distance& xWorld,
}
///
/// Key Press Event Handler
void
View::keyPressEvent( QKeyEvent* event )
{
if ( mState == IdleState )
{
switch (event->key())
{
case Qt::Key_Left:
mModel->moveSelection( -mStepSize, glabels::Distance(0) );
break;
case Qt::Key_Up:
mModel->moveSelection( glabels::Distance(0), -mStepSize );
break;
case Qt::Key_Right:
mModel->moveSelection( mStepSize, glabels::Distance(0) );
break;
case Qt::Key_Down:
mModel->moveSelection( glabels::Distance(0), mStepSize );
break;
case Qt::Key_Delete:
mModel->deleteSelection();
setCursor( Qt::ArrowCursor );
break;
default:
QWidget::keyPressEvent( event );
break;
}
}
else
{
QWidget::keyPressEvent( event );
}
}
///
/// Paint Event Handler
///
@@ -1092,6 +1141,17 @@ View::drawSelectRegionLayer( QPainter* painter )
}
///
/// Settings changed handler
///
void View::onSettingsChanged()
{
glabels::Units units = Settings::units();
mStepSize = glabels::Distance( units.resolution(), units );
}
///
/// Model changed handler
///