From 39c461f50cc0bc1c419428d123e5e017e7494076 Mon Sep 17 00:00:00 2001 From: Niels Sascha Reedijk Date: Sun, 18 Nov 2018 15:58:13 +0100 Subject: [PATCH] Printers preflet: Properly handle plurals for the pending jobs Change-Id: Iac7cad00df0d52060fbc19fcc5551e21da66f152 Reviewed-on: https://review.haiku-os.org/713 Reviewed-by: Adrien Destugues --- src/preferences/printers/PrinterListView.cpp | 23 ++++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/preferences/printers/PrinterListView.cpp b/src/preferences/printers/PrinterListView.cpp index acf373fa45..505d88fb92 100644 --- a/src/preferences/printers/PrinterListView.cpp +++ b/src/preferences/printers/PrinterListView.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include "pr_server.h" #include "Messages.h" @@ -509,18 +510,16 @@ PrinterItem::Node() void PrinterItem::UpdatePendingJobs() { - if (fFolder) { - uint32 pendingJobs = fFolder->CountJobs(); - if (pendingJobs == 1) { - fPendingJobs = B_TRANSLATE("1 pending job"); - return; - } else if (pendingJobs > 1) { - fPendingJobs = ""; - fPendingJobs << pendingJobs << B_TRANSLATE(" pending jobs"); - return; - } - } - fPendingJobs = B_TRANSLATE("No pending jobs"); + uint32 pendingJobs = 0; + if (fFolder) + pendingJobs = fFolder->CountJobs(); + + static BStringFormat format(B_TRANSLATE("{0, plural," + "=0{No pending jobs}" + "=1{1 pending job}" + "other{# pending jobs}}")); + + format.Format(fPendingJobs, pendingJobs); }