File tree Expand file tree Collapse file tree 3 files changed +52
-0
lines changed Expand file tree Collapse file tree 3 files changed +52
-0
lines changed Original file line number Diff line number Diff line change @@ -188,6 +188,9 @@ class QgsFontButton : QToolButton
188
188
virtual void dropEvent( QDropEvent *e );
189
189
190
190
191
+ virtual void wheelEvent( QWheelEvent *event );
192
+
193
+
191
194
};
192
195
193
196
/************************************************************************
Original file line number Diff line number Diff line change @@ -305,6 +305,53 @@ void QgsFontButton::dropEvent( QDropEvent *e )
305
305
updatePreview ();
306
306
}
307
307
308
+ void QgsFontButton::wheelEvent ( QWheelEvent *event )
309
+ {
310
+ double size = 0 ;
311
+ switch ( mMode )
312
+ {
313
+ case ModeTextRenderer:
314
+ size = mFormat .size ();
315
+ break ;
316
+
317
+ case ModeQFont:
318
+ size = mFont .pointSizeF ();
319
+ break ;
320
+ }
321
+
322
+ double increment = event->modifiers () & Qt::ControlModifier ? 0.1 : 1 ;
323
+ if ( event->delta () > 0 )
324
+ {
325
+ size += increment;
326
+ }
327
+ else
328
+ {
329
+ size -= increment;
330
+ }
331
+ size = qMax ( size, 1.0 );
332
+
333
+ switch ( mMode )
334
+ {
335
+ case ModeTextRenderer:
336
+ {
337
+ QgsTextFormat newFormat = mFormat ;
338
+ newFormat.setSize ( size );
339
+ setTextFormat ( newFormat );
340
+ break ;
341
+ }
342
+
343
+ case ModeQFont:
344
+ {
345
+ QFont newFont = mFont ;
346
+ newFont.setPointSizeF ( size );
347
+ setCurrentFont ( newFont );
348
+ break ;
349
+ }
350
+ }
351
+
352
+ event->accept ();
353
+ }
354
+
308
355
QPixmap QgsFontButton::createColorIcon ( const QColor &color ) const
309
356
{
310
357
// create an icon pixmap
Original file line number Diff line number Diff line change @@ -199,6 +199,8 @@ class GUI_EXPORT QgsFontButton : public QToolButton
199
199
// Reimplemented to accept dropped colors
200
200
void dropEvent ( QDropEvent *e ) override ;
201
201
202
+ void wheelEvent ( QWheelEvent *event ) override ;
203
+
202
204
private slots:
203
205
204
206
void showSettingsDialog ();
You can’t perform that action at this time.
0 commit comments