diff --git a/chrome/content/scaffold/scaffold.js b/chrome/content/scaffold/scaffold.js
index 38f6228b32..ca1887f5f3 100644
--- a/chrome/content/scaffold/scaffold.js
+++ b/chrome/content/scaffold/scaffold.js
@@ -84,13 +84,6 @@ var Scaffold = new function () {
this.onLoad = async function (e) {
if (e.target !== document) return;
_document = document;
-
- if (!Zotero.isMac) {
- // Hack to fix Windows/Linux toolbar
- let toolbar = document.getElementById('zotero-toolbar');
- toolbar.className = 'toolbar-scaffold-small';
- }
-
_browser = document.getElementById('browser');
window.messageManager.addMessageListener('Scaffold:Load', ({ data }) => {
diff --git a/chrome/content/scaffold/scaffold.xhtml b/chrome/content/scaffold/scaffold.xhtml
index e83d4f4e8a..e27796cb12 100644
--- a/chrome/content/scaffold/scaffold.xhtml
+++ b/chrome/content/scaffold/scaffold.xhtml
@@ -24,11 +24,11 @@
***** END LICENSE BLOCK *****
-->
-
+
-
+
%globalDTD;
diff --git a/chrome/skin/default/scaffold/add.png b/chrome/skin/default/scaffold/add.png
deleted file mode 100644
index 6813812f30..0000000000
Binary files a/chrome/skin/default/scaffold/add.png and /dev/null differ
diff --git a/chrome/skin/default/scaffold/copy.png b/chrome/skin/default/scaffold/copy.png
deleted file mode 100644
index 58b9887510..0000000000
Binary files a/chrome/skin/default/scaffold/copy.png and /dev/null differ
diff --git a/chrome/skin/default/scaffold/detectWeb.png b/chrome/skin/default/scaffold/detectWeb.png
deleted file mode 100644
index 9d8b23d95b..0000000000
Binary files a/chrome/skin/default/scaffold/detectWeb.png and /dev/null differ
diff --git a/chrome/skin/default/scaffold/doWeb.png b/chrome/skin/default/scaffold/doWeb.png
deleted file mode 100644
index 20489a3644..0000000000
Binary files a/chrome/skin/default/scaffold/doWeb.png and /dev/null differ
diff --git a/chrome/skin/default/scaffold/fields.png b/chrome/skin/default/scaffold/fields.png
deleted file mode 100644
index e2367c7111..0000000000
Binary files a/chrome/skin/default/scaffold/fields.png and /dev/null differ
diff --git a/chrome/skin/default/scaffold/load.png b/chrome/skin/default/scaffold/load.png
deleted file mode 100644
index c36e3d27ef..0000000000
Binary files a/chrome/skin/default/scaffold/load.png and /dev/null differ
diff --git a/chrome/skin/default/scaffold/new.png b/chrome/skin/default/scaffold/new.png
deleted file mode 100644
index 75a6954797..0000000000
Binary files a/chrome/skin/default/scaffold/new.png and /dev/null differ
diff --git a/chrome/skin/default/scaffold/save.png b/chrome/skin/default/scaffold/save.png
deleted file mode 100644
index 960bfffbad..0000000000
Binary files a/chrome/skin/default/scaffold/save.png and /dev/null differ
diff --git a/chrome/skin/default/scaffold/saveToZotero.png b/chrome/skin/default/scaffold/saveToZotero.png
deleted file mode 100644
index 8dfaeca271..0000000000
Binary files a/chrome/skin/default/scaffold/saveToZotero.png and /dev/null differ
diff --git a/chrome/skin/default/scaffold/setTranslatorsDir.png b/chrome/skin/default/scaffold/setTranslatorsDir.png
deleted file mode 100644
index c69654396a..0000000000
Binary files a/chrome/skin/default/scaffold/setTranslatorsDir.png and /dev/null differ
diff --git a/chrome/skin/default/zotero/20/universal/folder-open.svg b/chrome/skin/default/zotero/20/universal/folder-open.svg
new file mode 100644
index 0000000000..3f7612d009
--- /dev/null
+++ b/chrome/skin/default/zotero/20/universal/folder-open.svg
@@ -0,0 +1,3 @@
+
diff --git a/chrome/skin/default/zotero/20/universal/plus.svg b/chrome/skin/default/zotero/20/universal/plus.svg
new file mode 100644
index 0000000000..f65eb1506d
--- /dev/null
+++ b/chrome/skin/default/zotero/20/universal/plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/chrome/skin/default/zotero/20/universal/run-detect.svg b/chrome/skin/default/zotero/20/universal/run-detect.svg
new file mode 100644
index 0000000000..a87f22fed3
--- /dev/null
+++ b/chrome/skin/default/zotero/20/universal/run-detect.svg
@@ -0,0 +1,8 @@
+
diff --git a/chrome/skin/default/zotero/20/universal/run-do.svg b/chrome/skin/default/zotero/20/universal/run-do.svg
new file mode 100644
index 0000000000..58fbf9ae19
--- /dev/null
+++ b/chrome/skin/default/zotero/20/universal/run-do.svg
@@ -0,0 +1,3 @@
+
diff --git a/chrome/skin/default/zotero/20/universal/save-to-zotero.svg b/chrome/skin/default/zotero/20/universal/save-to-zotero.svg
new file mode 100644
index 0000000000..c2754bf0fa
--- /dev/null
+++ b/chrome/skin/default/zotero/20/universal/save-to-zotero.svg
@@ -0,0 +1,3 @@
+
diff --git a/chrome/skin/default/zotero/20/universal/save.svg b/chrome/skin/default/zotero/20/universal/save.svg
new file mode 100644
index 0000000000..e22f12b90b
--- /dev/null
+++ b/chrome/skin/default/zotero/20/universal/save.svg
@@ -0,0 +1,3 @@
+
diff --git a/chrome/skin/default/scaffold/scaffold.css b/scss/scaffold.scss
similarity index 53%
rename from chrome/skin/default/scaffold/scaffold.css
rename to scss/scaffold.scss
index 582d85c085..1d958eecc4 100644
--- a/chrome/skin/default/scaffold/scaffold.css
+++ b/scss/scaffold.scss
@@ -1,53 +1,52 @@
-#tb-new {
- list-style-image: url('chrome://scaffold/skin/new.png');
-}
+@import "abstracts/variables";
+@import "abstracts/functions";
+@import "abstracts/mixins";
+@import "abstracts/placeholders";
+@import "abstracts/utilities";
+@import "abstracts/split-button";
+@import "abstracts/svgicon";
-#tb-load {
- list-style-image: url('chrome://scaffold/skin/load.png');
-}
+@import "themes/light";
+@import "themes/dark";
-#tb-save {
- list-style-image: url('chrome://scaffold/skin/save.png');
-}
+// Base
+// --------------------------------------------------
-#tb-saveToZotero {
- list-style-image: url('chrome://scaffold/skin/saveToZotero.png');
-}
+@import "base/base";
-#tb-template {
- list-style-image: url('chrome://scaffold/skin/add.png');
-}
+$scaffold-toolbarbutton-icons: (
+ load: 'folder-open',
+ save: 'save',
+ saveToZotero: 'save-to-zotero',
+ detect: 'run-detect',
+ do: 'run-do',
+ template: 'plus'
+);
-#tb-import {
- list-style-image: url('chrome://scaffold/skin/import.png');
-}
+@each $cls, $icon in $scaffold-toolbarbutton-icons {
+ #tb-#{$cls} {
+ @include svgicon-menu($icon, "universal", "20");
+ }
+};
-#tb-export {
- list-style-image: url('chrome://scaffold/skin/export.png');
-}
-
-#tb-copy {
- list-style-image: url('chrome://scaffold/skin/copy.png');
-}
-
-#tb-detect {
- list-style-image: url('chrome://scaffold/skin/detectWeb.png');
-}
-
-#tb-do {
- list-style-image: url('chrome://scaffold/skin/doWeb.png');
-}
-
-#tb-setTranslatorsDir {
- list-style-image: url('chrome://scaffold/skin/setTranslatorsDir.png');
-}
-
-#tb-fields {
- list-style-image: url('chrome://scaffold/skin/fields.png');
-}
-
-#tb-template {
- list-style-image: url('chrome://scaffold/skin/add.png');
+#zotero-toolbar {
+ toolbarbutton {
+ width: 28px;
+ height: 28px;
+ padding: 0 4px;
+ margin: 0 4px;
+
+ .toolbarbutton-menu-dropmarker {
+ margin-inline-start: 4px;
+ }
+ }
+
+ toolbarseparator {
+ appearance: none;
+ width: 1px;
+ height: 20px;
+ background-color: var(--fill-quinary);
+ }
}
tab {
@@ -98,19 +97,9 @@ richlistbox {
}
#zotero-toolbar {
- border-top: .5px solid darkgray;
margin-bottom: 3px;
}
-#zotero-toolbar.toolbar-scaffold-small {
- -moz-appearance: none !important;
- padding: 3px;
-}
-
-#zotero-toolbar.toolbar-scaffold-small .toolbarbutton-icon {
- max-width: 16px;
-}
-
#zotero-toolbar toolbarseparator {
height: 18px;
}
@@ -129,14 +118,14 @@ vbox > splitter {
select[size][multiple],
listheader,
richlistbox {
- appearance: none;
- margin-inline: 0;
- background-color: #fff;
- border: 1px solid #ccc;
+ appearance: none;
+ margin-inline: 0;
+ background-color: #fff;
+ border: 1px solid #ccc;
}
listheader {
- padding-bottom: 1px;
+ padding-bottom: 1px;
}
treecol {
@@ -145,16 +134,16 @@ treecol {
}
listheader + richlistbox {
- margin-top: 0;
- border-top: none;
+ margin-top: 0;
+ border-top: none;
}
select[size][multiple] > option,
treechildren::-moz-tree-row {
- padding: 0.3em;
- margin: 0;
- border: none;
- background-image: none;
+ padding: 0.3em;
+ margin: 0;
+ border: none;
+ background-image: none;
}
richlistitem hbox {
@@ -162,10 +151,10 @@ richlistitem hbox {
}
richlistitem[selected] menulist:focus-visible {
- outline-offset: -2px;
+ outline-offset: -2px;
}
-richlistbox[disabled], toolbarbutton[disabled] {
+richlistbox[disabled] {
opacity: 0.6;
pointer-events: none;
}