fixed fullscreen mode (QTBUG-41883)

This commit is contained in:
Luis Ángel San Martín 2015-01-24 18:23:29 +01:00
parent 92b58f70b6
commit f65a59090b
6 changed files with 59 additions and 10 deletions

View File

@ -888,35 +888,53 @@ void MainWindowViewer::toggleFullScreen()
Configuration::getConfiguration().setFullScreen(fullscreen = !fullscreen);
}
//QTBUG-41883
void MainWindowViewer::toFullScreen()
{
_size = size();
_pos = pos();
hide();
fromMaximized = this->isMaximized();
hideToolBars();
viewer->hide();
viewer->fullscreen = true;//TODO, change by the right use of windowState();
showFullScreen();
setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
setWindowState(windowState() | Qt::WindowFullScreen);
resize(windowHandle()->screen()->size()-QSize(0,1));
viewer->show();
if(viewer->magnifyingGlassIsVisible())
viewer->showMagnifyingGlass();
show();
}
//QTBUG-41883
void MainWindowViewer::toNormal()
{
hide();
//show all
viewer->hide();
viewer->fullscreen = false;//TODO, change by the right use of windowState();
//viewer->hideMagnifyingGlass();
if(fromMaximized)
showMaximized();
else
showNormal();
setWindowFlags(windowFlags() & ~Qt::WindowStaysOnTopHint);
setWindowState(windowState() & ~Qt::WindowFullScreen);
resize(_size);
move(_pos);
if(fromMaximized)
showMaximized();
else
showNormal();
if(Configuration::getConfiguration().getShowToolbars())
showToolBars();
viewer->show();
viewer->show();
if(viewer->magnifyingGlassIsVisible())
viewer->showMagnifyingGlass();
viewer->showMagnifyingGlass();
show();
}
void MainWindowViewer::toggleToolBars()
{

View File

@ -74,6 +74,10 @@ class EditShortcutsDialog;
bool toolbars;
bool alwaysOnTop;
bool fromMaximized;
//QTBUG-41883
QSize _size;
QPoint _pos;
QString currentDirectory;
QString currentDirectoryImgDest;

View File

@ -37,8 +37,9 @@ GridComicsView::~GridComicsView()
void GridComicsView::setToolBar(QToolBar *toolBar)
{
QLOG_INFO() << "setToolBar";
static_cast<QVBoxLayout *>(this->layout())->insertWidget(1,toolBar);
QLOG_INFO() << "setToolBar";
static_cast<QVBoxLayout *>(this->layout())->insertWidget(1,toolBar);
this->toolbar = toolBar;
}
void GridComicsView::setModel(ComicModel *model)
@ -136,11 +137,13 @@ void GridComicsView::scrollTo(const QModelIndex &mi, QAbstractItemView::ScrollHi
void GridComicsView::toFullScreen()
{
QLOG_INFO() << "toFullScreen";
toolbar->hide();
}
void GridComicsView::toNormal()
{
QLOG_INFO() << "toNormal";
toolbar->show();
}
void GridComicsView::updateConfig(QSettings *settings)

View File

@ -60,6 +60,7 @@ protected slots:
void requestedContextMenu(const QPoint & point);
private:
QToolBar * toolbar;
QItemSelectionModel * _selectionModel;
QQuickView *view;
QWidget *container;

View File

@ -2083,8 +2083,13 @@ void LibraryWindow::toggleFullScreen()
fullscreen = !fullscreen;
}
//QTBUG-41883
void LibraryWindow::toFullScreen()
{
_size = size();
_pos = pos();
hide();
fromMaximized = this->isMaximized();
sideBar->hide();
@ -2092,15 +2097,27 @@ void LibraryWindow::toFullScreen()
comicsView->toFullScreen();
showFullScreen();
setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
setWindowState(windowState() | Qt::WindowFullScreen);
resize(windowHandle()->screen()->size()-QSize(0,1));
show();
}
//QTBUG-41883
void LibraryWindow::toNormal()
{
hide();
sideBar->show();
comicsView->toNormal();
setWindowFlags(windowFlags() & ~Qt::WindowStaysOnTopHint);
setWindowState(windowState() & ~Qt::WindowFullScreen);
resize(_size);
move(_pos);
if(fromMaximized)
showMaximized();
else
@ -2116,6 +2133,8 @@ void LibraryWindow::toNormal()
libraryToolBar->show();
#endif
show();
}
void LibraryWindow::setSearchFilter(const YACReader::SearchModifiers modifier, QString filter)

View File

@ -290,6 +290,10 @@ private:
ComicsViewStatus comicsViewStatus;
//QTBUG-41883
QSize _size;
QPoint _pos;
protected:
virtual void closeEvent ( QCloseEvent * event );
public: