예제 #1
0
void FolderWatcher::changeDetected(const QString& f)
{
    if( ! eventsEnabled() ) {
        // qDebug() << "FolderWatcher::changeDetected when eventsEnabled() -> ignore";
        return;
    }

    _pendingPathes[f] = 1; //_pendingPathes[path]+mask;
    setProcessTimer();
}
예제 #2
0
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));
}
예제 #3
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();
}
예제 #4
0
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();
    }
}
예제 #5
0
void UIBuildingBase::updateUpgradeStatus()
{
    if (!getProcessTimer())
    {
        createProcessTimer();
        createBuildProc();
        scheduleUpdate();
    }
    else
    {
        //移除
        getProcessBg()->removeFromParent();
        getProcessTimer()->removeFromParent();
        setProcessTimer(nullptr);
        setProcessBg(nullptr);
        getBuildingProc()->removeFromParent();
        setBuildingProc(nullptr);
        unscheduleUpdate();
        updateStatus();
    }
}