QVariant BookmarksModel::data (const QModelIndex& index, int role) const { if (index.row () < 0 || index.row () > Bookmarks_.count ()) return QVariant (); auto bookmark = Bookmarks_.at (index.row ()); switch (role) { case BRID: return bookmark->GetID (); case BRUrl: return bookmark->GetUrl (); case BRTitle: return bookmark->GetTitle (); case BRDescription: return bookmark->GetDescription (); case BRImageUrl: return bookmark->GetImageUrl (); case BRFavorite: return bookmark->IsFavorite (); case BRRead: return bookmark->IsRead (); case BRTags: return bookmark->GetTags ().join (','); case BRAddTime: return bookmark->GetAddTime (); case BRUpdateTime: return bookmark->GetUpdateTime (); case BRStatus: return bookmark->GetStatus (); default: return QVariant (); } }
void GetExchangeTime_Undefined(int iTradingDay, char* TradingDay, char* ActionDay, char* UpdateTime, int* _TradingDay, int* _ActionDay, int* _UpdateTime, int* UpdateMillisec) { // 由于CTP期货中行情没有提供交易所,所以一开始就无法按交易所来分类 // UpdateTime处理 int HH = GetUpdateTime(UpdateTime, _UpdateTime, UpdateMillisec); // TradingDay处理 if (_TradingDay) { int tradingday = 0; if ((HH > 18 || HH < 6)) { tradingday = iTradingDay; } else { tradingday = atoi(TradingDay); } if (tradingday == 0) { time_t now = time(0); struct tm *ptmNow = localtime(&now); tradingday = (ptmNow->tm_year + 1900) * 10000 + (ptmNow->tm_mon + 1) * 100 + ptmNow->tm_mday; } *_TradingDay = tradingday; } if (_ActionDay == nullptr) return; // ActionDay处理 if ((HH>6 && HH<18) && (ActionDay != nullptr) && (strlen(ActionDay) == 8)) { *_ActionDay = atoi(ActionDay); } else { time_t now = time(0); struct tm *ptmNow = localtime(&now); if (HH >= 23) { if (ptmNow->tm_hour<1) { now -= 86400; ptmNow = localtime(&now); } } else if (HH<1) { if (ptmNow->tm_hour >= 23) { now += 86400; ptmNow = localtime(&now); } } *_ActionDay = (1900 + ptmNow->tm_year) * 10000 + (1 + ptmNow->tm_mon) * 100 + ptmNow->tm_mday; } }
void BookmarksModel::AddBookmarks (const Bookmarks_t& bookmarks) { Bookmarks_t bmss = bookmarks; for (int i = bmss.count () - 1; i >= 0; --i) { auto bms = bmss.at (i); auto it = std::find_if (Bookmarks_.begin (), Bookmarks_.end (), [bms] (decltype (Bookmarks_.front ()) bookmark) { return bms->GetID () == bookmark->GetID (); }); if (it != Bookmarks_.end ()) { const int pos = std::distance (Bookmarks_.begin (), it); switch (bms->GetStatus ()) { case Bookmark::SDeleted: RemoveBookmark (bms->GetID ()); break; case Bookmark::SArchived: { Bookmark *bm = Bookmarks_ [pos]; bm->SetIsRead (true); emit dataChanged (index (pos), index (pos)); break; } default: { Bookmark *bm = Bookmarks_ [pos]; bm->SetUrl (bms->GetUrl ()); bm->SetTitle (bms->GetTitle ()); bm->SetDescription (bms->GetDescription ()); bm->SetIsFavorite (bms->IsFavorite ()); bm->SetIsRead (bms->IsRead ()); bm->SetAddTime (bms->GetAddTime ()); bm->SetUpdateTime (bms->GetUpdateTime ()); bm->SetTags (bms->GetTags ()); bm->SetImageUrl (bms->GetImageUrl ()); bm->SetStatus (bms->GetStatus ()); emit dataChanged (index (pos), index (pos)); break; } } bmss.takeAt (i)->deleteLater (); } } beginInsertRows (QModelIndex (), rowCount (), rowCount () + bmss.count () - 1); Bookmarks_.append (bmss); endInsertRows (); }
bool COARallele::HasBeenEdited(const COARmessages *pmsgs, const wxDateTime *pTime) const { bool bRtn = false; if(pmsgs->FindEdited(m_vnMessageNumber,pTime)) { bRtn = true; } else { bRtn = (GetUpdateTime().GetTicks() > 0); } return bRtn; }
void GetExchangeTime(char* TradingDay, char* ActionDay, char* UpdateTime, int* _TradingDay, int* _ActionDay, int* _UpdateTime, int* UpdateMillisec) { // TradingDay处理 if (_TradingDay) { int tradingday = atoi(TradingDay); if (tradingday == 0) { time_t now = time(0); struct tm *ptmNow = localtime(&now); tradingday = (ptmNow->tm_year + 1900) * 10000 + (ptmNow->tm_mon + 1) * 100 + ptmNow->tm_mday; } *_TradingDay = tradingday; } // UpdateTime处理 int HH = GetUpdateTime(UpdateTime, _UpdateTime, UpdateMillisec); if (_ActionDay == nullptr) return; // ActionDay处理 if ((ActionDay != nullptr) && (strlen(ActionDay) == 8)) { *_ActionDay = atoi(ActionDay); } else { time_t now = time(0); struct tm *ptmNow = localtime(&now); if (HH >= 23) { if (ptmNow->tm_hour<1) { now -= 86400; ptmNow = localtime(&now); } } else if (HH<1) { if (ptmNow->tm_hour >= 23) { now += 86400; ptmNow = localtime(&now); } } *_ActionDay = (1900 + ptmNow->tm_year) * 10000 + (1 + ptmNow->tm_mon) * 100 + ptmNow->tm_mday; } }
void COARpeakAny::SetupArtifactInfo(const IOARpeak *p) { // this is used for setting artifact info in // a peak that was created as an allele and // is now being set to be an artifact also if(p->IsArtifact()) { SetIsArtifact(true); SetArtifactLabel(p->GetArtifactLabel()); SetCriticalLevel(p->GetCriticalLevel()); const wxDateTime &dt(p->GetUpdateTime()); if(dt > GetUpdateTime()) { SetUpdateTime(dt); } } }