Skip to content

Commit 4e10a11

Browse files
committedOct 9, 2017
Add a custom name for symbol layers in property definition
1 parent 4fa3400 commit 4e10a11

13 files changed

+375
-15
lines changed
 

‎python/core/qgsauxiliarystorage.sip

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ class QgsAuxiliaryLayer : QgsVectorLayer
211211
:rtype: int
212212
%End
213213

214-
int propertyFromField( int index ) const;
214+
int propertyFromIndex( int index ) const;
215215
%Docstring
216216
Returns the underlying property key for the field index. The key may be
217217
a PAL, diagram or symbology property according to the underlying
@@ -224,6 +224,16 @@ class QgsAuxiliaryLayer : QgsVectorLayer
224224
:rtype: int
225225
%End
226226

227+
QgsPropertyDefinition propertyDefinitionFromIndex( int index ) const;
228+
%Docstring
229+
Returns the property definition fir the underlying field index.
230+
231+
\param index The index of the field
232+
233+
.. versionadded:: 3.0
234+
:rtype: QgsPropertyDefinition
235+
%End
236+
227237
static int createProperty( QgsPalLayerSettings::Property property, const QString &providerId, QgsVectorLayer *vlayer );
228238
%Docstring
229239
Create if necessary a new auxiliary field for a PAL property and

‎python/core/qgsproperty.sip

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,17 @@ class QgsPropertyDefinition
7272
Constructs an empty property.
7373
%End
7474

75-
QgsPropertyDefinition( const QString &name, const QString &description, StandardPropertyTemplate type, const QString &origin = QString() );
75+
QgsPropertyDefinition( const QString &name, const QString &description, StandardPropertyTemplate type, const QString &origin = QString(), const QString &comment = QString() );
7676
%Docstring
7777
Constructor for QgsPropertyDefinition, using a standard property template.
7878
\param name is used internally and should be a unique, alphanumeric string.
7979
\param description can be any localised string describing what the property is used for.
8080
\param type one of the predefined standard property template
8181
\param origin The origin of the property
82+
\param comment A free comment for the property
8283
%End
8384

84-
QgsPropertyDefinition( const QString &name, DataType dataType, const QString &description, const QString &helpText, const QString &origin = QString() );
85+
QgsPropertyDefinition( const QString &name, DataType dataType, const QString &description, const QString &helpText, const QString &origin = QString(), const QString &comment = QString() );
8586
%Docstring
8687
Constructor for custom QgsPropertyDefinitions.
8788
\param name is used internally and should be a unique, alphanumeric string.
@@ -90,6 +91,7 @@ class QgsPropertyDefinition
9091
\param helpText parameter should specify a descriptive string for users outlining the types
9192
of value acceptable by the property (eg 'dashed' or 'solid' for a line style property).
9293
\param origin The origin of the property
94+
\param comment A free comment for the property
9395
%End
9496

9597
QString name() const;
@@ -120,6 +122,17 @@ class QgsPropertyDefinition
120122
:rtype: str
121123
%End
122124

125+
QString comment() const;
126+
%Docstring
127+
Returns the comment of the property
128+
:rtype: str
129+
%End
130+
131+
void setComment( const QString &comment );
132+
%Docstring
133+
Sets comment of the property
134+
%End
135+
123136
QString helpText() const;
124137
%Docstring
125138
Helper text for using the property, including a description of the valid values for the property.

‎src/app/qgsvectorlayerproperties.cpp

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
#include "qgsauxiliarystorage.h"
5959
#include "qgsnewauxiliarylayerdialog.h"
6060
#include "qgslabelinggui.h"
61+
#include "qgssymbollayer.h"
6162

6263
#include "layertree/qgslayertreelayer.h"
6364
#include "qgslayertree.h"
@@ -1532,7 +1533,9 @@ void QgsVectorLayerProperties::updateAuxiliaryStoragePage( bool reset )
15321533

15331534
item->setText( 0, prop.origin() );
15341535
item->setText( 1, prop.name() );
1535-
item->setText( 2, field.typeName() );
1536+
item->setText( 2, prop.comment() );
1537+
item->setText( 3, field.typeName() );
1538+
item->setText( 4, field.name() );
15361539

15371540
mAuxiliaryStorageFieldsTree->addTopLevelItem( item );
15381541
}
@@ -1653,6 +1656,7 @@ void QgsVectorLayerProperties::onAuxiliaryLayerDeleteField()
16531656
QgsPropertyDefinition def;
16541657
def.setOrigin( item->text( 0 ) );
16551658
def.setName( item->text( 1 ) );
1659+
def.setComment( item->text( 2 ) );
16561660

16571661
const QString fieldName = QgsAuxiliaryField::nameFromProperty( def );
16581662

@@ -1680,14 +1684,20 @@ void QgsVectorLayerProperties::deleteAuxiliaryField( int index )
16801684
if ( !mLayer->auxiliaryLayer() )
16811685
return;
16821686

1683-
int key = mLayer->auxiliaryLayer()->propertyFromField( index );
1687+
int key = mLayer->auxiliaryLayer()->propertyFromIndex( index );
1688+
QgsPropertyDefinition def = mLayer->auxiliaryLayer()->propertyDefinitionFromIndex( index );
1689+
16841690
if ( mLayer->auxiliaryLayer()->deleteAttribute( index ) )
16851691
{
16861692
mLayer->updateFields();
16871693

16881694
// immediately deactivate data defined button
1689-
if ( labelingDialog && labelingDialog->labelingGui() )
1695+
if ( key >= 0 && def.origin().compare( "labeling", Qt::CaseInsensitive ) == 0
1696+
&& labelingDialog
1697+
&& labelingDialog->labelingGui() )
1698+
{
16901699
labelingDialog->labelingGui()->deactivateField( ( QgsPalLayerSettings::Property ) key );
1700+
}
16911701

16921702
updateAuxiliaryStoragePage( true );
16931703
mFieldsPropertiesDialog->init();

‎src/core/qgsauxiliarystorage.cpp

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,11 @@ QgsAuxiliaryField::QgsAuxiliaryField( const QgsField &f )
110110
}
111111
}
112112

113+
if ( parts.size() == 3 )
114+
{
115+
def.setComment( parts[2] );
116+
}
117+
113118
if ( !def.name().isEmpty() )
114119
{
115120
init( def );
@@ -162,7 +167,10 @@ bool QgsAuxiliaryLayer::clear()
162167

163168
QString QgsAuxiliaryField::nameFromProperty( const QgsPropertyDefinition &def, bool joined )
164169
{
165-
QString fieldName = QString( "%2_%3" ).arg( def.origin(), def.name().toLower() );
170+
QString fieldName = QString( "%1_%2" ).arg( def.origin(), def.name().toLower() );
171+
172+
if ( !def.comment().isEmpty() )
173+
fieldName = QString( "%1_%2" ).arg( fieldName ).arg( def.comment() );
166174

167175
if ( joined )
168176
fieldName = QString( "%1%2" ).arg( AS_JOINPREFIX, fieldName );
@@ -405,7 +413,7 @@ bool QgsAuxiliaryLayer::isHiddenProperty( int index ) const
405413
return hidden;
406414
}
407415

408-
int QgsAuxiliaryLayer::propertyFromField( int index ) const
416+
int QgsAuxiliaryLayer::propertyFromIndex( int index ) const
409417
{
410418
int p = -1;
411419
QgsAuxiliaryField aField( fields().field( index ) );
@@ -424,10 +432,28 @@ int QgsAuxiliaryLayer::propertyFromField( int index ) const
424432
}
425433
}
426434
}
435+
else if ( aDef.origin().compare( "symbol" ) == 0 )
436+
{
437+
const QgsPropertiesDefinition defs = QgsSymbolLayer::propertyDefinitions();
438+
QgsPropertiesDefinition::const_iterator it = defs.constBegin();
439+
for ( ; it != defs.constEnd(); ++it )
440+
{
441+
if ( it->name().compare( aDef.name(), Qt::CaseInsensitive ) == 0 )
442+
{
443+
p = it.key();
444+
break;
445+
}
446+
}
447+
}
427448

428449
return p;
429450
}
430451

