Skip to content

Commit c78e91e

Browse files
author
mhugent
committedJan 21, 2009

File tree

3 files changed

+96
-115
lines changed

3 files changed

+96
-115
lines changed
 

‎src/app/qgsmaptooladdfeature.cpp

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include "qgslogger.h"
2929
#include <QMessageBox>
3030
#include <QMouseEvent>
31+
#include <QSettings>
3132

3233
QgsMapToolAddFeature::QgsMapToolAddFeature( QgsMapCanvas* canvas, enum CaptureTool tool ): QgsMapToolCapture( canvas, tool )
3334
{
@@ -175,18 +176,28 @@ void QgsMapToolAddFeature::canvasReleaseEvent( QMouseEvent * e )
175176
}
176177

177178
// show the dialog to enter attribute values
178-
QgsAttributeDialog * mypDialog = new QgsAttributeDialog( vlayer, f );
179-
if ( mypDialog->exec() )
179+
QSettings settings;
180+
bool isDisabledAttributeValuesDlg = settings.value( "/qgis/digitizing/disable_enter_attribute_values_dialog", false ).toBool();
181+
if ( isDisabledAttributeValuesDlg )
180182
{
181183
qDebug( "Adding feature to layer" );
182184
vlayer->addFeature( *f );
183185
}
184186
else
185187
{
186-
qDebug( "Adding feature to layer failed" );
187-
delete f;
188+
QgsAttributeDialog * mypDialog = new QgsAttributeDialog( vlayer, f );
189+
if ( mypDialog->exec() )
190+
{
191+
qDebug( "Adding feature to layer" );
192+
vlayer->addFeature( *f );
193+
}
194+
else
195+
{
196+
qDebug( "Adding feature to layer failed" );
197+
delete f;
198+
}
199+
delete mypDialog;
188200
}
189-
delete mypDialog;
190201
mCanvas->refresh();
191202
}
192203

@@ -444,21 +455,38 @@ void QgsMapToolAddFeature::canvasReleaseEvent( QMouseEvent * e )
444455
f->addAttribute( it.key(), provider->defaultValue( it.key() ) );
445456
}
446457

447-
QgsAttributeDialog * mypDialog = new QgsAttributeDialog( vlayer, f );
448-
if ( mypDialog->exec() )
458+
QSettings settings;
459+
bool isDisabledAttributeValuesDlg = settings.value( "/qgis/digitizing/disable_enter_attribute_values_dialog", false ).toBool();
460+
if ( isDisabledAttributeValuesDlg )
449461
{
450462
if ( vlayer->addFeature( *f ) )
463+
{
464+
//add points to other features to keep topology up-to-date
465+
int topologicalEditing = QgsProject::instance()->readNumEntry( "Digitizing", "/TopologicalEditing", 0 );
466+
if ( topologicalEditing )
467+
{
468+
vlayer->addTopologicalPoints( f->geometry() );
469+
}
470+
}
471+
}
472+
else
473+
{
474+
QgsAttributeDialog * mypDialog = new QgsAttributeDialog( vlayer, f );
475+
if ( mypDialog->exec() )
451476
{
452-
//add points to other features to keep topology up-to-date
453-
int topologicalEditing = QgsProject::instance()->readNumEntry( "Digitizing", "/TopologicalEditing", 0 );
454-
if ( topologicalEditing )
477+
if ( vlayer->addFeature( *f ) )
455478
{
456-
vlayer->addTopologicalPoints( f->geometry() );
479+
//add points to other features to keep topology up-to-date
480+
int topologicalEditing = QgsProject::instance()->readNumEntry( "Digitizing", "/TopologicalEditing", 0 );
481+
if ( topologicalEditing )
482+
{
483+
vlayer->addTopologicalPoints( f->geometry() );
484+
}
457485
}
458486
}
487+
delete mypDialog;
459488
}
460489
delete f;
461-
delete mypDialog;
462490

463491
delete mRubberBand;
464492
mRubberBand = NULL;

‎src/app/qgsoptions.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,8 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WFlags fl ) :
205205
mMarkerStyleComboBox->setCurrentIndex( mMarkerStyleComboBox->findText( tr( "Cross" ) ) );
206206
}
207207

