diff --git a/aqt/__init__.py b/aqt/__init__.py index dc2505790..edb0d3006 100644 --- a/aqt/__init__.py +++ b/aqt/__init__.py @@ -247,8 +247,6 @@ def setupGL(pm): print("qt:", msg) qInstallMessageHandler(msgHandler) - print("Hardware acceleration set to", mode) - if mode == "auto": return elif isLin: diff --git a/aqt/preferences.py b/aqt/preferences.py index 8a9b81676..ad7c2ce62 100644 --- a/aqt/preferences.py +++ b/aqt/preferences.py @@ -76,6 +76,10 @@ class Preferences(QDialog): f = self.form qc = self.mw.col.conf self._setupDayCutoff() + if isMac: + f.hwAccel.setVisible(False) + else: + f.hwAccel.setChecked(self.mw.pm.glMode() != "software") f.lrnCutoff.setValue(qc['collapseTime']/60.0) f.timeLimit.setValue(qc['timeLim']/60.0) f.showEstimates.setChecked(qc['estTimes']) @@ -93,6 +97,17 @@ class Preferences(QDialog): def updateCollection(self): f = self.form d = self.mw.col + + if not isMac: + wasAccel = self.mw.pm.glMode() != "software" + wantAccel = f.hwAccel.isChecked() + if wasAccel != wantAccel: + if wantAccel: + self.mw.pm.setGlMode("auto") + else: + self.mw.pm.setGlMode("software") + showInfo(_("Changes will take effect when you restart Anki.")) + qc = d.conf qc['dueCounts'] = f.showProgress.isChecked() qc['estTimes'] = f.showEstimates.isChecked() diff --git a/designer/preferences.ui b/designer/preferences.ui index a8c2839fa..5f3ac480c 100644 --- a/designer/preferences.ui +++ b/designer/preferences.ui @@ -6,8 +6,8 @@ 0 0 - 405 - 469 + 423 + 508 @@ -66,6 +66,13 @@ + + + + Hardware acceleration (faster, may cause display issues) + + + @@ -474,6 +481,7 @@ lang + hwAccel showEstimates showProgress pastePNG