mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 12:40:35 +01:00
Remove elementLocation and use elementsLocation instead
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4377 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -221,24 +221,38 @@ bool ElementsCollectionCache::fetchElement(ElementDefinition *element)
|
||||
/**
|
||||
* @brief ElementsCollectionCache::fetchElement
|
||||
* Retrieve the data for a given element, using the cache if available,
|
||||
* filling it otherwise. Data are then available through pixmap() and name() methods
|
||||
* @param location The definition of an element
|
||||
* filling it otherwise. Data are then available through pixmap() and name() methods.
|
||||
* @param location The definition of an element.
|
||||
* @see pixmap()
|
||||
* @see name()
|
||||
* @return True if the retrieval succeeded, false otherwise
|
||||
* @return True if the retrieval succeeded, false otherwise.
|
||||
*/
|
||||
bool ElementsCollectionCache::fetchElement(ElementLocation location)
|
||||
bool ElementsCollectionCache::fetchElement(ElementsLocation &location)
|
||||
{
|
||||
if (fetchNameFromCache(location.collectionPath(), location.uuid()) &&
|
||||
fetchPixmapFromCache(location.collectionPath(), location.uuid()))
|
||||
return true;
|
||||
else if (fetchData(location))
|
||||
{
|
||||
cacheName(location.collectionPath(), location.uuid());
|
||||
cachePixmap(location.collectionPath(), location.uuid());
|
||||
return true;
|
||||
// can we use the cache with this element?
|
||||
bool use_cache = cache_db_.isOpen() && !location.isProject();
|
||||
|
||||
// attempt to fetch the element name from the cache database
|
||||
if (!use_cache) {
|
||||
return(fetchData(location));
|
||||
}
|
||||
else
|
||||
{
|
||||
QString element_path = location.toString();
|
||||
bool got_name = fetchNameFromCache(element_path, location.uuid());
|
||||
bool got_pixmap = fetchPixmapFromCache(element_path, location.uuid());
|
||||
|
||||
if (got_name && got_pixmap) {
|
||||
return(true);
|
||||
}
|
||||
|
||||
if (fetchData(location))
|
||||
{
|
||||
cacheName(element_path, location.uuid());
|
||||
cachePixmap(element_path, location.uuid());
|
||||
}
|
||||
return(true);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -275,30 +289,6 @@ bool ElementsCollectionCache::fetchData(const ElementsLocation &location) {
|
||||
return(!state);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ElementsCollectionCache::fetchData
|
||||
* Retrieve the data by building the full CustomElement object matching the given location,
|
||||
* without using the cache. Data are then available through pixmap() and name() methods
|
||||
* @param location : location of a given element
|
||||
* @return True if the retrieval succeeded, false otherwise
|
||||
*/
|
||||
bool ElementsCollectionCache::fetchData(ElementLocation &location)
|
||||
{
|
||||
int state;
|
||||
Element *element = ElementFactory::Instance()->createElement(location, 0, &state);
|
||||
|
||||
if(state)
|
||||
qDebug() << "ElementsCollectionCache::fetchData() 2: Le chargement du composant" << qPrintable(location.fileSystemPath()) << "a echoue avec le code d'erreur" << state;
|
||||
else
|
||||
{
|
||||
current_name_ = element->name();
|
||||
current_pixmap_ = element->pixmap();
|
||||
}
|
||||
|
||||
delete element;
|
||||
return (!state);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ElementsCollectionCache::fetchNameFromCache
|
||||
* Retrieve the name for an element, given its path and uuid
|
||||
|
||||
Reference in New Issue
Block a user