diff --git a/src/apps/poorman/StatusSlider.cpp b/src/apps/poorman/StatusSlider.cpp index 9c39ea4b5c..551b2f340c 100644 --- a/src/apps/poorman/StatusSlider.cpp +++ b/src/apps/poorman/StatusSlider.cpp @@ -8,22 +8,21 @@ #include "StatusSlider.h" -#include +#include StatusSlider::StatusSlider(const char* name, const char* label, - char* statusPrefix, BMessage* message, int32 minValue, int32 maxValue) + const char* statusPrefix, BMessage* message, int32 minValue, int32 maxValue) : - BSlider(name, label, message, minValue, maxValue, B_HORIZONTAL), + BSlider(name, label, message, minValue, maxValue, B_HORIZONTAL), fStatusPrefix(statusPrefix) { - fTemp = fStr; } - + + const char* StatusSlider::UpdateText() const { - sprintf(fTemp, "%" B_PRId32 " %s", Value(), fStatusPrefix); - - return fTemp; + BMessageFormat().Format(fStr, fStatusPrefix, Value()); + return fStr.String(); } diff --git a/src/apps/poorman/StatusSlider.h b/src/apps/poorman/StatusSlider.h index e7d0d27082..1236ee75ac 100644 --- a/src/apps/poorman/StatusSlider.h +++ b/src/apps/poorman/StatusSlider.h @@ -11,13 +11,14 @@ //#define BEOS_R5_COMPATIBLE #include +#include class StatusSlider: public BSlider { public: StatusSlider(const char* name, const char* label, - char* statusPrefix, + const char* statusPrefix, BMessage* message, int32 minValue, int32 maxValue); @@ -25,9 +26,8 @@ public: virtual const char* UpdateText() const; private: - char* fStatusPrefix; - char* fTemp; - char fStr[128]; + const char* fStatusPrefix; + mutable BString fStr; }; #endif diff --git a/src/apps/poorman/constants.cpp b/src/apps/poorman/constants.cpp index 2e97faa229..f076e36065 100644 --- a/src/apps/poorman/constants.cpp +++ b/src/apps/poorman/constants.cpp @@ -115,8 +115,8 @@ const char* STR_BBX_CONNECTION = B_TRANSLATE("Connections"); const char* STR_SLD_LABEL = B_TRANSLATE("Max. simultaneous connections:"); -char* STR_SLD_STATUS_LABEL - = (char*)B_TRANSLATE("connections"); +const char* STR_SLD_STATUS_LABEL + = B_TRANSLATE("{0, plural, one{# connection} other{# connections}}"); const char CMD_FILE_SAVE_AS = 'S'; diff --git a/src/apps/poorman/constants.h b/src/apps/poorman/constants.h index 201e21bf59..a9d1b3499e 100644 --- a/src/apps/poorman/constants.h +++ b/src/apps/poorman/constants.h @@ -94,7 +94,7 @@ extern const char* STR_FILEPANEL_CREATE_LOG_FILE; extern const char* STR_TAB_ADVANCED; extern const char* STR_BBX_CONNECTION; extern const char* STR_SLD_LABEL; -extern char* STR_SLD_STATUS_LABEL; +extern const char* STR_SLD_STATUS_LABEL; extern const char CMD_FILE_SAVE_AS; extern const char CMD_FILE_QUIT;