From 4c0b7d37c93fd742e2bbe33bc28bbc7055f6eea3 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 16 Jan 2020 12:36:04 +1000 Subject: [PATCH] option to invert paste handling in prefs --- qt/aqt/editor.py | 2 ++ qt/aqt/preferences.py | 2 ++ qt/designer/preferences.ui | 8 ++++++++ 3 files changed, 12 insertions(+) diff --git a/qt/aqt/editor.py b/qt/aqt/editor.py index 74b9d9358..86e861a83 100644 --- a/qt/aqt/editor.py +++ b/qt/aqt/editor.py @@ -956,6 +956,8 @@ class EditorWebView(AnkiWebView): def _onPaste(self, mode): extended = not (self.editor.mw.app.queryKeyboardModifiers() & Qt.ShiftModifier) + if self.editor.mw.pm.profile.get("pasteInvert", False): + extended = not extended mime = self.editor.mw.app.clipboard().mimeData(mode=mode) html, internal = self._processMime(mime) if not html: diff --git a/qt/aqt/preferences.py b/qt/aqt/preferences.py index 02a5bee6c..a789ec236 100644 --- a/qt/aqt/preferences.py +++ b/qt/aqt/preferences.py @@ -225,9 +225,11 @@ Not currently enabled; click the sync button in the main window to enable.""" def setupOptions(self): self.form.pastePNG.setChecked(self.prof.get("pastePNG", False)) self.form.uiScale.setValue(self.mw.pm.uiScale() * 100) + self.form.pasteInvert.setChecked(self.prof.get("pasteInvert", False)) def updateOptions(self): self.prof["pastePNG"] = self.form.pastePNG.isChecked() + self.prof["pasteInvert"] = self.form.pasteInvert.isChecked() newScale = self.form.uiScale.value() / 100 if newScale != self.mw.pm.uiScale(): self.mw.pm.setUiScale(newScale) diff --git a/qt/designer/preferences.ui b/qt/designer/preferences.ui index 796e64adb..bcbc77e73 100644 --- a/qt/designer/preferences.ui +++ b/qt/designer/preferences.ui @@ -94,6 +94,13 @@ + + + + Paste without shift key strips formatting + + + @@ -508,6 +515,7 @@ showEstimates showProgress pastePNG + pasteInvert nightMode dayLearnFirst newSched