diff -r 25ee6b988b73 -r 8f987e376035 treeitem.cpp --- a/treeitem.cpp Tue Dec 15 09:14:59 2009 +0000 +++ b/treeitem.cpp Mon Jan 04 20:36:06 2010 +0000 @@ -625,45 +625,30 @@ } -void TreeItem::setHideTmp (HideTmpMode mode) //FIXME-2 update visibility in derived objects... +void TreeItem::setHideTmp (HideTmpMode mode) //FIXME-2 update visibility in derived objects { - /* - if (type==Image) - ((ImageItem*)this)->updateVisibility(); - */ + if (type==Image || type==Branch || type==MapCenter) +// ((ImageItem*)this)->updateVisibility(); + { + LinkableMapObj* lmo=((MapItem*)this)->getLMO(); - if (mode==HideExport && (hideExport || hasHiddenExportParent() ) ) + if (mode==HideExport && (hideExport || hasHiddenExportParent() ) ) // FIXME-2 try to avoid calling hasScrolledParent repeatedly + { // Hide stuff according to hideExport flag and parents - // if (lmo) lmo->setVisibility (false); hidden=true; + //if (lmo) lmo->setVisibility (false); + updateVisibility(); // FIXME-3 missing for images }else { // Do not hide, but still take care of scrolled status hidden=false; -/* - XXXXXXXX treeItem should be THIS - - move visible to TreeItem??? - - BranchObj now has updateContents -*/ -/* - if (isBranchLikeType() ) - ((BranchItem*)this)->updateVisibility(); - - if ( ((BranchItem*)treeItem)->hasScrolledParent((BranchItem*)treeItem)) - setVisibility (false); - else - setVisibility (true); -*/ - } - -/* + updateVisibility(); + } // And take care of my children for (int i=0; isetHideTmp (mode); // FIXME-4 maybe also consider images and other types -*/ + getBranchNum(i)->setHideTmp (mode); + } } bool TreeItem::hasHiddenExportParent() @@ -682,7 +667,7 @@ void TreeItem::setHideInExport(bool b) { - if (type==Branch || type==Image) + if (type==MapCenter ||type==Branch || type==Image) { hideExport=b; if (b)