208+
chkDisableAttributeValuesDlg->setChecked( settings.value( "/qgis/digitizing/disable_enter_attribute_values_dialog", false ).toBool() );
209+
208210
#ifdef Q_WS_MAC //MH: disable incremental update on Mac for now to avoid problems with resizing
209211
groupBox_5->setEnabled( false );
210212
#endif //Q_WS_MAC
@@ -363,6 +365,8 @@ void QgsOptions::saveOptions()
363365
settings.setValue( "/qgis/digitizing/marker_style", "Cross" );
364366
}
365367

368+
settings.setValue( "/qgis/digitizing/disable_enter_attribute_values_dialog", chkDisableAttributeValuesDlg->isChecked() );
369+
366370
//
367371
// Locale settings
368372
//

‎src/ui/qgsoptionsbase.ui

Lines changed: 52 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
<string>QGIS Options</string>
1414
</property>
1515
<property name="windowIcon" >
16-
<iconset/>
16+
<iconset>
17+
<normaloff/>
18+
</iconset>
1719
</property>
1820
<property name="sizeGripEnabled" >
1921
<bool>true</bool>
@@ -25,7 +27,7 @@
2527
<item row="0" column="0" >
2628
<widget class="QTabWidget" name="tabWidget" >
2729
<property name="currentIndex" >
28-
<number>6</number>
30+
<number>0</number>
2931
</property>
3032
<widget class="QWidget" name="tabGeneral" >
3133
<attribute name="title" >
@@ -38,16 +40,7 @@
3840
<string>Project files</string>
3941
</property>
4042
<layout class="QVBoxLayout" >
41-
<property name="leftMargin" >
42-
<number>11</number>
43-
</property>
44-
<property name="topMargin" >
45-
<number>11</number>
46-
</property>
47-
<property name="rightMargin" >
48-
<number>11</number>
49-
</property>
50-
<property name="bottomMargin" >
43+
<property name="margin" >
5144
<number>11</number>
5245
</property>
5346
<item>
@@ -88,7 +81,7 @@
8881
<property name="orientation" >
8982
<enum>Qt::Horizontal</enum>
9083
</property>
91-
<property name="sizeHint" >
84+
<property name="sizeHint" stdset="0" >
9285
<size>
9386
<width>40</width>
9487
<height>20</height>
@@ -124,7 +117,7 @@
124117
<property name="orientation" >
125118
<enum>Qt::Horizontal</enum>
126119
</property>
127-
<property name="sizeHint" >
120+
<property name="sizeHint" stdset="0" >
128121
<size>
129122
<width>40</width>
130123
<height>20</height>
@@ -256,7 +249,7 @@
256249
<property name="orientation" >
257250
<enum>Qt::Vertical</enum>
258251
</property>
259-
<property name="sizeHint" >
252+
<property name="sizeHint" stdset="0" >
260253
<size>
261254
<width>577</width>
262255
<height>21</height>
@@ -323,16 +316,7 @@
323316
<string>Rendering quality</string>
324317
</property>
325318
<layout class="QVBoxLayout" >
326-
<property name="leftMargin" >
327-
<number>11</number>
328-
</property>
329-
<property name="topMargin" >
330-
<number>11</number>
331-
</property>
332-
<property name="rightMargin" >
333-
<number>11</number>
334-
</property>
335-
<property name="bottomMargin" >
319+
<property name="margin" >
336320
<number>11</number>
337321
</property>
338322
<item>
@@ -367,7 +351,7 @@
367351
<property name="orientation" >
368352
<enum>Qt::Vertical</enum>
369353
</property>
370-
<property name="sizeHint" >
354+
<property name="sizeHint" stdset="0" >
371355
<size>
372356
<width>20</width>
373357
<height>40</height>
@@ -382,16 +366,7 @@
382366
<string>&amp;Map tools</string>
383367
</attribute>
384368
<layout class="QGridLayout" >
385-
<property name="leftMargin" >
386-
<number>11</number>
387-
</property>
388-
<property name="topMargin" >
389-
<number>11</number>
390-
</property>
391-
<property name="rightMargin" >
392-
<number>11</number>
393-
</property>
394-
<property name="bottomMargin" >
369+
<property name="margin" >
395370
<number>11</number>
396371
</property>
397372
<item row="2" column="0" >
@@ -400,16 +375,7 @@
400375
<string>Panning and zooming</string>
401376
</property>
402377
<layout class="QGridLayout" >
403-
<property name="leftMargin" >
404-
<number>11</number>
405-
</property>
406-
<property name="topMargin" >
407-
<number>11</number>
408-
</property>
409-
<property name="rightMargin" >
410-
<number>11</number>
411-
</property>
412-
<property name="bottomMargin" >
378+
<property name="margin" >
413379
<number>11</number>
414380
</property>
415381
<item row="0" column="1" >
@@ -472,24 +438,15 @@
472438
<string>Measure tool</string>
473439
</property>
474440
<layout class="QGridLayout" >
475-
<property name="leftMargin" >
476-
<number>11</number>
477-
</property>
478-
<property name="topMargin" >
479-
<number>11</number>
480-
</property>
481-
<property name="rightMargin" >
482-
<number>11</number>
483-
</property>
484-
<property name="bottomMargin" >
441+
<property name="margin" >
485442
<number>11</number>
486443
</property>
487444
<item row="1" column="2" >
488445
<spacer>
489446
<property name="orientation" >
490447
<enum>Qt::Horizontal</enum>
491448
</property>
492-
<property name="sizeHint" >
449+
<property name="sizeHint" stdset="0" >
493450
<size>
494451
<width>191</width>
495452
<height>20</height>
@@ -542,16 +499,7 @@
542499
<string>Search radius</string>
543500
</property>
544501
<layout class="QGridLayout" >
545-
<property name="leftMargin" >
546-
<number>11</number>
547-
</property>
548-
<property name="topMargin" >
549-
<number>11</number>
550-
</property>
551-
<property name="rightMargin" >
552-
<number>11</number>
553-
</property>
554-
<property name="bottomMargin" >
502+
<property name="margin" >
555503
<number>11</number>
556504
</property>
557505
<item row="1" column="0" colspan="2" >
@@ -598,7 +546,7 @@
598546
<property name="orientation" >
599547
<enum>Qt::Vertical</enum>
600548
</property>
601-
<property name="sizeHint" >
549+
<property name="sizeHint" stdset="0" >
602550
<size>
603551
<width>20</width>
604552
<height>40</height>
@@ -612,8 +560,8 @@
612560
<attribute name="title" >
613561
<string>Digitizing</string>
614562
</attribute>
615-
<layout class="QGridLayout" >
616-
<item row="0" column="0" >
563+
<layout class="QVBoxLayout" name="verticalLayout" >
564+
<item>
617565
<widget class="QGroupBox" name="mRubberBandGroupBox" >
618566
<property name="title" >
619567
<string>Rubberband</string>
@@ -665,7 +613,7 @@
665613
</layout>
666614
</widget>
667615
</item>
668-
<item row="1" column="0" >
616+
<item>
669617
<widget class="QGroupBox" name="mSnappingGroupBox" >
670618
<property name="title" >
671619
<string>Snapping</string>
@@ -683,7 +631,7 @@
683631
<property name="orientation" >
684632
<enum>Qt::Horizontal</enum>
685633
</property>
686-
<property name="sizeHint" >
634+
<property name="sizeHint" stdset="0" >
687635
<size>
688636
<width>311</width>
689637
<height>20</height>
@@ -713,7 +661,7 @@
713661
<property name="orientation" >
714662
<enum>Qt::Horizontal</enum>
715663
</property>
716-
<property name="sizeHint" >
664+
<property name="sizeHint" stdset="0" >
717665
<size>
718666
<width>241</width>
719667
<height>20</height>
@@ -743,7 +691,7 @@
743691
<property name="orientation" >
744692
<enum>Qt::Horizontal</enum>
745693
</property>
746-
<property name="sizeHint" >
694+
<property name="sizeHint" stdset="0" >
747695
<size>
748696
<width>61</width>
749697
<height>20</height>
@@ -764,7 +712,7 @@
764712
</layout>
765713
</widget>
766714
</item>
767-
<item row="2" column="0" >
715+
<item>
768716
<widget class="QGroupBox" name="mVertexMarkerGroupBox" >
769717
<property name="title" >
770718
<string>Vertex markers</string>
@@ -782,7 +730,7 @@
782730
<property name="orientation" >
783731
<enum>Qt::Horizontal</enum>
784732
</property>
785-
<property name="sizeHint" >
733+
<property name="sizeHint" stdset="0" >
786734
<size>
787735
<width>281</width>
788736
<height>20</height>
@@ -803,12 +751,31 @@
803751
</layout>
804752
</widget>
805753
</item>
806-
<item row="3" column="0" >
754+
<item>
755+
<widget class="QGroupBox" name="mEnterAttributeValuesGroupBox" >
756+
<property name="title" >
757+
<string>Enter attribute values</string>
758+
</property>
759+
<layout class="QHBoxLayout" name="horizontalLayout" >
760+
<item>
761+
<widget class="QCheckBox" name="chkDisableAttributeValuesDlg" >
762+
<property name="text" >
763+
<string>Suppress attributes pop-up windows after each created feature</string>
764+
</property>
765+
<property name="tristate" >
766+
<bool>false</bool>
767+
</property>
768+
</widget>
769+
</item>
770+
</layout>
771+
</widget>
772+
</item>
773+
<item>
807774
<spacer>
808775
<property name="orientation" >
809776
<enum>Qt::Vertical</enum>
810777
</property>
811-
<property name="sizeHint" >
778+
<property name="sizeHint" stdset="0" >
812779
<size>
813780
<width>547</width>
814781
<height>71</height>
@@ -823,24 +790,15 @@
823790
<string>CRS</string>
824791
</attribute>
825792
<layout class="QGridLayout" >
826-
<property name="leftMargin" >
827-
<number>11</number>
828-
</property>
829-
<property name="topMargin" >
830-
<number>11</number>
831-
</property>
832-
<property name="rightMargin" >
833-
<number>11</number>
834-
</property>
835-
<property name="bottomMargin" >
793+
<property name="margin" >
836794
<number>11</number>
837795
</property>
838796
<item row="3" column="0" >
839797
<spacer>
840798
<property name="orientation" >
841799
<enum>Qt::Vertical</enum>
842800
</property>
843-
<property name="sizeHint" >
801+
<property name="sizeHint" stdset="0" >
844802
<size>
845803
<width>51</width>
846804
<height>31</height>
@@ -864,16 +822,7 @@
864822
<string>When layer is loaded that has no coordinate reference system (CRS)</string>
865823
</property>
866824
<layout class="QVBoxLayout" >
867-
<property name="leftMargin" >
868-
<number>11</number>
869-
</property>
870-
<property name="topMargin" >
871-
<number>11</number>
872-
</property>
873-
<property name="rightMargin" >
874-
<number>11</number>
875-
</property>
876-
<property name="bottomMargin" >
825+
<property name="margin" >
877826
<number>11</number>
878827
</property>
879828
<item>
@@ -947,7 +896,7 @@
947896
<property name="orientation" >
948897
<enum>Qt::Vertical</enum>
949898
</property>
950-
<property name="sizeHint" >
899+
<property name="sizeHint" stdset="0" >
951900
<size>
952901
<width>501</width>
953902
<height>51</height>
@@ -1068,7 +1017,7 @@
10681017
<property name="orientation" >
10691018
<enum>Qt::Horizontal</enum>
10701019
</property>
1071-
<property name="sizeHint" >
1020+
<property name="sizeHint" stdset="0" >
10721021
<size>
10731022
<width>241</width>
10741023
<height>20</height>
@@ -1084,7 +1033,7 @@
10841033
<property name="orientation" >
10851034
<enum>Qt::Vertical</enum>
10861035
</property>
1087-
<property name="sizeHint" >
1036+
<property name="sizeHint" stdset="0" >
10881037
<size>
10891038
<width>577</width>
10901039
<height>251</height>
@@ -1102,7 +1051,7 @@
11021051
<enum>Qt::Horizontal</enum>
11031052
</property>
11041053
<property name="standardButtons" >
1105-
<set>QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set>
1054+
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
11061055
</property>
11071056
</widget>
11081057
</item>

0 commit comments

Comments
 (0)
Please sign in to comment.