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; }
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; }
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; }
/// 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_); }
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; }