From e2483217d976610b0714b2f5d6822a79596ba895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Sun, 16 May 2021 09:37:05 +0200 Subject: [PATCH] Configure OpenGL settings earlier to avoid wrong state in the options dialog --- YACReaderLibrary/library_window.cpp | 43 ++++++++++++++++++----------- YACReaderLibrary/library_window.h | 2 ++ 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 2267ab7f..1b7824d1 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -97,6 +97,8 @@ using namespace YACReader; LibraryWindow::LibraryWindow() : QMainWindow(), fullscreen(false), previousFilter(""), fetching(false), status(LibraryWindow::Normal), removeError(false) { + createSettings(); + setupUI(); loadLibraries(); @@ -119,16 +121,37 @@ void LibraryWindow::afterLaunchTasks() } } +void LibraryWindow::createSettings() +{ + settings = new QSettings(YACReader::getSettingsPath() + "/YACReaderLibrary.ini", QSettings::IniFormat); //TODO unificar la creación del fichero de config con el servidor + settings->beginGroup("libraryConfig"); +} + +void LibraryWindow::setupOpenglSetting() +{ +#ifndef NO_OPENGL + //FLOW----------------------------------------------------------------------- + //--------------------------------------------------------------------------- + + OpenGLChecker openGLChecker; + bool openGLAvailable = openGLChecker.hasCompatibleOpenGLVersion(); + + if (openGLAvailable && !settings->contains(USE_OPEN_GL)) + settings->setValue(USE_OPEN_GL, 2); + else if (!openGLAvailable) + settings->setValue(USE_OPEN_GL, 0); +#endif +} + void LibraryWindow::setupUI() { + setupOpenglSetting(); + setUnifiedTitleAndToolBarOnMac(true); libraryCreator = new LibraryCreator(); packageManager = new PackageManager(); - settings = new QSettings(YACReader::getSettingsPath() + "/YACReaderLibrary.ini", QSettings::IniFormat); //TODO unificar la creación del fichero de config con el servidor - settings->beginGroup("libraryConfig"); - historyController = new YACReaderHistoryController(this); createActions(); @@ -196,20 +219,8 @@ void LibraryWindow::doLayout() libraryToolBar = new YACReaderMainToolBar(this); #endif -#ifndef NO_OPENGL - //FLOW----------------------------------------------------------------------- + //FOLDERS FILTER------------------------------------------------------------- //--------------------------------------------------------------------------- - - OpenGLChecker openGLChecker; - bool openGLAvailable = openGLChecker.hasCompatibleOpenGLVersion(); - - if (openGLAvailable && !settings->contains(USE_OPEN_GL)) - settings->setValue(USE_OPEN_GL, 2); - else if (!openGLAvailable) - settings->setValue(USE_OPEN_GL, 0); -#endif - //FOLDERS FILTER------------------------------------------------------------- - //--------------------------------------------------------------------------- #ifndef Q_OS_MAC //in MacOSX the searchEdit is created using the toolbar wrapper searchEdit = new YACReaderSearchLineEdit(); diff --git a/YACReaderLibrary/library_window.h b/YACReaderLibrary/library_window.h index 97f51782..8dad315f 100644 --- a/YACReaderLibrary/library_window.h +++ b/YACReaderLibrary/library_window.h @@ -261,6 +261,8 @@ public: NavigationStatus status; + void createSettings(); + void setupOpenglSetting(); void setupUI(); void createActions(); void createToolBars();