Skip to content

Commit a44e48c

Browse files
committed
[composer] More tweaks to grid UI:
- show grid name in draw grid checkbox to aid UX - restore 12 decimal places for grid interval/offset - rearrange controls for improved user flow - disabled cross width control when grid type is not set to cross - switch to collapsible group boxes
1 parent 4e62dde commit a44e48c

File tree

2 files changed

+89
-63
lines changed

2 files changed

+89
-63
lines changed

src/app/composer/qgscomposermapwidget.cpp

+15
Original file line numberDiff line numberDiff line change
@@ -1203,6 +1203,11 @@ void QgsComposerMapWidget::on_mGridListWidget_itemChanged( QListWidgetItem* item
12031203
}
12041204

12051205
grid->setName( item->text() );
1206+
if ( item->isSelected() )
1207+
{
1208+
//update check box title if item is current item
1209+
mGridCheckBox->setTitle( QString( tr( "Draw \"%1\" grid" ) ).arg( grid->name() ) );
1210+
}
12061211
}
12071212

12081213
void QgsComposerMapWidget::setGridItemsEnabled( bool enabled )
@@ -1267,6 +1272,8 @@ void QgsComposerMapWidget::setGridItems( const QgsComposerMapGrid* grid )
12671272
}
12681273

12691274
blockGridItemsSignals( true );
1275+
1276+
mGridCheckBox->setTitle( QString( tr( "Draw \"%1\" grid" ) ).arg( grid->name() ) );
12701277
mGridCheckBox->setChecked( grid->gridEnabled() );
12711278
mIntervalXSpinBox->setValue( grid->gridIntervalX() );
12721279
mIntervalYSpinBox->setValue( grid->gridIntervalY() );
@@ -1283,10 +1290,14 @@ void QgsComposerMapWidget::setGridItems( const QgsComposerMapGrid* grid )
12831290
if ( gridStyle == QgsComposerMap::Cross )
12841291
{
12851292
mGridTypeComboBox->setCurrentIndex( mGridTypeComboBox->findText( tr( "Cross" ) ) );
1293+
mCrossWidthSpinBox->setEnabled( true );
1294+
mCrossWidthLabel->setEnabled( true );
12861295
}
12871296
else
12881297
{
12891298
mGridTypeComboBox->setCurrentIndex( mGridTypeComboBox->findText( tr( "Solid" ) ) );
1299+
mCrossWidthSpinBox->setEnabled( false );
1300+
mCrossWidthLabel->setEnabled( false );
12901301
}
12911302

