mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-14 17:44:13 +02:00
Build folios only when needed, by default (stage D6)
Every project now opens without building its folios; a folio is built when it is shown or something needs its items (QETProject::lazyFolios()). QET_LAZY_FOLIOS is gone; QET_EAGER_FOLIOS=1 builds every folio on opening, as before, for comparisons and troubleshooting. Comments that named the old variable now say "lazy folios"; the tests switch modes with the new one. The first save of a .qet as .qetz still builds every folio: a .qet does not say which program wrote it, so its folios are written again rather than copied. A .qetz opens and saves without building. ctest 96/96 by default and with QET_EAGER_FOLIOS=1; 342 corpus projects save the same in all four arms and export the same. In the GUI (qet-gui-dialog): a 136-folio .qetz opens with no folio built, shows folios 1 to 4, saves building none, the save = the original but the time spent in it; a .qet opens lazily, saves as a .qetz beside it after the notice, the .qet unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -55,7 +55,7 @@ ElementProvider::ElementProvider(const QList<Diagram *> &diagrams) :
|
||||
@brief ElementProvider::folios
|
||||
@return the folios to search for symbols of the kinds @p kinds (free
|
||||
ones only if @p free_only). For a project, the folios not built yet
|
||||
(QET_LAZY_FOLIOS) holding such a symbol are built first, and only them
|
||||
(lazy folios) holding such a symbol are built first, and only them
|
||||
(QETProject::buildFoliosHolding()).
|
||||
*/
|
||||
QList<Diagram *> ElementProvider::folios(ElementData::Types kinds, bool free_only) const
|
||||
@@ -98,7 +98,7 @@ QVector <QPointer<Element>> ElementProvider::freeElement(ElementData::Types filt
|
||||
QList<Element *> elmt_list;
|
||||
const QList<Diagram *> searched = folios(filter, true);
|
||||
//A symbol whose saved partner is on a folio not built yet
|
||||
//(QET_LAZY_FOLIOS) is not linked yet, but is not free: it will be
|
||||
//(lazy folios) is not linked yet, but is not free: it will be
|
||||
const QSet<QUuid> waiting = m_project ? m_project->symbolsOnUnbuiltFolios()
|
||||
: QSet<QUuid>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user