void BrowsingHistory::_LoadSettings() { if (fSettingsLoaded) return; fSettingsLoaded = true; BFile settingsFile; if (_OpenSettingsFile(settingsFile, B_READ_ONLY)) { BMessage settingsArchive; settingsArchive.Unflatten(&settingsFile); if (settingsArchive.FindInt32("max history item age", &fMaxHistoryItemAge) != B_OK) { fMaxHistoryItemAge = 7; } BDateTime oldestAllowedDateTime = BDateTime::CurrentDateTime(B_LOCAL_TIME); oldestAllowedDateTime.Date().AddDays(-fMaxHistoryItemAge); BMessage historyItemArchive; for (int32 i = 0; settingsArchive.FindMessage("history item", i, &historyItemArchive) == B_OK; i++) { BrowsingHistoryItem item(&historyItemArchive); if (oldestAllowedDateTime < item.DateTime()) _AddItem(item, true); historyItemArchive.MakeEmpty(); } } }
void DateTimeView::_Revert() { // Set the clock and calendar as they were at launch time + // time elapsed since application launch. fUseGmtTime = fOldUseGmtTime; _UpdateGmtSettings(); if (fUseGmtTime) fGmtTime->SetValue(B_CONTROL_ON); else fLocalTime->SetValue(B_CONTROL_ON); time_t timeNow = fTimeAtStart + _PrefletUptime(); struct tm result; struct tm* timeInfo; timeInfo = localtime_r(&timeNow, &result); BDateTime dateTime = BDateTime::CurrentDateTime(B_LOCAL_TIME); BTime time = dateTime.Time(); BDate date = dateTime.Date(); time.SetTime(timeInfo->tm_hour, timeInfo->tm_min, timeInfo->tm_sec % 60); date.SetDate(timeInfo->tm_year + 1900, timeInfo->tm_mon + 1, timeInfo->tm_mday); dateTime.SetTime(time); dateTime.SetDate(date); set_real_time_clock(dateTime.Time_t()); }