diff --git a/qt/aqt/data/web/css/BUILD.bazel b/qt/aqt/data/web/css/BUILD.bazel
index ff0045e68..f27b9d463 100644
--- a/qt/aqt/data/web/css/BUILD.bazel
+++ b/qt/aqt/data/web/css/BUILD.bazel
@@ -32,6 +32,7 @@ filegroup(
"core.css",
"css_local",
"editor",
+ "//qt/aqt/data/web/css/vendor",
],
visibility = ["//qt:__subpackages__"],
)
diff --git a/qt/aqt/data/web/css/vendor/BUILD.bazel b/qt/aqt/data/web/css/vendor/BUILD.bazel
new file mode 100644
index 000000000..23b604f63
--- /dev/null
+++ b/qt/aqt/data/web/css/vendor/BUILD.bazel
@@ -0,0 +1,20 @@
+load("//ts:vendor.bzl", "copy_bootstrap_css", "copy_bootstrap_icons")
+
+copy_bootstrap_css(name = "bootstrap")
+
+copy_bootstrap_icons(name = "bootstrap-icons")
+
+files = [
+ "bootstrap",
+ "bootstrap-icons",
+]
+
+directories = []
+
+filegroup(
+ name = "vendor",
+ srcs = glob(["*.css"]) +
+ ["//qt/aqt/data/web/css/vendor:{}".format(file) for file in files] +
+ ["//qt/aqt/data/web/css/vendor/{}".format(dir) for dir in directories],
+ visibility = ["//qt:__subpackages__"],
+)
diff --git a/qt/aqt/data/web/js/vendor/BUILD.bazel b/qt/aqt/data/web/js/vendor/BUILD.bazel
index f12e3be27..fbdae540a 100644
--- a/qt/aqt/data/web/js/vendor/BUILD.bazel
+++ b/qt/aqt/data/web/js/vendor/BUILD.bazel
@@ -1,4 +1,11 @@
-load("//ts:vendor.bzl", "copy_css_browser_selector", "copy_jquery", "copy_jquery_ui", "copy_protobufjs")
+load(
+ "//ts:vendor.bzl",
+ "copy_css_browser_selector",
+ "copy_jquery",
+ "copy_jquery_ui",
+ "copy_protobufjs",
+ "copy_bootstrap_js",
+)
copy_jquery(name = "jquery")
@@ -8,11 +15,14 @@ copy_protobufjs(name = "protobufjs")
copy_css_browser_selector(name = "css-browser-selector")
+copy_bootstrap_js(name = "bootstrap")
+
files = [
"jquery",
"jquery-ui",
"protobufjs",
"css-browser-selector",
+ "bootstrap",
]
directories = [
diff --git a/qt/aqt/editor.py b/qt/aqt/editor.py
index f699cef44..3544b6a7b 100644
--- a/qt/aqt/editor.py
+++ b/qt/aqt/editor.py
@@ -179,19 +179,16 @@ class Editor:
"colour",
tr(TR.EDITING_SET_FOREGROUND_COLOUR_F7),
"""
-
""",
+
+""",
),
self._addButton(
None,
"changeCol",
tr(TR.EDITING_CHANGE_COLOUR_F8),
"""
-
""",
+
+""",
),
self._addButton(
"text_cloze", "cloze", tr(TR.EDITING_CLOZE_DELETION_CTRLANDSHIFTANDC)
@@ -222,8 +219,16 @@ class Editor:
# then load page
self.web.stdHtml(
_html % (bgcol, topbuts, tr(TR.EDITING_SHOW_DUPLICATES)),
- css=["css/editor.css"],
- js=["js/vendor/jquery.min.js", "js/editor.js"],
+ css=[
+ "css/vendor/bootstrap.min.css",
+ "css/vendor/bootstrap-icons.css",
+ "css/editor.css",
+ ],
+ js=[
+ "js/vendor/jquery.min.js",
+ "js/vendor/bootstrap.bundle.min.js",
+ "js/editor.js",
+ ],
context=self,
)
self.web.eval("preventButtonFocus();")
@@ -310,11 +315,11 @@ class Editor:
iconstr = self.resourceToData(icon)
else:
iconstr = f"/_anki/imgs/{icon}.png"
- imgelm = f"""

"""
+ imgelm = f"""

"""
else:
imgelm = ""
if label or not imgelm:
- labelelm = f"""
{label or cmd}"""
+ labelelm = label or cmd
else:
labelelm = ""
if id:
@@ -329,7 +334,7 @@ class Editor:
if rightside:
class_ = "linkb"
else:
- class_ = ""
+ class_ = "rounded"
if not disables:
class_ += " perm"
return """