checkpoint settings, language, other modal dialog work

This commit is contained in:
Stewart Allen 2020-06-06 20:05:21 -04:00
commit 28a1cd5051
10 changed files with 292 additions and 138 deletions

View file

@ -1,3 +1,3 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 170 170" width="75px" height="75px"><defs><path d="M15 38.33C15 38.33 15 38.33 15 38.33C15 25.45 25.45 15 38.33 15C44.56 15 75.67 15 131.67 15C131.67 15 131.67 15 131.67 15C137.85 15 143.79 17.46 148.17 21.83C152.54 26.21 155 32.15 155 38.33C155 47.67 155 122.33 155 131.67C155 144.55 144.55 155 131.67 155C122.33 155 47.67 155 38.33 155C25.45 155 15 144.55 15 131.67C15 119.22 15 88.11 15 38.33Z" id="e3irHaXr4"></path><path d="M65 15L105 15L105 125L65 125L65 15Z" id="c1YkLol10d"></path><path d="M105 25L65 55" id="b4hxjCK1zy"></path><path d="M105 55L65 85" id="apUaV8mZu"></path><path d="M105 85L65 115" id="bk21dIqOq"></path></defs><g><g><g><g><use xlink:href="#e3irHaXr4" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#e3irHaXr4" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><use xlink:href="#c1YkLol10d" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#c1YkLol10d" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#b4hxjCK1zy" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#apUaV8mZu" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#bk21dIqOq" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8.01" stroke-opacity="1"></use></g></g></g></g></g></svg> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 170 170" width="75px" height="75px"><defs><path d="M15 38.33C15 38.33 15 38.33 15 38.33C15 25.45 25.45 15 38.33 15C44.56 15 75.67 15 131.67 15C131.67 15 131.67 15 131.67 15C137.85 15 143.79 17.46 148.17 21.83C152.54 26.21 155 32.15 155 38.33C155 47.67 155 122.33 155 131.67C155 144.55 144.55 155 131.67 155C122.33 155 47.67 155 38.33 155C25.45 155 15 144.55 15 131.67C15 119.22 15 88.11 15 38.33Z" id="e3irHaXr4"></path><path d="M65 15L105 15L105 125L65 125L65 15Z" id="c1YkLol10d"></path><path d="M105 25L65 55" id="b4hxjCK1zy"></path><path d="M105 55L65 85" id="apUaV8mZu"></path><path d="M105 85L65 115" id="bk21dIqOq"></path></defs><g><g><g><g><use xlink:href="#e3irHaXr4" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#e3irHaXr4" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><use xlink:href="#c1YkLol10d" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#c1YkLol10d" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#b4hxjCK1zy" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#apUaV8mZu" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#bk21dIqOq" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8.01" stroke-opacity="1"></use></g></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Before After
Before After

View file

@ -1,3 +1,3 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 170 170" width="75px" height="75px"><defs><path d="M15 38.33C15 38.33 15 38.33 15 38.33C15 25.45 25.45 15 38.33 15C44.56 15 75.67 15 131.67 15C131.67 15 131.67 15 131.67 15C137.85 15 143.79 17.46 148.17 21.83C152.54 26.21 155 32.15 155 38.33C155 47.67 155 122.33 155 131.67C155 144.55 144.55 155 131.67 155C122.33 155 47.67 155 38.33 155C25.45 155 15 144.55 15 131.67C15 119.22 15 88.11 15 38.33Z" id="a14Galv9UF"></path><path d="M45 15L125 15L125 75L45 75L45 15Z" id="c3q839LU3"></path><path d="M35 141.48C53.11 141.48 64.43 141.48 68.96 141.48C77.82 141.48 85 134.3 85 125.45C85 125.45 85 125.45 85 125.45" id="chE0t1xfL"></path><path d="M105 95L85 115L65 95L105 95Z" id="a6K998F3GT"></path><path d="M75 75L95 75L95 95L75 95L75 75Z" id="e1iiMERqAh"></path></defs><g><g><g><g><use xlink:href="#a14Galv9UF" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#a14Galv9UF" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><use xlink:href="#c3q839LU3" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#c3q839LU3" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#chE0t1xfL" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#a6K998F3GT" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><use xlink:href="#e1iiMERqAh" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#e1iiMERqAh" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g></g></g></g></svg> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 170 170" width="75px" height="75px"><defs><path d="M15 38.33C15 38.33 15 38.33 15 38.33C15 25.45 25.45 15 38.33 15C44.56 15 75.67 15 131.67 15C131.67 15 131.67 15 131.67 15C137.85 15 143.79 17.46 148.17 21.83C152.54 26.21 155 32.15 155 38.33C155 47.67 155 122.33 155 131.67C155 144.55 144.55 155 131.67 155C122.33 155 47.67 155 38.33 155C25.45 155 15 144.55 15 131.67C15 119.22 15 88.11 15 38.33Z" id="a14Galv9UF"></path><path d="M45 15L125 15L125 75L45 75L45 15Z" id="c3q839LU3"></path><path d="M35 141.48C53.11 141.48 64.43 141.48 68.96 141.48C77.82 141.48 85 134.3 85 125.45C85 125.45 85 125.45 85 125.45" id="chE0t1xfL"></path><path d="M105 95L85 115L65 95L105 95Z" id="a6K998F3GT"></path><path d="M75 75L95 75L95 95L75 95L75 75Z" id="e1iiMERqAh"></path></defs><g><g><g><g><use xlink:href="#a14Galv9UF" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#a14Galv9UF" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><use xlink:href="#c3q839LU3" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#c3q839LU3" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#chE0t1xfL" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#a6K998F3GT" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><use xlink:href="#e1iiMERqAh" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#e1iiMERqAh" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2 KiB

Before After
Before After

View file

