diff --git a/app/src/processing/app/Mode.java b/app/src/processing/app/Mode.java
index 73d546619..9ca9e641e 100644
--- a/app/src/processing/app/Mode.java
+++ b/app/src/processing/app/Mode.java
@@ -732,8 +732,22 @@ public abstract class Mode {
public Image loadImageX(String filename) {
- final int res = Toolkit.highResImages() ? 2 : 1;
- return loadImage(filename + "-" + res + "x.png");
+ return loadImage(filename + "-" + Toolkit.highResMultiplier() + "x.png");
+ }
+
+
+ public String loadString(String filename) {
+ File file;
+ if (filename.startsWith("/lib/")) {
+ // remove the slash from the front
+ file = Platform.getContentFile(filename.substring(1));
+ } else {
+ file = new File(folder, filename);
+ }
+ if (!file.exists()) {
+ return null;
+ }
+ return PApplet.join(PApplet.loadStrings(file), "\n");
}
diff --git a/app/src/processing/app/ui/EditorButton.java b/app/src/processing/app/ui/EditorButton.java
index 9813f03f9..734a03903 100644
--- a/app/src/processing/app/ui/EditorButton.java
+++ b/app/src/processing/app/ui/EditorButton.java
@@ -33,6 +33,8 @@ abstract public class EditorButton extends JComponent
implements MouseListener, MouseMotionListener, ActionListener {
static public final int DIM = Toolkit.zoom(30);
+ /** The lowercase short name used to load its SVG/PNG image data. */
+ protected String name;
/** Button's description. */
protected String title;
/** Description of alternate behavior when shift is down. */
@@ -69,18 +71,52 @@ implements MouseListener, MouseMotionListener, ActionListener {
public EditorButton(EditorToolbar parent, String name,
String title, String titleShift, String titleAlt) {
+ this.name = name;
this.toolbar = parent;
this.title = title;
this.titleShift = titleShift;
this.titleAlt = titleAlt;
- Mode mode = toolbar.mode;
+ updateTheme();
- disabledImage = mode.loadImageX(name + "-disabled");
- enabledImage = mode.loadImageX(name + "-enabled");
- selectedImage = mode.loadImageX(name + "-selected");
- pressedImage = mode.loadImageX(name + "-pressed");
- rolloverImage = mode.loadImageX(name + "-rollover");
+ addMouseListener(this);
+ addMouseMotionListener(this);
+ }
+
+
+ protected Image renderImage(String state) {
+ Mode mode = toolbar.mode;
+ String xmlOrig = mode.loadString(name + ".svg");
+
+ if (xmlOrig == null) {
+ // load image data from PNG files
+ return mode.loadImageX(name + "-" + state);
+ }
+
+ final String FIELD_COLOR = "#fff";
+ final String GLYPH_COLOR = "#ff5757";
+ final String STROKE_COLOR = "silver";
+
+ String field = Theme.get("toolbar.button." + state + ".field");
+ String glyph = Theme.get("toolbar.button." + state + ".glyph");
+ String stroke = Theme.get("toolbar.button." + state + ".stroke");
+
+ String xmlStr = xmlOrig
+ .replace(FIELD_COLOR, field)
+ .replace(GLYPH_COLOR, glyph)
+ .replace(STROKE_COLOR, stroke);
+
+ final int px = DIM * Toolkit.highResMultiplier();
+ return Toolkit.svgToImage(xmlStr, px, px);
+ }
+
+
+ public void updateTheme() {
+ disabledImage = renderImage("disabled");
+ enabledImage = renderImage("enabled");
+ selectedImage = renderImage("selected");
+ pressedImage = renderImage("pressed");
+ rolloverImage = renderImage("rollover");
if (disabledImage == null) {
disabledImage = enabledImage;
@@ -94,8 +130,6 @@ implements MouseListener, MouseMotionListener, ActionListener {
if (rolloverImage == null) {
rolloverImage = enabledImage; // could be pressed image
}
- addMouseListener(this);
- addMouseMotionListener(this);
}
diff --git a/app/src/processing/app/ui/Theme.java b/app/src/processing/app/ui/Theme.java
index 21546c790..e70abcf4e 100644
--- a/app/src/processing/app/ui/Theme.java
+++ b/app/src/processing/app/ui/Theme.java
@@ -98,6 +98,11 @@ public class Theme {
}
+ static public String get(String attribute) {
+ return theme.get(attribute);
+ }
+
+
static public boolean getBoolean(String attribute) {
return theme.getBoolean(attribute);
}
diff --git a/app/src/processing/app/ui/Toolkit.java b/app/src/processing/app/ui/Toolkit.java
index ea741334a..2ebb57374 100644
--- a/app/src/processing/app/ui/Toolkit.java
+++ b/app/src/processing/app/ui/Toolkit.java
@@ -76,8 +76,12 @@ import processing.app.Messages;
import processing.app.Platform;
import processing.app.Preferences;
import processing.app.Util;
+import processing.awt.PGraphicsJava2D;
+import processing.awt.PShapeJava2D;
import processing.core.PApplet;
+import processing.core.PShape;
import processing.data.StringList;
+import processing.data.XML;
/**
@@ -155,7 +159,7 @@ public class Toolkit {
/**
* Create a menu item and set its KeyStroke by name (so it can be stored
- * in the language settings or the preferences. Syntax is here:
+ * in the language settings or the preferences). Syntax is here:
* https://docs.oracle.com/javase/8/docs/api/javax/swing/KeyStroke.html#getKeyStroke-java.lang.String-
*/
static public JMenuItem newJMenuItemExt(String base) {
@@ -254,8 +258,8 @@ public class Toolkit {
* 'A'.
*
If the first letters are all taken/non-ASCII, then it loops through the
* ASCII letters in the item, widest to narrowest, seeing if any of them is not taken.
- * To improve readability, it discriminates against decenders (qypgj), imagining they
- * have 2/3 their actual width. (MS guidelines: avoid decenders). It also discriminates
+ * To improve readability, it discriminates against descenders (qypgj), imagining they
+ * have 2/3 their actual width. (MS guidelines: avoid descenders). It also discriminates
* against vowels, imagining they have 2/3 their actual width. (MS and Gnome guidelines:
* avoid vowels.)
* Failing that, it will loop left-to-right for an available digit. This is a last
@@ -281,8 +285,9 @@ public class Toolkit {
// The English is http://techbase.kde.org/Projects/Usability/HIG/Keyboard_Accelerators,
// made lowercase.
- // Nothing but [a-z] except for '&' before mnemonics and regexes for changable text.
- final String[] kdePreDefStrs = { "&file", "&new", "&open", "open&recent",
+ // Nothing but [a-z] except for '&' before mnemonics and regexes for changeable text.
+ final String[] kdePreDefStrs = {
+ "&file", "&new", "&open", "open&recent",
"&save", "save&as", "saveacop&y", "saveas&template", "savea&ll", "reloa&d",
"&print", "printpre&view", "&import", "e&xport", "&closefile",
"clos&eallfiles", "&quit", "&edit", "&undo", "re&do", "cu&t", "©",
@@ -298,9 +303,10 @@ public class Toolkit {
"&newbookmarksfolder", "&tools", "&settings", "&toolbars",
"configure&shortcuts", "configuretool&bars", "&configure.*", "&help",
".+&handbook", "&whatsthis", "report&bug", "&aboutprocessing", "about&kde",
- "&beenden", "&suchen", // de
- "&preferncias", "&sair", // PreferĂȘncias; pt
- "&rechercher" }; // fr
+ "&beenden", "&suchen", // de
+ "&preferncias", "&sair", // PreferĂȘncias; pt
+ "&rechercher" // fr
+ };
Pattern[] kdePreDefPats = new Pattern[kdePreDefStrs.length];
for (int i = 0; i < kdePreDefStrs.length; i++) {
kdePreDefPats[i] = Pattern.compile(kdePreDefStrs[i].replace("&",""));
@@ -548,6 +554,18 @@ public class Toolkit {
}
+ /*
+ static public String getLibString(String filename) {
+ File file = Platform.getContentFile("lib/" + filename);
+ if (file == null || !file.exists()) {
+ Messages.err("does not exist: " + file);
+ return null;
+ }
+ return PApplet.join(PApplet.loadStrings(file), "\n");
+ }
+ */
+
+
/**
* Get an icon of the format base-NN.png where NN is the size, but if it's
* a hidpi display, get the NN*2 version automatically, sized at NN
@@ -629,9 +647,12 @@ public class Toolkit {
static List iconImages;
- // Deprecated version of the function, but can't get rid of it without
- // breaking tools and modes (they'd only require a recompile, but they would
- // no longer be backwards compatible.
+ /**
+ * Deprecated version of the function, but can't get rid of it
+ * without breaking tools and modes (they'd only require a recompile,
+ * but they would no longer be backwards compatible).
+ */
+ @Deprecated
static public void setIcon(Frame frame) {
setIcon((Window) frame);
}
@@ -656,6 +677,34 @@ public class Toolkit {
}
+ // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
+
+
+ static public Image svgToImage(String xmlStr, int wide, int high) {
+ PGraphicsJava2D pg = new PGraphicsJava2D();
+ pg.setPrimary(false);
+ pg.setSize(wide, high);
+ pg.smooth();
+
+ pg.beginDraw();
+
+ try {
+ XML xml = XML.parse(xmlStr);
+ PShape shape = new PShapeJava2D(xml);
+ pg.shape(shape, 0, 0, wide, high);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ pg.endDraw();
+ return pg.image;
+ }
+
+
+ // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
+
+
static public Shape createRoundRect(float x1, float y1, float x2, float y2,
float tl, float tr, float br, float bl) {
GeneralPath path = new GeneralPath();
@@ -909,6 +958,11 @@ public class Toolkit {
}
+ static public int highResMultiplier() {
+ return highResImages() ? 2 : 1;
+ }
+
+
static public boolean isRetina() {
if (retinaProp == null) {
retinaProp = checkRetina();
diff --git a/build/shared/lib/toolbar/continue-disabled-1x.png b/build/shared/lib/toolbar/continue-disabled-1x.png
deleted file mode 100644
index 262c81bea..000000000
Binary files a/build/shared/lib/toolbar/continue-disabled-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/continue-disabled-2x.png b/build/shared/lib/toolbar/continue-disabled-2x.png
deleted file mode 100644
index 208d28d37..000000000
Binary files a/build/shared/lib/toolbar/continue-disabled-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/continue-enabled-1x.png b/build/shared/lib/toolbar/continue-enabled-1x.png
deleted file mode 100644
index 050fd9949..000000000
Binary files a/build/shared/lib/toolbar/continue-enabled-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/continue-enabled-2x.png b/build/shared/lib/toolbar/continue-enabled-2x.png
deleted file mode 100644
index 392c23dfc..000000000
Binary files a/build/shared/lib/toolbar/continue-enabled-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/continue-pressed-1x.png b/build/shared/lib/toolbar/continue-pressed-1x.png
deleted file mode 100644
index b8814aea0..000000000
Binary files a/build/shared/lib/toolbar/continue-pressed-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/continue-pressed-2x.png b/build/shared/lib/toolbar/continue-pressed-2x.png
deleted file mode 100644
index 0abec7e23..000000000
Binary files a/build/shared/lib/toolbar/continue-pressed-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/continue-rollover-1x.png b/build/shared/lib/toolbar/continue-rollover-1x.png
deleted file mode 100644
index 225e9398a..000000000
Binary files a/build/shared/lib/toolbar/continue-rollover-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/continue-rollover-2x.png b/build/shared/lib/toolbar/continue-rollover-2x.png
deleted file mode 100644
index 663405ea5..000000000
Binary files a/build/shared/lib/toolbar/continue-rollover-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/continue-selected-1x.png b/build/shared/lib/toolbar/continue-selected-1x.png
deleted file mode 100644
index f066067dc..000000000
Binary files a/build/shared/lib/toolbar/continue-selected-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/continue-selected-2x.png b/build/shared/lib/toolbar/continue-selected-2x.png
deleted file mode 100644
index 91b6a6f90..000000000
Binary files a/build/shared/lib/toolbar/continue-selected-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/continue.svg b/build/shared/lib/toolbar/continue.svg
new file mode 100644
index 000000000..1251b81c9
--- /dev/null
+++ b/build/shared/lib/toolbar/continue.svg
@@ -0,0 +1 @@
+continue
\ No newline at end of file
diff --git a/build/shared/lib/toolbar/debug-disabled-1x.png b/build/shared/lib/toolbar/debug-disabled-1x.png
deleted file mode 100644
index 9217b7912..000000000
Binary files a/build/shared/lib/toolbar/debug-disabled-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/debug-disabled-2x.png b/build/shared/lib/toolbar/debug-disabled-2x.png
deleted file mode 100644
index ba2df9551..000000000
Binary files a/build/shared/lib/toolbar/debug-disabled-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/debug-enabled-1x.png b/build/shared/lib/toolbar/debug-enabled-1x.png
deleted file mode 100644
index 9a7762787..000000000
Binary files a/build/shared/lib/toolbar/debug-enabled-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/debug-enabled-2x.png b/build/shared/lib/toolbar/debug-enabled-2x.png
deleted file mode 100644
index 767f6d8a0..000000000
Binary files a/build/shared/lib/toolbar/debug-enabled-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/debug-pressed-1x.png b/build/shared/lib/toolbar/debug-pressed-1x.png
deleted file mode 100644
index 92d87ee3e..000000000
Binary files a/build/shared/lib/toolbar/debug-pressed-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/debug-pressed-2x.png b/build/shared/lib/toolbar/debug-pressed-2x.png
deleted file mode 100644
index d2456297a..000000000
Binary files a/build/shared/lib/toolbar/debug-pressed-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/debug-rollover-1x.png b/build/shared/lib/toolbar/debug-rollover-1x.png
deleted file mode 100644
index 81d70d424..000000000
Binary files a/build/shared/lib/toolbar/debug-rollover-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/debug-rollover-2x.png b/build/shared/lib/toolbar/debug-rollover-2x.png
deleted file mode 100644
index 19205ebf9..000000000
Binary files a/build/shared/lib/toolbar/debug-rollover-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/debug-selected-1x.png b/build/shared/lib/toolbar/debug-selected-1x.png
deleted file mode 100644
index 2d6bab19e..000000000
Binary files a/build/shared/lib/toolbar/debug-selected-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/debug-selected-2x.png b/build/shared/lib/toolbar/debug-selected-2x.png
deleted file mode 100644
index f41c2d896..000000000
Binary files a/build/shared/lib/toolbar/debug-selected-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/debug.svg b/build/shared/lib/toolbar/debug.svg
new file mode 100644
index 000000000..361f173f8
--- /dev/null
+++ b/build/shared/lib/toolbar/debug.svg
@@ -0,0 +1 @@
+debug
\ No newline at end of file
diff --git a/build/shared/lib/toolbar/gradient.png b/build/shared/lib/toolbar/gradient.png
deleted file mode 100644
index 3b8c83f3b..000000000
Binary files a/build/shared/lib/toolbar/gradient.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/run-disabled-1x.png b/build/shared/lib/toolbar/run-disabled-1x.png
deleted file mode 100644
index 0784f344c..000000000
Binary files a/build/shared/lib/toolbar/run-disabled-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/run-disabled-2x.png b/build/shared/lib/toolbar/run-disabled-2x.png
deleted file mode 100644
index 50e06a3ac..000000000
Binary files a/build/shared/lib/toolbar/run-disabled-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/run-enabled-1x.png b/build/shared/lib/toolbar/run-enabled-1x.png
deleted file mode 100644
index 8643ee06d..000000000
Binary files a/build/shared/lib/toolbar/run-enabled-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/run-enabled-2x.png b/build/shared/lib/toolbar/run-enabled-2x.png
deleted file mode 100644
index cdaafadfb..000000000
Binary files a/build/shared/lib/toolbar/run-enabled-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/run-pressed-1x.png b/build/shared/lib/toolbar/run-pressed-1x.png
deleted file mode 100644
index 72fb70ffa..000000000
Binary files a/build/shared/lib/toolbar/run-pressed-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/run-pressed-2x.png b/build/shared/lib/toolbar/run-pressed-2x.png
deleted file mode 100644
index f3a7c79b8..000000000
Binary files a/build/shared/lib/toolbar/run-pressed-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/run-rollover-1x.png b/build/shared/lib/toolbar/run-rollover-1x.png
deleted file mode 100644
index e56aed165..000000000
Binary files a/build/shared/lib/toolbar/run-rollover-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/run-rollover-2x.png b/build/shared/lib/toolbar/run-rollover-2x.png
deleted file mode 100644
index 4bf01afdc..000000000
Binary files a/build/shared/lib/toolbar/run-rollover-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/run-selected-1x.png b/build/shared/lib/toolbar/run-selected-1x.png
deleted file mode 100644
index 583e4c319..000000000
Binary files a/build/shared/lib/toolbar/run-selected-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/run-selected-2x.png b/build/shared/lib/toolbar/run-selected-2x.png
deleted file mode 100644
index a6805f6ab..000000000
Binary files a/build/shared/lib/toolbar/run-selected-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/run.svg b/build/shared/lib/toolbar/run.svg
new file mode 100644
index 000000000..37392d05e
--- /dev/null
+++ b/build/shared/lib/toolbar/run.svg
@@ -0,0 +1 @@
+run
\ No newline at end of file
diff --git a/build/shared/lib/toolbar/step-disabled-1x.png b/build/shared/lib/toolbar/step-disabled-1x.png
deleted file mode 100644
index 01151345c..000000000
Binary files a/build/shared/lib/toolbar/step-disabled-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/step-disabled-2x.png b/build/shared/lib/toolbar/step-disabled-2x.png
deleted file mode 100644
index a297c0c0c..000000000
Binary files a/build/shared/lib/toolbar/step-disabled-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/step-enabled-1x.png b/build/shared/lib/toolbar/step-enabled-1x.png
deleted file mode 100644
index 97a009263..000000000
Binary files a/build/shared/lib/toolbar/step-enabled-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/step-enabled-2x.png b/build/shared/lib/toolbar/step-enabled-2x.png
deleted file mode 100644
index 2604f47a1..000000000
Binary files a/build/shared/lib/toolbar/step-enabled-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/step-pressed-1x.png b/build/shared/lib/toolbar/step-pressed-1x.png
deleted file mode 100644
index b16dd8998..000000000
Binary files a/build/shared/lib/toolbar/step-pressed-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/step-pressed-2x.png b/build/shared/lib/toolbar/step-pressed-2x.png
deleted file mode 100644
index e6b941bf5..000000000
Binary files a/build/shared/lib/toolbar/step-pressed-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/step-rollover-1x.png b/build/shared/lib/toolbar/step-rollover-1x.png
deleted file mode 100644
index 4ef59dc35..000000000
Binary files a/build/shared/lib/toolbar/step-rollover-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/step-rollover-2x.png b/build/shared/lib/toolbar/step-rollover-2x.png
deleted file mode 100644
index 1f89ef069..000000000
Binary files a/build/shared/lib/toolbar/step-rollover-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/step-selected-1x.png b/build/shared/lib/toolbar/step-selected-1x.png
deleted file mode 100644
index 621469cce..000000000
Binary files a/build/shared/lib/toolbar/step-selected-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/step-selected-2x.png b/build/shared/lib/toolbar/step-selected-2x.png
deleted file mode 100644
index 7e0b20e12..000000000
Binary files a/build/shared/lib/toolbar/step-selected-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/step.svg b/build/shared/lib/toolbar/step.svg
new file mode 100644
index 000000000..65a206e58
--- /dev/null
+++ b/build/shared/lib/toolbar/step.svg
@@ -0,0 +1 @@
+step
\ No newline at end of file
diff --git a/build/shared/lib/toolbar/stop-disabled-1x.png b/build/shared/lib/toolbar/stop-disabled-1x.png
deleted file mode 100644
index 32dd930be..000000000
Binary files a/build/shared/lib/toolbar/stop-disabled-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/stop-disabled-2x.png b/build/shared/lib/toolbar/stop-disabled-2x.png
deleted file mode 100644
index 47639bc89..000000000
Binary files a/build/shared/lib/toolbar/stop-disabled-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/stop-enabled-1x.png b/build/shared/lib/toolbar/stop-enabled-1x.png
deleted file mode 100644
index 0a35677ee..000000000
Binary files a/build/shared/lib/toolbar/stop-enabled-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/stop-enabled-2x.png b/build/shared/lib/toolbar/stop-enabled-2x.png
deleted file mode 100644
index 3701e653b..000000000
Binary files a/build/shared/lib/toolbar/stop-enabled-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/stop-pressed-1x.png b/build/shared/lib/toolbar/stop-pressed-1x.png
deleted file mode 100644
index 7399df498..000000000
Binary files a/build/shared/lib/toolbar/stop-pressed-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/stop-pressed-2x.png b/build/shared/lib/toolbar/stop-pressed-2x.png
deleted file mode 100644
index 621ab75c4..000000000
Binary files a/build/shared/lib/toolbar/stop-pressed-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/stop-rollover-1x.png b/build/shared/lib/toolbar/stop-rollover-1x.png
deleted file mode 100644
index 686b3b69a..000000000
Binary files a/build/shared/lib/toolbar/stop-rollover-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/stop-rollover-2x.png b/build/shared/lib/toolbar/stop-rollover-2x.png
deleted file mode 100644
index 1c9f47b91..000000000
Binary files a/build/shared/lib/toolbar/stop-rollover-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/stop-selected-1x.png b/build/shared/lib/toolbar/stop-selected-1x.png
deleted file mode 100644
index dca09c9fa..000000000
Binary files a/build/shared/lib/toolbar/stop-selected-1x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/stop-selected-2x.png b/build/shared/lib/toolbar/stop-selected-2x.png
deleted file mode 100644
index 9eed8eb28..000000000
Binary files a/build/shared/lib/toolbar/stop-selected-2x.png and /dev/null differ
diff --git a/build/shared/lib/toolbar/stop.svg b/build/shared/lib/toolbar/stop.svg
new file mode 100644
index 000000000..6e3c7a2a3
--- /dev/null
+++ b/build/shared/lib/toolbar/stop.svg
@@ -0,0 +1 @@
+stop
\ No newline at end of file
diff --git a/todo.txt b/todo.txt
index 90f9afdb6..38dc6d954 100755
--- a/todo.txt
+++ b/todo.txt
@@ -44,14 +44,27 @@ X use pdez instead
design/theme
X need custom scroll bar for theme handling
X https://stackoverflow.com/q/16373459
-_ add notes about params to the wiki
-_ auto-generate icons on theme update
+X auto-generate icons
X generate toolbar icons
+X generate footer icons
+X incorporate icon auto-generate into PDE
+X autogenerate on theme update
_ generate footer icons
-_ generate manager icons
-_ incorporate icon auto-generate into PDE
+_ debug theme update
_ white corner on the scroll bar
-_ single black line at top of editor
+_ single line at top of editor (editor bg color?)
+_ put themes in folders by name
+_ selector for theme that uses tiny images
+_ add notes about params to the wiki
+_ new scrollbars
+
+
+design/next
+_ redesign of the Contribution Manager
+_ identify coloring for icons
+_ how much of theme to inherit
+_ generate manager icons
+_ decision about 'debug' versions of toolbar icons
before release