Extensions: Fix visibility restore issue

This commit is contained in:
Stefan Tröger
2016-08-28 12:48:08 +02:00
committed by wmayer
parent ed32752674
commit ab692a4c08
5 changed files with 8 additions and 16 deletions

View File

@@ -140,7 +140,7 @@ void ViewProviderGroupExtension::extensionShow(void) {
// when reading the Visibility property from file then do not hide the
// objects of this group because they have stored their visibility status, too
if (!getExtendedViewProvider()->Visibility.testStatus(App::Property::User1) && !this->visible) {
if (!getExtendedViewProvider()->isRestoring() && !this->visible) {
auto* group = getExtendedViewProvider()->getObject()->getExtensionByType<App::GroupExtension>();
const std::vector<App::DocumentObject*> & links = group->Group.getValues();
@@ -160,7 +160,7 @@ void ViewProviderGroupExtension::extensionHide(void) {
// when reading the Visibility property from file then do not hide the
// objects of this group because they have stored their visibility status, too
if (!getExtendedViewProvider()->Visibility.testStatus(App::Property::User1) && this->visible) {
if (!getExtendedViewProvider()->isRestoring() && this->visible) {
auto* group = getExtendedViewProvider()->getObject()->getExtensionByType<App::GroupExtension>();
@@ -197,13 +197,6 @@ bool ViewProviderGroupExtension::extensionOnDelete(const std::vector< std::strin
return true;
}
void ViewProviderGroupExtension::extensionRestore(Base::XMLReader& reader) {
getExtendedViewProvider()->Visibility.setStatus(App::Property::User1, true); // tmp. set
ViewProviderExtension::extensionRestore(reader);
getExtendedViewProvider()->Visibility.setStatus(App::Property::User1, false); // unset
}
namespace Gui {
PROPERTY_SOURCE_TEMPLATE(Gui::ViewProviderGroupExtensionPython, Gui::ViewProviderGroupExtension)