diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 9def54cf..19e3277b 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -2022,6 +2022,48 @@ void LibraryWindow::toggleFullScreen() fullscreen = !fullscreen; } +#ifdef Q_OS_WIN //fullscreen mode in Windows for preventing this bug: QTBUG-41309 https://bugreports.qt.io/browse/QTBUG-41309 +void LibraryWindow::toFullScreen() +{ + fromMaximized = this->isMaximized(); + + sideBar->hide(); + libraryToolBar->hide(); + + previousWindowFlags = windowFlags(); + previousPos = pos(); + previousSize = size(); + + showNormal(); + setWindowFlags(previousWindowFlags | Qt::FramelessWindowHint); + + const QRect r = windowHandle()->screen()->geometry(); + + move(r.x(), r.y()); + resize(r.width(),r.height()+1); + show(); + + comicsViewsManager->comicsView->toFullScreen(); +} + +void LibraryWindow::toNormal() +{ + sideBar->show(); + libraryToolBar->show(); + + setWindowFlags(previousWindowFlags); + move(previousPos); + resize(previousSize); + show(); + + if(fromMaximized) + showMaximized(); + + comicsViewsManager->comicsView->toNormal(); +} + +#else + void LibraryWindow::toFullScreen() { fromMaximized = this->isMaximized(); @@ -2057,6 +2099,8 @@ void LibraryWindow::toNormal() } +#endif + void LibraryWindow::setSearchFilter(const YACReader::SearchModifiers modifier, QString filter) { if(!filter.isEmpty()) diff --git a/YACReaderLibrary/library_window.h b/YACReaderLibrary/library_window.h index 66588c41..e4ec675a 100644 --- a/YACReaderLibrary/library_window.h +++ b/YACReaderLibrary/library_window.h @@ -375,6 +375,12 @@ public slots: void onAddComicsToLabel(); void setToolbarTitle(const QModelIndex & modelIndex); void saveSelectedCoversTo(); + +private: + //fullscreen mode in Windows for preventing this bug: QTBUG-41309 https://bugreports.qt.io/browse/QTBUG-41309 + Qt::WindowFlags previousWindowFlags; + QPoint previousPos; + QSize previousSize; }; #endif