void GroupControl::adjustArchiveWorldViewBackward(QmcTime::Packet *packet, bool setup) { console->post("GroupControl::adjustArchiveWorldViewBackward"); my.timeState = BackwardState; int setmode = PM_MODE_INTERP; int delta = packet->delta.tv_sec; if (packet->delta.tv_usec == 0) { setmode |= PM_XTB_SET(PM_TIME_SEC); } else { delta = delta * 1000 + packet->delta.tv_usec / 1000; setmode |= PM_XTB_SET(PM_TIME_MSEC); } // // X-Axis _min_ becomes packet->position. // Rest of (following) time window filled in using packet->delta. // int last = my.samples - 1; double tolerance = my.realDelta / 20.0; // 5% of the sample interval double position = my.realPosition; double left = position - (my.realDelta * last); double right = position; double interval = pmchart->timeAxis()->scaleValue((double)delta, my.visible); for (int i = 0; i <= last; i++, position -= my.realDelta) { if (setup == false && fuzzyTimeMatch(my.timeData[i], position, tolerance) == true) { continue; } my.timeData[i] = position; struct timeval timeval; __pmtimevalFromReal(position, &timeval); setArchiveMode(setmode, &timeval, -delta); console->post("Fetching data[%d] at %s", i, timeString(position)); fetch(); if (i == last) // refreshGadgets() finishes up last one break; console->post("GroupControl::adjustArchiveWorldViewBackward: " "setting time position[%d]=%.2f[%s] state=%s count=%d", i, position, timeString(position), timeState(), gadgetCount()); for (int j = 0; j < gadgetCount(); j++) my.gadgetsList.at(j)->updateValues(false, false, my.samples, my.visible, left, right, interval); } bool active = isActive(packet); if (setup) packet->state = QmcTime::StoppedState; if (active) newButtonState(packet->state, packet->mode, pmchart->isTabRecording()); pmtime->setArchivePosition(&packet->position); pmtime->setArchiveInterval(&packet->delta); refreshGadgets(active); }
void FeedPropertiesDialog::setFeed(Feed *feed) { m_feed = feed; if(!feed) return; setFeedName(feed->title()); setUrl(feed->xmlUrl()); setAutoFetch(feed->useCustomFetchInterval()); if(feed->useCustomFetchInterval()) setFetchInterval(feed->fetchInterval()); else setFetchInterval(Settings::autoFetchInterval()); setArchiveMode(feed->archiveMode()); setMaxArticleAge(feed->maxArticleAge()); setMaxArticleNumber(feed->maxArticleNumber()); setMarkImmediatelyAsRead(feed->markImmediatelyAsRead()); setUseNotification(feed->useNotification()); setLoadLinkedWebsite(feed->loadLinkedWebsite()); slotSetCaption(feedName()); }