12921303
//grid frame
@@ -1606,10 +1617,14 @@ void QgsComposerMapWidget::on_mGridTypeComboBox_currentIndexChanged( const QStri
16061617
if ( text == tr( "Cross" ) )
16071618
{
16081619
grid->setGridStyle( QgsComposerMap::Cross );
1620+
mCrossWidthSpinBox->setEnabled( true );
1621+
mCrossWidthLabel->setEnabled( true );
16091622
}
16101623
else
16111624
{
16121625
grid->setGridStyle( QgsComposerMap::Solid );
1626+
mCrossWidthSpinBox->setEnabled( false );
1627+
mCrossWidthLabel->setEnabled( false );
16131628
}
16141629
mComposerMap->update();
16151630
mComposerMap->endCommand();

src/ui/qgscomposermapwidgetbase.ui

+74-63
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
<property name="geometry">
5555
<rect>
5656
<x>0</x>
57-
<y>-387</y>
57+
<y>-623</y>
5858
<width>439</width>
5959
<height>1944</height>
6060
</rect>
@@ -474,7 +474,7 @@
474474
</widget>
475475
</item>
476476
<item>
477-
<widget class="QGroupBox" name="mGridCheckBox">
477+
<widget class="QgsCollapsibleGroupBoxBasic" name="mGridCheckBox">
478478
<property name="title">
479479
<string>Draw grid</string>
480480
</property>
@@ -488,7 +488,7 @@
488488
<string notr="true">composeritem</string>
489489
</property>
490490
<property name="collapsed" stdset="0">
491-
<bool>true</bool>
491+
<bool>false</bool>
492492
</property>
493493
<layout class="QVBoxLayout" name="verticalLayout">
494494
<item>
@@ -519,6 +519,46 @@
519519
<widget class="QComboBox" name="mGridTypeComboBox"/>
520520
</item>
521521
<item row="1" column="0">
522+
<widget class="QLabel" name="mMapGridCRSLabel">
523+
<property name="text">
524+
<string>CRS</string>
525+
</property>
526+
</widget>
527+
</item>
528+
<item row="1" column="1">
529+
<widget class="QPushButton" name="mMapGridCRSButton">
530+
<property name="text">
531+
<string>change...</string>
532+
</property>
533+
</widget>
534+
</item>
535+
<item row="2" column="0">
536+
<widget class="QLabel" name="mMapGridUnitLabel">
537+
<property name="text">
538+
<string>Interval units</string>
539+
</property>
540+
</widget>
541+
</item>
542+
<item row="2" column="1">
543+
<widget class="QComboBox" name="mMapGridUnitComboBox">
544+
<item>
545+
<property name="text">
546+
<string>Map unit</string>
547+
</property>
548+
</item>
549+
<item>
550+
<property name="text">
551+
<string>Millimeter</string>
552+
</property>
553+
</item>
554+
<item>
555+
<property name="text">
556+
<string>Centimeter</string>
557+
</property>
558+
</item>
559+
</widget>
560+
</item>
561+
<item row="3" column="0">
522562
<widget class="QLabel" name="mIntervalXLabel_2">
523563
<property name="text">
524564
<string>Interval</string>
@@ -528,15 +568,15 @@
528568
</property>
529569
</widget>
530570
</item>
531-
<item row="1" column="1">
571+
<item row="3" column="1">
532572
<layout class="QVBoxLayout" name="verticalLayout_9">
533573
<item>
534574
<widget class="QDoubleSpinBox" name="mIntervalXSpinBox">
535575
<property name="prefix">
536576
<string>X </string>
537577
</property>
538578
<property name="decimals">
539-
<number>5</number>
579+
<number>12</number>
540580
</property>
541581
<property name="maximum">
542582
<double>9999999.000000000000000</double>
@@ -549,7 +589,7 @@
549589
<string>Y </string>
550590
</property>
551591
<property name="decimals">
552-
<number>5</number>
592+
<number>12</number>
553593
</property>
554594
<property name="maximum">
555595
<double>9999999.000000000000000</double>
@@ -558,7 +598,7 @@
558598
</item>
559599
</layout>
560600
</item>
561-
<item row="2" column="0">
601+
<item row="4" column="0">
562602
<widget class="QLabel" name="mOffsetXLabel_2">
563603
<property name="text">
564604
<string>Offset</string>
@@ -568,15 +608,15 @@
568608
</property>
569609
</widget>
570610
</item>
571-
<item row="2" column="1">
611+
<item row="4" column="1">
572612
<layout class="QVBoxLayout" name="verticalLayout_10">
573613
<item>
574614
<widget class="QDoubleSpinBox" name="mOffsetXSpinBox">
575615
<property name="prefix">
576616
<string>X </string>
577617
</property>
578618
<property name="decimals">
579-
<number>5</number>
619+
<number>12</number>
580620
</property>
581621
<property name="maximum">
582622
<double>9999999.000000000000000</double>
@@ -589,7 +629,7 @@
589629
<string>Y </string>
590630
</property>
591631
<property name="decimals">
592-
<number>5</number>
632+
<number>12</number>
593633
</property>
594634
<property name="maximum">
595635
<double>9999999.000000000000000</double>
@@ -598,8 +638,8 @@
598638
</item>
599639
</layout>
600640
</item>
601-
<item row="3" column="0">
602-
<widget class="QLabel" name="mCrossWidthLabel_2">
641+
<item row="5" column="0">
642+
<widget class="QLabel" name="mCrossWidthLabel">
603643
<property name="text">
604644
<string>Cross width</string>
605645
</property>
@@ -608,14 +648,17 @@
608648
</property>
609649
</widget>
610650
</item>
611-
<item row="3" column="1">
651+
<item row="5" column="1">
612652
<widget class="QDoubleSpinBox" name="mCrossWidthSpinBox">
653+
<property name="suffix">
654+
<string> mm</string>
655+
</property>
613656
<property name="decimals">
614-
<number>5</number>
657+
<number>2</number>
615658
</property>
616659
</widget>
617660
</item>
618-
<item row="4" column="0">
661+
<item row="6" column="0">
619662
<widget class="QLabel" name="mLineStyleLabel_2">
620663
<property name="text">
621664
<string>Line style</string>
@@ -625,67 +668,27 @@
625668
</property>
626669
</widget>
627670
</item>
628-
<item row="4" column="1">
671+
<item row="6" column="1">
629672
<widget class="QPushButton" name="mGridLineStyleButton">
630673
<property name="text">
631674
<string>change...</string>
632675
</property>
633676
</widget>
634677
</item>
635-
<item row="5" column="0">
678+
<item row="7" column="0">
636679
<widget class="QLabel" name="mGridBlendLabel">
637680
<property name="text">
638681
<string>Blend mode</string>
639682
</property>
640683
</widget>
641684
</item>
642-
<item row="5" column="1">
643-
<widget class="QgsBlendModeComboBox" name="mGridBlendComboBox"/>
644-
</item>
645-
<item row="6" column="0">
646-
<widget class="QLabel" name="mMapGridCRSLabel">
647-
<property name="text">
648-
<string>CRS</string>
649-
</property>
650-
</widget>
651-
</item>
652-
<item row="6" column="1">
653-
<widget class="QPushButton" name="mMapGridCRSButton">
654-
<property name="text">
655-
<string>change...</string>
656-
</property>
657-
</widget>
658-
</item>
659-
<item row="7" column="0">
660-
<widget class="QLabel" name="mMapGridUnitLabel">
661-
<property name="text">
662-
<string>Unit</string>
663-
</property>
664-
</widget>
665-
</item>
666685
<item row="7" column="1">
667-
<widget class="QComboBox" name="mMapGridUnitComboBox">
668-
<item>
669-
<property name="text">
670-
<string>Map unit</string>
671-
</property>
672-
</item>
673-
<item>
674-
<property name="text">
675-
<string>Millimeter</string>
676-
</property>
677-
</item>
678-
<item>
679-
<property name="text">
680-
<string>Centimeter</string>
681-
</property>
682-
</item>
683-
</widget>
686+
<widget class="QgsBlendModeComboBox" name="mGridBlendComboBox"/>
684687
</item>
685688
</layout>
686689
</item>
687690
<item>
688-
<widget class="QGroupBox" name="mGridFrameGroupBox">
691+
<widget class="QgsCollapsibleGroupBoxBasic" name="mGridFrameGroupBox">
689692
<property name="title">
690693
<string>Grid frame</string>
691694
</property>
@@ -760,7 +763,11 @@
760763
</widget>
761764
</item>
762765
<item row="1" column="1" colspan="2">
763-
<widget class="QDoubleSpinBox" name="mFrameWidthSpinBox"/>
766+
<widget class="QDoubleSpinBox" name="mFrameWidthSpinBox">
767+
<property name="suffix">
768+
<string> mm</string>
769+
</property>
770+
</widget>
764771
</item>
765772
<item row="2" column="0">
766773
<widget class="QLabel" name="mFramePenLabel">
@@ -773,7 +780,7 @@
773780
</widget>
774781
</item>
775782
<item>
776-
<widget class="QGroupBox" name="mDrawAnnotationGroupBox">
783+
<widget class="QgsCollapsibleGroupBoxBasic" name="mDrawAnnotationGroupBox">
777784
<property name="enabled">
778785
<bool>true</bool>
779786
</property>
@@ -790,7 +797,7 @@
790797
<string/>
791798
</property>
792799
<property name="collapsed" stdset="0">
793-
<bool>true</bool>
800+
<bool>false</bool>
794801
</property>
795802
<layout class="QFormLayout" name="formLayout_2">
796803
<property name="leftMargin">
@@ -927,7 +934,11 @@
927934
</widget>
928935
</item>
929936
<item row="11" column="1">
930-
<widget class="QDoubleSpinBox" name="mDistanceToMapFrameSpinBox"/>
937+
<widget class="QDoubleSpinBox" name="mDistanceToMapFrameSpinBox">
938+
<property name="suffix">
939+
<string> mm</string>
940+
</property>
941+
</widget>
931942
</item>
932943
<item row="12" column="0">
933944
<widget class="QLabel" name="mCoordinatePrecisionLabel">

0 commit comments

Comments
 (0)