int CCWTreeCtrl::GetEntryImage(const CItemData &ci) const { int entrytype = ci.GetEntryType(); if (entrytype == CItemData::ET_ALIAS) { return ALIAS; } if (entrytype == CItemData::ET_SHORTCUT) { return SHORTCUT; } int nImage; switch (entrytype) { case CItemData::ET_NORMAL: nImage = NORMAL; break; case CItemData::ET_ALIASBASE: nImage = ALIASBASE; break; case CItemData::ET_SHORTCUTBASE: nImage = SHORTCUTBASE; break; default: nImage = NORMAL; } time_t tttXTime; ci.GetXTime(tttXTime); if (tttXTime > time_t(0) && tttXTime <= time_t(3650)) { time_t tttCPMTime; ci.GetPMTime(tttCPMTime); if ((long)tttCPMTime == 0L) ci.GetCTime(tttCPMTime); tttXTime = (time_t)((long)tttCPMTime + (long)tttXTime * 86400); } if (tttXTime != 0) { time_t now, warnexptime((time_t)0); time(&now); if (PWSprefs::GetInstance()->GetPref(PWSprefs::PreExpiryWarn)) { int idays = PWSprefs::GetInstance()->GetPref(PWSprefs::PreExpiryWarnDays); struct tm st; errno_t err; err = localtime_s(&st, &now); // secure version ASSERT(err == 0); st.tm_mday += idays; warnexptime = mktime(&st); if (warnexptime == (time_t)-1) warnexptime = (time_t)0; } if (tttXTime <= now) { nImage += 2; // Expired } else if (tttXTime < warnexptime) { nImage += 1; // Warn nearly expired } } return nImage; }
int CExpPWListDlg::GetEntryImage(const st_ExpLocalListEntry &elle) { if (elle.et == CItemData::ET_ALIAS) return CPWTreeCtrl::ALIAS; if (elle.et == CItemData::ET_SHORTCUT) return CPWTreeCtrl::SHORTCUT; int nImage; switch (elle.et) { case CItemData::ET_NORMAL: nImage = CPWTreeCtrl::NORMAL; break; case CItemData::ET_ALIASBASE: nImage = CPWTreeCtrl::ALIASBASE; break; case CItemData::ET_SHORTCUTBASE: nImage = CPWTreeCtrl::SHORTCUTBASE; break; default: nImage = CPWTreeCtrl::NORMAL; break; } // Entry has been updated - need to check further as it might be OK now if (elle.expirytttXTime != 0) { time_t now, warnexptime((time_t)0); time(&now); struct tm st; #if (_MSC_VER >= 1400) errno_t err; err = localtime_s(&st, &now); // secure version ASSERT(err == 0); #else st = *localtime(&now); ASSERT(st != NULL); // null means invalid time #endif st.tm_mday += m_idays; warnexptime = mktime(&st); if (warnexptime == (time_t)-1) warnexptime = (time_t)0; if (elle.expirytttXTime <= now) { nImage += 2; // Expired } else if (elle.expirytttXTime < warnexptime) { nImage += 1; // Warn nearly expired } } return nImage; }