Skip to content

Commit 8f7b4c1

Browse files
committedNov 19, 2013
Add default grid and guide settings to composer options page
1 parent c12956c commit 8f7b4c1

File tree

4 files changed

+161
-13
lines changed

4 files changed

+161
-13
lines changed
 

‎src/app/qgsoptions.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -731,6 +731,15 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WFlags fl ) :
731731
mGridStyleComboBox->setCurrentIndex( 1 );
732732
}
733733

734+
//grid defaults
735+
mGridResolutionSpinBox->setValue( settings.value( "/Composer/defaultSnapGridResolution", 10.0 ).toDouble() );
736+
mGridToleranceSpinBox->setValue( settings.value( "/Composer/defaultSnapGridTolerance", 2 ).toDouble() );
737+
mOffsetXSpinBox->setValue( settings.value( "/Composer/defaultSnapGridOffsetX", 0 ).toDouble() );
738+
mOffsetYSpinBox->setValue( settings.value( "/Composer/defaultSnapGridOffsetY", 0 ).toDouble() );
739+
740+
//guide defaults
741+
mGuideToleranceSpinBox->setValue( settings.value( "/Composer/defaultSnapGuideTolerance", 2 ).toDouble() );
742+
734743
//
735744
// Locale settings
736745
//
@@ -1304,6 +1313,15 @@ void QgsOptions::saveOptions()
13041313
settings.setValue( "/Composer/gridStyle", "Crosses" );
13051314
}
13061315

1316+
//grid defaults
1317+
settings.setValue( "/Composer/defaultSnapGridResolution", mGridResolutionSpinBox->value() );
1318+
settings.setValue( "/Composer/defaultSnapGridTolerance", mGridToleranceSpinBox->value() );
1319+
settings.setValue( "/Composer/defaultSnapGridOffsetX", mOffsetXSpinBox->value() );
1320+
settings.setValue( "/Composer/defaultSnapGridOffsetY", mOffsetYSpinBox->value() );
1321+
1322+
//guide defaults
1323+
settings.setValue( "/Composer/defaultSnapGuideTolerance", mGuideToleranceSpinBox->value() );
1324+
13071325
//
13081326
// Locale settings
13091327
//

‎src/core/composer/qgscomposition.cpp

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@ QgsComposition::QgsComposition( QgsMapRenderer* mapRenderer )
6060
, mUseAdvancedEffects( true )
6161
, mSnapToGrid( false )
6262
, mGridVisible( false )
63-
, mSnapGridResolution( 10.0 )
64-
, mSnapGridTolerance( 2 )
65-
, mSnapGridOffsetX( 0.0 )
66-
, mSnapGridOffsetY( 0.0 )
63+
, mSnapGridResolution( 0 )
64+
, mSnapGridTolerance( 0 )
65+
, mSnapGridOffsetX( 0 )
66+
, mSnapGridOffsetY( 0 )
6767
, mAlignmentSnap( true )
6868
, mGuidesVisible( true )
6969
, mSmartGuides( true )
70-
, mAlignmentSnapTolerance( 2 )
70+
, mAlignmentSnapTolerance( 0 )
7171
, mSelectionHandles( 0 )
7272
, mActiveItemCommand( 0 )
7373
, mActiveMultiFrameCommand( 0 )
@@ -84,6 +84,9 @@ QgsComposition::QgsComposition( QgsMapRenderer* mapRenderer )
8484
mSelectionHandles->setZValue( 500 );
8585

8686
mPrintResolution = 300; //hardcoded default
87+
88+
//load default composition settings
89+
loadDefaults();
8790
loadSettings();
8891
}
8992

@@ -100,22 +103,23 @@ QgsComposition::QgsComposition()
100103
mUseAdvancedEffects( true ),
101104
mSnapToGrid( false ),
102105
mGridVisible( false ),
103-
mSnapGridResolution( 10.0 ),
104-
mSnapGridTolerance( 2 ),
105-
mSnapGridOffsetX( 0.0 ),
106-
mSnapGridOffsetY( 0.0 ),
106+
mSnapGridResolution( 0 ),
107+
mSnapGridTolerance( 0 ),
108+
mSnapGridOffsetX( 0 ),
109+
mSnapGridOffsetY( 0 ),
107110
mAlignmentSnap( true ),
108111
mGuidesVisible( true ),
109112
mSmartGuides( true ),
110-
mAlignmentSnapTolerance( 2 ),
113+
mAlignmentSnapTolerance( 0 ),
111114
mSelectionHandles( 0 ),
112115
mActiveItemCommand( 0 ),
113116
mActiveMultiFrameCommand( 0 ),
114117
mAtlasComposition( this ),
115118
mPreventCursorChange( false )
116119
{
120+
//load default composition settings
121+
loadDefaults();
117122
loadSettings();
118-
119123
}
120124

121125
QgsComposition::~QgsComposition()
@@ -131,6 +135,16 @@ QgsComposition::~QgsComposition()
131135
delete mActiveMultiFrameCommand;
132136
}
133137

