@@ -104,30 +104,52 @@ void QgsExpressionSelectionDialog::mActionSelect_triggered()
104
104
{
105
105
mLayer ->selectByExpression ( mExpressionBuilder ->expressionText (),
106
106
QgsVectorLayer::SetSelection );
107
+ pushSelectedFeaturesMessage ();
107
108
saveRecent ();
108
109
}
109
110
110
111
void QgsExpressionSelectionDialog::mActionAddToSelection_triggered ()
111
112
{
112
113
mLayer ->selectByExpression ( mExpressionBuilder ->expressionText (),
113
114
QgsVectorLayer::AddToSelection );
115
+ pushSelectedFeaturesMessage ();
114
116
saveRecent ();
115
117
}
116
118
117
119
void QgsExpressionSelectionDialog::mActionSelectIntersect_triggered ()
118
120
{
119
121
mLayer ->selectByExpression ( mExpressionBuilder ->expressionText (),
120
122
QgsVectorLayer::IntersectSelection );
123
+ pushSelectedFeaturesMessage ();
121
124
saveRecent ();
122
125
}
123
126
124
127
void QgsExpressionSelectionDialog::mActionRemoveFromSelection_triggered ()
125
128
{
126
129
mLayer ->selectByExpression ( mExpressionBuilder ->expressionText (),
127
130
QgsVectorLayer::RemoveFromSelection );
131
+ pushSelectedFeaturesMessage ();
128
132
saveRecent ();
129
133
}
130
134
135
+ void QgsExpressionSelectionDialog::pushSelectedFeaturesMessage ()
136
+ {
137
+ int count = mLayer ->selectedFeatureCount ();
138
+ if ( count > 0 )
139
+ {
140
+ mMessageBar ->pushMessage ( QString (),
141
+ tr ( " %1 matching %2 selected" ).arg ( count )
142
+ .arg ( count == 1 ? tr ( " feature" ) : tr ( " features" ) ),
143
+ Qgis::Info );
144
+ }
145
+ else
146
+ {
147
+ mMessageBar ->pushMessage ( QString (),
148
+ tr ( " No matching features found" ),
149
+ Qgis::Warning );
150
+ }
151
+ }
152
+
131
153
void QgsExpressionSelectionDialog::mButtonZoomToFeatures_clicked ()
132
154
{
133
155
if ( mExpressionBuilder ->expressionText ().isEmpty () || !mMapCanvas )
0 commit comments