Ejemplo n.º 1
0
bool DesktopNode::updateChildren()
{
    if ((status_filter_ & NODE_NOT_ON_CLOUD) && !checkCloudCacheOrUpdate())
    {
        // pending scaning until cloud info is retrieved
        pending_scan_ = true;
        return true;
    }    

    switch (current_display_mode_)
    {
        case BY_FOLDER:
            updateChildrenByFolder();
            break;
        case BY_SORT:
            updateChildrenBySort();
            break;
        case EXPAND_ALL:
            updateChildrenByExpandingAll();
            break;
        default:
            return false;
    }
    setDirty(false);

    NodeChildenReadyArgs children_ready_args;
    children_ready_args.current_node_path = absolutePath();
    children_ready_args.succeeded = true;
    children_ready_args.children = filterChildren(children_);
    FireEvent(EventChildrenIsReady, children_ready_args);
    return true;
}
Ejemplo n.º 2
0
viewList_t LLViewQuery::run(LLView * view) const
{
	viewList_t result;

	filterResult_t pre = runFilters(view, viewList_t(), mPreFilters);
	if(!pre.first && !pre.second)
	{
		// skip post filters completely if we're not including ourselves or the children
		return result;
	}
	if(pre.second)
	{
		// run filters on children
		viewList_t filtered_children;
		filterChildren(view, filtered_children);
		filterResult_t post = runFilters(view, filtered_children, mPostFilters);
		if(pre.first && post.first)
		{
			result.push_back(view);
		}
		if(post.second)
		{
			result.insert(result.end(), filtered_children.begin(), filtered_children.end());
		}
	}
	else 
	{
		if(pre.first) 
		{
			result.push_back(view);
		}
	}
	return result;
}
Ejemplo n.º 3
0
int QDeclarativeDrag::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QObject::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        if (_id < 8)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 8;
    }
#ifndef QT_NO_PROPERTIES
      else if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast< QGraphicsObject**>(_v) = target(); break;
        case 1: *reinterpret_cast< Axis*>(_v) = axis(); break;
        case 2: *reinterpret_cast< qreal*>(_v) = xmin(); break;
        case 3: *reinterpret_cast< qreal*>(_v) = xmax(); break;
        case 4: *reinterpret_cast< qreal*>(_v) = ymin(); break;
        case 5: *reinterpret_cast< qreal*>(_v) = ymax(); break;
        case 6: *reinterpret_cast< bool*>(_v) = active(); break;
        case 7: *reinterpret_cast< bool*>(_v) = filterChildren(); break;
        }
        _id -= 8;
    } else if (_c == QMetaObject::WriteProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: setTarget(*reinterpret_cast< QGraphicsObject**>(_v)); break;
        case 1: setAxis(*reinterpret_cast< Axis*>(_v)); break;
        case 2: setXmin(*reinterpret_cast< qreal*>(_v)); break;
        case 3: setXmax(*reinterpret_cast< qreal*>(_v)); break;
        case 4: setYmin(*reinterpret_cast< qreal*>(_v)); break;
        case 5: setYmax(*reinterpret_cast< qreal*>(_v)); break;
        case 7: setFilterChildren(*reinterpret_cast< bool*>(_v)); break;
        }
        _id -= 8;
    } else if (_c == QMetaObject::ResetProperty) {
        switch (_id) {
        case 0: resetTarget(); break;
        }
        _id -= 8;
    } else if (_c == QMetaObject::QueryPropertyDesignable) {
        _id -= 8;
    } else if (_c == QMetaObject::QueryPropertyScriptable) {
        _id -= 8;
    } else if (_c == QMetaObject::QueryPropertyStored) {
        _id -= 8;
    } else if (_c == QMetaObject::QueryPropertyEditable) {
        _id -= 8;
    } else if (_c == QMetaObject::QueryPropertyUser) {
        _id -= 8;
    }
#endif // QT_NO_PROPERTIES
    return _id;
}
Ejemplo n.º 4
0
/// Update children node but does not re-generate the child list.
NodePtrs DesktopNode::updateChildrenInfo()
{
    for (NodePtrsIter iter = children_.begin(); iter != children_.end(); ++iter)
    {
        // Update information if it's file node.
        if ((*iter)->type() == NODE_TYPE_FILE_LOCAL_DOCUMENT ||
            (*iter)->type() == NODE_TYPE_FILE_LOCAL_BOOK_STORE_BOOK)
        {
            dynamic_cast<FileNode *>((*iter).get())->update();
        }
    }

    return filterChildren(children_);
}
Ejemplo n.º 5
0
viewList_t LLViewQuery::run(LLView* view) const
{
	viewList_t result;
	viewList_t const child_list(view->getChildList()->begin(), view->getChildList()->end());

	// prefilter gets immediate children of view
	filterResult_t pre = runFilters(view, child_list, mPreFilters);
	if(!pre.first && !pre.second)
	{
		// not including ourselves or the children
		// nothing more to do
		return result;
	}

	viewList_t filtered_children;
	filterResult_t post(TRUE, TRUE);
	if(pre.second)
	{
		// run filters on children
		filterChildren(view, filtered_children);
		// only run post filters if this element passed pre filters
		// so if you failed to pass the pre filter, you can't filter out children in post
		if (pre.first)
		{
			post = runFilters(view, filtered_children, mPostFilters);
		}
	}

	if(pre.first && post.first) 
	{
		result.push_back(view);
	}

	if(pre.second && post.second)
	{
		result.insert(result.end(), filtered_children.begin(), filtered_children.end());
	}

	return result;
}