138+
void QgsComposition::loadDefaults()
139+
{
140+
QSettings settings;
141+
mSnapGridResolution = settings.value( "/Composer/defaultSnapGridResolution", 10.0 ).toDouble();
142+
mSnapGridTolerance = settings.value( "/Composer/defaultSnapGridTolerance", 2 ).toDouble();
143+
mSnapGridOffsetX = settings.value( "/Composer/defaultSnapGridOffsetX", 0 ).toDouble();
144+
mSnapGridOffsetY = settings.value( "/Composer/defaultSnapGridOffsetY", 0 ).toDouble();
145+
mAlignmentSnapTolerance = settings.value( "/Composer/defaultSnapGuideTolerance", 2 ).toDouble();
146+
}
147+
134148
void QgsComposition::setPaperSize( double width, double height )
135149
{
136150
mPageWidth = width;

‎src/core/composer/qgscomposition.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,6 +485,10 @@ class CORE_EXPORT QgsComposition : public QGraphicsScene
485485
@return 0 in case of success*/
486486
int boundingRectOfSelectedItems( QRectF& bRect );
487487

488+
/**Loads default composer settings*/
489+
void loadDefaults();
490+
491+
/**Loads composer settings which may change, eg grid color*/
488492
void loadSettings();
489493

490494
void connectAddRemoveCommandSignals( QgsAddRemoveItemCommand* c );

‎src/ui/qgsoptionsbase.ui

Lines changed: 114 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2888,8 +2888,7 @@
28882888
</widget>
28892889
</item>
28902890
<item>
2891-
<widget class="QFontComboBox" name="mComposerFontComboBox">
2892-
</widget>
2891+
<widget class="QFontComboBox" name="mComposerFontComboBox"/>
28932892
</item>
28942893
</layout>
28952894
</item>
@@ -2926,6 +2925,119 @@
29262925
</layout>
29272926
</widget>
29282927
</item>
2928+
<item>
2929+
<widget class="QGroupBox" name="groupBox_24">
2930+
<property name="title">
2931+
<string>Grid defaults</string>
2932+
</property>
2933+
<layout class="QGridLayout" name="gridLayout_11">
2934+
<item row="0" column="0">
2935+
<widget class="QLabel" name="label_61">
2936+
<property name="text">
2937+
<string>Spacing</string>
2938+
</property>
2939+
</widget>
2940+
</item>
2941+
<item row="0" column="1">
2942+
<widget class="QDoubleSpinBox" name="mGridResolutionSpinBox">
2943+
<property name="suffix">
2944+
<string> mm</string>
2945+
</property>
2946+
<property name="minimum">
2947+
<double>0.500000000000000</double>
2948+
</property>
2949+
<property name="maximum">
2950+
<double>9999.000000000000000</double>
2951+
</property>
2952+
</widget>
2953+
</item>
2954+
<item row="0" column="2">
2955+
<widget class="QLabel" name="label_63">
2956+
<property name="text">
2957+
<string>Grid offset</string>
2958+
</property>
2959+
<property name="wordWrap">
2960+
<bool>true</bool>
2961+
</property>
2962+
</widget>
2963+
</item>
2964+
<item row="0" column="3">
2965+
<layout class="QHBoxLayout" name="horizontalLayout_36">
2966+
<item>
2967+
<widget class="QDoubleSpinBox" name="mOffsetXSpinBox">
2968+
<property name="prefix">
2969+
<string>x: </string>
2970+
</property>
2971+
<property name="maximum">
2972+
<double>9999.000000000000000</double>
2973+
</property>
2974+
</widget>
2975+
</item>
2976+
<item>
2977+
<widget class="QDoubleSpinBox" name="mOffsetYSpinBox">
2978+
<property name="prefix">
2979+
<string>y: </string>
2980+
</property>
2981+
<property name="suffix">
2982+
<string/>
2983+
</property>
2984+
</widget>
2985+
</item>
2986+
</layout>
2987+
</item>
2988+
<item row="1" column="0">
2989+
<widget class="QLabel" name="label_62">
2990+
<property name="text">
2991+
<string>Snap tolerance</string>
2992+
</property>
2993+
</widget>
2994+
</item>
2995+
<item row="1" column="1">
2996+
<widget class="QDoubleSpinBox" name="mGridToleranceSpinBox">
2997+
<property name="prefix">
2998+
<string/>
2999+
</property>
3000+
<property name="suffix">
3001+
<string> mm</string>
3002+
</property>
3003+
<property name="value">
3004+
<double>2.000000000000000</double>
3005+
</property>
3006+
</widget>
3007+
</item>
3008+
</layout>
3009+
</widget>
3010+
</item>
3011+
<item>
3012+
<widget class="QGroupBox" name="groupBox_25">
3013+
<property name="title">
3014+
<string>Guide defaults</string>
3015+
</property>
3016+
<layout class="QGridLayout" name="gridLayout_12">
3017+
<item row="0" column="0">
3018+
<layout class="QHBoxLayout" name="horizontalLayout_37">
3019+
<item>
3020+
<widget class="QLabel" name="label_64">
3021+
<property name="text">
3022+
<string>Snap tolerance</string>
3023+
</property>
3024+
</widget>
3025+
</item>
3026+
<item>
3027+
<widget class="QDoubleSpinBox" name="mGuideToleranceSpinBox">
3028+
<property name="prefix">
3029+
<string/>
3030+
</property>
3031+
<property name="suffix">
3032+
<string> mm</string>
3033+
</property>
3034+
</widget>
3035+
</item>
3036+
</layout>
3037+
</item>
3038+
</layout>
3039+
</widget>
3040+
</item>
29293041
<item>
29303042
<spacer name="verticalSpacer_10">
29313043
<property name="orientation">

0 commit comments

Comments
 (0)
Please sign in to comment.