void TrackingSyncSource::checkStatus(SyncSourceReport &changes)
{
    // use the most reliable (and most expensive) method by default
    ChangeMode mode = CHANGES_FULL;

    // assume that we do a regular sync, with reusing stored information
    // if possible
    string oldRevision = m_metaNode->readProperty("databaseRevision");
    if (!oldRevision.empty()) {
        string newRevision = databaseRevision();
        SE_LOG_DEBUG(this, NULL, "old database revision '%s', new revision '%s'",
                     oldRevision.c_str(),
                     newRevision.c_str());
        if (newRevision == oldRevision) {
            SE_LOG_DEBUG(this, NULL, "revisions match, no item changes");
            mode = CHANGES_NONE;
        }
    }
    if (mode == CHANGES_FULL) {
        SE_LOG_DEBUG(this, NULL, "using full item scan to detect changes");
    }

    detectChanges(*m_trackingNode, mode);

    // copy our item counts into the report
    changes.setItemStat(ITEM_LOCAL, ITEM_ADDED, ITEM_TOTAL, getNewItems().size());
    changes.setItemStat(ITEM_LOCAL, ITEM_UPDATED, ITEM_TOTAL, getUpdatedItems().size());
    changes.setItemStat(ITEM_LOCAL, ITEM_REMOVED, ITEM_TOTAL, getDeletedItems().size());
    changes.setItemStat(ITEM_LOCAL, ITEM_ANY, ITEM_TOTAL, getAllItems().size());
}
Пример #2
0
	void Inventory::updateStats()
	{
		calculateWeight(getAllItems());
		calculateRsAndBe();
		// flag setzen: Werte sind up to Date
		mValuesUpToDate = true;
	}
void
AnimationModuleSelectionModel::selectAll()
{



    AnimItemDimViewKeyFramesMap selectedKeyframes;
    std::vector<NodeAnimPtr > selectedNodes;
    std::vector<TableItemAnimPtr> selectedTableItems;
    getAllItems(true, &selectedKeyframes, &selectedNodes, &selectedTableItems);

    makeSelection( selectedKeyframes, selectedTableItems, selectedNodes, (AnimationModuleSelectionModel::SelectionTypeAdd |
                                                               AnimationModuleSelectionModel::SelectionTypeClear |
                                                               AnimationModuleSelectionModel::SelectionTypeRecurse) );
}
void
AnimationModuleSelectionModel::selectAllVisibleCurvesKeyFrames()
{
    AnimItemDimViewKeyFramesMap selectedKeys;
    std::vector<NodeAnimPtr > selectedNodes;
    std::vector<TableItemAnimPtr> selectedTableItems;

    AnimationModuleSelectionProviderPtr model = getModel();


    AnimItemDimViewKeyFramesMap allKeys;
    getAllItems(false, &allKeys, &selectedNodes, &selectedTableItems);
    for (AnimItemDimViewKeyFramesMap::const_iterator it = allKeys.begin(); it != allKeys.end(); ++it) {
        if (model->isCurveVisible(it->first.item, it->first.dim, it->first.view)) {
            KeyFrameWithStringSet& keys = selectedKeys[it->first];
            it->first.item->getKeyframes(it->first.dim, it->first.view, AnimItemBase::eGetKeyframesTypeMerged, &keys);
        }
    }
    makeSelection( selectedKeys, selectedTableItems, selectedNodes, (AnimationModuleSelectionModel::SelectionTypeAdd |
                                                                          AnimationModuleSelectionModel::SelectionTypeClear |
                                                                          AnimationModuleSelectionModel::SelectionTypeRecurse) );

}