mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Merge pull request #2339 from davep/refresh-all-the-screens
Ensure an app's CSS refresh updates all screens in the stack
This commit is contained in:
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
||||
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## Unreleased
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed dark mode toggles in a "child" screen not updating a "parent" screen https://github.com/Textualize/textual/issues/1999
|
||||
|
||||
## [0.20.1] - 2023-04-18
|
||||
|
||||
### Fix
|
||||
|
||||
@@ -1986,6 +1986,12 @@ class App(Generic[ReturnType], DOMNode):
|
||||
stylesheet.reparse()
|
||||
stylesheet.update(self.app, animate=animate)
|
||||
self.screen._refresh_layout(self.size, full=True)
|
||||
# The other screens in the stack will need to know about some style
|
||||
# changes, as a final pass let's check in on every screen that isn't
|
||||
# the current one and update them too.
|
||||
for screen in self.screen_stack:
|
||||
if screen != self.screen:
|
||||
stylesheet.update(screen, animate=animate)
|
||||
|
||||
def _display(self, screen: Screen, renderable: RenderableType | None) -> None:
|
||||
"""Display a renderable within a sync.
|
||||
|
||||
Reference in New Issue
Block a user