mirror of
https://github.com/venera-app/venera.git
synced 2025-09-27 07:47:24 +00:00
Close reader when user click the close button on window frame.
This commit is contained in:
@@ -170,6 +170,7 @@ class _ReaderState extends State<Reader>
|
||||
void didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
initImagesPerPage(widget.initialPage ?? 1);
|
||||
initReaderWindow();
|
||||
}
|
||||
|
||||
void setImageCacheSize() async {
|
||||
@@ -203,6 +204,7 @@ class _ReaderState extends State<Reader>
|
||||
DataSync().onDataChanged();
|
||||
});
|
||||
PaintingBinding.instance.imageCache.maximumSizeBytes = 100 << 20;
|
||||
disposeReaderWindow();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@@ -499,6 +501,13 @@ abstract mixin class _ReaderLocation {
|
||||
mixin class _ReaderWindow {
|
||||
bool isFullscreen = false;
|
||||
|
||||
late WindowFrameController windowFrame;
|
||||
|
||||
void initReaderWindow() {
|
||||
windowFrame = WindowFrame.of(App.rootContext);
|
||||
windowFrame.addCloseListener(onWindowClose);
|
||||
}
|
||||
|
||||
void fullscreen() async {
|
||||
await windowManager.hide();
|
||||
await windowManager.setFullScreen(!isFullscreen);
|
||||
@@ -506,6 +515,15 @@ mixin class _ReaderWindow {
|
||||
isFullscreen = !isFullscreen;
|
||||
WindowFrame.of(App.rootContext).setWindowFrame(!isFullscreen);
|
||||
}
|
||||
|
||||
bool onWindowClose() {
|
||||
App.rootContext.pop();
|
||||
return false;
|
||||
}
|
||||
|
||||
void disposeReaderWindow() {
|
||||
windowFrame.removeCloseListener(onWindowClose);
|
||||
}
|
||||
}
|
||||
|
||||
enum ReaderMode {
|
||||
|
Reference in New Issue
Block a user