[FEATURE] holding shift while pressing cursor keys results in large movements in composer

This commit is contained in:
Nyall Dawson 2013-05-22 20:10:10 +10:00 committed by Marco Hugentobler
parent 151e0cc394
commit f365257e3f

View File

@ -499,6 +499,14 @@ void QgsComposerView::keyPressEvent( QKeyEvent * e )
QList<QgsComposerItem*> composerItemList = composition()->selectedComposerItems();
QList<QgsComposerItem*>::iterator itemIt = composerItemList.begin();
// increment used for cursor key item movement
double increment = 1.0;
if ( e->modifiers() & Qt::ShiftModifier )
{
//holding shift while pressing cursor keys results in a big step
increment = 10.0;
}
if ( e->matches( QKeySequence::Copy ) || e->matches( QKeySequence::Cut ) )
{
QDomDocument doc;
@ -582,7 +590,7 @@ void QgsComposerView::keyPressEvent( QKeyEvent * e )
for ( ; itemIt != composerItemList.end(); ++itemIt )
{
( *itemIt )->beginCommand( tr( "Item moved" ), QgsComposerMergeCommand::ItemMove );
( *itemIt )->move( -1.0, 0.0 );
( *itemIt )->move( -1 * increment, 0.0 );
( *itemIt )->endCommand();
}
}
@ -591,7 +599,7 @@ void QgsComposerView::keyPressEvent( QKeyEvent * e )
for ( ; itemIt != composerItemList.end(); ++itemIt )
{
( *itemIt )->beginCommand( tr( "Item moved" ), QgsComposerMergeCommand::ItemMove );
( *itemIt )->move( 1.0, 0.0 );
( *itemIt )->move( increment, 0.0 );
( *itemIt )->endCommand();
}
}
@ -600,7 +608,7 @@ void QgsComposerView::keyPressEvent( QKeyEvent * e )
for ( ; itemIt != composerItemList.end(); ++itemIt )
{
( *itemIt )->beginCommand( tr( "Item moved" ), QgsComposerMergeCommand::ItemMove );
( *itemIt )->move( 0.0, 1.0 );
( *itemIt )->move( 0.0, increment );
( *itemIt )->endCommand();
}
}
@ -609,7 +617,7 @@ void QgsComposerView::keyPressEvent( QKeyEvent * e )
for ( ; itemIt != composerItemList.end(); ++itemIt )
{
( *itemIt )->beginCommand( tr( "Item moved" ), QgsComposerMergeCommand::ItemMove );
( *itemIt )->move( 0.0, -1.0 );
( *itemIt )->move( 0.0, -1 * increment );
( *itemIt )->endCommand();
}
}