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