diff --git a/YACReader/main_window_viewer.cpp b/YACReader/main_window_viewer.cpp index df75d1c1..df8415f2 100644 --- a/YACReader/main_window_viewer.cpp +++ b/YACReader/main_window_viewer.cpp @@ -189,6 +189,10 @@ void MainWindowViewer::setupUI() // setWindowFlags(this->windowFlags() | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint); //} + previousWindowFlags = windowFlags(); + previousPos = pos(); + previousSize = size(); + if(fullscreen) toFullScreen(); if(conf.getMaximized()) @@ -1000,6 +1004,57 @@ void MainWindowViewer::toggleFullScreen() Configuration::getConfiguration().setFullScreen(fullscreen = !fullscreen); } +#ifdef Q_OS_WIN //fullscreen mode in Windows for preventing this bug: QTBUG-41309 https://bugreports.qt.io/browse/QTBUG-41309 + +void MainWindowViewer::toFullScreen() +{ + fromMaximized = this->isMaximized(); + + hideToolBars(); + viewer->hide(); + viewer->fullscreen = true;//TODO, change by the right use of windowState(); + + 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(); + + viewer->show(); + if(viewer->magnifyingGlassIsVisible()) + viewer->showMagnifyingGlass(); +} + +void MainWindowViewer::toNormal() +{ + //show all + viewer->hide(); + viewer->fullscreen = false;//TODO, change by the right use of windowState(); + //viewer->hideMagnifyingGlass(); + + setWindowFlags(previousWindowFlags); + move(previousPos); + resize(previousSize); + show(); + + if(fromMaximized) + showMaximized(); + + if(Configuration::getConfiguration().getShowToolbars()) + showToolBars(); + viewer->show(); + if(viewer->magnifyingGlassIsVisible()) + viewer->showMagnifyingGlass(); +} + +#else void MainWindowViewer::toFullScreen() { fromMaximized = this->isMaximized(); @@ -1030,6 +1085,7 @@ void MainWindowViewer::toNormal() if(viewer->magnifyingGlassIsVisible()) viewer->showMagnifyingGlass(); } +#endif void MainWindowViewer::toggleToolBars() { diff --git a/YACReader/main_window_viewer.h b/YACReader/main_window_viewer.h index beaef34e..e18aa901 100644 --- a/YACReader/main_window_viewer.h +++ b/YACReader/main_window_viewer.h @@ -167,6 +167,11 @@ class EditShortcutsDialog; bool isClient; QString startComicPath; quint64 libraryId; + + //fullscreen mode in Windows for preventing this bug: QTBUG-41309 https://bugreports.qt.io/browse/QTBUG-41309 + Qt::WindowFlags previousWindowFlags; + QPoint previousPos; + QSize previousSize; signals: void closed(); protected: diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 8196aef1..e83b3d3d 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 diff --git a/custom_widgets/yacreader_table_view.cpp b/custom_widgets/yacreader_table_view.cpp index 3b48d89a..dd6fd580 100644 --- a/custom_widgets/yacreader_table_view.cpp +++ b/custom_widgets/yacreader_table_view.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include "QsLog.h" diff --git a/releaseOSX.sh b/releaseOSX.sh index 38972c20..6eafa3e9 100755 --- a/releaseOSX.sh +++ b/releaseOSX.sh @@ -13,7 +13,5 @@ cp -R ./release/languages ./YACReader.app/Contents/MacOS/ cp -R ./release/languages ./YACReaderLibrary.app/Contents/MacOS/ cp -R ./release/languages ./YACReaderLibraryServer.app/Contents/MacOS/ -./signapps.sh - -/Users/luisangel/my_dev/YACReader/YACReader_hg/create-dmg +#./signapps.sh