@@ -26,7 +26,6 @@ QgsFieldConditionalFormatWidget::QgsFieldConditionalFormatWidget( QWidget *paren
26
26
, mLayer( nullptr )
27
27
, mEditIndex( 0 )
28
28
, mEditing( false )
29
- , mSymbol( nullptr )
30
29
{
31
30
setupUi ( this );
32
31
mDeleteButton ->hide ();
@@ -38,7 +37,6 @@ QgsFieldConditionalFormatWidget::QgsFieldConditionalFormatWidget( QWidget *paren
38
37
connect ( mCancelButton , &QAbstractButton::clicked, this , &QgsFieldConditionalFormatWidget::cancelRule );
39
38
connect ( mDeleteButton , &QAbstractButton::clicked, this , &QgsFieldConditionalFormatWidget::deleteRule );
40
39
connect ( listView, &QAbstractItemView::clicked, this , &QgsFieldConditionalFormatWidget::ruleClicked );
41
- connect ( btnChangeIcon, &QAbstractButton::clicked, this , &QgsFieldConditionalFormatWidget::updateIcon );
42
40
connect ( btnBuildExpression, &QAbstractButton::clicked, this , &QgsFieldConditionalFormatWidget::setExpression );
43
41
connect ( mPresetsList , static_cast <void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this , &QgsFieldConditionalFormatWidget::presetSet );
44
42
btnBackgroundColor->setAllowOpacity ( true );
@@ -49,27 +47,13 @@ QgsFieldConditionalFormatWidget::QgsFieldConditionalFormatWidget( QWidget *paren
49
47
mModel = new QStandardItemModel ( listView );
50
48
listView->setModel ( mModel );
51
49
mPresetsList ->setModel ( mPresetsModel );
50
+ btnChangeIcon->setSymbol ( QgsSymbol::defaultSymbol ( QgsWkbTypes::PointGeometry ) );
52
51
53
52
setPresets ( defaultPresets () );
54
53
}
55
54
56
55
QgsFieldConditionalFormatWidget::~QgsFieldConditionalFormatWidget ()
57
56
{
58
- delete mSymbol ;
59
- }
60
-
61
- void QgsFieldConditionalFormatWidget::updateIcon ()
62
- {
63
- mSymbol = QgsSymbol::defaultSymbol ( QgsWkbTypes::PointGeometry );
64
-
65
- QgsSymbolSelectorDialog dlg ( mSymbol , QgsStyle::defaultStyle (), nullptr , this );
66
- if ( !dlg.exec () )
67
- {
68
- return ;
69
- }
70
-
71
- QIcon icon = QgsSymbolLayerUtils::symbolPreviewIcon ( mSymbol , btnChangeIcon->iconSize () );
72
- btnChangeIcon->setIcon ( icon );
73
57
}
74
58
75
59
void QgsFieldConditionalFormatWidget::setExpression ()
@@ -130,24 +114,14 @@ void QgsFieldConditionalFormatWidget::setFormattingFromStyle( const QgsCondition
130
114
{
131
115
btnBackgroundColor->setColor ( style.backgroundColor () );
132
116
btnTextColor->setColor ( style.textColor () );
133
- if ( ! style.icon (). isNull () )
117
+ if ( style.symbol () )
134
118
{
119
+ btnChangeIcon->setSymbol ( style.symbol ()->clone () );
135
120
checkIcon->setChecked ( true );
136
- QIcon icon ( style.icon () );
137
- btnChangeIcon->setIcon ( icon );
138
121
}
139
122
else
140
123
{
141
124
checkIcon->setChecked ( false );
142
- btnChangeIcon->setIcon ( QIcon () );
143
- }
144
- if ( style.symbol () )
145
- {
146
- mSymbol = style.symbol ()->clone ();
147
- }
148
- else
149
- {
150
- mSymbol = nullptr ;
151
125
}
152
126
QFont font = style.font ();
153
127
mFontBoldBtn ->setChecked ( font.bold () );
@@ -206,7 +180,6 @@ void QgsFieldConditionalFormatWidget::addNewRule()
206
180
207
181
void QgsFieldConditionalFormatWidget::reset ()
208
182
{
209
- mSymbol = nullptr ;
210
183
mNameEdit ->clear ();
211
184
mRuleEdit ->clear ();
212
185
if ( fieldRadio->isChecked () )
@@ -297,9 +270,9 @@ void QgsFieldConditionalFormatWidget::saveRule()
297
270
style.setFont ( font );
298
271
style.setBackgroundColor ( backColor );
299
272
style.setTextColor ( fontColor );
300
- if ( mSymbol && checkIcon->isChecked () )
273
+ if ( checkIcon->isChecked () )
301
274
{
302
- style.setSymbol ( mSymbol );
275
+ style.setSymbol ( btnChangeIcon-> clonedSymbol < QgsMarkerSymbol >() );
303
276
}
304
277
else
305
278
{
0 commit comments