Skip to content

Commit

Permalink
Merge pull request #47262 from DelazJ/plural
Browse files Browse the repository at this point in the history
More pluralization of strings (part 1)
  • Loading branch information
m-kuhn committed Feb 12, 2022
2 parents 0a71331 + 97d89fd commit 4ff41e7
Show file tree
Hide file tree
Showing 54 changed files with 127 additions and 144 deletions.
2 changes: 1 addition & 1 deletion src/analysis/processing/qgsalgorithmangletonearest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ QVariantMap QgsAngleToNearestAlgorithm::processAlgorithm( const QVariantMap &par
{
if ( nearest.count() > 1 )
{
feedback->pushInfo( QObject::tr( "Multiple matching features found at same distance from search feature, found %1 features" ).arg( nearest.count() ) );
feedback->pushInfo( QObject::tr( "Multiple matching features found at same distance from search feature, found %n feature(s)", nullptr, nearest.count() ) );
}

const QgsGeometry joinLine = f.geometry().shortestLine( index.geometry( nearest.at( 0 ) ) );
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/processing/qgsalgorithmcategorizeusingstyle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ QVariantMap QgsCategorizeUsingStyleAlgorithm::processAlgorithm( const QVariantMa

if ( matched > 0 )
{
feedback->pushInfo( QObject::tr( "Matched %1 categories to symbols from file." ).arg( matched ) );
feedback->pushInfo( QObject::tr( "Matched %n categories to symbols from file.", nullptr, matched ) );
}
else
{
Expand All @@ -243,7 +243,7 @@ QVariantMap QgsCategorizeUsingStyleAlgorithm::processAlgorithm( const QVariantMa

if ( !unmatchedCategories.empty() )
{
feedback->pushInfo( QObject::tr( "\n%1 categories could not be matched:" ).arg( unmatchedCategories.count() ) );
feedback->pushInfo( QObject::tr( "\n%n categorie(s) could not be matched:", nullptr, unmatchedCategories.count() ) );
std::sort( unmatchedCategories.begin(), unmatchedCategories.end() );
for ( const QVariant &cat : std::as_const( unmatchedCategories ) )
{
Expand All @@ -260,7 +260,7 @@ QVariantMap QgsCategorizeUsingStyleAlgorithm::processAlgorithm( const QVariantMa

if ( !unmatchedSymbols.empty() )
{
feedback->pushInfo( QObject::tr( "\n%1 symbols in style were not matched:" ).arg( unmatchedSymbols.count() ) );
feedback->pushInfo( QObject::tr( "\n%n symbol(s) in style were not matched:", nullptr, unmatchedSymbols.count() ) );
std::sort( unmatchedSymbols.begin(), unmatchedSymbols.end() );
for ( const QString &name : std::as_const( unmatchedSymbols ) )
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ QVariantMap QgsDeleteDuplicateGeometriesAlgorithm::processAlgorithm( const QVari
feedback->setProgress( 0.10 * current * step + 90 ); // takes about 10% of time
}

feedback->pushInfo( QObject::tr( "%1 duplicate features removed" ).arg( removed ) );
feedback->pushInfo( QObject::tr( "%n duplicate feature(s) removed", nullptr, removed ) );

QVariantMap outputs;
outputs.insert( QStringLiteral( "OUTPUT" ), destId );
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/processing/qgsalgorithmdetectdatasetchanges.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -421,9 +421,9 @@ QVariantMap QgsDetectVectorChangesAlgorithm::processAlgorithm( const QVariantMap
}
feedback->setProgress( 100 );

feedback->pushInfo( QObject::tr( "%1 features unchanged" ).arg( unchangedOriginalIds.size() ) );
feedback->pushInfo( QObject::tr( "%1 features added" ).arg( addedRevisedIds.size() ) );
feedback->pushInfo( QObject::tr( "%1 features deleted" ).arg( deleted ) );
feedback->pushInfo( QObject::tr( "%n feature(s) unchanged", nullptr, unchangedOriginalIds.size() ) );
feedback->pushInfo( QObject::tr( "%n feature(s) added", nullptr, addedRevisedIds.size() ) );
feedback->pushInfo( QObject::tr( "%n feature(s) deleted", nullptr, deleted ) );

QVariantMap outputs;
outputs.insert( QStringLiteral( "UNCHANGED" ), unchangedDestId );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ bool QgsFlattenRelationshipsAlgorithm::prepareAlgorithm( const QVariantMap &para

const QList<QgsRelation> relations = project->relationManager()->referencedRelations( layer );
if ( relations.size() > 1 )
throw QgsProcessingException( QObject::tr( "Found %1 relations. This algorithm currently supports only a single relation." ).arg( relations.size() ) );
throw QgsProcessingException( QObject::tr( "Found %n relation(s). This algorithm currently supports only a single relation.", nullptr, relations.size() ) );
else if ( relations.empty() )
throw QgsProcessingException( QObject::tr( "No relations found." ) );

Expand Down
4 changes: 2 additions & 2 deletions src/analysis/processing/qgsalgorithmjoinbyattribute.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -258,9 +258,9 @@ QVariantMap QgsJoinByAttributeAlgorithm::processAlgorithm( const QVariantMap &pa
}
}

feedback->pushInfo( QObject::tr( "%1 feature(s) from input layer were successfully matched" ).arg( joinedCount ) );
feedback->pushInfo( QObject::tr( "%n feature(s) from input layer were successfully matched", nullptr, joinedCount ) );
if ( unjoinedCount > 0 )
feedback->reportError( QObject::tr( "%1 feature(s) from input layer could not be matched" ).arg( unjoinedCount ) );
feedback->reportError( QObject::tr( "%n feature(s) from input layer could not be matched", nullptr, unjoinedCount ) );

QVariantMap outputs;
if ( sink )
Expand Down
2 changes: 1 addition & 1 deletion src/analysis/processing/qgsalgorithmjoinbynearest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ QVariantMap QgsJoinByNearestAlgorithm::processAlgorithm( const QVariantMap &para

if ( nearest.count() > neighbors + ( sameSourceAndTarget ? 1 : 0 ) )
{
feedback->pushInfo( QObject::tr( "Multiple matching features found at same distance from search feature, found %1 features instead of %2" ).arg( nearest.count() - ( sameSourceAndTarget ? 1 : 0 ) ).arg( neighbors ) );
feedback->pushInfo( QObject::tr( "Multiple matching features found at same distance from search feature, found %n feature(s) instead of %1", nullptr, nearest.count() - ( sameSourceAndTarget ? 1 : 0 ) ).arg( neighbors ) );
}
QgsFeature out;
out.setGeometry( f.geometry() );
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/processing/qgsalgorithmkmeansclustering.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ void QgsKMeansClusteringAlgorithm::initClusters( std::vector<Feature> &points, s

if ( feedback && duplicateCount > 1 )
{
feedback->pushInfo( QObject::tr( "There are at least %1 duplicate inputs, the number of output clusters may be less than was requested" ).arg( duplicateCount ) );
feedback->pushInfo( QObject::tr( "There are at least %n duplicate input(s), the number of output clusters may be less than was requested", nullptr, duplicateCount ) );
}

// By now two points should be found and be not the same
Expand Down Expand Up @@ -322,9 +322,9 @@ void QgsKMeansClusteringAlgorithm::calculateKMeans( std::vector<QgsKMeansCluster
}

if ( !converged && feedback )
feedback->reportError( QObject::tr( "Clustering did not converge after %1 iterations" ).arg( i ) );
feedback->reportError( QObject::tr( "Clustering did not converge after %n iteration(s)", nullptr, i ) );
else if ( feedback )
feedback->pushInfo( QObject::tr( "Clustering converged after %1 iterations" ).arg( i ) );
feedback->pushInfo( QObject::tr( "Clustering converged after %n iteration(s)", nullptr, i ) );
}

// ported from https://github.com/postgis/postgis/blob/svn-trunk/liblwgeom/lwkmeans.c
Expand Down
2 changes: 1 addition & 1 deletion src/analysis/processing/qgsalgorithmrepairshapefile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ QVariantMap QgsRepairShapefileAlgorithm::processAlgorithm( const QVariantMap &pa

CPLSetConfigOption( "SHAPE_RESTORE_SHX", nullptr );

feedback->pushInfo( QObject::tr( "Successfully repaired, found %1 features" ).arg( layer->featureCount() ) );
feedback->pushInfo( QObject::tr( "Successfully repaired, found %n feature(s)", nullptr, layer->featureCount() ) );

QVariantMap outputs;
outputs.insert( QStringLiteral( "OUTPUT" ), path );
Expand Down
2 changes: 1 addition & 1 deletion src/analysis/processing/qgsalgorithmsnapgeometries.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ QVariantMap QgsSnapGeometriesAlgorithm::processAlgorithm( const QVariantMap &par
{
// input layer == reference layer
const int modified = QgsGeometrySnapperSingleSource::run( *source, *sink, tolerance, feedback );
feedback->pushInfo( QObject::tr( "Snapped %1 geometries." ).arg( modified ) );
feedback->pushInfo( QObject::tr( "Snapped %n geometries.", nullptr, modified ) );
}
else
{
Expand Down
2 changes: 1 addition & 1 deletion src/analysis/processing/qgsalgorithmsplitvectorlayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ QVariantMap QgsSplitVectorLayerAlgorithm::processAlgorithm( const QVariantMap &p
count += 1;
}

feedback->pushInfo( QObject::tr( "Added %1 features to layer" ).arg( count ) );
feedback->pushInfo( QObject::tr( "Added %n feature(s) to layer", nullptr, count ) );
outputLayers << fileName;

current += 1;
Expand Down
2 changes: 1 addition & 1 deletion src/app/3d/qgs3dmapcanvaswidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ void Qgs3DMapCanvasWidget::onTotalPendingJobsCountChanged()
mProgressPendingJobs->setVisible( count );
mLabelPendingJobs->setVisible( count );
if ( count )
mLabelPendingJobs->setText( tr( "Loading %1 tiles" ).arg( count ) );
mLabelPendingJobs->setText( tr( "Loading %n tile(s)", nullptr, count ) );
}

void Qgs3DMapCanvasWidget::updateFpsCount( float fpsCount )
Expand Down
4 changes: 2 additions & 2 deletions src/app/browser/qgsinbuiltdataitemproviders.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -570,7 +570,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
{
// generic warning
QMessageBox message( QMessageBox::Warning, sortedAllFilesWithSidecars.size() > 1 ? tr( "Delete Files" ) : tr( "Delete %1" ).arg( QFileInfo( selectedFiles.at( 0 ) ).fileName() ),
sortedAllFilesWithSidecars.size() > 1 ? tr( "Permanently delete %1 files?" ).arg( sortedAllFilesWithSidecars.size() )
sortedAllFilesWithSidecars.size() > 1 ? tr( "Permanently delete %n file(s)?", nullptr, sortedAllFilesWithSidecars.size() )
: tr( "Permanently delete “%1”?" ).arg( QFileInfo( selectedFiles.at( 0 ) ).fileName() ),
QMessageBox::Yes | QMessageBox::No );
message.setDefaultButton( QMessageBox::No );
Expand Down Expand Up @@ -675,7 +675,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
if ( errors.size() == 1 )
notify( QString(), tr( "Could not delete %1" ).arg( QFileInfo( errors.at( 0 ) ).fileName() ), context, Qgis::MessageLevel::Critical );
else
notify( QString(), tr( "Could not delete %1 files" ).arg( errors.size() ), context, Qgis::MessageLevel::Critical );
notify( QString(), tr( "Could not delete %n file(s)", nullptr, errors.size() ), context, Qgis::MessageLevel::Critical );
}
} );
manageFileMenu->addAction( deleteAction );
Expand Down
2 changes: 1 addition & 1 deletion src/app/dwg/qgsdwgimporter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1508,7 +1508,7 @@ void QgsDwgImporter::addEntity( OGRFeatureDefnH dfn, OGRFeatureH f, const DRW_En
mEntities++;
if ( mTime.elapsed() > 1000 )
{
progress( tr( "%1 entities processed." ).arg( mEntities ) );
progress( tr( "%n entities processed.", nullptr, mEntities ) );
mTime.restart();
}

Expand Down
10 changes: 4 additions & 6 deletions src/app/georeferencer/qgsgeorefmainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1915,8 +1915,8 @@ bool QgsGeoreferencerMainWindow::checkReadyGeoref()

if ( mPoints.count() < static_cast<int>( mGeorefTransform.minimumGcpCount() ) )
{
mMessageBar->pushMessage( tr( "Not Enough GCPs" ), tr( "%1 transformation requires at least %2 GCPs. Please define more." )
.arg( QgsGcpTransformerInterface::methodToString( mTransformParam ) ).arg( mGeorefTransform.minimumGcpCount() )
mMessageBar->pushMessage( tr( "Not Enough GCPs" ), tr( "%1 transformation requires at least %n GCPs. Please define more.", nullptr, mGeorefTransform.minimumGcpCount() )
.arg( QgsGcpTransformerInterface::methodToString( mTransformParam ) )
, Qgis::MessageLevel::Critical );
return false;
}
Expand Down Expand Up @@ -2094,11 +2094,9 @@ bool QgsGeoreferencerMainWindow::equalGCPlists( const QList< QgsGcpPoint > &list
// if (mGeorefTransform.minimumGcpCount() != 0)
// {
// if ((uint)mPoints.size() >= mGeorefTransform.minimumGcpCount())
// showMessageInLog(tr("Info"), tr("For georeferencing requared at least %1 GCP points")
// .arg(mGeorefTransform.minimumGcpCount()));
// showMessageInLog(tr("Info"), tr("For georeferencing required at least %n GCP point(s)", nullptr, mGeorefTransform.minimumGcpCount()));
// else
// showMessageInLog(tr("Critical"), tr("For georeferencing requared at least %1 GCP points")
// .arg(mGeorefTransform.minimumGcpCount()));
// showMessageInLog(tr("Critical"), tr("For georeferencing required at least %n GCP point(s)", nullptr, mGeorefTransform.minimumGcpCount()));
// }
//}

Expand Down
2 changes: 1 addition & 1 deletion src/app/layout/qgslayoutdesignerdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4906,7 +4906,7 @@ void QgsLayoutDesignerDialog::updateWindowTitle()
void QgsLayoutDesignerDialog::backgroundTaskCountChanged( int total )
{
if ( total > 1 )
mStatusBar->showMessage( tr( "Redrawing %1 maps" ).arg( total ) );
mStatusBar->showMessage( tr( "Redrawing %n map(s)", nullptr, total ) );
else if ( total == 1 )
mStatusBar->showMessage( tr( "Redrawing map" ) );
else
Expand Down
6 changes: 3 additions & 3 deletions src/app/mesh/qgsmaptooleditmeshframe.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2184,8 +2184,8 @@ void QgsMapToolEditMeshFrame::prepareSelection()
}
else if ( mSelectedFaces.count() > 1 )
{
mActionRemoveFaces->setText( tr( "Remove %1 selected faces" ).arg( mSelectedFaces.count() ) );
mActionFacesRefinement->setText( tr( "Refine %1 selected faces" ).arg( mSelectedFaces.count() ) );
mActionRemoveFaces->setText( tr( "Remove %n selected face(s)", nullptr, mSelectedFaces.count() ) );
mActionFacesRefinement->setText( tr( "Refine %n selected face(s)", nullptr, mSelectedFaces.count() ) );
}
else
{
Expand All @@ -2203,7 +2203,7 @@ void QgsMapToolEditMeshFrame::prepareSelection()
if ( mSplittableFaceCount == 1 )
mActionSplitFaces->setText( tr( "Split selected face" ) );
else if ( mSplittableFaceCount > 1 )
mActionSplitFaces->setText( tr( "Split %1 selected faces" ).arg( mSplittableFaceCount ) );
mActionSplitFaces->setText( tr( "Split %n selected face(s)", nullptr, mSplittableFaceCount ) );
else
mActionSplitFaces->setText( tr( "Split current face" ) );

Expand Down
13 changes: 6 additions & 7 deletions src/app/qgisapp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9573,7 +9573,7 @@ void QgisApp::deleteSelected( QgsMapLayer *layer, QWidget *parent, bool checkFea
for ( QgsVectorLayer *chl : infoContextLayers )
{
childrenCount += infoContext.duplicatedFeatures( chl ).size();
childrenInfo += ( tr( "%1 feature(s) on layer \"%2\", " ).arg( infoContext.duplicatedFeatures( chl ).size() ).arg( chl->name() ) );
childrenInfo += ( tr( "%n feature(s) on layer \"%1\", ", nullptr, infoContext.duplicatedFeatures( chl ).size() ).arg( chl->name() ) );
}

// for extra safety to make sure we know that the delete can have impact on children and joins
Expand Down Expand Up @@ -9606,7 +9606,7 @@ void QgisApp::deleteSelected( QgsMapLayer *layer, QWidget *parent, bool checkFea
feedbackMessage += tr( "%1 on layer %2. " ).arg( context.handledFeatures( contextLayer ).size() ).arg( contextLayer->name() );
deletedCount += context.handledFeatures( contextLayer ).size();
}
visibleMessageBar()->pushMessage( tr( "%1 features deleted: %2" ).arg( deletedCount ).arg( feedbackMessage ), Qgis::MessageLevel::Success );
visibleMessageBar()->pushMessage( tr( "%n feature(s) deleted: %1", nullptr, deletedCount ).arg( feedbackMessage ), Qgis::MessageLevel::Success );
}

showStatusMessage( tr( "%n feature(s) deleted.", "number of features deleted", deletedCount ) );
Expand Down Expand Up @@ -11116,7 +11116,7 @@ void QgisApp::pasteFeatures( QgsVectorLayer *pasteVectorLayer, int invalidGeomet
}
else if ( nCopiedFeatures == nTotalFeatures )
{
message = tr( "%1 features were pasted." ).arg( nCopiedFeatures );
message = tr( "%n feature(s) were pasted.", nullptr, nCopiedFeatures );
}
else
{
Expand All @@ -11126,8 +11126,7 @@ void QgisApp::pasteFeatures( QgsVectorLayer *pasteVectorLayer, int invalidGeomet
// warn the user if the pasted features have invalid geometries
if ( invalidGeometriesCount > 0 )
message += invalidGeometriesCount == 1 ? tr( " Geometry collapsed due to intersection avoidance." ) :
tr( "%1 geometries collapsed due to intersection avoidance." )
.arg( invalidGeometriesCount );
tr( "%n geometries collapsed due to intersection avoidance.", nullptr, invalidGeometriesCount );

visibleMessageBar()->pushMessage( tr( "Paste features" ),
message,
Expand Down Expand Up @@ -17741,10 +17740,10 @@ QgsFeature QgisApp::duplicateFeatureDigitized( QgsMapLayer *mlayer, const QgsFea
const auto duplicateFeatureContextLayers = duplicateFeatureContext.layers();
for ( QgsVectorLayer *chl : duplicateFeatureContextLayers )
{
childrenInfo += ( tr( "%1 children on layer %2 duplicated" ).arg( duplicateFeatureContext.duplicatedFeatures( chl ).size() ).arg( chl->name() ) );
childrenInfo += ( tr( "%n children on layer %1 duplicated", nullptr, duplicateFeatureContext.duplicatedFeatures( chl ).size() ).arg( chl->name() ) );
}

visibleMessageBar()->pushMessage( tr( "Feature on layer %2 duplicated\n%3" ).arg( layer->name(), childrenInfo ), Qgis::MessageLevel::Success );
visibleMessageBar()->pushMessage( tr( "Feature on layer %1 duplicated\n%2" ).arg( layer->name(), childrenInfo ), Qgis::MessageLevel::Success );

mMapCanvas->unsetMapTool( digitizeFeature );
}
Expand Down
4 changes: 2 additions & 2 deletions src/app/qgsappbrowserproviders.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1089,7 +1089,7 @@ void QgsBookmarksItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu
else
{
if ( QMessageBox::question( nullptr, QObject::tr( "Delete Spatial Bookmarks" ),
QObject::tr( "Are you sure you want to delete the %1 selected bookmarks?" ).arg( ids.count() ),
QObject::tr( "Are you sure you want to delete the %n selected bookmark(s)?", nullptr, ids.count() ),
QMessageBox::Yes | QMessageBox::No, QMessageBox::No ) != QMessageBox::Yes )
return;

Expand Down Expand Up @@ -1148,7 +1148,7 @@ void QgsBookmarksItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu
else
{
if ( QMessageBox::question( nullptr, QObject::tr( "Delete Bookmark Groups" ),
QObject::tr( "Are you sure you want to delete the %1 selected bookmark groups? This will delete all bookmarks in these groups." ).arg( groups.count() ),
QObject::tr( "Are you sure you want to delete the %n selected bookmark group(s)? This will delete all bookmarks in these groups.", nullptr, groups.count() ),
QMessageBox::Yes | QMessageBox::No, QMessageBox::No ) != QMessageBox::Yes )
return;

Expand Down
4 changes: 2 additions & 2 deletions src/app/qgsattributetabledialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -989,7 +989,7 @@ void QgsAttributeTableDialog::deleteFeature( const QgsFeatureId fid )
for ( QgsVectorLayer *chl : infoContextLayers )
{
childrenCount += infoContext.duplicatedFeatures( chl ).size();
childrenInfo += ( tr( "%1 feature(s) on layer \"%2\", " ).arg( infoContext.duplicatedFeatures( chl ).size() ).arg( chl->name() ) );
childrenInfo += ( tr( "%n feature(s) on layer \"%1\", ", nullptr, infoContext.duplicatedFeatures( chl ).size() ).arg( chl->name() ) );
}

// for extra safety to make sure we know that the delete can have impact on children and joins
Expand All @@ -1013,7 +1013,7 @@ void QgsAttributeTableDialog::deleteFeature( const QgsFeatureId fid )
feedbackMessage += tr( "%1 on layer %2. " ).arg( context.handledFeatures( contextLayer ).size() ).arg( contextLayer->name() );
deletedCount += context.handledFeatures( contextLayer ).size();
}
QgisApp::instance()->messageBar()->pushMessage( tr( "%1 features deleted: %2" ).arg( deletedCount ).arg( feedbackMessage ), Qgis::MessageLevel::Success );
QgisApp::instance()->messageBar()->pushMessage( tr( "%n feature(s) deleted: %1", nullptr, deletedCount ).arg( feedbackMessage ), Qgis::MessageLevel::Success );
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/app/qgsstatisticalsummarydockwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,7 @@ void QgsStatisticalSummaryDockWidget::updateDateTimeStatistics()
for ( const QgsDateTimeStatisticalSummary::Statistic stat : constStatsToDisplay )
{
const QString value = ( stat == QgsDateTimeStatisticalSummary::Range
? tr( "%1 seconds" ).arg( stats.range().seconds() )
? tr( "%n second(s)", nullptr, stats.range().seconds() )
: stats.statistic( stat ).toString() );

addRow( row, QgsDateTimeStatisticalSummary::displayName( stat ),
Expand Down

0 comments on commit 4ff41e7

Please sign in to comment.