Skip to content

Commit 34d2131

Browse files
committed
rememberAttributesValue back
1 parent 4bef8d5 commit 34d2131

File tree

1 file changed

+8
-14
lines changed

1 file changed

+8
-14
lines changed

app/attributes/rememberattributescontroller.cpp

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -100,36 +100,30 @@ bool RememberAttributesController::shouldRememberValue( const QgsVectorLayer *la
100100

101101
bool RememberAttributesController::setShouldRememberValue( const QgsVectorLayer *layer, int fieldIndex, bool shouldRemember )
102102
{
103-
if ( !rememberValuesAllowed() )
103+
if ( !rememberValuesAllowed() || !layer || !mActiveProject )
104104
return false;
105105

106106
QSettings settings;
107107
settings.beginGroup( CACHED_ATTRIBUTES_GROUP );
108108

109109
QString fieldEnabledKey = QStringLiteral( "/%1/%2/%3/enabled" ).arg( mActiveProject->projectFullName() ).arg( layer->id() ).arg( fieldIndex );
110-
bool fieldEnabled = settings.value( fieldEnabledKey, false ).toBool();
111-
112-
if ( layer && shouldRemember )
113-
{
114-
if ( !fieldEnabled )
115-
settings.setValue( fieldEnabledKey, true );
110+
bool currentlyEnabled = settings.value( fieldEnabledKey, false ).toBool();
116111

117-
settings.endGroup();
118-
return true;
119-
}
120-
121-
if ( fieldEnabled )
122-
settings.setValue( fieldEnabledKey, false );
112+
if ( currentlyEnabled != shouldRemember )
113+
settings.setValue( fieldEnabledKey, shouldRemember );
123114

124115
settings.endGroup();
125-
return false;
116+
return shouldRemember;
126117
}
127118

128119
bool RememberAttributesController::rememberedValue(
129120
const QgsVectorLayer *layer,
130121
int fieldIndex,
131122
QVariant &value ) const
132123
{
124+
if ( !layer || !mActiveProject )
125+
return false;
126+
133127
QSettings settings;
134128
settings.beginGroup( CACHED_ATTRIBUTES_GROUP );
135129

0 commit comments

Comments
 (0)