452+
QgsPropertyDefinition QgsAuxiliaryLayer::propertyDefinitionFromIndex( int index ) const
453+
{
454+
return QgsAuxiliaryField( fields().field( index ) ).propertyDefinition();
455+
}
456+
431457
int QgsAuxiliaryLayer::indexOfProperty( const QgsPropertyDefinition &def ) const
432458
{
433459
return fields().indexOf( QgsAuxiliaryField::nameFromProperty( def ) );

‎src/core/qgsauxiliarystorage.h

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,16 @@ class CORE_EXPORT QgsAuxiliaryLayer : public QgsVectorLayer
238238
*
239239
* \since QGIS 3.0
240240
*/
241-
int propertyFromField( int index ) const;
241+
int propertyFromIndex( int index ) const;
242+
243+
/**
244+
* Returns the property definition fir the underlying field index.
245+
*
246+
* \param index The index of the field
247+
*
248+
* \since QGIS 3.0
249+
*/
250+
QgsPropertyDefinition propertyDefinitionFromIndex( int index ) const;
242251

243252
/**
244253
* Create if necessary a new auxiliary field for a PAL property and

‎src/core/qgsproperty.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,12 @@
2121
#include "qgssymbollayerutils.h"
2222
#include "qgscolorramp.h"
2323

24-
QgsPropertyDefinition::QgsPropertyDefinition( const QString &name, const QString &description, QgsPropertyDefinition::StandardPropertyTemplate type, const QString &origin )
24+
QgsPropertyDefinition::QgsPropertyDefinition( const QString &name, const QString &description, QgsPropertyDefinition::StandardPropertyTemplate type, const QString &origin, const QString &comment )
2525
: mName( name )
2626
, mDescription( description )
2727
, mStandardType( type )
2828
, mOrigin( origin )
29+
, mComment( comment )
2930
{
3031
switch ( mStandardType )
3132
{
@@ -170,12 +171,13 @@ QgsPropertyDefinition::QgsPropertyDefinition( const QString &name, const QString
170171
}
171172
}
172173

173-
QgsPropertyDefinition::QgsPropertyDefinition( const QString &name, DataType dataType, const QString &description, const QString &helpText, const QString &origin )
174+
QgsPropertyDefinition::QgsPropertyDefinition( const QString &name, DataType dataType, const QString &description, const QString &helpText, const QString &origin, const QString &comment )
174175
: mName( name )
175176
, mDescription( description )
176177
, mTypes( dataType )
177178
, mHelpText( helpText )
178179
, mOrigin( origin )
180+
, mComment( comment )
179181
{}
180182

181183
bool QgsPropertyDefinition::supportsAssistant() const

‎src/core/qgsproperty.h

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,9 @@ class CORE_EXPORT QgsPropertyDefinition
116116
* \param description can be any localised string describing what the property is used for.
117117
* \param type one of the predefined standard property template
118118
* \param origin The origin of the property
119+
* \param comment A free comment for the property
119120
*/
120-
QgsPropertyDefinition( const QString &name, const QString &description, StandardPropertyTemplate type, const QString &origin = QString() );
121+
QgsPropertyDefinition( const QString &name, const QString &description, StandardPropertyTemplate type, const QString &origin = QString(), const QString &comment = QString() );
121122

122123
/**
123124
* Constructor for custom QgsPropertyDefinitions.
@@ -127,8 +128,9 @@ class CORE_EXPORT QgsPropertyDefinition
127128
* \param helpText parameter should specify a descriptive string for users outlining the types
128129
* of value acceptable by the property (eg 'dashed' or 'solid' for a line style property).
129130
* \param origin The origin of the property
131+
* \param comment A free comment for the property
130132
*/
131-
QgsPropertyDefinition( const QString &name, DataType dataType, const QString &description, const QString &helpText, const QString &origin = QString() );
133+
QgsPropertyDefinition( const QString &name, DataType dataType, const QString &description, const QString &helpText, const QString &origin = QString(), const QString &comment = QString() );
132134

133135
/**
134136
* Returns the name of the property. This is used internally and should be a unique, alphanumeric string.
@@ -155,6 +157,16 @@ class CORE_EXPORT QgsPropertyDefinition
155157
*/
156158
QString description() const { return mDescription; }
157159

160+
/**
161+
* Returns the comment of the property
162+
*/
163+
QString comment() const { return mComment; }
164+
165+
/**
166+
* Sets comment of the property
167+
*/
168+
void setComment( const QString &comment ) { mComment = comment; }
169+
158170
/**
159171
* Helper text for using the property, including a description of the valid values for the property.
160172
*/
@@ -185,6 +197,7 @@ class CORE_EXPORT QgsPropertyDefinition
185197
QString mHelpText;
186198
StandardPropertyTemplate mStandardType = Custom;
187199
QString mOrigin;
200+
QString mComment;
188201

189202
static QString trString();
190203
};

