Added hack for fixing fullscreen context menus with QOpenGLWidget in YACReaderLibrary (Windows). Tested and working in Qt5.7.

This commit is contained in:
Luis Ángel San Martín 2016-08-22 13:21:13 +02:00
parent dd64e013be
commit aa50f6cdda
2 changed files with 50 additions and 0 deletions

View File

@ -2022,6 +2022,48 @@ void LibraryWindow::toggleFullScreen()
fullscreen = !fullscreen; 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() void LibraryWindow::toFullScreen()
{ {
fromMaximized = this->isMaximized(); fromMaximized = this->isMaximized();
@ -2057,6 +2099,8 @@ void LibraryWindow::toNormal()
} }
#endif
void LibraryWindow::setSearchFilter(const YACReader::SearchModifiers modifier, QString filter) void LibraryWindow::setSearchFilter(const YACReader::SearchModifiers modifier, QString filter)
{ {
if(!filter.isEmpty()) if(!filter.isEmpty())

View File

@ -375,6 +375,12 @@ public slots:
void onAddComicsToLabel(); void onAddComicsToLabel();
void setToolbarTitle(const QModelIndex & modelIndex); void setToolbarTitle(const QModelIndex & modelIndex);
void saveSelectedCoversTo(); 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 #endif