@ -1,3 +1,3 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 170 170" width="75px" height="75px"><defs><path d="M15 38.33C15 38.33 15 38.33 15 38.33C15 25.45 25.45 15 38.33 15C44.56 15 75.67 15 131.67 15C131.67 15 131.67 15 131.67 15C137.85 15 143.79 17.46 148.17 21.83C152.54 26.21 155 32.15 155 38.33C155 47.67 155 122.33 155 131.67C155 144.55 144.55 155 131.67 155C122.33 155 47.67 155 38.33 155C25.45 155 15 144.55 15 131.67C15 119.22 15 88.11 15 38.33Z" id="a4l00mnEny"></path><path d="M65 15L105 15L105 55L65 55L65 15Z" id="bq8oBWrfG"></path><path d="M85 125L85 65" id="aXzHtGbsD"></path><path d="M55 105L75 135" id="akSzh0QKx"></path><path d="M115 105L95 135" id="bloAs9giZ"></path><path d="M35 125L75 145" id="gk6ohj0JL"></path><path d="M135 123.96L95 145" id="e404eoj7L"></path></defs><g><g><g><g><use xlink:href="#a4l00mnEny" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#a4l00mnEny" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><use xlink:href="#bq8oBWrfG" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#bq8oBWrfG" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#aXzHtGbsD" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#akSzh0QKx" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#bloAs9giZ" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#gk6ohj0JL" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#e404eoj7L" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8.01" stroke-opacity="1"></use></g></g></g></g></g></svg> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 170 170" width="75px" height="75px"><defs><path d="M15 38.33C15 38.33 15 38.33 15 38.33C15 25.45 25.45 15 38.33 15C44.56 15 75.67 15 131.67 15C131.67 15 131.67 15 131.67 15C137.85 15 143.79 17.46 148.17 21.83C152.54 26.21 155 32.15 155 38.33C155 47.67 155 122.33 155 131.67C155 144.55 144.55 155 131.67 155C122.33 155 47.67 155 38.33 155C25.45 155 15 144.55 15 131.67C15 119.22 15 88.11 15 38.33Z" id="a4l00mnEny"></path><path d="M65 15L105 15L105 55L65 55L65 15Z" id="bq8oBWrfG"></path><path d="M85 125L85 65" id="aXzHtGbsD"></path><path d="M55 105L75 135" id="akSzh0QKx"></path><path d="M115 105L95 135" id="bloAs9giZ"></path><path d="M35 125L75 145" id="gk6ohj0JL"></path><path d="M135 123.96L95 145" id="e404eoj7L"></path></defs><g><g><g><g><use xlink:href="#a4l00mnEny" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#a4l00mnEny" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><use xlink:href="#bq8oBWrfG" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#bq8oBWrfG" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#aXzHtGbsD" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#akSzh0QKx" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#bloAs9giZ" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#gk6ohj0JL" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8.01" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#e404eoj7L" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8.01" stroke-opacity="1"></use></g></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Before After
Before After

View file

@ -1,3 +1,3 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 170 170" width="75px" height="75px"><defs><path d="M15 38.33C15 38.33 15 38.33 15 38.33C15 25.45 25.45 15 38.33 15C44.56 15 75.67 15 131.67 15C131.67 15 131.67 15 131.67 15C137.85 15 143.79 17.46 148.17 21.83C152.54 26.21 155 32.15 155 38.33C155 47.67 155 122.33 155 131.67C155 144.55 144.55 155 131.67 155C122.33 155 47.67 155 38.33 155C25.45 155 15 144.55 15 131.67C15 119.22 15 88.11 15 38.33Z" id="b3TRNHybxX"></path><path d="M31.88 42.5L138.12 42.5L138.12 47.81L31.88 47.81L31.88 42.5Z" id="aNMkzLwb"></path><path d="M75 21.87L95 21.87L95 41.88L75 41.88L75 21.87Z" id="d1fKKg2Jru"></path><path d="M115.93 107.19C115.93 124.27 102.07 138.13 85 138.13C67.93 138.13 54.07 124.27 54.07 107.19C54.07 90.12 67.93 76.26 85 76.26C102.07 76.26 115.93 90.12 115.93 107.19Z" id="cnyrcTQMg"></path><path d="M53.87 47.81L53.87 107.08" id="a4G9Rr6VQL"></path><path d="M115.76 51.27L115.76 110.53" id="d4hytySQxZ"></path><path d="M69.06 79.69L69.06 47.81" id="b1WQ83ELAA"></path><path d="M100.94 79.69L100.94 47.81" id="f2kNHslaLa"></path><path d="M69.06 58.44L53.13 74.38" id="g67vFJwAFy"></path><path d="M114.68 58.44L100.94 69.06" id="aAcp3z5Kv"></path></defs><g><g><g><use xlink:href="#b3TRNHybxX" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#b3TRNHybxX" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><use xlink:href="#aNMkzLwb" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#aNMkzLwb" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><use xlink:href="#d1fKKg2Jru" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#d1fKKg2Jru" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><use xlink:href="#cnyrcTQMg" opacity="1" fill="#1ea5e6" fill-opacity="0"></use><g><use xlink:href="#cnyrcTQMg" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#a4G9Rr6VQL" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#d4hytySQxZ" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#b1WQ83ELAA" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#f2kNHslaLa" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#g67vFJwAFy" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="6" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#aAcp3z5Kv" opacity="1" fill-opacity="0" stroke="#777777" stroke-width="6" stroke-opacity="1"></use></g></g></g></g></svg> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 170 170" width="75px" height="75px"><defs><path d="M15 38.33C15 38.33 15 38.33 15 38.33C15 25.45 25.45 15 38.33 15C44.56 15 75.67 15 131.67 15C131.67 15 131.67 15 131.67 15C137.85 15 143.79 17.46 148.17 21.83C152.54 26.21 155 32.15 155 38.33C155 47.67 155 122.33 155 131.67C155 144.55 144.55 155 131.67 155C122.33 155 47.67 155 38.33 155C25.45 155 15 144.55 15 131.67C15 119.22 15 88.11 15 38.33Z" id="b3TRNHybxX"></path><path d="M31.88 42.5L138.12 42.5L138.12 47.81L31.88 47.81L31.88 42.5Z" id="aNMkzLwb"></path><path d="M75 21.87L95 21.87L95 41.88L75 41.88L75 21.87Z" id="d1fKKg2Jru"></path><path d="M115.93 107.19C115.93 124.27 102.07 138.13 85 138.13C67.93 138.13 54.07 124.27 54.07 107.19C54.07 90.12 67.93 76.26 85 76.26C102.07 76.26 115.93 90.12 115.93 107.19Z" id="cnyrcTQMg"></path><path d="M53.87 47.81L53.87 107.08" id="a4G9Rr6VQL"></path><path d="M115.76 51.27L115.76 110.53" id="d4hytySQxZ"></path><path d="M69.06 79.69L69.06 47.81" id="b1WQ83ELAA"></path><path d="M100.94 79.69L100.94 47.81" id="f2kNHslaLa"></path><path d="M69.06 58.44L53.13 74.38" id="g67vFJwAFy"></path><path d="M114.68 58.44L100.94 69.06" id="aAcp3z5Kv"></path></defs><g><g><g><use xlink:href="#b3TRNHybxX" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#b3TRNHybxX" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><use xlink:href="#aNMkzLwb" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#aNMkzLwb" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><use xlink:href="#d1fKKg2Jru" opacity="1" fill="#000000" fill-opacity="0"></use><g><use xlink:href="#d1fKKg2Jru" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><use xlink:href="#cnyrcTQMg" opacity="1" fill="#1ea5e6" fill-opacity="0"></use><g><use xlink:href="#cnyrcTQMg" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#a4G9Rr6VQL" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#d4hytySQxZ" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#b1WQ83ELAA" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#f2kNHslaLa" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="8" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#g67vFJwAFy" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="6" stroke-opacity="1"></use></g></g><g><g><use xlink:href="#aAcp3z5Kv" opacity="1" fill-opacity="0" stroke="currentColor" stroke-width="6" stroke-opacity="1"></use></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Before After
Before After

