@@ -123,29 +123,34 @@ QgsMapCanvasDockWidget::QgsMapCanvasDockWidget( const QString &name, QWidget *pa
123
123
mActionShowLabels ->setChecked ( true );
124
124
connect ( mActionShowLabels , &QAction::toggled, this , &QgsMapCanvasDockWidget::showLabels );
125
125
126
-
127
- mSyncExtentRadio = settingsAction->syncExtentRadio ();
128
- mSyncSelectionRadio = settingsAction->syncSelectionRadio ();
126
+ mSyncExtentCheck = settingsAction->syncExtentCheck ();
127
+ mSyncSelectionCheck = settingsAction->syncSelectionCheck ();
129
128
mScaleCombo = settingsAction->scaleCombo ();
130
129
mRotationEdit = settingsAction->rotationSpinBox ();
131
130
mMagnificationEdit = settingsAction->magnifierSpinBox ();
132
131
mSyncScaleCheckBox = settingsAction->syncScaleCheckBox ();
133
132
mScaleFactorWidget = settingsAction->scaleFactorSpinBox ();
134
133
135
- connect ( mSyncSelectionRadio , &QRadioButton ::toggled, this , [ = ]( bool checked )
134
+ connect ( mSyncSelectionCheck , &QCheckBox ::toggled, this , [ = ]( bool checked )
136
135
{
137
136
autoZoomToSelection ( checked );
138
137
if ( checked )
139
138
{
140
139
syncSelection ();
140
+
141
+ // sync extent and selection options are mutually exclusive
142
+ whileBlocking ( mSyncExtentCheck )->setChecked ( false );
141
143
}
142
144
} );
143
145
144
- connect ( mSyncExtentRadio , &QRadioButton ::toggled, this , [ = ]( bool checked )
146
+ connect ( mSyncExtentCheck , &QCheckBox ::toggled, this , [ = ]( bool checked )
145
147
{
146
148
if ( checked )
147
149
{
148
150
syncViewCenter ( mMainCanvas );
151
+
152
+ // sync extent and selection options are mutually exclusive
153
+ whileBlocking ( mSyncSelectionCheck )->setChecked ( false );
149
154
}
150
155
} );
151
156
@@ -222,7 +227,7 @@ QgsMapCanvasDockWidget::QgsMapCanvasDockWidget( const QString &name, QWidget *pa
222
227
connect ( &mResizeTimer , &QTimer::timeout, this , [ = ]
223
228
{
224
229
mBlockExtentSync = false ;
225
- if ( mSyncExtentRadio ->isChecked () )
230
+ if ( mSyncExtentCheck ->isChecked () )
226
231
syncViewCenter ( mMainCanvas );
227
232
} );
228
233
@@ -257,22 +262,22 @@ QgsMapCanvas *QgsMapCanvasDockWidget::mapCanvas()
257
262
258
263
void QgsMapCanvasDockWidget::setViewCenterSynchronized ( bool enabled )
259
264
{
260
- mSyncExtentRadio ->setChecked ( enabled );
265
+ mSyncExtentCheck ->setChecked ( enabled );
261
266
}
262
267
263
268
bool QgsMapCanvasDockWidget::isViewCenterSynchronized () const
264
269
{
265
- return mSyncExtentRadio ->isChecked ();
270
+ return mSyncExtentCheck ->isChecked ();
266
271
}
267
272
268
273
bool QgsMapCanvasDockWidget::isAutoZoomToSelected () const
269
274
{
270
- return mSyncSelectionRadio ->isChecked ();
275
+ return mSyncSelectionCheck ->isChecked ();
271
276
}
272
277
273
278
void QgsMapCanvasDockWidget::setAutoZoomToSelected ( bool autoZoom )
274
279
{
275
- mSyncSelectionRadio ->setChecked ( autoZoom );
280
+ mSyncSelectionCheck ->setChecked ( autoZoom );
276
281
}
277
282
278
283
void QgsMapCanvasDockWidget::setCursorMarkerVisible ( bool visible )
@@ -392,7 +397,7 @@ void QgsMapCanvasDockWidget::mapExtentChanged()
392
397
mScaleFactorWidget ->setValue ( newScaleFactor );
393
398
}
394
399
395
- if ( mSyncExtentRadio ->isChecked () )
400
+ if ( mSyncExtentCheck ->isChecked () )
396
401
syncViewCenter ( sourceCanvas );
397
402
}
398
403
@@ -537,11 +542,11 @@ QgsMapSettingsAction::QgsMapSettingsAction( QWidget *parent )
537
542
QGridLayout *gLayout = new QGridLayout ();
538
543
gLayout ->setContentsMargins ( 3 , 2 , 3 , 2 );
539
544
540
- mSyncExtentRadio = new QRadioButton ( tr ( " Synchronize View Center with Main Map" ) );
541
- gLayout ->addWidget ( mSyncExtentRadio , 0 , 0 , 1 , 2 );
545
+ mSyncExtentCheck = new QCheckBox ( tr ( " Synchronize View Center with Main Map" ) );
546
+ gLayout ->addWidget ( mSyncExtentCheck , 0 , 0 , 1 , 2 );
542
547
543
- mSyncSelectionRadio = new QRadioButton ( tr ( " Synchronize View to Selection" ) );
544
- gLayout ->addWidget ( mSyncSelectionRadio , 1 , 0 , 1 , 2 );
548
+ mSyncSelectionCheck = new QCheckBox ( tr ( " Synchronize View to Selection" ) );
549
+ gLayout ->addWidget ( mSyncSelectionCheck , 1 , 0 , 1 , 2 );
545
550
546
551
QLabel *label = new QLabel ( tr ( " Scale" ) );
547
552
gLayout ->addWidget ( label, 2 , 0 );
0 commit comments