From 58643ab7f27f2c3a5c84b7ef69c62f1fa517fea9 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Sun, 16 Jun 2019 10:39:39 +0800 Subject: [PATCH] add notices for fresh windows users --- src/vconfigmanager.cpp | 1 + src/vconfigmanager.h | 9 +++++++++ src/vmainwindow.cpp | 18 ++++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/src/vconfigmanager.cpp b/src/vconfigmanager.cpp index 239939b3..8f2d1c8d 100644 --- a/src/vconfigmanager.cpp +++ b/src/vconfigmanager.cpp @@ -1696,6 +1696,7 @@ void VConfigManager::checkVersion() const QString key("version"); QString ver = getConfigFromSettings("global", key).toString(); m_versionChanged = ver != c_version; + m_freshInstall = ver.isEmpty(); if (m_versionChanged) { setConfigToSettings("global", key, c_version); } diff --git a/src/vconfigmanager.h b/src/vconfigmanager.h index 074d340d..0b08e5d3 100644 --- a/src/vconfigmanager.h +++ b/src/vconfigmanager.h @@ -603,6 +603,7 @@ public: bool getParsePasteLocalImage() const; bool versionChanged() const; + bool isFreshInstall() const; const QColor &getBaseBackground() const; void setBaseBackground(const QColor &p_bg); @@ -1110,6 +1111,9 @@ private: // Whether the VNote instance has different version of vnote.ini. bool m_versionChanged; + // Whether VNote is first installed on this machine. + bool m_freshInstall; + // Base background of MainWindow. QColor m_baseBackground; @@ -2825,6 +2829,11 @@ inline bool VConfigManager::versionChanged() const return m_versionChanged; } +inline bool VConfigManager::isFreshInstall() const +{ + return m_freshInstall; +} + inline const QColor &VConfigManager::getBaseBackground() const { return m_baseBackground; diff --git a/src/vmainwindow.cpp b/src/vmainwindow.cpp index 65b4a94c..8990d057 100644 --- a/src/vmainwindow.cpp +++ b/src/vmainwindow.cpp @@ -3478,6 +3478,24 @@ void VMainWindow::kickOffStartUpTimer(const QStringList &p_files) m_syncNoteListToCurrentTab = true; +#if defined(Q_OS_WIN) + if (g_config->isFreshInstall()) { + VUtils::showMessage(QMessageBox::Information, + tr("Notices for Windows Users"), + tr("OpenGL requried by VNote may not work well on Windows by default." + "You may update your display card driver or set another openGL option in VNote's Settings dialog." + "Check GitHub issue for details."), + tr("Strange behaviors includes:
" + "* Interface freezes and does not response;
" + "* Widgets are out of order after maximizing and restoring the main window;
" + "* No cursor in edit mode;
" + "* Menus are not clickable in full screen mode."), + QMessageBox::Ok, + QMessageBox::Ok, + this); + } +#endif + g_config->updateLastStartDateTime(); }); }