BString BStatusView::_FullTimeRemainingString(time_t now, time_t finishTime, const char* timeText) { BDurationFormat formatter; BString buffer; BString finishStr; if (finishTime - now > 60 * 60) { buffer.SetTo(B_TRANSLATE("Finish: %time - Over %finishtime left")); formatter.Format(now * 1000000LL, finishTime * 1000000LL, &finishStr); } else { buffer.SetTo(B_TRANSLATE("Finish: %time - %finishtime left")); formatter.Format(now * 1000000LL, finishTime * 1000000LL, &finishStr); } buffer.ReplaceFirst("%time", timeText); buffer.ReplaceFirst("%finishtime", finishStr); return buffer; }
void DurationFormatTest::TestDefault() { BDurationFormat format; BString buffer; BString expected; status_t result = format.Format(buffer, 0, 800000000000ll); CPPUNIT_ASSERT_EQUAL(B_OK, result); // The exact format and language used depends on the locale settings, but // we can assume that whatever they are, it should put something in the // string. CPPUNIT_ASSERT(buffer.Length() > 0); }
static const char* UptimeToString(char string[], size_t size) { BDurationFormat formatter; BString str; bigtime_t uptime = system_time(); bigtime_t now = (bigtime_t)time(NULL) * 1000000; formatter.Format(now - uptime, now, &str); str.CopyInto(string, 0, size); string[std::min((size_t)str.Length(), size)] = '\0'; return string; }
void TimeSlider::_TimeToString(bigtime_t useconds, BString& string) { BDurationFormat formatter; formatter.Format(0, useconds, &string); }
void ShowImageWindow::_BuildViewMenu(BMenu* menu, bool popupMenu) { _AddItemMenu(menu, B_TRANSLATE("Slide show"), MSG_SLIDE_SHOW, 0, 0, this); _MarkMenuItem(menu, MSG_SLIDE_SHOW, fSlideShowRunner != NULL); BMenu* delayMenu = new BMenu(B_TRANSLATE("Slide delay")); if (fSlideShowDelayMenu == NULL) fSlideShowDelayMenu = delayMenu; delayMenu->SetRadioMode(true); int32 kDelays[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 20}; for (uint32 i = 0; i < sizeof(kDelays) / sizeof(kDelays[0]); i++) { BString text; BDurationFormat format; text.Truncate(0); format.Format(text, 0, kDelays[i] * 1000000LL); _AddDelayItem(delayMenu, text.String(), kDelays[i] * 1000000LL); } menu->AddItem(delayMenu); menu->AddSeparatorItem(); _AddItemMenu(menu, B_TRANSLATE("Original size"), kMsgOriginalSize, '1', 0, this); _AddItemMenu(menu, B_TRANSLATE("Fit to window"), kMsgFitToWindow, '0', 0, this); _AddItemMenu(menu, B_TRANSLATE("Zoom in"), MSG_ZOOM_IN, '+', 0, this); _AddItemMenu(menu, B_TRANSLATE("Zoom out"), MSG_ZOOM_OUT, '-', 0, this); menu->AddSeparatorItem(); if (!popupMenu || fFullScreen) { _AddItemMenu(menu, B_TRANSLATE("High-quality zooming"), MSG_SCALE_BILINEAR, 0, 0, this); _AddItemMenu(menu, B_TRANSLATE("Stretch to window"), kMsgStretchToWindow, 0, 0, this); menu->AddSeparatorItem(); } _AddItemMenu(menu, B_TRANSLATE("Full screen"), MSG_FULL_SCREEN, B_ENTER, 0, this); _MarkMenuItem(menu, MSG_FULL_SCREEN, fFullScreen); _AddItemMenu(menu, B_TRANSLATE("Show caption in full screen mode"), MSG_SHOW_CAPTION, 0, 0, this); _MarkMenuItem(menu, MSG_SHOW_CAPTION, fShowCaption); _MarkMenuItem(menu, MSG_SCALE_BILINEAR, fImageView->ScaleBilinear()); _MarkMenuItem(menu, kMsgStretchToWindow, fImageView->StretchesToBounds()); if (!popupMenu) { _AddItemMenu(menu, B_TRANSLATE("Show tool bar"), kMsgToggleToolBar, 'B', 0, this); _MarkMenuItem(menu, kMsgToggleToolBar, !fToolBar->IsHidden(fToolBar)); } if (popupMenu) { menu->AddSeparatorItem(); _AddItemMenu(menu, B_TRANSLATE("Use as background" B_UTF8_ELLIPSIS), MSG_DESKTOP_BACKGROUND, 0, 0, this); } }