Skip to content

Commit

Permalink
Widgets|libappfw: Allow overriding manual widget opacity
Browse files Browse the repository at this point in the history
  • Loading branch information
skyjake committed Feb 5, 2017
1 parent 0b57cf3 commit 0fabcb4
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
6 changes: 6 additions & 0 deletions doomsday/sdk/libappfw/include/de/framework/guiwidget.h
Expand Up @@ -187,6 +187,12 @@ class LIBAPPFW_PUBLIC GuiWidget : public QObject, public Widget
*/
ManualOpacity = 0x10,

/**
* Widget will automatically change opacity depending on state. This overrides
* ManualOpacity has family behavior.
*/
AutomaticOpacity = 0x200,

/**
* Prevents the drawing of the widget contents even if it visible. The
* texture containing the blurred background is updated regardless.
Expand Down
7 changes: 4 additions & 3 deletions doomsday/sdk/libappfw/src/guiwidget.cpp
Expand Up @@ -318,7 +318,7 @@ DENG2_PIMPL(GuiWidget)
opacityWhenDisabled.setValue(opac, .3f);
}
if (firstUpdateAfterCreation ||
!attribs.testFlag(AnimateOpacityWhenEnabledOrDisabled))
!attribs.testFlag(AnimateOpacityWhenEnabledOrDisabled))
{
opacityWhenDisabled.finish();
}
Expand Down Expand Up @@ -867,11 +867,12 @@ void GuiWidget::update()
d->styleChanged = false;
updateStyle();
}
if (!familyAttributes().testFlag(ManualOpacity))
auto const familyAttribs = familyAttributes();
if ( familyAttribs.testFlag(AutomaticOpacity) ||
!familyAttribs.testFlag(ManualOpacity))
{
d->updateOpacityForDisabledWidgets();
}

d->firstUpdateAfterCreation = false;
}

Expand Down

0 comments on commit 0fabcb4

Please sign in to comment.