View file

@ -510,7 +510,7 @@
} }
function getSelectedDevice() { function getSelectedDevice() {
return UI.deviceSelect.options[UI.deviceSelect.selectedIndex].text; return UI.deviceList.options[UI.deviceList.selectedIndex].text;
} }
function selectDevice(devicename, lock) { function selectDevice(devicename, lock) {
@ -535,7 +535,6 @@
} }
function setDeviceCode(code, devicename) { function setDeviceCode(code, devicename) {
return console.log('TODO setDeviceCode');
try { try {
if (typeof(code) === 'string') code = js2o(code) || {}; if (typeof(code) === 'string') code = js2o(code) || {};
@ -559,19 +558,21 @@
if (dev.extruders) { if (dev.extruders) {
let ext = API.lists.extruders = []; let ext = API.lists.extruders = [];
dev.internal = 0; dev.internal = 0;
let selext = $('sel-ext'); let selext = $('pop-nozzle');
selext.innerHTML = ''; selext.innerHTML = '';
for (let i=dev.extruders.length-1; i>=0; i--) { for (let i=dev.extruders.length-1; i>=0; i--) {
let d = DOC.createElement('div');
let b = DOC.createElement('button'); let b = DOC.createElement('button');
b.appendChild(DOC.createTextNode(i)); b.appendChild(DOC.createTextNode(i));
b.setAttribute('id', `sel-ext-${i}`); d.appendChild(b);
// b.setAttribute('id', `pop-nozzle-${i}`);
b.onclick = function() { b.onclick = function() {
API.selection.for_widgets(w => { API.selection.for_widgets(w => {
current.widget[w.id] = {extruder: i}; current.widget[w.id] = {extruder: i};
}); });
API.platform.update_selected(); API.platform.update_selected();
}; };
selext.appendChild(b); selext.appendChild(d);
ext.push({id:i, name:i}); ext.push({id:i, name:i});
} }
} }
@ -627,9 +628,9 @@
e.parentNode.style.display = dev.spindleMax >= 0 ? 'none' : 'block'; e.parentNode.style.display = dev.spindleMax >= 0 ? 'none' : 'block';
}); });
UI.deviceSave.disabled = !local; // UI.deviceSave.disabled = !local;
UI.deviceDelete.disabled = !local; // UI.deviceDelete.disabled = !local;
UI.deviceAdd.disabled = dev.noclone; // UI.deviceAdd.disabled = dev.noclone;
API.view.update_fields(); API.view.update_fields();
platform.update_size(); platform.update_size();
@ -665,9 +666,6 @@
} }
function renderDevices(devices) { function renderDevices(devices) {
UI.devices.onclick = UC.hidePop;
UC.hidePop();
let selectedIndex = -1, let selectedIndex = -1,
selected = API.device.get(), selected = API.device.get(),
devs = settings().devices; devs = settings().devices;
@ -687,33 +685,33 @@
devices = devices.sort(); devices = devices.sort();
UI.deviceClose.onclick = API.dialog.hide; // UI.deviceClose.onclick = API.dialog.hide;
UI.deviceSave.onclick = function() { // UI.deviceSave.onclick = function() {
API.function.clear(); // API.function.clear();
API.conf.save(); // API.conf.save();
showDevices(); // showDevices();
}; // };
UI.deviceAdd.onclick = function() { // UI.deviceAdd.onclick = function() {
API.function.clear(); // API.function.clear();
cloneDevice(); // cloneDevice();
showDevices(); // showDevices();
}; // };
UI.deviceDelete.onclick = function() { // UI.deviceDelete.onclick = function() {
API.function.clear(); // API.function.clear();
removeLocalDevice(getSelectedDevice()); // removeLocalDevice(getSelectedDevice());
showDevices(); // showDevices();
}; // };
//
UI.deviceAll.onclick = function() { // UI.deviceAll.onclick = function() {
API.show.favorites(false); // API.show.favorites(false);
showDevices(); // showDevices();
}; // };
UI.deviceFavorites.onclick = function() { // UI.deviceFavorites.onclick = function() {
API.show.favorites(true); // API.show.favorites(true);
showDevices(); // showDevices();
}; // };
//
UI.deviceSelect.innerHTML = ''; UI.deviceList.innerHTML = '';
let incr = 0; let incr = 0;
let faves = API.show.favorites(); let faves = API.show.favorites();
let found = false; let found = false;
@ -751,7 +749,7 @@
}; };
if (loc) opt.setAttribute("local", 1); if (loc) opt.setAttribute("local", 1);
if (loc || fav) opt.setAttribute("favorite", 1); if (loc || fav) opt.setAttribute("favorite", 1);
UI.deviceSelect.appendChild(opt); UI.deviceList.appendChild(opt);
if (device === selected) { if (device === selected) {
selectedIndex = incr; selectedIndex = incr;
found = true; found = true;
@ -760,17 +758,12 @@
}); });
if (selectedIndex >= 0) { if (selectedIndex >= 0) {
UI.deviceSelect.selectedIndex = selectedIndex; UI.deviceList.selectedIndex = selectedIndex;
selectDevice(selected); selectDevice(selected);
} else { } else {
UI.deviceSelect.selectedIndex = 0; UI.deviceList.selectedIndex = 0;
selectDevice(first); selectDevice(first);
} }
API.dialog.show('devices', true);
API.dialog.update();
UI.deviceSelect.focus();
} }
function renderTools() { function renderTools() {
@ -968,10 +961,15 @@
UI.toolSelect.focus(); UI.toolSelect.focus();
} }
function updateDeviceList() {
renderDevices(Object.keys(devices[API.mode.get_lower()]).sort());
}
function showDevices() { function showDevices() {
if (deviceLock) return; if (deviceLock) return;
API.modal.hide(); updateDeviceList();
renderDevices(Object.keys(devices[API.mode.get_lower()]).sort()); API.modal.show('setup');
UI.deviceList.focus();
} }
function dragOverHandler(evt) { function dragOverHandler(evt) {
@ -1094,25 +1092,28 @@
menusep: $('lt-sep'), menusep: $('lt-sep'),
rotate: $('lt-rotate'), rotate: $('lt-rotate'),
scale: $('lt-scale'), scale: $('lt-scale'),
nozzle: $('lt-nozzle'),
modal: $('modal'), modal: $('modal'),
help: $('mod-help'), help: $('mod-help'),
setup: $('mod-setup'),
tools: $('mod-tools'),
prefs: $('mod-prefs'),
files: $('mod-files'),
print: $('mod-print'), print: $('mod-print'),
local: $('mod-local'), local: $('mod-local'),
files: $('mod-files'),
setup: $('mod-setup'),
catalogBody: $('catalogBody'), catalogBody: $('catalogBody'),
catalogList: $('catalogList'), catalogList: $('catalogList'),
devices: $('devices'), devices: $('devices'),
deviceList: $('device-list'),
deviceAdd: $('device-add'), deviceAdd: $('device-add'),
deviceDelete: $('device-del'), deviceDelete: $('device-del'),
deviceSave: $('device-save'), deviceSave: $('device-save'),
deviceClose: $('device-close'), deviceClose: $('device-close'),
deviceSelect: $('device-select'),
deviceFavorites: $('device-favorites'), deviceFavorites: $('device-favorites'),
deviceAll: $('device-all'), deviceAll: $('device-all'),
tools: $('tools'),
toolsSave: $('tools-save'), toolsSave: $('tools-save'),
toolsClose: $('tools-close'), toolsClose: $('tools-close'),
toolSelect: $('tool-select'), toolSelect: $('tool-select'),
@ -1231,14 +1232,14 @@
// ] // ]
// ], {modes:ALL, expert:true}), // ], {modes:ALL, expert:true}),
layout: UC.newGroup(LANG.op_menu), layout: UC.newGroup(LANG.op_menu, $('mod-prefs'), {nocompact: true}),
expert: UC.newBoolean(LANG.op_xprt_s, booleanSave, {title:LANG.op_xprt_l}), expert: UC.newBoolean(LANG.op_xprt_s, booleanSave, {title:LANG.op_xprt_l}),
dark: UC.newBoolean(LANG.op_dark_s, booleanSave, {title:LANG.op_dark_l}), dark: UC.newBoolean(LANG.op_dark_s, booleanSave, {title:LANG.op_dark_l}),
showOrigin: UC.newBoolean(LANG.op_show_s, booleanSave, {title:LANG.op_show_l, modes:GCODE}), showOrigin: UC.newBoolean(LANG.op_show_s, booleanSave, {title:LANG.op_show_l, modes:GCODE}),
alignTop: UC.newBoolean(LANG.op_alig_s, booleanSave, {title:LANG.op_alig_l, modes:CAM}), alignTop: UC.newBoolean(LANG.op_alig_s, booleanSave, {title:LANG.op_alig_l, modes:CAM}),
autoLayout: UC.newBoolean(LANG.op_auto_s, booleanSave, {title:LANG.op_auto_l}), autoLayout: UC.newBoolean(LANG.op_auto_s, booleanSave, {title:LANG.op_auto_l}),
freeLayout: UC.newBoolean(LANG.op_free_s, booleanSave, {title:LANG.op_free_l, modes:ALL, expert:true}), freeLayout: UC.newBoolean(LANG.op_free_s, booleanSave, {title:LANG.op_free_l, modes:ALL}),
reverseZoom: UC.newBoolean(LANG.op_invr_s, booleanSave, {title:LANG.op_invr_l, modes:ALL, expert:true}), reverseZoom: UC.newBoolean(LANG.op_invr_s, booleanSave, {title:LANG.op_invr_l, modes:ALL}),
units: UC.newSelect(LANG.op_unit_s, {title: LANG.op_unit_l, modes:CAM}, "units"), units: UC.newSelect(LANG.op_unit_s, {title: LANG.op_unit_l, modes:CAM}, "units"),
// allow modules to insert new items at the bottom of the left menu // allow modules to insert new items at the bottom of the left menu
@ -1447,19 +1448,12 @@
layerMoves: UC.newBoolean(LANG.la_move, onLayerToggle, {modes:GCODE}) layerMoves: UC.newBoolean(LANG.la_move, onLayerToggle, {modes:GCODE})
}); });
// populate language drop-down // bind language choices
let lp = $('langpop'); $('lset-en').onclick = function() {
let elp = DOC.createElement("div");
let dlp = DOC.createElement("div");
elp.appendChild(DOC.createTextNode('english'));
dlp.appendChild(DOC.createTextNode('danish'));
lp.appendChild(elp);
lp.appendChild(dlp);
elp.onclick = function() {
SDB.setItem('kiri-lang', 'en-us'); SDB.setItem('kiri-lang', 'en-us');
API.space.reload(); API.space.reload();
}; };
dlp.onclick = function() { $('lset-da').onclick = function() {
SDB.setItem('kiri-lang', 'da-dk'); SDB.setItem('kiri-lang', 'da-dk');
API.space.reload(); API.space.reload();
}; };
@ -1579,13 +1573,20 @@
// }; // };
// //
// $('cache-close').onclick = API.dialog.hide; // $('cache-close').onclick = API.dialog.hide;
//
// UI.toolMetric.onclick = updateTool; UI.toolMetric.onclick = updateTool;
// UI.toolType.onchange = updateTool; UI.toolType.onchange = updateTool;
function showSetup() {
API.modal.show('setup');
}
// bind interface action elements // bind interface action elements
$('app-name').onclick = API.help.show; $('app-name').onclick = API.help.show;
$('lt-setup').onclick = () => { API.modal.show('setup') }; $('app-mode').onclick = showSetup;
$('set-device').onclick = showSetup;
$('set-tools').onclick = showTools;
$('set-prefs').onclick = () => { API.modal.show('prefs') };
$('file-recent').onclick = () => { API.modal.show('files') }; $('file-recent').onclick = () => { API.modal.show('files') };
$('file-import').onclick = API.event.import; $('file-import').onclick = API.event.import;
$('act-slice').onclick = API.function.slice; $('act-slice').onclick = API.function.slice;
@ -1595,14 +1596,28 @@
$('view-top').onclick = SPACE.view.top; $('view-top').onclick = SPACE.view.top;
$('view-home').onclick = SPACE.view.home; $('view-home').onclick = SPACE.view.home;
$('mode-fdm').onclick = () => { API.mode.set('FDM') };
$('mode-sla').onclick = () => { API.mode.set('SLA') };
$('mode-cam').onclick = () => { API.mode.set('CAM') };
$('mode-laser').onclick = () => { API.mode.set('LASER') };
function mksvg(src) {
let svg = DOC.createElement('svg');
svg.innerHTML = src;
return svg;
}
$('mode-fdm').appendChild(mksvg(icons.fdm));
$('mode-sla').appendChild(mksvg(icons.sla));
$('mode-cam').appendChild(mksvg(icons.cnc));
$('mode-laser').appendChild(mksvg(icons.laser));
SPACE.platform.setSize( SPACE.platform.setSize(
settings().device.bedWidth, settings().device.bedWidth,
settings().device.bedDepth, settings().device.bedDepth,
settings().device.bedHeight settings().device.bedHeight
); );
// UI.selection.classList.add('compact');
if (dark) { if (dark) {
SPACE.platform.setGrid(25, 5, 0x999999, 0x333333); SPACE.platform.setGrid(25, 5, 0x999999, 0x333333);
SPACE.platform.opacity(0.8); SPACE.platform.opacity(0.8);
@ -1635,22 +1650,6 @@
} }
}); });
// SPACE.mouse.onHover(function(d,me) {
// if (d) {
// // console.log(d,d.object.widget.id,d.face.materialIndex)
// // d.object.material.vertexColors = true;
// // d.object.material.needsUpdate = true;
// // d.face.vertexColors = [
// // new THREE.Color(0xffaa88),
// // new THREE.Color(0xffaa88),
// // new THREE.Color(0xffaa88)
// // ];
// // d.face.materialIndex = 1;
// } else {
// return API.widgets.meshes();
// }
// });
SPACE.mouse.onDrag(function(delta) { SPACE.mouse.onDrag(function(delta) {
if (delta && UI.freeLayout.checked) { if (delta && UI.freeLayout.checked) {
let set = settings(); let set = settings();
@ -1754,6 +1753,9 @@
// setup tab visibility watcher // setup tab visibility watcher
// DOC.addEventListener('visibilitychange', function() { document.title = document.hidden }); // DOC.addEventListener('visibilitychange', function() { document.title = document.hidden });
// fill device list
updateDeviceList();
// ensure settings has gcode // ensure settings has gcode
selectDevice(DEVNAME || API.device.get(), DEVNAME); selectDevice(DEVNAME || API.device.get(), DEVNAME);

View file

@ -808,8 +808,6 @@
callback(); callback();
} }
} }
// update slider window
API.dialog.update();
// handle slicing errors // handle slicing errors
if (error && !errored) { if (error && !errored) {
errored = true; errored = true;
@ -1019,8 +1017,10 @@
function platformUpdateSelected() { function platformUpdateSelected() {
let menu_show = platform.selected_count() ? 'flex': ''; let menu_show = platform.selected_count() ? 'flex': '';
let ext_show = platform.selected_count() && MODE === 'FDM' ? 'flex': '';
UI.scale.style.display = menu_show; UI.scale.style.display = menu_show;
UI.rotate.style.display = menu_show; UI.rotate.style.display = menu_show;
UI.nozzle.style.display = menu_show;
UI.menusep.style.display = menu_show; UI.menusep.style.display = menu_show;
// $('ext-sel').style.display = (MODE === MODES.FDM) ? 'inline-block' : 'none'; // $('ext-sel').style.display = (MODE === MODES.FDM) ? 'inline-block' : 'none';
let extruders = settings.device.extruders; let extruders = settings.device.extruders;
@ -1281,7 +1281,7 @@
camStock.material.visible = settings.mode === 'CAM'; camStock.material.visible = settings.mode === 'CAM';
camTopZ = csz; camTopZ = csz;
} else if (camStock) { } else if (camStock) {
UI.stock.style.display = 'none'; // UI.stock.style.display = 'none';
SPACE.platform.remove(camStock); SPACE.platform.remove(camStock);
camStock = null; camStock = null;
camTopZ = topZ; camTopZ = topZ;
@ -1630,7 +1630,7 @@
visible = modalShowing(), visible = modalShowing(),
info = { pct: 0 }; info = { pct: 0 };
["setup","print","help","files","local"].forEach(function(name) { ["help","setup","tools","prefs","files","print","local"].forEach(function(name) {
UI[name].style.display = name === which ? 'flex' : ''; UI[name].style.display = name === which ? 'flex' : '';
}); });
@ -1725,9 +1725,9 @@
settings.process.outputOriginCenter = (settings.device.originCenter || false); settings.process.outputOriginCenter = (settings.device.originCenter || false);
} }
if (!named) { // if (!named) {
hideModal(); // hideModal();
} // }
updateFields(); updateFields();
API.conf.update(); API.conf.update();
@ -1778,7 +1778,6 @@
row.appendChild(del); row.appendChild(del);
table.appendChild(row); table.appendChild(row);
}); });
API.dialog.update();
} }
function showSettings() { function showSettings() {
@ -1801,7 +1800,7 @@
} }
function showHelpFile(local) { function showHelpFile(local) {
hideModal(); // hideModal();
if (!local) { if (!local) {
WIN.open("//wiki.grid.space/wiki/Kiri:Moto", "_help"); WIN.open("//wiki.grid.space/wiki/Kiri:Moto", "_help");
return; return;
@ -1815,7 +1814,7 @@
} }
function showLocal() { function showLocal() {
$('local-close').onclick = hideModal; // $('local-close').onclick = hideModal;
showModal('local'); showModal('local');
fetch("/api/grid_local") fetch("/api/grid_local")
.then(r => r.json()) .then(r => r.json())
@ -1918,12 +1917,12 @@
} }
function setMode(mode, lock, then) { function setMode(mode, lock, then) {
hideModal();
if (!MODES[mode]) { if (!MODES[mode]) {
DBUG.log("invalid mode: "+mode); DBUG.log("invalid mode: "+mode);
mode = 'FDM'; mode = 'FDM';
} }
$('app-mode').innerHTML = mode; $('app-mode').innerHTML = mode;
$('set-tools').style.display = mode === 'CAM' ? '' : 'none';
settings.mode = mode; settings.mode = mode;
// restore cached device profile for this mode // restore cached device profile for this mode
if (settings.cdev[mode]) { if (settings.cdev[mode]) {
@ -1943,6 +1942,14 @@
API.conf.save(); API.conf.save();
clearWidgetCache(); clearWidgetCache();
SPACE.update(); SPACE.update();
["fdm","sla","cam","laser"].forEach(dev => {
let cl = $(`mode-${dev}`).classList;
if (dev === mode.toLowerCase()) {
cl.add("dev-sel");
} else {
cl.remove("dev-sel");
}
});
// UI.modeFDM.setAttribute('class', MODE === MODES.FDM ? 'buton' : ''); // UI.modeFDM.setAttribute('class', MODE === MODES.FDM ? 'buton' : '');
// UI.modeSLA.setAttribute('class', MODE === MODES.SLA ? 'buton' : ''); // UI.modeSLA.setAttribute('class', MODE === MODES.SLA ? 'buton' : '');
// UI.modeCAM.setAttribute('class', MODE === MODES.CAM ? 'buton' : ''); // UI.modeCAM.setAttribute('class', MODE === MODES.CAM ? 'buton' : '');
@ -1959,7 +1966,7 @@
triggerSettingsEvent(); triggerSettingsEvent();
platformUpdateSelected(); platformUpdateSelected();
updateFields(); updateFields();
if (settings.device.new) { if (modalShowing()) {
API.show.devices(); API.show.devices();
} }
API.event.emit("mode.set", mode); API.event.emit("mode.set", mode);

View file

@ -59,8 +59,6 @@
}; };
function setMode(mode) { function setMode(mode) {
// $('control-left').classList.add('compact');
// $('control-right').classList.add('compact');
Object.keys(groupShow).forEach(group => { Object.keys(groupShow).forEach(group => {
updateGroupShow(group); updateGroupShow(group);
}); });
@ -344,7 +342,7 @@
row.appendChild(newLabel(label)); row.appendChild(newLabel(label));
row.appendChild(btn); row.appendChild(btn);
row.setAttribute("class", "flow-row"); row.setAttribute("class", "var-row");
if (opt.title) row.setAttribute("title", options.title); if (opt.title) row.setAttribute("title", options.title);
btn.setVisible = row.setVisible; btn.setVisible = row.setVisible;
@ -362,7 +360,7 @@
row.appendChild(newLabel(label)); row.appendChild(newLabel(label));
row.appendChild(ip); row.appendChild(ip);
row.setAttribute("class", "flow-row"); row.setAttribute("class", "var-row");
if (height > 1) { if (height > 1) {
ip.setAttribute("cols", size); ip.setAttribute("cols", size);
ip.setAttribute("rows", height); ip.setAttribute("rows", height);
@ -432,7 +430,7 @@
if (label) row.appendChild(newLabel(label)); if (label) row.appendChild(newLabel(label));
row.appendChild(ip); row.appendChild(ip);
row.setAttribute("class", "flow-row"); row.setAttribute("class", "var-row");
ip.setAttribute("type", "range"); ip.setAttribute("type", "range");
ip.setAttribute("min", (options && options.min ? options.min : 0)); ip.setAttribute("min", (options && options.min ? options.min : 0));
ip.setAttribute("max", (options && options.max ? options.max : 100)); ip.setAttribute("max", (options && options.max ? options.max : 100));
@ -459,7 +457,7 @@
row.appendChild(newLabel(label)); row.appendChild(newLabel(label));
row.appendChild(ip); row.appendChild(ip);
row.setAttribute("source", source || "tools"); row.setAttribute("source", source || "tools");
row.setAttribute("class", "flow-row"); row.setAttribute("class", "var-row");
row.style.display = hide ? 'none' : ''; row.style.display = hide ? 'none' : '';
if (options) { if (options) {
if (options.convert) ip.convert = options.convert.bind(ip); if (options.convert) ip.convert = options.convert.bind(ip);
@ -482,7 +480,7 @@
row.appendChild(newLabel(label)); row.appendChild(newLabel(label));
} }
row.appendChild(ip); row.appendChild(ip);
row.setAttribute("class", "flow-row"); row.setAttribute("class", "var-row");
row.style.display = hide ? 'none' : ''; row.style.display = hide ? 'none' : '';
ip.setAttribute("type", "checkbox"); ip.setAttribute("type", "checkbox");
ip.checked = false; ip.checked = false;
@ -503,7 +501,7 @@
let row = newDiv(options), let row = newDiv(options),
hide = options && options.hide; hide = options && options.hide;
row.setAttribute("class", "flow-row"); row.setAttribute("class", "var-row");
row.style.display = hide ? 'none' : ''; row.style.display = hide ? 'none' : '';
ip.setVisible = row.setVisible; ip.setVisible = row.setVisible;

View file

@ -1,6 +1,6 @@
:root { :root {
--fg-blue-gray: #89a; --fg-gray: #495057;
--bg-blue-gray: #abc; --bg-gray: rgba(0,0,0,0.25);
} }
setpopsetpopa, a:hover, a:visited { setpopsetpopa, a:hover, a:visited {
border: none; border: none;
@ -29,6 +29,7 @@ div {
position: relative; position: relative;
} }
button { button {
display: flex;
outline: none; outline: none;
border: 1px solid #ccc; border: 1px solid #ccc;
border-radius: 3px; border-radius: 3px;
@ -179,6 +180,53 @@ th, tr, td {
#app-acct { #app-acct {
justify-content: flex-end; justify-content: flex-end;
} }
#app-acct:hover #acct-pop {
display: flex;
}
#acct-pop {
display: none;
color: var(--fg-gray);
font-family: sans-serif;
position: absolute;
z-index: 10;
top: 100%;
right: -3px;
}
#acct-pop > div {
margin-top: 10px;
background-color: white;
border: 1px solid #ddd;
border-radius: 3px;
padding: 5px 0 5px 0;
}
#acct-pop > div > div {
padding: 0 5px 0 5px;
}
#acct-pop > div:hover {
color: #000;
background-color: #f4f4f4;
}
#acct-lang:hover #lang-pop {
display: flex;
}
#lang-pop {
display: none;
position: absolute;
right: 100%;
top: -6px;
align-items: stretch;
text-align: right;
border-radius: 3px;
border: 1px solid #ddd;
background-color: white;
}
#lang-pop > div {
padding: 4px 6px 4px 6px;
}
#lang-pop > div:hover {
color: #000;
background-color: #f4f4f4;
}
#mid { #mid {
pointer-events: none; pointer-events: none;
@ -196,12 +244,12 @@ th, tr, td {
#lt-top { #lt-top {
height: 10px; height: 10px;
border-top-right-radius: 10px; border-top-right-radius: 10px;
background-color: var(--bg-blue-gray); background-color: var(--bg-gray);
left: -5px; left: -5px;
} }
#lt-sep { #lt-sep {
background-color: var(--bg-blue-gray); background-color: var(--bg-gray);
height: 10px; height: 10px;
left: -5px; left: -5px;
} }
@ -209,7 +257,7 @@ th, tr, td {
#lt-end { #lt-end {
height: 10px; height: 10px;
border-bottom-right-radius: 10px; border-bottom-right-radius: 10px;
background-color: var(--bg-blue-gray); background-color: var(--bg-gray);
left: -5px; left: -5px;
} }
@ -230,7 +278,7 @@ th, tr, td {
border: 1px solid rgba(0,0,0,0); border: 1px solid rgba(0,0,0,0);
border-radius: 3px; border-radius: 3px;
width: 60px; width: 60px;
color: var(--fg-blue-gray); color: var(--fg-gray);
} }
.pop-lcol > div:hover { .pop-lcol > div:hover {
@ -246,7 +294,7 @@ th, tr, td {
padding: 5px 5px 5px 10px; padding: 5px 5px 5px 10px;
border: 1px solid rgba(0,0,0,0); border: 1px solid rgba(0,0,0,0);
border-radius: 3px; border-radius: 3px;
color: var(--fg-blue-gray); color: var(--fg-gray);
left: -5px; left: -5px;
background-color: rgba(255,255,255,0.75); background-color: rgba(255,255,255,0.75);
} }
@ -313,7 +361,7 @@ th, tr, td {
right: 0px; right: 0px;
bottom: 0px; bottom: 0px;
height: 300px; height: 300px;
background-color: rgba(0,0,0,0.25); background-color: var(--bg-gray);
border-bottom: 1px solid black; border-bottom: 1px solid black;
border-top: 1px solid black; border-top: 1px solid black;
overflow: hidden; overflow: hidden;
@ -332,11 +380,12 @@ th, tr, td {
font-family: monospace; font-family: monospace;
background-color: rgba(255,255,255,0.75); background-color: rgba(255,255,255,0.75);
} }
#mod-top {
.mod-top {
height: 10px; height: 10px;
border-top-left-radius: 10px; border-top-left-radius: 10px;
border-top-right-radius: 10px; border-top-right-radius: 10px;
background-color: rgba(0,0,0,0.25); background-color: var(--bg-gray);
} }
#mod-x { #mod-x {
position: absolute; position: absolute;
@ -344,11 +393,23 @@ th, tr, td {
bottom: -20px; bottom: -20px;
right: 5px; right: 5px;
} }
#mod-end { .mod-end {
height: 10px; height: 10px;
border-bottom-left-radius: 10px; border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px; border-bottom-right-radius: 10px;
background-color: rgba(0,0,0,0.25); background-color: var(--bg-gray);
}
.dev-type {
font-family: 'Russo One', sans-serif;
flex-direction: column;
align-items: center;
background-color: white;
margin: 5px;
}
.dev-sel {
color: #033;
background-color: #bbb;
} }
#slider { #slider {
@ -431,14 +492,14 @@ th, tr, td {
padding: 1px 10px 2px 2px; padding: 1px 10px 2px 2px;
border-top-left-radius: 10px; border-top-left-radius: 10px;
border-bottom-left-radius: 0; border-bottom-left-radius: 0;
background-color: var(--bg-blue-gray); background-color: var(--bg-gray);
} }
#set-end { #set-end {
color: black; color: black;
padding: 1px 10px 2px 2px; padding: 1px 10px 2px 2px;
border-top-left-radius: 0; border-top-left-radius: 0;
border-bottom-left-radius: 10px; border-bottom-left-radius: 10px;
background-color: var(--bg-blue-gray); background-color: var(--bg-gray);
height: 10px; height: 10px;
} }
.set-group { .set-group {
@ -449,7 +510,7 @@ th, tr, td {
border-radius: 3px; border-radius: 3px;
margin: 2px 0 2px 4px; margin: 2px 0 2px 4px;
padding: 8px 10px 8px 5px; padding: 8px 10px 8px 5px;
color: var(--fg-blue-gray); color: var(--fg-gray);
right: -5px; right: -5px;
} }
.set-group:hover { .set-group:hover {
@ -470,7 +531,7 @@ th, tr, td {
margin-right: 5px; margin-right: 5px;
padding: 5px; padding: 5px;
} }
.set-pop label { .var-row label {
padding: 2px 4px 2px 0; padding: 2px 4px 2px 0;
flex-grow: 1; flex-grow: 1;
} }

View file

@ -27,7 +27,21 @@
<div class="grow"></div> <div class="grow"></div>
<div id="app-name">Kiri:Moto</div> <div id="app-name">Kiri:Moto</div>
<div class="grow"></div> <div class="grow"></div>
<div id="app-acct"><i class="fas fa-user-cog"></i></div> <div id="app-acct">
<i class="fas fa-user-cog"></i>
<div id="acct-pop" class="col">
<div class="col">
<div id="acct-lang">
<label><i class="fas fa-caret-left"></i>&nbsp;language</label>
<div id="lang-pop" class="col">
<div id="lset-en">english</div>
<div id="lset-da">danish</div>
</div>
</div>
</div>
</div>
</div>
</div> </div>
<div id="mid-sep"></div> <div id="mid-sep"></div>
<div id="mid" class="grow row"> <div id="mid" class="grow row">
@ -37,6 +51,20 @@
<div id="lt-setup" class="lt-menu"> <div id="lt-setup" class="lt-menu">
<i class="fas fa-cogs"></i> <i class="fas fa-cogs"></i>
<label>setup</label> <label>setup</label>
<div id="set-pop" class="pop-lcol row">
<div id="set-device">
<i class="fas fa-tablet-alt"></i>
<label>device</label>
</div>
<div id="set-tools">
<i class="fas fa-tools"></i>
<label>tools<label>
</div>
<div id="set-prefs">
<i class="fas fa-sliders-h"></i>
<label>prefs<label>
</div>
</div>
</div> </div>
<div id="lt-file" class="lt-menu"> <div id="lt-file" class="lt-menu">
<i class="fas fa-folder"></i> <i class="fas fa-folder"></i>
@ -92,24 +120,29 @@
<div id="lt-rotate" class="lt-menu noshow"> <div id="lt-rotate" class="lt-menu noshow">
<i class="fas fa-sync-alt"></i> <i class="fas fa-sync-alt"></i>
<label>rotate</label> <label>rotate</label>
<div id="pop-view" class="pop-lcol row"> <div id="pop-rotate" class="pop-lcol row">
</div> </div>
</div> </div>
<div id="lt-scale" class="lt-menu noshow"> <div id="lt-scale" class="lt-menu noshow">
<i class="fas fa-expand"></i> <i class="fas fa-expand"></i>
<label>scale</label> <label>scale</label>
<div id="pop-view" class="pop-lcol row"> <div id="pop-scale" class="pop-lcol row">
</div> </div>
</div> </div>
<div id="lt-nozzle" class="lt-menu noshow">
<i class="fas fa-map-marker"></i>
<label>nozzle</label>
<div id="pop-nozzle" class="pop-lcol row"></div>
</div>
<div id="lt-end"></div> <div id="lt-end"></div>
</div> </div>
<div id="mid-mcol" class="grow"> <div id="mid-mcol" class="grow">
<div id="modal"> <div id="modal">
<div class="col"> <div class="col">
<div id="mod-top" class="row"><div id="mod-x"><i class="fas fa-times"></i></div></div>
<div class="mod-top row"><div id="mod-x"><i class="fas fa-times"></i></div></div>
<div id="mod-help" class="mdialog col"> <div id="mod-help" class="mdialog col">
<a href="https://en.wikipedia.org/wiki/Slicer_(3D_printing)">wikipedia</a> <a href="https://en.wikipedia.org/wiki/Slicer_(3D_printing)">wikipedia</a>
<a href="https://www.onshape.com/cad-blog/partner-spotlight-kirimoto">Onshape</a> <a href="https://www.onshape.com/cad-blog/partner-spotlight-kirimoto">Onshape</a>
@ -118,18 +151,69 @@
<a href="https://www.youtube.com/watch?v=IZ1VG07oFCo">Teaching Tech</a> <a href="https://www.youtube.com/watch?v=IZ1VG07oFCo">Teaching Tech</a>
</div> </div>
<div id="mod-setup" class="mdialog col"> <div id="mod-setup" class="mdialog col">
<div id="device">temp device</div> <div class="col a-center">select device type</div>
<div id="layers">temp layers</div> <div class="row j-center">
<div id="langpop">temp language</div> <button id="mode-fdm" class="dev-type"><label>FDM</label></button>
<button id="mode-sla" class="dev-type"><label>SLA</label></button>
<button id="mode-cam" class="dev-type"><label>CNC</label></button>
<button id="mode-laser" class="dev-type"><label>LASER</label></button>
</div>
<div class="row">
<div id="devices" class="col"><select id="device-list" size="15"></select></div>
<div id="device" class="col"></div>
</div>
</div> </div>
<div id="mod-files" class="mdialog"></div> <div id="mod-files" class="mdialog"></div>
<div id="mod-tools" class="mdialog"></div> <div id="mod-tools" class="mdialog">
<div class="col">
<div class="row">
<label>tool</label>
<label>detail</label>
<label>view</label>
</div>
<div class="row">
<div class="col">
<select id="tool-select" size="15"></select>
</div>
<div class="col">
<div class="row"><label>type</label>
<select id="tool-type">
<option value="endmill" selected>end</option>
<option value="ballmill">ball</option>
<option value="tapermill">taper</option>
</select>
</div>
<div class="row"><label>name</label><input id="tool-name" size="15"></input></div>
<div class="row" title="tool number to use&#010;in gcode commands"><label>tool #</label><input id="tool-num" size="7"></input></div>
<div class="row"><label>metric</label><input id="tool-metric" type="checkbox"></input></div>
<div class="grouphead">shaft</div>
<div class="row" title="shaft diameter in inches&#010;unless metric is checked&#010;then in millimeters"><label>diameter</label><input id="tool-sdiam" size="7"></input></div>
<div class="row" title="shaft length in inches&#010;unless metric is checked&#010;then in millimeters"><label>length</label><input id="tool-slen" size="7"></input></div>
<div class="grouphead">flute</div>
<div class="row" title="flute diameter in inches&#010;unless metric is checked&#010;then in millimeters"><label>diameter</label><input id="tool-fdiam" size="7"></input></div>
<div class="row" title="flute length in inches&#010;unless metric is checked&#010;then in millimeters"><label>length</label><input id="tool-flen" size="7"></input></div>
<div class="grouphead">taper</div>
<!-- <div class="flow-row" title="taper angle"><label>angle</label><input id="tool-tangle" size=5></input></div> -->
<div class="row" title="tip width in inches&#010;unless metric is checked&#010;then in millimeters"><label>tip</label><input id="tool-ttip" size="7"></input></div>
</div>
<div id="tool-view" class="col"></div>
</div>
<div id="tool-action" class="row">
<button id="tool-add">+</button>
<button id="tool-del">-</button>
<span id="tool-spacer"></span>
<button id="tools-save">save</button>
<button id="tools-close">done</button>
</div>
</div>
</div>
<div id="mod-prefs" class="mdialog col"></div>
<div id="mod-local" class="mdialog"></div> <div id="mod-local" class="mdialog"></div>
<div id="mod-print" class="mdialog"></div> <div id="mod-print" class="mdialog"></div>
<!-- hidden file input loader --> <!-- hidden file input loader -->
<input id="load-file" type="file" name="loadme" style="display:none" accept=".stl,.gcode,.nc"/> <input id="load-file" type="file" name="loadme" style="display:none" accept=".stl,.gcode,.nc"/>
<div class="mod-end"></div>
<div id="mod-end"></div>
</div> </div>
</div> </div>
</div> </div>
@ -152,7 +236,9 @@
</div> </div>
<div id="end" class="col a-center"> <div id="end" class="col a-center">
<div id="progress"><div id="progbar"><div id="progtxt">loading</div></div></div> <div id="progress"><div id="progbar"><div id="progtxt">loading</div></div></div>
<div id="bottom"></div> <div id="bottom">
<div id="layers">layers</div>
</div>
<div id="alert-area"> <div id="alert-area">
<div id="alert-border"> <div id="alert-border">
<div id="alert-text">alerts<br>alerts<br>alerts</div> <div id="alert-text">alerts<br>alerts<br>alerts</div>

View file

@ -361,7 +361,7 @@ kiri.lang['en-us'] = {
or_topp_l: "origin is references from the top of objects", or_topp_l: "origin is references from the top of objects",
// FDM ADVANCED // FDM ADVANCED
ad_menu: "advanced", ad_menu: "expert",
ad_rdst_s: "retract dist", ad_rdst_s: "retract dist",
ad_rdst_l: "amount to retract filament\nfor long moves. in millimeters", ad_rdst_l: "amount to retract filament\nfor long moves. in millimeters",
ad_rrat_s: "retract rate", ad_rrat_s: "retract rate",