Skip to content

Commit 03d1e2b

Browse files
committed
[composer] Use crosshairs cursor when drawing new items
1 parent 7f32985 commit 03d1e2b

File tree

1 file changed

+42
-19
lines changed

1 file changed

+42
-19
lines changed

src/gui/qgscomposerview.cpp

+42-19
Original file line numberDiff line numberDiff line change
@@ -75,26 +75,49 @@ void QgsComposerView::setCurrentTool( QgsComposerView::Tool t )
7575
{
7676
return;
7777
}
78-
if ( t == QgsComposerView::Pan )
78+
switch ( t )
7979
{
80-
//lock cursor to prevent composer items changing it
81-
composition()->setPreventCursorChange( true );
82-
viewport()->setCursor( Qt::OpenHandCursor );
83-
}
84-
else if ( t == QgsComposerView::Zoom )
85-
{
86-
//lock cursor to prevent composer items changing it
87-
composition()->setPreventCursorChange( true );
88-
//set the cursor to zoom in
89-
QPixmap myZoomQPixmap = QPixmap(( const char ** )( zoom_in ) );
90-
QCursor zoomCursor = QCursor( myZoomQPixmap, 7, 7 );
91-
viewport()->setCursor( zoomCursor );
92-
}
93-
else
94-
{
95-
//not using pan tool, composer items can change cursor
96-
composition()->setPreventCursorChange( false );
97-
viewport()->setCursor( Qt::ArrowCursor );
80+
case QgsComposerView::Pan:
81+
{
82+
//lock cursor to prevent composer items changing it
83+
composition()->setPreventCursorChange( true );
84+
viewport()->setCursor( Qt::OpenHandCursor );
85+
break;
86+
}
87+
case QgsComposerView::Zoom:
88+
{
89+
//lock cursor to prevent composer items changing it
90+
composition()->setPreventCursorChange( true );
91+
//set the cursor to zoom in
92+
QPixmap myZoomQPixmap = QPixmap(( const char ** )( zoom_in ) );
93+
QCursor zoomCursor = QCursor( myZoomQPixmap, 7, 7 );
94+
viewport()->setCursor( zoomCursor );
95+
break;
96+
}
97+
case QgsComposerView::AddArrow:
98+
case QgsComposerView::AddHtml:
99+
case QgsComposerView::AddMap:
100+
case QgsComposerView::AddLegend:
101+
case QgsComposerView::AddLabel:
102+
case QgsComposerView::AddScalebar:
103+
case QgsComposerView::AddPicture:
104+
case QgsComposerView::AddRectangle:
105+
case QgsComposerView::AddEllipse:
106+
case QgsComposerView::AddTriangle:
107+
case QgsComposerView::AddTable:
108+
{
109+
//using a drawing tool
110+
//lock cursor to prevent composer items changing it
111+
composition()->setPreventCursorChange( true );
112+
viewport()->setCursor( Qt::CrossCursor );
113+
break;
114+
}
115+
default:
116+
{
117+
//not using pan tool, composer items can change cursor
118+
composition()->setPreventCursorChange( false );
119+
viewport()->setCursor( Qt::ArrowCursor );
120+
}
98121
}
99122
}
100123

0 commit comments

Comments
 (0)