‎src/gui/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,7 @@ SET(QGIS_GUI_SRCS
297297
qgsmessageviewer.cpp
298298
qgsmetadatawidget.cpp
299299
qgsnewauxiliarylayerdialog.cpp
300+
qgsnewauxiliaryfielddialog.cpp
300301
qgsnewhttpconnection.cpp
301302
qgsnewmemorylayerdialog.cpp
302303
qgsnewnamedialog.cpp
@@ -458,6 +459,7 @@ SET(QGIS_GUI_MOC_HDRS
458459
qgsmessageviewer.h
459460
qgsmetadatawidget.h
460461
qgsnewauxiliarylayerdialog.h
462+
qgsnewauxiliaryfielddialog.h
461463
qgsnewhttpconnection.h
462464
qgsnewmemorylayerdialog.h
463465
qgsnewnamedialog.h
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
/***************************************************************************
2+
qgsnewauxiliaryfielddialog.cpp - description
3+
-------------------
4+
begin : Sept 05, 2017
5+
copyright : (C) 2017 by Paul Blottiere
6+
email : paul.blottiere@oslandia.com
7+
***************************************************************************/
8+
9+
/***************************************************************************
10+
* *
11+
* This program is free software; you can redistribute it and/or modify *
12+
* it under the terms of the GNU General Public License as published by *
13+
* the Free Software Foundation; either version 2 of the License, or *
14+
* (at your option) any later version. *
15+
* *
16+
***************************************************************************/
17+
18+
#include "qgsnewauxiliaryfielddialog.h"
19+
#include "qgsauxiliarystorage.h"
20+
21+
#include <QMessageBox>
22+
23+
QgsNewAuxiliaryFieldDialog::QgsNewAuxiliaryFieldDialog( const QgsPropertyDefinition &def, QgsVectorLayer *layer, bool nameOnly, QWidget *parent )
24+
: QDialog( parent )
25+
, mLayer( layer )
26+
, mNameOnly( nameOnly )
27+
, mPropertyDefinition( def )
28+
{
29+
setupUi( this );
30+
31+
mType->addItem( tr( "String" ) );
32+
mType->addItem( tr( "Numeric" ) );
33+
mType->addItem( tr( "Boolean" ) );
34+
35+
switch ( def.dataType() )
36+
{
37+
case QgsPropertyDefinition::DataTypeString:
38+
mType->setCurrentIndex( mType->findText( tr( "String" ) ) );
39+
break;
40+
case QgsPropertyDefinition::DataTypeNumeric:
41+
mType->setCurrentIndex( mType->findText( tr( "Numeric" ) ) );
42+
break;
43+
case QgsPropertyDefinition::DataTypeBoolean:
44+
mType->setCurrentIndex( mType->findText( tr( "Boolean" ) ) );
45+
break;
46+
}
47+
48+
if ( mNameOnly )
49+
mType->setEnabled( false );
50+
}
51+
52+
void QgsNewAuxiliaryFieldDialog::accept()
53+
{
54+
QgsPropertyDefinition def = mPropertyDefinition;
55+
def.setComment( mName->text() );
56+
57+
QString fieldName = QgsAuxiliaryField::nameFromProperty( def, true );
58+
const int idx = mLayer->fields().lookupField( fieldName );
59+
if ( idx >= 0 )
60+
{
61+
const QString title = tr( "Invalid name" );
62+
const QString msg = tr( "Auxiliary field '%1' already exists" ).arg( fieldName );
63+
QMessageBox::critical( this, title, msg, QMessageBox::Ok );
64+
}
65+
else if ( def.comment().isEmpty() )
66+
{
67+
const QString title = tr( "Invalid name" );
68+
const QString msg = tr( "Name is a mandatory parameter" );
69+
QMessageBox::critical( this, title, msg, QMessageBox::Ok );
70+
}
71+
else
72+
{
73+
if ( mLayer->auxiliaryLayer()->addAuxiliaryField( def ) )
74+
mPropertyDefinition = def;
75+
QDialog::accept();
76+
}
77+
}
78+
79+
QgsPropertyDefinition QgsNewAuxiliaryFieldDialog::propertyDefinition() const
80+
{
81+
return mPropertyDefinition;
82+
}

‎src/gui/qgsnewauxiliaryfielddialog.h

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/***************************************************************************
2+
qgsnewauxiliaryfielddialog.h - description
3+
-------------------
4+
begin : Sept 05, 2017
5+
copyright : (C) 2017 by Paul Blottiere
6+
email : paul.blottiere@oslandia.com
7+
***************************************************************************/
8+
9+
/***************************************************************************
10+
* *
11+
* This program is free software; you can redistribute it and/or modify *
12+
* it under the terms of the GNU General Public License as published by *
13+
* the Free Software Foundation; either version 2 of the License, or *
14+
* (at your option) any later version. *
15+
* *
16+
***************************************************************************/
17+
18+
#ifndef QGSNEWAUXILIARYFIELDDIALOG_H
19+
#define QGSNEWAUXILIARYFIELDDIALOG_H
20+
21+
#include "ui_qgsnewauxiliaryfielddialogbase.h"
22+
#include "qgsguiutils.h"
23+
#include "qgis_gui.h"
24+
#include "qgsvectorlayer.h"
25+
#include "qgsproperty.h"
26+
27+
/**
28+
* \ingroup gui
29+
*
30+
* \brief A dialog to create a new auxiliary field
31+
*
32+
* \since QGIS 3.0
33+
*/
34+
class GUI_EXPORT QgsNewAuxiliaryFieldDialog: public QDialog, private Ui::QgsNewAuxiliaryFieldDialogBase
35+
{
36+
Q_OBJECT
37+
38+
public:
39+
40+
/**
41+
* Constructor.
42+
*
43+
* \param def The property definition to use to create the auxiliary field
44+
* \param layer The vector layer for which the auxiliary layer has to be created
45+
* \param customOnly True to indicate that only the name widget is enabled
46+
* \param parent Parent window
47+
*/
48+
QgsNewAuxiliaryFieldDialog( const QgsPropertyDefinition &def, QgsVectorLayer *layer, bool nameOnly = true, QWidget *parent = nullptr );
49+
50+
/**
51+
* Returns the underlying property definition.
52+
*/
53+
QgsPropertyDefinition propertyDefinition() const;
54+
55+
protected:
56+
void accept() override;
57+
58+
QgsVectorLayer *mLayer = nullptr;
59+
bool mNameOnly = true;
60+
QgsPropertyDefinition mPropertyDefinition;
61+
};
62+
63+
#endif

‎src/gui/symbology/qgssymbollayerwidget.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
#include "qgslogger.h"
4040
#include "qgssettings.h"
4141
#include "qgsnewauxiliarylayerdialog.h"
42+
#include "qgsnewauxiliaryfielddialog.h"
4243
#include "qgsauxiliarystorage.h"
4344

4445
#include <QAbstractButton>
@@ -133,11 +134,19 @@ void QgsSymbolLayerWidget::createAuxiliaryField()
133134

134135
QgsPropertyOverrideButton *button = qobject_cast<QgsPropertyOverrideButton *>( sender() );
135136
QgsSymbolLayer::Property key = static_cast< QgsSymbolLayer::Property >( button->propertyKey() );
136-
const QgsPropertyDefinition def = QgsSymbolLayer::propertyDefinitions()[key];
137+
QgsPropertyDefinition def = QgsSymbolLayer::propertyDefinitions()[key];
137138

138139
// create property in auxiliary storage if necessary
139140
if ( !mVectorLayer->auxiliaryLayer()->exists( def ) )
140-
mVectorLayer->auxiliaryLayer()->addAuxiliaryField( def );
141+
{
142+
QgsNewAuxiliaryFieldDialog dlg( def, mVectorLayer, true, this );
143+
if ( dlg.exec() == QDialog::Accepted )
144+
def = dlg.propertyDefinition();
145+
}
146+
147+
// return if still not exist
148+
if ( !mVectorLayer->auxiliaryLayer()->exists( def ) )
149+
return;
141150

142151
// update property with join field name from auxiliary storage
143152
QgsProperty property = button->toProperty();
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ui version="4.0">
3+
<class>QgsNewAuxiliaryFieldDialogBase</class>
4+
<widget class="QDialog" name="QgsNewAuxiliaryFieldDialogBase">
5+
<property name="geometry">
6+
<rect>
7+
<x>0</x>
8+
<y>0</y>
9+
<width>397</width>
10+
<height>159</height>
11+
</rect>
12+
</property>
13+
<property name="windowTitle">
14+
<string>Auxiliary storage : new auxiliary field</string>
15+
</property>
16+
<widget class="QDialogButtonBox" name="buttonBox">
17+
<property name="geometry">
18+
<rect>
19+
<x>50</x>
20+
<y>120</y>
21+
<width>341</width>
22+
<height>32</height>
23+
</rect>
24+
</property>
25+
<property name="orientation">
26+
<enum>Qt::Horizontal</enum>
27+
</property>
28+
<property name="standardButtons">
29+
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
30+
</property>
31+
</widget>
32+
<widget class="QWidget" name="verticalLayoutWidget">
33+
<property name="geometry">
34+
<rect>
35+
<x>10</x>
36+
<y>10</y>
37+
<width>381</width>
38+
<height>101</height>
39+
</rect>
40+
</property>
41+
<layout class="QVBoxLayout" name="verticalLayout">
42+
<item>
43+
<widget class="QLabel" name="label_3">
44+
<property name="text">
45+
<string>New auxiliary field parameters</string>
46+
</property>
47+
</widget>
48+
</item>
49+
<item>
50+
<layout class="QFormLayout" name="formLayout">
51+
<item row="2" column="0">
52+
<widget class="QLabel" name="label">
53+
<property name="text">
54+
<string>Type</string>
55+
</property>
56+
</widget>
57+
</item>
58+
<item row="2" column="1">
59+
<widget class="QComboBox" name="mType"/>
60+
</item>
61+
<item row="4" column="0">
62+
<widget class="QLabel" name="label_2">
63+
<property name="text">
64+
<string>Name</string>
65+
</property>
66+
</widget>
67+
</item>
68+
<item row="4" column="1">
69+
<widget class="QLineEdit" name="mName"/>
70+
</item>
71+
</layout>
72+
</item>
73+
</layout>
74+
</widget>
75+
</widget>
76+
<resources/>
77+
<connections>
78+
<connection>
79+
<sender>buttonBox</sender>
80+
<signal>accepted()</signal>
81+
<receiver>QgsNewAuxiliaryFieldDialogBase</receiver>
82+
<slot>accept()</slot>
83+
<hints>
84+
<hint type="sourcelabel">
85+
<x>248</x>
86+
<y>254</y>
87+
</hint>
88+
<hint type="destinationlabel">
89+
<x>157</x>
90+
<y>274</y>
91+
</hint>
92+
</hints>
93+
</connection>
94+
<connection>
95+
<sender>buttonBox</sender>
96+
<signal>rejected()</signal>
97+
<receiver>QgsNewAuxiliaryFieldDialogBase</receiver>
98+
<slot>reject()</slot>
99+
<hints>
100+
<hint type="sourcelabel">
101+
<x>316</x>
102+
<y>260</y>
103+
</hint>
104+
<hint type="destinationlabel">
105+
<x>286</x>
106+
<y>274</y>
107+
</hint>
108+
</hints>
109+
</connection>
110+
</connections>
111+
</ui>

‎src/ui/qgsvectorlayerpropertiesbase.ui

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2191,11 +2191,21 @@ border-radius: 2px;</string>
21912191
<string>Property</string>
21922192
</property>
21932193
</column>
2194+
<column>
2195+
<property name="text">
2196+
<string>Name</string>
2197+
</property>
2198+
</column>
21942199
<column>
21952200
<property name="text">
21962201
<string>Type</string>
21972202
</property>
21982203
</column>
2204+
<column>
2205+
<property name="text">
2206+
<string>Full Name</string>
2207+
</property>
2208+
</column>
21992209
</widget>
22002210
</item>
22012211
</layout>

0 commit comments

Comments
 (0)
Please sign in to comment.