diff --git a/package.json b/package.json index e4a38a57a..c891d2b2c 100644 --- a/package.json +++ b/package.json @@ -58,8 +58,8 @@ "@mdi/svg": "^6.1.95", "@popperjs/core": "^2.9.2", "@types/lodash-es": "^4.17.4", - "bootstrap": "=5.0.2", "@types/marked": "^3.0.1", + "bootstrap": "=5.0.2", "bootstrap-icons": "^1.4.0", "codemirror": "^5.63.1", "css-browser-selector": "^0.6.5", diff --git a/qt/aqt/addcards.py b/qt/aqt/addcards.py index 7d42ba133..2640b22f6 100644 --- a/qt/aqt/addcards.py +++ b/qt/aqt/addcards.py @@ -60,7 +60,7 @@ class AddCards(QDialog): def setupEditor(self) -> None: self.editor = aqt.editor.Editor(self.mw, self.form.fieldsArea, self, True) - self.editor.web.eval("activateStickyShortcuts();") + self.editor.web.eval("noteEditorPromise.then(() => activateStickyShortcuts());") def setup_choosers(self) -> None: defaults = self.col.defaults_for_adding( @@ -264,16 +264,6 @@ class AddCards(QDialog): return True - def keyPressEvent(self, evt: QKeyEvent) -> None: - "Show answer on RET or register answer." - if ( - evt.key() in (Qt.Key.Key_Enter, Qt.Key.Key_Return) - and self.editor.tags.hasFocus() - ): - evt.accept() - return - return QDialog.keyPressEvent(self, evt) - def reject(self) -> None: self.ifCanClose(self._reject) diff --git a/qt/aqt/editor.py b/qt/aqt/editor.py index 620802ed4..9d11e127b 100644 --- a/qt/aqt/editor.py +++ b/qt/aqt/editor.py @@ -78,15 +78,6 @@ audio = ( "webm", ) -_html = """ -
-
- %s -
-
-
-""" - class Editor: """The screen that embeds an editing widget should listen for changes via @@ -135,14 +126,9 @@ class Editor: # then load page self.web.stdHtml( - _html % tr.editing_show_duplicates(), - css=[ - "css/editor.css", - ], - js=[ - "js/vendor/jquery.min.js", - "js/editor.js", - ], + "", # % tr.editing_show_duplicates(), + css=["css/editor.css"], + js=["js/editor.js"], context=self, default_css=True, ) @@ -506,7 +492,9 @@ $editorToolbar.then(({{ toolbar }}) => toolbar.appendGroup({{ js += " setSticky(%s);" % json.dumps(sticky) js = gui_hooks.editor_will_load_note(js, self.note, self) - self.web.evalWithCallback(js, oncallback) + self.web.evalWithCallback( + f"noteEditorPromise.then(() => {{ {js} }})", oncallback + ) def _save_current_note(self) -> None: "Call after note is updated with data from webview." diff --git a/sass/base.scss b/sass/base.scss index 1a9f1a75f..c69d75cc0 100644 --- a/sass/base.scss +++ b/sass/base.scss @@ -31,8 +31,7 @@ $utilities: ( flex-basis: 75%; } -body, -html { +* { overscroll-behavior: none; } diff --git a/ts/components/Absolute.svelte b/ts/components/Absolute.svelte new file mode 100644 index 000000000..b1ce59899 --- /dev/null +++ b/ts/components/Absolute.svelte @@ -0,0 +1,38 @@ + + + +
+ +
+ + diff --git a/ts/components/Badge.svelte b/ts/components/Badge.svelte index 15e503f4a..94d4061c6 100644 --- a/ts/components/Badge.svelte +++ b/ts/components/Badge.svelte @@ -3,6 +3,7 @@ Copyright: Ankitects Pty Ltd and contributors License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html --> - - + +
- +
diff --git a/ts/components/ButtonToolbar.svelte b/ts/components/ButtonToolbar.svelte index 29f1464bf..f85eaa0f2 100644 --- a/ts/components/ButtonToolbar.svelte +++ b/ts/components/ButtonToolbar.svelte @@ -80,7 +80,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html