Skip to content

Commit f2c9160

Browse files
committedSep 14, 2018
Move symmetric widgets into a collapsible group box
These are advanced settings which we don't want to show up front, at risk of hurting UI simplicity
1 parent 0f15735 commit f2c9160

File tree

2 files changed

+69
-95
lines changed

2 files changed

+69
-95
lines changed
 

‎src/gui/symbology/qgsgraduatedsymbolrendererwidget.cpp

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,9 @@ QgsGraduatedSymbolRendererWidget::QgsGraduatedSymbolRendererWidget( QgsVectorLay
524524
// initialize from previously set renderer
525525
updateUiFromRenderer();
526526

527+
// default to collapsed symmetric group for ui simplicity
528+
mGroupBoxSymmetric->setCollapsed( true ); //
529+
527530
// menus for data-defined rotation/size
528531
QMenu *advMenu = new QMenu( this );
529532

@@ -580,7 +583,7 @@ void QgsGraduatedSymbolRendererWidget::connectUpdateHandlers()
580583
connect( mModel, &QgsGraduatedSymbolRendererModel::rowsMoved, this, &QgsGraduatedSymbolRendererWidget::rowsMoved );
581584
connect( mModel, &QAbstractItemModel::dataChanged, this, &QgsGraduatedSymbolRendererWidget::modelDataChanged );
582585

583-
connect( cbxClassifySymmetric, &QAbstractButton::toggled, this, &QgsGraduatedSymbolRendererWidget::classifyGraduated );
586+
connect( mGroupBoxSymmetric, &QGroupBox::toggled, this, &QgsGraduatedSymbolRendererWidget::classifyGraduated );
584587
connect( cbxAstride, &QAbstractButton::toggled, this, &QgsGraduatedSymbolRendererWidget::classifyGraduated );
585588
connect( cboSymmetryPointForPretty, static_cast<void ( QComboBox::* )( int )>( &QComboBox::activated ), this, &QgsGraduatedSymbolRendererWidget::classifyGraduated );
586589
connect( spinSymmetryPointForOtherMethods, static_cast<void( QgsDoubleSpinBox::* )()>( &QgsDoubleSpinBox::editingFinished ), this, &QgsGraduatedSymbolRendererWidget::classifyGraduated );
@@ -601,7 +604,7 @@ void QgsGraduatedSymbolRendererWidget::disconnectUpdateHandlers()
601604
disconnect( mModel, &QgsGraduatedSymbolRendererModel::rowsMoved, this, &QgsGraduatedSymbolRendererWidget::rowsMoved );
602605
disconnect( mModel, &QAbstractItemModel::dataChanged, this, &QgsGraduatedSymbolRendererWidget::modelDataChanged );
603606

604-
disconnect( cbxClassifySymmetric, &QAbstractButton::toggled, this, &QgsGraduatedSymbolRendererWidget::classifyGraduated );
607+
disconnect( mGroupBoxSymmetric, &QGroupBox::toggled, this, &QgsGraduatedSymbolRendererWidget::classifyGraduated );
605608
disconnect( cbxAstride, &QAbstractButton::toggled, this, &QgsGraduatedSymbolRendererWidget::classifyGraduated );
606609
disconnect( cboSymmetryPointForPretty, static_cast<void ( QComboBox::* )( int )>( &QComboBox::activated ), this, &QgsGraduatedSymbolRendererWidget::classifyGraduated );
607610
disconnect( spinSymmetryPointForOtherMethods, static_cast<void( QgsDoubleSpinBox::* )()>( &QgsDoubleSpinBox::editingFinished ), this, &QgsGraduatedSymbolRendererWidget::classifyGraduated );
@@ -626,7 +629,7 @@ void QgsGraduatedSymbolRendererWidget::updateUiFromRenderer( bool updateCount )
626629
case QgsGraduatedSymbolRenderer::EqualInterval:
627630
case QgsGraduatedSymbolRenderer::StdDev:
628631
{
629-
cbxClassifySymmetric->setVisible( true );
632+
mGroupBoxSymmetric->setVisible( true );
630633
cbxAstride->setVisible( true );
631634
cboSymmetryPointForPretty->setVisible( false );
632635
spinSymmetryPointForOtherMethods->setVisible( true );
@@ -636,7 +639,7 @@ void QgsGraduatedSymbolRendererWidget::updateUiFromRenderer( bool updateCount )
636639

637640
case QgsGraduatedSymbolRenderer::Pretty:
638641
{
639-
cbxClassifySymmetric->setVisible( true );
642+
mGroupBoxSymmetric->setVisible( true );
640643
cbxAstride->setVisible( true );
641644
spinSymmetryPointForOtherMethods->setVisible( false );
642645
cboSymmetryPointForPretty->setVisible( true );
@@ -651,7 +654,7 @@ void QgsGraduatedSymbolRendererWidget::updateUiFromRenderer( bool updateCount )
651654
case QgsGraduatedSymbolRenderer::Jenks:
652655
case QgsGraduatedSymbolRenderer::Custom:
653656
{
654-
cbxClassifySymmetric->setVisible( false );
657+
mGroupBoxSymmetric->setVisible( false );
655658
cbxAstride->setVisible( false );
656659
cboSymmetryPointForPretty->setVisible( false );
657660
spinSymmetryPointForOtherMethods->setVisible( false );
@@ -662,14 +665,14 @@ void QgsGraduatedSymbolRendererWidget::updateUiFromRenderer( bool updateCount )
662665

663666
if ( mRenderer->useSymmetricMode() )
664667
{
665-
cbxClassifySymmetric->setChecked( true );
668+
mGroupBoxSymmetric->setChecked( true );
666669
spinSymmetryPointForOtherMethods->setEnabled( true );
667670
cbxAstride->setEnabled( true );
668671
cboSymmetryPointForPretty->setEnabled( true );
669672
}
670673
else
671674
{
672-
cbxClassifySymmetric->setChecked( false );
675+
mGroupBoxSymmetric->setChecked( false );
673676
spinSymmetryPointForOtherMethods->setEnabled( false );
674677
cbxAstride->setEnabled( false );
675678
cboSymmetryPointForPretty->setEnabled( false );
@@ -903,7 +906,7 @@ void QgsGraduatedSymbolRendererWidget::classifyGraduated()
903906
if ( spinSymmetryPointForOtherMethods->value() < ( minimum + ( maximum - minimum ) / 100. ) || spinSymmetryPointForOtherMethods->value() > ( maximum - ( maximum - minimum ) / 100. ) )
904907
spinSymmetryPointForOtherMethods->setValue( minimum + ( maximum - minimum ) / 2. );
905908

906-
if ( cbxClassifySymmetric->isChecked() )
909+
if ( mGroupBoxSymmetric->isChecked() )
907910
{
908911
useSymmetricMode = true;
909912
symmetryPoint = spinSymmetryPointForOtherMethods->value();
@@ -926,7 +929,7 @@ void QgsGraduatedSymbolRendererWidget::classifyGraduated()
926929
if ( spinSymmetryPointForOtherMethods->value() < ( minimum + ( maximum - minimum ) / 100. ) || spinSymmetryPointForOtherMethods->value() > ( maximum - ( maximum - minimum ) / 100. ) )
927930
spinSymmetryPointForOtherMethods->setValue( minimum + ( maximum - minimum ) / 2. );
928931

929-
if ( cbxClassifySymmetric->isChecked() )
932+
if ( mGroupBoxSymmetric->isChecked() )
930933
{
931934
useSymmetricMode = true;
932935
symmetryPoint = spinSymmetryPointForOtherMethods->value();
@@ -938,7 +941,7 @@ void QgsGraduatedSymbolRendererWidget::classifyGraduated()
938941
case QgsGraduatedSymbolRenderer::Pretty:
939942
{
940943
mode = QgsGraduatedSymbolRenderer::Pretty;
941-
if ( cbxClassifySymmetric->isChecked() )
944+
if ( mGroupBoxSymmetric->isChecked() )
942945
{
943946
useSymmetricMode = true;
944947
astride = cbxAstride->isChecked();

‎src/ui/qgsgraduatedsymbolrendererv2widget.ui

Lines changed: 56 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
<rect>
77
<x>0</x>
88
<y>0</y>
9-
<width>952</width>
10-
<height>554</height>
9+
<width>482</width>
10+
<height>618</height>
1111
</rect>
1212
</property>
1313
<layout class="QGridLayout" name="gridLayout">
@@ -369,87 +369,52 @@ Negative rounds to powers of 10</string>
369369
</layout>
370370
</item>
371371
<item>
372-
<layout class="QHBoxLayout" name="horizontalLayout_2">
373-
<property name="sizeConstraint">
374-
<enum>QLayout::SetDefaultConstraint</enum>
372+
<widget class="QgsCollapsibleGroupBoxBasic" name="mGroupBoxSymmetric">
373+
<property name="title">
374+
<string>Symmetic Classification</string>
375375
</property>
376-
<property name="leftMargin">
377-
<number>0</number>
378-
</property>
379-
<property name="topMargin">
380-
<number>0</number>
381-
</property>
382-
<property name="rightMargin">
383-
<number>0</number>
384-
</property>
385-
<property name="bottomMargin">
386-
<number>0</number>
376+
<property name="checkable">
377+
<bool>true</bool>
387378
</property>
388-
<item>
389-
<widget class="QCheckBox" name="cbxClassifySymmetric">
390-
<property name="enabled">
391-
<bool>true</bool>
392-
</property>
393-
<property name="visible">
394-
<bool>true</bool>
395-
</property>
396-
<property name="text">
397-
<string>Symmetric around:</string>
398-
</property>
399-
<property name="checkable">
400-
<bool>true</bool>
401-
</property>
402-
<property name="checked">
403-
<bool>false</bool>
404-
</property>
405-
<property name="tristate">
406-
<bool>false</bool>
407-
</property>
408-
</widget>
409-
</item>
410-
<item>
411-
<widget class="QgsDoubleSpinBox" name="spinSymmetryPointForOtherMethods">
412-
<property name="specialValueText">
413-
<string/>
414-
</property>
415-
<property name="minimum">
416-
<double>-99999999999999995164818811802792197885196090803013355167206819763650035712.000000000000000</double>
417-
</property>
418-
<property name="maximum">
419-
<double>99999999999999995164818811802792197885196090803013355167206819763650035712.000000000000000</double>
420-
</property>
421-
<property name="value">
422-
<double>100.000000000000000</double>
423-
</property>
424-
<property name="showClearButton" stdset="0">
425-
<bool>false</bool>
426-
</property>
427-
</widget>
428-
</item>
429-
<item>
430-
<widget class="QComboBox" name="cboSymmetryPointForPretty"/>
431-
</item>
432-
<item>
433-
<widget class="QCheckBox" name="cbxAstride">
434-
<property name="text">
435-
<string>with a class astride that value</string>
436-
</property>
437-
</widget>
438-
</item>
439-
<item>
440-
<spacer name="horizontalSpacer">
441-
<property name="orientation">
442-
<enum>Qt::Horizontal</enum>
443-
</property>
444-
<property name="sizeHint" stdset="0">
445-
<size>
446-
<width>40</width>
447-
<height>20</height>
448-
</size>
449-
</property>
450-
</spacer>
451-
</item>
452-
</layout>
379+
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1">
380+
<item row="0" column="1">
381+
<widget class="QgsDoubleSpinBox" name="spinSymmetryPointForOtherMethods">
382+
<property name="specialValueText">
383+
<string/>
384+
</property>
385+
<property name="minimum">
386+
<double>-99999999999999995164818811802792197885196090803013355167206819763650035712.000000000000000</double>
387+
</property>
388+
<property name="maximum">
389+
<double>99999999999999995164818811802792197885196090803013355167206819763650035712.000000000000000</double>
390+
</property>
391+
<property name="value">
392+
<double>100.000000000000000</double>
393+
</property>
394+
<property name="showClearButton" stdset="0">
395+
<bool>false</bool>
396+
</property>
397+
</widget>
398+
</item>
399+
<item row="0" column="0">
400+
<widget class="QLabel" name="label_2">
401+
<property name="text">
402+
<string>Around</string>
403+
</property>
404+
</widget>
405+
</item>
406+
<item row="1" column="0" colspan="2">
407+
<widget class="QComboBox" name="cboSymmetryPointForPretty"/>
408+
</item>
409+
<item row="2" column="0" colspan="2">
410+
<widget class="QCheckBox" name="cbxAstride">
411+
<property name="text">
412+
<string>Create class astride symmetry value</string>
413+
</property>
414+
</widget>
415+
</item>
416+
</layout>
417+
</widget>
453418
</item>
454419
<item>
455420
<layout class="QHBoxLayout" name="horizontalLayout_3">
@@ -548,15 +513,15 @@ Negative rounds to powers of 10</string>
548513
<header>qgsdoublespinbox.h</header>
549514
</customwidget>
550515
<customwidget>
551-
<class>QgsFieldExpressionWidget</class>
516+
<class>QgsUnitSelectionWidget</class>
552517
<extends>QWidget</extends>
553-
<header>qgsfieldexpressionwidget.h</header>
518+
<header>qgsunitselectionwidget.h</header>
554519
<container>1</container>
555520
</customwidget>
556521
<customwidget>
557-
<class>QgsUnitSelectionWidget</class>
522+
<class>QgsFieldExpressionWidget</class>
558523
<extends>QWidget</extends>
559-
<header>qgsunitselectionwidget.h</header>
524+
<header>qgsfieldexpressionwidget.h</header>
560525
<container>1</container>
561526
</customwidget>
562527
<customwidget>
@@ -571,6 +536,12 @@ Negative rounds to powers of 10</string>
571536
<header>qgsgraduatedhistogramwidget.h</header>
572537
<container>1</container>
573538
</customwidget>
539+
<customwidget>
540+
<class>QgsCollapsibleGroupBoxBasic</class>
541+
<extends>QGroupBox</extends>
542+
<header>qgscollapsiblegroupbox.h</header>
543+
<container>1</container>
544+
</customwidget>
574545
</customwidgets>
575546
<tabstops>
576547
<tabstop>mExpressionWidget</tabstop>

0 commit comments

Comments
 (0)
Please sign in to comment.