void FolderWatcher::changeDetected(const QString& f) { if( ! eventsEnabled() ) { // qDebug() << "FolderWatcher::changeDetected when eventsEnabled() -> ignore"; return; } _pendingPathes[f] = 1; //_pendingPathes[path]+mask; setProcessTimer(); }
void UIBuildingBase::createProcessTimer() { setProcessBg(Sprite::create("ui/processbg.png")); addChild(getProcessBg()); getProcessBg()->setPosition(Point(getContentSize().width / 2 ,getContentSize().height + 20)); Sprite* timer = Sprite::create("ui/process.png"); setProcessTimer(ProgressTimer::create(timer)); addChild(getProcessTimer()); getProcessTimer()->setType(ProgressTimer::Type::BAR); getProcessTimer()->setMidpoint(Point(0,100)); getProcessTimer()->setPosition(Point(getContentSize().width / 2 ,getContentSize().height + 20)); getProcessTimer()->setBarChangeRate(Point(1,0)); }
FolderWatcher::FolderWatcher(const QString &root, QObject *parent) : QObject(parent), _eventsEnabled(true), _eventInterval(DEFAULT_EVENT_INTERVAL_MSEC), _root(root), _processTimer(new QTimer(this)) { _d = new FolderWatcherPrivate(this); _processTimer->setSingleShot(true); QObject::connect(_processTimer, SIGNAL(timeout()), this, SLOT(slotProcessTimerTimeout())); // do a first synchronization to get changes while // the application was not running setProcessTimer(); }
void FolderWatcher::setEventsEnabled(bool enabled) { qDebug() << " * event notification " << (enabled ? "enabled" : "disabled"); _eventsEnabled = enabled; if (_eventsEnabled) { // schedule a queue cleanup for accumulated events if ( _pendingPathes.empty() ) return; setProcessTimer(); } else { // if we are disabling events, clear any ongoing timer if (_processTimer->isActive()) _processTimer->stop(); } }
void UIBuildingBase::updateUpgradeStatus() { if (!getProcessTimer()) { createProcessTimer(); createBuildProc(); scheduleUpdate(); } else { //移除 getProcessBg()->removeFromParent(); getProcessTimer()->removeFromParent(); setProcessTimer(nullptr); setProcessBg(nullptr); getBuildingProc()->removeFromParent(); setBuildingProc(nullptr); unscheduleUpdate(); updateStatus(); } }