add first implementation of app manager as part of sync with Firefox 26 theme changes
authorRobert Kaiser <robert@widebook.box.kairo.at>
Sat, 7 Dec 2013 01:38:11 +0000 (02:38 +0100)
committerRobert Kaiser <robert@widebook.box.kairo.at>
Sat, 7 Dec 2013 01:38:11 +0000 (02:38 +0100)
12 files changed:
LCARStrek/browser/devtools/app-manager/connection-footer.css [new file with mode: 0644]
LCARStrek/browser/devtools/app-manager/device.css [new file with mode: 0644]
LCARStrek/browser/devtools/app-manager/error.svg [new file with mode: 0644]
LCARStrek/browser/devtools/app-manager/help.css [new file with mode: 0644]
LCARStrek/browser/devtools/app-manager/index-icons.svg [new file with mode: 0644]
LCARStrek/browser/devtools/app-manager/index.css [new file with mode: 0644]
LCARStrek/browser/devtools/app-manager/manifest-editor.inc.css [new file with mode: 0644]
LCARStrek/browser/devtools/app-manager/plus.svg [new file with mode: 0644]
LCARStrek/browser/devtools/app-manager/projects.css [new file with mode: 0644]
LCARStrek/browser/devtools/app-manager/remove.svg [new file with mode: 0644]
LCARStrek/browser/devtools/app-manager/rocket.svg [new file with mode: 0644]
LCARStrek/browser/devtools/app-manager/warning.svg [new file with mode: 0644]

diff --git a/LCARStrek/browser/devtools/app-manager/connection-footer.css b/LCARStrek/browser/devtools/app-manager/connection-footer.css
new file mode 100644 (file)
index 0000000..57a1521
--- /dev/null
@@ -0,0 +1,229 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/************** LAYOUT **************/
+
+#connection-footer {
+  display: flex;
+  flex-direction: column;
+  height: 50px;
+}
+
+#banners-and-logs {
+  display: flex;
+  flex-grow: 1;
+}
+
+#logs {
+  display: flex;
+  width: 40%;
+  padding: 0;
+  width: 100%;
+}
+
+.banner {
+  display: none;
+  width: 60%;
+}
+
+#connection-footer[status="connected"]     #banner-connected,
+#connection-footer[status="connecting"]    #banner-connecting,
+#connection-footer[status="disconnected"]  #banner-disconnected,
+#connection-footer[status="disconnecting"] #banner-disconnecting {
+  display: flex;
+}
+
+body.show-simulators .banner,
+body.edit-connection .banner {
+  display: none !important;
+}
+
+body.show-simulators #banner-simulators,
+body.edit-connection #banner-editing {
+  display: flex !important;
+}
+
+#banner-logs {
+  width: 40%;
+  display: flex;
+}
+
+#logs > pre {
+  overflow: auto;
+  white-space: pre-line;
+}
+
+#status.banner-box {
+  width: 100% !important;
+}
+
+.banner-box {
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  width: 100%;
+}
+
+#banner-connected > .banner-box {
+  align-items: flex-start;
+}
+
+#start-simulator-box {
+  display: inline;
+}
+
+/************** PIXELS **************/
+
+* {
+  margin: 0;
+  padding: 0;
+  -moz-box-sizing: border-box;
+  font-size: 0.9rem;
+}
+
+body {
+  color: #FF9F00;
+  background-color: #000000;
+  font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif;
+}
+
+button {
+  background-color: #C09070;
+  color: #000000;
+  border: none;
+  cursor: pointer;
+  border-radius: 300px;
+  padding-top: 1px;
+  padding-bottom: 2px;
+  -moz-padding-start: .5em;
+  -moz-padding-end: calc(.5em + 1px);
+}
+
+button.left {
+  margin-right: 0px;
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+
+button.right {
+  margin-left: -6px;
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+
+button.action-primary {
+  background-color: #A06060;
+}
+
+button.action-cancel {
+}
+
+button:hover,
+button.action-primary:hover {
+  background-color: #FFCF00;
+  color: #000000;
+}
+
+button:hover:active {
+  padding-top: 2px;
+  padding-bottom: 1px;
+  -moz-padding-start: calc(.5em + 1px);
+  -moz-padding-end: .5em;
+}
+
+#banners-and-logs {
+/*  border-top: #9C9CFF solid;*/
+  border-width: 1px 0;
+/*  background: linear-gradient(to bottom, #323A42, #29313A);
+  color: #A8BABF;*/
+}
+
+#status {
+/*  background: linear-gradient(to bottom, #454F59, #404952);
+  box-shadow: inset 0 0 1px #606D78, inset 0 1px 0 #5E6973;*/
+}
+
+#logs > pre {
+  border: 1px solid #A09090;
+  font-size: 10px;
+  background: #000000;
+  padding: 5px;
+  height: 100%;
+  padding-left: 20px;
+  position: relative;
+}
+
+#logs > pre span{
+  color: #9C9CFF;
+  position: fixed;
+  right: calc(30% - 15px);
+  bottom: -1px;
+}
+
+#logs > pre b {
+  font-size: 10px;
+  color: #A09090;
+}
+
+.banner-box {
+/*  border-right: 1px solid #111;
+  background-position: center right;
+  background-size: 1px 100%;
+  background-repeat: no-repeat;*/
+  padding: 10px 20px;
+  position: relative;
+}
+
+.connected-status {
+  color: #9C9CFF;
+  padding-bottom: 10px;
+}
+
+.connected-status {
+  font-size: 150%;
+  top: 10%;
+  padding-right: 3px;
+  position: relative;
+}
+
+.connected-indicator {
+  border-radius: 300px;
+  height: 100%;
+  flex: 0 0 10px;
+}
+
+#banner-connected .connected-indicator,
+#banner-connecting .connected-indicator {
+  background-color: #008484;
+}
+
+#banner-simulators .connected-indicator,
+#banner-disconnected .connected-indicator,
+#banner-editing .connected-indicator,
+#banner-disconnecting .connected-indicator {
+  background-color: #A09090;
+}
+
+#banner-simulators .banner-content > * {
+  display: inline-block;
+}
+
+#banner-simulators[simulator-count="0"] .found-simulator,
+#banner-simulators:not([simulator-count="0"]) .no-simulator {
+  display: none;
+}
+
+#connection-no-device,
+[device-count="0"] > #connection-found-device,
+#connection-manual,
+#connection-assisted {
+  display: none;
+}
+
+#connection-found-device,
+[device-count="0"] > #connection-no-device,
+[adb-available="true"] > #connection-assisted,
+[adb-available="false"] > #connection-manual {
+  display: inline;
+}
diff --git a/LCARStrek/browser/devtools/app-manager/device.css b/LCARStrek/browser/devtools/app-manager/device.css
new file mode 100644 (file)
index 0000000..8fc0973
--- /dev/null
@@ -0,0 +1,399 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*****************      GENERAL      *****************/
+
+* {
+  margin: 0;
+  padding: 0;
+  -moz-box-sizing: border-box;
+}
+
+html, body {
+  height: 100%;
+}
+
+body {
+  font-size: 0.9rem;
+  color: #FF9F00;
+  background-color: #000000;
+  font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif;
+  display: flex;
+  flex-direction: column;
+}
+
+template {
+  display: none;
+}
+
+h1 {
+  font-size: 20px;
+}
+
+#content {
+  display: flex;
+  flex-direction: row;
+  height: 100%;
+  overflow: hidden;
+}
+
+#detail {
+  display: flex;
+  flex-grow: 1;
+  z-index: 1;
+  overflow: hidden;
+}
+
+#meta {
+  background-size: 100%;
+  padding-top: 50px;
+}
+
+#connection-footer {
+  border-width: 0;
+  height: 50px;
+  min-height: 50px;
+}
+
+
+
+/*****************     APP BUTTONS      *****************/
+
+
+
+.app-buttons {
+  display: block;
+  margin-left: 20px;
+  color: #FF9F00;
+}
+
+button {
+  margin: 0;
+  font-size: 11px;
+  padding: 5px 15px;
+  cursor: pointer;
+  background-color: #C09070;
+  text-transform: uppercase;
+  border-radius: 300px;
+  border-width: 1px;
+}
+
+.app-buttons > button {
+  display: none;
+}
+
+.app-buttons > button:not([disabled]):hover {
+  background-color: #FFCF00;
+  color: #000000;
+}
+
+.app-buttons > button[disabled] {
+  background-color: #402858;
+  color: #000000;
+  pointer-events: none;
+}
+
+.app[running="false"] > .app-buttons > .button-start,
+.app[running="true"] > .app-buttons > .button-stop,
+.app[running="true"] > .app-buttons > .button-debug {
+  display: inline-block;
+}
+/*
+.button-debug {
+  color: #3498DB;
+}
+
+.button-debug:hover {
+  background-color: #3498DB;
+  color: #FFF;
+}
+
+.button-debug[disabled] {
+  color: #3498DB;
+}
+
+.button-start {
+  color: #18BC9C
+}
+
+.button-start:hover {
+  background-color: #18BC9C;
+  color: #FFF;
+}
+
+.button-start[disabled] {
+  color: #18BC9C
+}
+
+.button-stop {
+  color: #E74C3C;
+}
+
+.button-stop:hover {
+  background-color: #E74C3C;
+  color: #FFF;
+}
+
+.button-stop[disabled] {
+  color: #E74C3C;
+}
+*/
+
+
+/*****************     PERMISSIONS     *****************/
+
+
+
+
+.permission-table {
+  display: flex;
+  flex-direction: column;
+  height: 100%;
+}
+
+.permission-table-body {
+  overflow: auto;
+  display: flex;
+  flex-grow: 1;
+  flex-direction: column;
+}
+
+.permission-table-header,
+.permission-table-footer {
+  display: flex;
+  background: #000000;
+  border-top: 1px solid #9C9CFF;
+  z-index: 2;
+  flex-shrink: 0;
+}
+
+.permission-table-header > div,
+.permission-table-footer > div {
+  z-index: 2;
+  flex-grow: 1;
+  background-color: #000000;
+  color: #FF9F00;
+  border: 0;
+  margin: auto 0;
+  padding: 5px;
+  text-align: center;
+  background: transparent;
+  box-shadow: none;
+  text-shadow: none;
+}
+
+.permission-table-header > div {
+  flex-basis: 20%;
+}
+
+.permission-table-header > div:first-child {
+  text-align: left;
+  padding-left: 10px;
+  flex-basis: 30%;
+}
+
+.permission-table-header {
+  border: 0;
+  border-bottom: 1px solid #9C9CFF;
+/*  box-shadow: 0 1px 4px rgba(0,0,0,0.3);*/
+}
+
+.permission-table-footer {
+/*  box-shadow: 0 -1px 4px rgba(0,0,0,0.3);*/
+}
+
+.permission {
+  display: flex;
+  flex-grow: 1;
+}
+
+.permission:nth-child(odd) {
+  background-color: #404000;
+}
+
+.permission:hover {
+  background-color: #FFCF00;
+  color: #000000;
+}
+
+.permission > div {
+  flex-grow: 1;
+  flex-basis: 20%;
+  text-align: center;
+  padding: 3px;
+  border-right: 1px solid #9C9CFF;
+  border-bottom: 1px solid #9C9CFF;
+}
+
+.permission > div:first-child {
+  text-align: left;
+  padding: 3px 10px;
+  flex-basis: 30%;
+  font-weight: bold;
+}
+
+.permission > div[permission="1"]:before, .allow-label:after {
+  color: #008484;
+  content: '   \2713';
+}
+
+.permission > div[permission="2"]:before, .deny-label:after {
+  color: #FF0000;
+  content: '   \2715';
+}
+
+.permission > div[permission="3"]:before, .prompt-label:after {
+  color: #9C9CFF;
+  content: '   !';
+}
+
+
+
+
+/*****************     SIDEBAR      *****************/
+
+
+
+
+#sidebar {
+  background: #000000;
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  flex: 0 0 350px;
+  overflow: hidden;
+  z-index: 100;
+}
+
+.sidebar-item {
+  background-color: #000000;
+  color: #FF9F00;
+  line-height: 120%;
+  cursor: pointer;
+  display: flex;
+  padding: 15px 10px;
+  display: block;
+  text-align: left;
+  flex-grow: 1;
+}
+
+.sidebar-item > * {
+  flex-shrink: 0;
+}
+
+.sidebar-item:hover,
+.sidebar-item.selected:hover {
+  background-color: #FFCF00;
+  color: #000000
+}
+
+.sidebar-item.selected {
+  background-color: #008484;
+  color: #000000;
+}
+
+.help {
+  float: right;
+  padding: 0 5px;
+}
+
+/*****************     HEADER      *****************/
+
+header {
+  padding-top: 140px;
+  color: #9C9CFF;
+  padding: 10px;
+}
+
+
+
+/*****************      APPS       *****************/
+
+
+
+
+.apps {
+  display: flex;
+  flex-direction: column;
+  overflow: auto;
+}
+
+.app {
+  display: flex;
+  align-items: center;
+  order: 1;
+}
+
+.app-name {
+  flex-grow: 1;
+  font-weight: bold;
+}
+
+.app {
+  padding: 10px 20px;
+  border-bottom: 1px solid #9C9CFF;
+}
+
+.app:hover {
+  background-color: #404000
+}
+
+.app-icon {
+  width: 32px;
+  height: 32px;
+  margin-right: 10px;
+}
+
+
+
+/*****************      NOT CONNECTED      *****************/
+
+
+
+body:not(.notconnected) > #notConnectedMessage,
+body.notconnected > #content {
+  display: none;
+}
+
+#notConnectedMessage {
+  flex-grow: 1;
+  flex-direction: column;
+  margin: 50px auto;
+}
+
+#notConnectedMessage > span {
+  padding: 20px;
+  border: 1px solid #9C9CFF;
+  border-radius: 5px;
+}
+
+#notConnectedMessage > span:before {
+  content: '';
+  background: url('error.svg') no-repeat;
+  background-size: 18px;
+  height: 24px;
+  width: 24px;
+  position: relative;
+  top: 10px;
+  display: inline-block;
+}
+
+
+
+/*****************      TABS       *****************/
+
+#tabs {
+  flex-grow: 1;
+  overflow: auto;
+}
+
+.tabpanel:not(.selected) {
+  display: none;
+}
+
+#tabs-headers {
+  flex-shrink: 0;
+  display: flex;
+  flex-direction: column;
+}
diff --git a/LCARStrek/browser/devtools/app-manager/error.svg b/LCARStrek/browser/devtools/app-manager/error.svg
new file mode 100644 (file)
index 0000000..fe0cf54
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<!-- This Source Code Form is subject to the terms of the Mozilla Public\r
+   - License, v. 2.0. If a copy of the MPL was not distributed with this\r
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->\r
+\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
+<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="64px" height="64px" viewBox="0 0 64 64">\r
+  <path fill="#FF0000" d="M32,4.894c-15.74,0-28.5,12.76-28.5,28.5s12.76,28.5,28.5,28.5s28.5-12.76,28.5-28.5S47.74,4.894,32,4.894\r
+    z M46.903,48.674c-1.817,1.817-4.691,1.76-6.449,0.002l-8.327-8.327l-8.151,8.151c-1.877,1.877-4.87,1.814-6.685,0\r
+    c-1.877-1.877-1.879-4.811-0.002-6.687l8.151-8.151l-8.327-8.327c-1.76-1.76-1.817-4.634,0-6.451c1.76-1.76,4.691-1.76,6.451,0\r
+    l8.327,8.327l8.151-8.151c1.877-1.877,4.811-1.874,6.687,0.002c1.814,1.814,1.877,4.808,0,6.685l-8.151,8.151l8.327,8.327\r
+    C48.662,43.982,48.662,46.914,46.903,48.674z"/>\r
+</svg>\r
diff --git a/LCARStrek/browser/devtools/app-manager/help.css b/LCARStrek/browser/devtools/app-manager/help.css
new file mode 100644 (file)
index 0000000..62b043c
--- /dev/null
@@ -0,0 +1,51 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+html, body {
+  margin: 0;
+  height: 100%;
+}
+
+body {
+  color: #FF9F00;
+  font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif;
+  overflow: hidden;
+  max-width: 600px;
+  margin: auto;
+  padding: 20px 0;
+  background-color: #000000;
+}
+
+button {
+  border: none;
+  border-radius: 300px;
+  padding-top: 1px;
+  padding-bottom: 2px;
+  -moz-padding-start: .5em;
+  -moz-padding-end: calc(.5em + 1px);
+  cursor: pointer;
+  background-color: #C09070;
+  text-transform: uppercase;
+  color: #000000;
+}
+
+button:hover {
+  background-color: #FFCF00;
+  color: #000000;
+}
+
+button:hover:active {
+  padding-top: 2px;
+  padding-bottom: 1px;
+  -moz-padding-start: calc(.5em + 1px);
+  -moz-padding-end: .5em;
+}
+
+a, a:visited {
+  color: #3333FF;
+}
+
+#close-button {
+  float: right;
+}
diff --git a/LCARStrek/browser/devtools/app-manager/index-icons.svg b/LCARStrek/browser/devtools/app-manager/index-icons.svg
new file mode 100644 (file)
index 0000000..e25705d
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        width="160px" height="240px" viewBox="0 0 160 240" enable-background="new 0 0 160 240" xml:space="preserve">\r
+<rect y="40" display="none" fill="#000000" width="84" height="160"/>\r
+<rect x="80.75" y="40" display="none" fill="#194866" width="84" height="160"/>\r
+<path fill="#000000" d="M40,21.149c-2.044,0.001-6.042,6.745-7.404,13.436L28,39.181v12l3.204,0l4.467-4.466\r
+       c0.457,0.478,0.96,0.88,1.5,1.199h5.652c0.543-0.318,1.05-0.719,1.507-1.199l4.466,4.466l3.204,0v-12l-4.597-4.596\r
+       C46.042,27.895,42.044,21.149,40,21.149z M40.005,28.185c0.712,0,1.965,2,2.746,4.392c-0.846-0.157-1.747-0.244-2.686-0.244\r
+       c-0.987,0-1.933,0.099-2.815,0.271C38.03,30.199,39.289,28.185,40.005,28.185z"/>\r
+<path fill="#000000" d="M41.436,50.98c0,1.41-1.094,2.553-1.459,2.553c-0.364,0-1.459-1.144-1.459-2.553\r
+       c0-0.546,0.099-1.051,0.266-1.466h-1.69c-0.198,0.731-0.31,1.549-0.31,2.412c0,3.108,2.411,5.627,3.215,5.627\r
+       s3.216-2.519,3.215-5.626c0-0.864-0.112-1.681-0.31-2.413l-1.734,0C41.337,49.929,41.436,50.434,41.436,50.98z"/>\r
+<g>\r
+       <g>\r
+               <path fill="#000000" d="M40,21.149c-2.044,0.001-6.042,6.745-7.404,13.436L28,39.181v12l3.204,0l4.467-4.466\r
+                       c0.457,0.478,0.96,0.88,1.5,1.199h5.652c0.543-0.318,1.05-0.719,1.507-1.199l4.466,4.466l3.204,0v-12l-4.597-4.596\r
+                       C46.042,27.895,42.044,21.149,40,21.149z M40.005,28.185c0.712,0,1.965,2,2.746,4.392c-0.846-0.157-1.747-0.244-2.686-0.244\r
+                       c-0.987,0-1.933,0.099-2.815,0.271C38.03,30.199,39.289,28.185,40.005,28.185z"/>\r
+               <path fill="#000000" d="M41.436,50.98c0,1.41-1.094,2.553-1.459,2.553c-0.364,0-1.459-1.144-1.459-2.553\r
+                       c0-0.546,0.099-1.051,0.266-1.466h-1.69c-0.198,0.731-0.31,1.549-0.31,2.412c0,3.108,2.411,5.627,3.215,5.627\r
+                       s3.216-2.519,3.215-5.626c0-0.864-0.112-1.681-0.31-2.413l-1.734,0C41.337,49.929,41.436,50.434,41.436,50.98z"/>\r
+       </g>\r
+</g>\r
+<g>\r
+       <path fill="#FFCF00" d="M120,21.149c-2.044,0.001-6.042,6.745-7.404,13.436L108,39.181v12l3.204,0l4.467-4.466\r
+               c0.457,0.478,0.96,0.88,1.5,1.199h5.652c0.543-0.318,1.05-0.719,1.507-1.199l4.467,4.466l3.204,0v-12l-4.597-4.596\r
+               C126.042,27.895,122.044,21.149,120,21.149z M120.005,28.185c0.712,0,1.965,2,2.746,4.392c-0.846-0.157-1.747-0.244-2.686-0.244\r
+               c-0.987,0-1.933,0.099-2.815,0.271C118.03,30.199,119.289,28.185,120.005,28.185z"/>\r
+       <path fill="#FFCF00" d="M121.436,50.98c0,1.41-1.094,2.553-1.459,2.553c-0.364,0-1.459-1.144-1.459-2.553\r
+               c0-0.546,0.099-1.051,0.266-1.466h-1.69c-0.198,0.731-0.31,1.549-0.31,2.412c0,3.108,2.411,5.627,3.215,5.627\r
+               s3.216-2.519,3.215-5.626c0-0.864-0.112-1.681-0.31-2.413l-1.734,0C121.337,49.929,121.436,50.434,121.436,50.98z"/>\r
+</g>\r
+<g>\r
+       <g>\r
+               <path fill="#000000" d="M52.5,136.017c0,2.279-1.888,4.167-4.167,4.167H31.667c-2.279,0-4.167-1.888-4.167-4.167v-33.333\r
+                       c0-2.279,1.888-4.167,4.167-4.167h16.667c2.279,0,4.167,1.888,4.167,4.167V136.017z M49.375,107.892\r
+                       c0-0.554-0.488-1.042-1.042-1.042H31.667c-0.553,0-1.042,0.488-1.042,1.042v22.917c0,0.554,0.488,1.042,1.042,1.042h16.667\r
+                       c0.553,0,1.042-0.488,1.042-1.042V107.892z M42.604,102.684h-5.208c-0.293,0-0.521,0.228-0.521,0.521\r
+                       c0,0.293,0.228,0.521,0.521,0.521h5.208c0.293,0,0.521-0.228,0.521-0.521C43.125,102.912,42.897,102.684,42.604,102.684z\r
+                        M40,133.413c-1.432,0-2.604,1.171-2.604,2.604c0,1.433,1.172,2.604,2.604,2.604s2.604-1.171,2.604-2.604\r
+                       C42.604,134.585,41.432,133.413,40,133.413z"/>\r
+       </g>\r
+</g>\r
+<g>\r
+       <path fill="#FFCF00" d="M132.5,136.017c0,2.279-1.888,4.167-4.167,4.167h-16.667c-2.279,0-4.167-1.888-4.167-4.167v-33.333\r
+               c0-2.279,1.888-4.167,4.167-4.167h16.667c2.279,0,4.167,1.888,4.167,4.167V136.017z M129.375,107.892\r
+               c0-0.554-0.488-1.042-1.042-1.042h-16.667c-0.553,0-1.042,0.488-1.042,1.042v22.917c0,0.554,0.488,1.042,1.042,1.042h16.667\r
+               c0.553,0,1.042-0.488,1.042-1.042V107.892z M122.604,102.684h-5.208c-0.293,0-0.521,0.228-0.521,0.521\r
+               c0,0.293,0.228,0.521,0.521,0.521h5.208c0.293,0,0.521-0.228,0.521-0.521C123.125,102.912,122.897,102.684,122.604,102.684z\r
+                M120,133.413c-1.432,0-2.604,1.171-2.604,2.604c0,1.433,1.172,2.604,2.604,2.604s2.604-1.171,2.604-2.604\r
+               C122.604,134.585,121.432,133.413,120,133.413z"/>\r
+</g>\r
+<g>\r
+       <path fill="#000000" d="M40,185.388c8.121,0,14.729,6.607,14.729,14.729S48.121,214.845,40,214.845s-14.729-6.607-14.729-14.729\r
+               S31.879,185.388,40,185.388 M40,182.75c-9.591,0-17.367,7.775-17.367,17.367c0,9.591,7.775,17.367,17.367,17.367\r
+               s17.367-7.775,17.367-17.367C57.367,190.525,49.591,182.75,40,182.75L40,182.75z"/>\r
+       <g>\r
+               <path fill="#000000" d="M39.565,204.504c-0.688,0-1.196-0.508-1.286-1.195l-0.299-2.57c-0.12-0.808,0.359-1.405,1.166-1.495\r
+                       c2.81-0.269,4.364-1.345,4.364-3.229v-0.06c0-1.674-1.285-2.84-3.438-2.84c-1.584,0-2.87,0.568-4.065,1.645\r
+                       c-0.299,0.239-0.688,0.418-1.106,0.418c-0.926,0-1.674-0.747-1.674-1.644c0-0.448,0.18-0.927,0.598-1.285\r
+                       c1.584-1.495,3.587-2.481,6.337-2.481c4.185,0,7.024,2.331,7.024,6.068v0.06c0,3.767-2.72,5.47-6.038,6.038l-0.12,1.375\r
+                       c-0.12,0.657-0.598,1.195-1.285,1.195H39.565z M39.565,206.687c1.226,0,2.122,0.896,2.122,2.062v0.299\r
+                       c0,1.166-0.896,2.062-2.122,2.062s-2.123-0.896-2.123-2.062v-0.299C37.442,207.583,38.339,206.687,39.565,206.687z"/>\r
+       </g>\r
+</g>\r
+<g>\r
+       <path fill="#FFCF00" d="M120,185.388c8.121,0,14.729,6.607,14.729,14.729s-6.607,14.729-14.729,14.729s-14.729-6.607-14.729-14.729\r
+               S111.879,185.388,120,185.388 M120,182.75c-9.591,0-17.367,7.775-17.367,17.367c0,9.591,7.775,17.367,17.367,17.367\r
+               s17.367-7.775,17.367-17.367C137.367,190.525,129.591,182.75,120,182.75L120,182.75z"/>\r
+       <g>\r
+               <path fill="#FFCF00" d="M119.564,204.504c-0.688,0-1.195-0.508-1.285-1.195l-0.299-2.57c-0.12-0.808,0.358-1.405,1.166-1.495\r
+                       c2.81-0.269,4.363-1.345,4.363-3.229v-0.06c0-1.674-1.285-2.84-3.438-2.84c-1.584,0-2.869,0.568-4.064,1.645\r
+                       c-0.3,0.239-0.688,0.418-1.106,0.418c-0.927,0-1.674-0.747-1.674-1.644c0-0.448,0.18-0.927,0.598-1.285\r
+                       c1.584-1.495,3.587-2.481,6.337-2.481c4.186,0,7.024,2.331,7.024,6.068v0.06c0,3.767-2.72,5.47-6.038,6.038l-0.119,1.375\r
+                       c-0.12,0.657-0.598,1.195-1.285,1.195H119.564z M119.564,206.687c1.226,0,2.122,0.896,2.122,2.062v0.299\r
+                       c0,1.166-0.896,2.062-2.122,2.062s-2.122-0.896-2.122-2.062v-0.299C117.442,207.583,118.339,206.687,119.564,206.687z"/>\r
+       </g>\r
+</g>\r
+</svg>\r
diff --git a/LCARStrek/browser/devtools/app-manager/index.css b/LCARStrek/browser/devtools/app-manager/index.css
new file mode 100644 (file)
index 0000000..4f9cb76
--- /dev/null
@@ -0,0 +1,105 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+* {
+  margin: 0;
+  padding: 0;
+  -moz-box-sizing: border-box;
+  font-family: Lucida Grande, Helvetica, Helvetica Neue, sans-serif;
+}
+
+#tabs {
+  background: #000000;
+  -moz-padding-end: 3px;
+}
+
+#toolbox-tabs {
+  overflow-y: auto;
+}
+
+.button {
+  width: 80px;
+  height: 85px;
+  padding-bottom: 5px;
+  -moz-appearance: none;
+  border: none;
+  background-color: #C09070;
+  color: #000000;
+  cursor: pointer;
+  text-align: center;
+  -moz-box-align: end;
+  font-size: 10px;
+}
+
+.button:first-child {
+  border-top: none;
+}
+
+.button:hover,
+.button[selected]:hover {
+  color: #000000;
+  background-color: #FFCF00;
+}
+
+.button[selected] {
+  color: #FFCF00;
+  background-color: #008484;
+}
+
+.button::-moz-focus-inner {
+  border-width: 0;
+}
+
+.panel {
+  border-width: 0;
+}
+
+.panel:not([selected="true"]) {
+  display: none;
+}
+
+.button.toolbox {
+  background-repeat: no-repeat;
+  background-position: center 15px;
+  background-size: 40px 40px;
+}
+
+.projects-button {
+  background-image: url('chrome://browser/skin/devtools/app-manager/index-icons.svg');
+  background-repeat: no-repeat;
+  background-position: left -5px;
+}
+
+.projects-button[selected]:not(:hover) {
+  background-position: right -5px;
+}
+
+.device-button {
+  background-image: url('chrome://browser/skin/devtools/app-manager/index-icons.svg');
+  background-position: left -85px, top left;
+  background-repeat: no-repeat, no-repeat;
+  background-size: 160px 240px, 2px 80px;
+}
+
+.device-button[selected]:not(:hover) {
+  background-position: right -85px, top left;
+}
+
+.help-button {
+  border-bottom: 0;
+  background-image: url('chrome://browser/skin/devtools/app-manager/index-icons.svg');
+  background-position: left -165px, top left;
+  background-repeat: no-repeat, no-repeat;
+  background-size: 160px 240px, 2px 80px;
+}
+
+.help-button[selected]:not(:hover) {
+  background-position: right -165px, top left;
+}
+
+#connection-footer {
+  border-width: 0;
+  height: 50px;
+  min-height: 50px;
+}
diff --git a/LCARStrek/browser/devtools/app-manager/manifest-editor.inc.css b/LCARStrek/browser/devtools/app-manager/manifest-editor.inc.css
new file mode 100644 (file)
index 0000000..dc016a7
--- /dev/null
@@ -0,0 +1,67 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* Manifest Editor overrides */
+
+.variables-view-container.manifest-editor {
+  background-color: #F5F5F5;
+  padding: 20px 13px;
+}
+
+.manifest-editor .variable-or-property:focus > .title {
+  background-color: #EDEDED;
+  color: #000;
+  border-radius: 4px;
+}
+
+.manifest-editor .variables-view-property > .title > .name {
+  color: #27406A;
+}
+
+.manifest-editor .variable-or-property > .title > label {
+  font-family: monospace;
+}
+
+.manifest-editor .variable-or-property > .title > .token-string {
+  color: #54BC6A;
+  font-weight: bold;
+}
+
+.manifest-editor .variable-or-property > .title > .token-boolean,
+.manifest-editor .variable-or-property > .title > .token-number {
+  color: #009BD4;
+  font-weight: bold;
+}
+
+.manifest-editor .variable-or-property > .title > .token-undefined {
+  color: #bbb;
+}
+
+.manifest-editor .variable-or-property > .title > .token-null {
+  color: #999;
+}
+
+.manifest-editor .variable-or-property > .title > .token-other {
+  color: #333;
+}
+
+.manifest-editor .variables-view-variable {
+  border-bottom: none;
+}
+
+.manifest-editor .variables-view-delete,
+.manifest-editor .variables-view-delete:hover,
+.manifest-editor .variables-view-delete:active {
+  list-style-image: none;
+  -moz-image-region: initial;
+}
+
+.manifest-editor .variables-view-delete::before {
+  width: 12px;
+  height: 12px;
+  content: "";
+  display: inline-block;
+  background-image: url("app-manager/remove.svg");
+  background-size: 12px auto;
+}
diff --git a/LCARStrek/browser/devtools/app-manager/plus.svg b/LCARStrek/browser/devtools/app-manager/plus.svg
new file mode 100644 (file)
index 0000000..c233865
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<!-- This Source Code Form is subject to the terms of the Mozilla Public\r
+   - License, v. 2.0. If a copy of the MPL was not distributed with this\r
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->\r
+\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
+<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="64px" height="64px" viewBox="0 0 64 64">\r
+  <path fill="#C09070" d="M32.336,3.894c-15.74,0-28.5,12.76-28.5,28.5s12.76,28.5,28.5,28.5s28.5-12.76,28.5-28.5\r
+    S48.076,3.894,32.336,3.894z M44.86,36.966h-7.823v7.62c0,2.582-2.12,4.702-4.702,4.702c-2.584,0-4.704-2.12-4.704-4.702v-7.62\r
+    h-7.817c-2.52,0-4.572-2.056-4.572-4.572s2.053-4.572,4.572-4.572h7.817v-7.62c0-2.582,2.12-4.702,4.704-4.702\r
+    c2.582,0,4.702,2.12,4.702,4.702v7.62h7.823c2.514,0,4.57,2.056,4.57,4.572S47.374,36.966,44.86,36.966z"/>\r
+</svg>\r
diff --git a/LCARStrek/browser/devtools/app-manager/projects.css b/LCARStrek/browser/devtools/app-manager/projects.css
new file mode 100644 (file)
index 0000000..3aaf667
--- /dev/null
@@ -0,0 +1,586 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+* {
+  margin: 0;
+  padding: 0;
+  -moz-box-sizing: border-box;
+  font-size: 0.9rem;
+}
+
+html, body {
+  height: 100%;
+}
+
+template {
+  display: none;
+}
+
+body {
+  display: flex;
+  color: #FF9F00;
+  background-color: #000000;
+  font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif;
+  overflow: hidden;
+}
+
+body:not(.connected) button.device-action {
+  display: none;
+}
+
+strong {
+  color: #FFCF00;
+}
+
+
+/********* SIDEBAR ***********/
+
+
+
+#sidebar {
+  display: flex;
+  flex-direction: column;
+  flex: 0 0 350px;
+  overflow: hidden;
+  z-index: 100;
+  background-color: #000000;
+  position: relative;
+  border-right: 1px solid #9C9CFF;
+}
+
+#project-list {
+  height: 100%;
+  overflow: auto;
+}
+
+#project-list:not([projects-count="0"]) > #no-project {
+  display: none;
+}
+
+#no-project {
+  padding: 100px 20px 0;
+  font-weight: bold;
+  color: #A09090;
+  font-size: 22px;
+}
+
+
+/********* PROJECT MENU ***********/
+
+
+.project-item {
+  padding: 10px 0;
+  background-color: #000000;
+  border-top: 1px solid #9C9CFF;
+  color: #FF9F00;
+  line-height: 120%;
+  cursor: pointer;
+  display: flex;
+  position: relative;
+}
+
+.project-item:hover {
+  background-color: #FFCF00;
+  color: #000000;
+}
+
+.project-item:hover strong,
+.project-item:hover p,
+.project-item:hover span {
+  color: #000000;
+}
+
+.project-item > * {
+  flex-shrink: 0;
+}
+
+.project-item.selected {
+  background-color: #008484;
+}
+
+.project-item.selected strong {
+  color: #FFCF00;
+}
+
+.project-item.selected p,
+.project-item.selected span {
+  color: #000000;
+}
+
+.button-remove {
+  background-image: url('remove.svg');
+  background-size: 20px;
+  width: 20px;
+  height: 20px;
+  position: absolute;
+  right: 5px;
+  bottom: 5px;
+  visibility: hidden;
+}
+
+.project-item:hover .button-remove {
+  visibility: visible;
+}
+
+.project-item-status {
+  width: 6px;
+  margin: -10px 0;
+  border-right: 1px solid #9C9CFF;
+}
+
+.project-item-status[status="valid"] {
+  background-color: #008484;
+}
+
+.project-item-status[status~="warning"] {
+  background-color: #FFCF00;
+}
+
+.project-item-status[status~="error"] {
+  background-color: #FF0000;
+}
+
+.project-item-icon {
+  width: 32px;
+  height: 32px;
+  margin: 0 10px;
+}
+
+.project-item-meta {
+  flex-grow: 1;
+  flex-shrink: 1 !important;
+}
+
+.project-item-type {
+  font-size: 10px;
+  line-height: 20px;
+  float: right;
+  padding-right: 10px;
+  color: #9C9CFF;
+  text-transform: uppercase;
+}
+
+.project-item-description {
+  color: #A09090;
+  font-size: 90%;
+}
+
+/********* ADD PROJECT ***********/
+
+#new-packaged-project {
+  background-position: calc(100% - 10px) 10px;
+}
+
+#new-packaged-project,
+#new-hosted-project {
+  background-color: #000000;
+  border: none;
+  border-top: 1px solid #9C9CFF;
+  padding: 10px;
+  font-weight: bold;
+}
+
+#new-packaged-project:hover,
+#new-hosted-project:hover {
+  background-color: #FFCF00;
+  color: #000000;
+}
+
+#new-hosted-project-wrapper {
+  display: flex;
+  align-items: center;
+}
+
+#new-packaged-project,
+#new-hosted-project-click {
+  background-image: url('plus.svg');
+  background-size: 20px;
+  background-repeat: no-repeat;
+  cursor: pointer;
+}
+
+#new-hosted-project-click {
+  background-position: top right;
+  width: 20px;
+  height: 20px;
+  margin-left: 5px;
+}
+
+#url-input {
+  flex-grow: 1;
+  width: 90%;
+  box-shadow: none;
+  border-radius: 3px;
+  border: 1px solid #9C9CFF;
+  padding: 4px;
+  margin-top: 4px;
+}
+
+
+/********* LENSE ***********/
+
+
+#lense {
+  height: 100%;
+  flex-grow: 1;
+  display: flex;
+  z-index: 1;
+  overflow: hidden;
+  background-color: #000000;
+  background-image: url('rocket.svg');
+  background-repeat: no-repeat, repeat;
+  background-size: 35%, auto;
+  background-position: center center, top left;
+}
+
+#lense > div {
+  display: flex;
+  flex-grow: 1;
+  flex-direction: column;
+}
+
+
+/********* PROJECT ***********/
+
+
+.project-details {
+  background-color: #000000;
+  padding: 10px;
+  line-height: 160%;
+  display: flex;
+  flex-direction: column;
+}
+
+.project-metadata {
+  flex-grow: 1;
+}
+
+.project-status {
+  display: flex;
+}
+
+.project-title {
+  flex-direction: row;
+  display: flex;
+  align-items: flex-start;
+  padding-bottom: 10px;
+  border-bottom: 1px solid #A09090;
+  margin-bottom: 10px;
+}
+
+.project-title > h1 {
+  flex-grow: 1;
+  font-size: 24px;
+}
+
+.project-location {
+  color: gray;
+  font-size: 10px;
+  cursor: pointer;
+  font-family: monospace;
+}
+
+.project-location:hover {
+  text-decoration: underline;
+}
+
+.project-header {
+  display: flex;
+  border-bottom: 1px solid #A09090;
+  margin: 10px 20px 10px 20px;
+  padding-bottom: 10px;
+}
+
+.project-icon {
+  flex-shrink: 0;
+  width: 64px;
+  height: 64px;
+  margin-right: 10px;
+}
+
+.project-location {
+  font-size: 11px;
+  color: #9C9CFF;
+}
+
+.project-description {
+  font-style: italic;
+  color: #A09090;
+}
+
+.project-status > p {
+  text-transform: uppercase;
+  font-size: 10px;
+  padding: 2px 10px;
+  border-radius: 2px;
+  margin-top: 6px;
+  line-height: 10px;
+}
+
+.project-validation {
+  color: #000000;
+  display: none;
+  margin-left: 10px;
+}
+
+.project-validation.valid {
+  background-color: #008484;
+}
+
+.project-validation.warning {
+  background-color: #FF9F00;
+}
+
+.project-validation.error {
+  background-color: #FF0000;
+}
+
+[status="valid"] > .project-validation.valid,
+[status~="warning"] > .project-validation.warning,
+[status~="error"] > .project-validation.error {
+  display: inline;
+}
+
+
+/********* PROJECT BUTTONS ***********/
+
+
+
+.project-buttons {
+  display: flex;
+  margin-left: 20px;
+  color: #FF9F00;
+}
+
+.project-buttons > button {
+  margin: 0;
+  font-size: 11px;
+  border-left-width: 0;
+  padding-top: 1px;
+  padding-bottom: 2px;
+  -moz-padding-start: .5em;
+  -moz-padding-end: calc(.5em + 1px);
+  border: none;
+  border-radius: 300px;
+  cursor: pointer;
+  background-color: #C09070;
+  text-transform: uppercase;
+}
+
+.project-buttons > button:hover:active {
+  padding-top: 2px;
+  padding-bottom: 1px;
+  -moz-padding-start: calc(.5em + 1px);
+  -moz-padding-end: .5em;
+}
+
+.project-buttons > button:not([disabled]):hover {
+  background-color: #FFCF00;
+  color: #000000;
+}
+
+.project-buttons > button[disabled] {
+  background-color: #402858;
+  color: #000000;
+  pointer-events: none;
+}
+
+.project-buttons > button:first-child {
+  border-left-width: 1px;
+}
+/*
+.project-button-debug {
+  color: #3498DB;
+}
+
+.project-button-debug:hover {
+  background-color: #3498DB;
+  color: #FFF;
+}
+
+.project-button-debug[disabled] {
+  color: #3498DB;
+}
+
+.project-button-update {
+  color: #777;
+}
+
+.project-button-update:hover {
+  background-color: #777;
+  color: #FFF;
+}
+
+.project-button-update[disabled] {
+  color: #777;
+}
+*/
+
+
+/********* ERRORS AND WARNINGS ***********/
+
+.project-warnings,
+.project-errors,
+.project-item-warnings,
+.project-item-errors {
+  display: none;
+}
+
+[status~="warning"] .project-item-warnings,
+[status~="error"] .project-item-errors {
+  display: inline-block;
+}
+
+[status~="warning"] > .project-warnings,
+[status~="error"] > .project-errors {
+  display: block;
+}
+
+.project-warnings,
+.project-errors {
+  margin: 20px 20px 0;
+  padding: 10px 10px;
+  font-family: monospace;
+}
+
+.project-warnings {
+  border-left: 3px solid #9C9CFF;
+  background-color: #FF9F00;
+}
+
+.project-errors {
+  border-left: 3px solid #9C9CFF;
+  background-color: #FF0000;
+}
+
+.project-item-warnings {
+  background-image: url('warning.svg');
+  color: #FFCF00;
+}
+
+.project-item-errors {
+  background-image: url('error.svg');
+  color: #FF0000;
+}
+
+.project-item-warnings,
+.project-item-errors {
+  background-repeat: no-repeat;
+  background-size: 12px;
+  background-position: left center;
+  margin-top: 6px;
+}
+
+.project-item-warnings > span,
+.project-item-errors > span {
+  font-size: 11px;
+  padding-left: 16px;
+  font-weight: bold;
+}
+
+
+/********* MANIFEST EDITOR ***********/
+
+.manifest-editor {
+  display: flex;
+  flex-direction: column;
+  flex-grow: 1;
+  background-color: #000000;
+}
+
+.manifest-header {
+  display: flex;
+  flex-direction: row;
+}
+
+.manifest-header > h2 {
+  font-size: 18px;
+  margin: 1em 15px 1em 30px;
+  display: none;
+}
+
+.manifest-header > button {
+  margin: 18px 0;
+  font-size: 11px;
+  border-right-width: 0;
+  padding-top: 1px;
+  padding-bottom: 2px;
+  -moz-padding-start: .5em;
+  -moz-padding-end: calc(.5em + 1px);
+  border: none;
+  border-radius: 300px;
+  cursor: pointer;
+  background-color: #C09070;
+  text-transform: uppercase;
+  display: none;
+}
+
+.manifest-header > button:hover:active {
+  padding-top: 2px;
+  padding-bottom: 1px;
+  -moz-padding-start: calc(.5em + 1px);
+  -moz-padding-end: .5em;
+}
+
+.manifest-header > button:not([disabled]):hover {
+  background-color: #FFCF00;
+  color: #000000;
+}
+
+.manifest-header > button[disabled] {
+  background-color: #402858;
+  color: #000000;
+  pointer-events: none;
+}
+
+.manifest-header > button:last-child {
+  border-right-width: 1px;
+}
+
+[type="packaged"] > .editable {
+  display: block;
+}
+
+[type="hosted"] > .viewable {
+  display: block;
+}
+/*
+.manifest-button-save {
+  color: #777;
+}
+
+.manifest-button-save:hover {
+  background-color: #777;
+  color: #FFF;
+}
+
+.manifest-button-save[disabled] {
+  color: #777;
+}
+*/
+.variables-view {
+  flex-grow: 1;
+  border: 0;
+  border-top: 5px solid #9C9CFF;
+}
+
+/* Bug 925921: Remove when the manifest editor is always on */
+
+.manifest-editor {
+  display: none;
+}
+
+.project-details {
+  flex-grow: 1;
+}
+
+#lense[manifest-editable] .manifest-editor {
+  display: flex;
+}
+
+#lense[manifest-editable] .project-details {
+  flex-grow: 0;
+}
+
+/* End blocks to remove */
diff --git a/LCARStrek/browser/devtools/app-manager/remove.svg b/LCARStrek/browser/devtools/app-manager/remove.svg
new file mode 100644 (file)
index 0000000..3fa8364
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+   - License, v. 2.0. If a copy of the MPL was not distributed with this
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="64px" height="64px" viewBox="0 0 64 64">
+<path d="m 12.183457,12.241457 c -11.129861,11.12986 -11.129861,29.175226 0,40.305086 11.12986,11.129861 29.175226,11.129861 40.305086,0 11.129861,-11.12986 11.129861,-29.175226 0,-40.305086 -11.12986,-11.129861 -29.175226,-11.129861 -40.305086,0 z m 32.241241,14.52963 -5.531697,5.531696 5.388154,5.388154 c 1.82575,1.82575 1.82575,4.823882 0,6.649632 -1.827164,1.827164 -4.825297,1.827164 -6.651047,0.0014 l -5.388153,-5.388153 -5.527454,5.527453 c -1.781909,1.781909 -4.686704,1.779081 -6.465784,0 -1.779081,-1.77908 -1.781202,-4.684582 0,-6.465784 l 5.527453,-5.527454 -5.388153,-5.388153 c -1.82575,-1.82575 -1.82575,-4.823883 0.0014,-6.651047 1.82575,-1.82575 4.823882,-1.82575 6.649632,0 l 5.388154,5.388154 5.531696,-5.531697 c 1.777667,-1.777666 4.68529,-1.777666 6.46437,0.0014 1.779081,1.77908 1.779081,4.686703 0.0014,6.46437 z"
+   style="fill:#FF0000" />
+</svg>
diff --git a/LCARStrek/browser/devtools/app-manager/rocket.svg b/LCARStrek/browser/devtools/app-manager/rocket.svg
new file mode 100644 (file)
index 0000000..94f403c
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
+\r
+<!-- This Source Code Form is subject to the terms of the Mozilla Public\r
+   - License, v. 2.0. If a copy of the MPL was not distributed with this\r
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->\r
+\r
+<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">\r
+  <g opacity="0.1">\r
+    <g>\r
+      <path fill="#FF9F00" d="M12,2.3c-1.127,0-3.333,3.721-4.084,7.411l-2.535,2.535v6.619l1.767,0l2.464-2.464\r
+        c0.252,0.264,0.529,0.486,0.827,0.662h3.118c0.299-0.175,0.579-0.397,0.831-0.662l2.464,2.464l1.767,0v-6.619l-2.535-2.535\r
+        C15.333,6.021,13.127,2.3,12,2.3z M12.003,6.181c0.393,0,1.084,1.103,1.515,2.423c-0.466-0.087-0.963-0.135-1.481-0.135\r
+        c-0.545,0-1.066,0.054-1.553,0.15C10.914,7.292,11.608,6.181,12.003,6.181z"/>\r
+      <path fill="#FF9F00" d="M12.792,18.755c0,0.778-0.603,1.408-0.805,1.408c-0.201,0-0.805-0.631-0.805-1.408\r
+        c0-0.301,0.055-0.579,0.147-0.809h-0.932c-0.109,0.403-0.171,0.854-0.171,1.33c0,1.714,1.33,3.104,1.774,3.104\r
+        s1.774-1.389,1.774-3.103c0-0.477-0.062-0.927-0.171-1.331l-0.957,0C12.738,18.175,12.792,18.453,12.792,18.755z"/>\r
+    </g>\r
+    <g>\r
+      <g>\r
+        <path fill="#A09090" d="M12,2c-1.127,0-3.333,3.721-4.084,7.411l-2.535,2.535v6.619l1.767,0l2.464-2.464\r
+          c0.252,0.264,0.529,0.486,0.827,0.662h3.118c0.299-0.175,0.579-0.397,0.831-0.662l2.464,2.464l1.767,0v-6.619l-2.535-2.535\r
+          C15.333,5.721,13.127,2,12,2z M12.003,5.881c0.393,0,1.084,1.103,1.515,2.423c-0.466-0.087-0.963-0.135-1.481-0.135\r
+          c-0.545,0-1.066,0.054-1.553,0.15C10.914,6.992,11.608,5.881,12.003,5.881z"/>\r
+        <path fill="#A09090" d="M12.792,18.455c0,0.778-0.603,1.408-0.805,1.408c-0.201,0-0.805-0.631-0.805-1.408\r
+          c0-0.301,0.055-0.579,0.147-0.809h-0.932c-0.109,0.403-0.171,0.854-0.171,1.33c0,1.714,1.33,3.104,1.774,3.104\r
+          s1.774-1.389,1.774-3.103c0-0.477-0.062-0.927-0.171-1.331l-0.957,0C12.738,17.875,12.792,18.153,12.792,18.455z"/>\r
+      </g>\r
+    </g>\r
+  </g>\r
+</svg>\r
diff --git a/LCARStrek/browser/devtools/app-manager/warning.svg b/LCARStrek/browser/devtools/app-manager/warning.svg
new file mode 100644 (file)
index 0000000..9bc6a1e
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
+\r
+<!-- This Source Code Form is subject to the terms of the Mozilla Public\r
+   - License, v. 2.0. If a copy of the MPL was not distributed with this\r
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->\r
+\r
+<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64">\r
+  <path fill="#FF9F00" d="M61.689,51.121L36.437,7.384c-2.441-4.227-6.434-4.227-8.875,0L2.311,51.121\r
+    c-2.441,4.227-0.444,7.686,4.437,7.686h50.504C62.133,58.807,64.13,55.349,61.689,51.121z M35.968,47.68\r
+    c0,2.191-1.688,3.877-3.968,3.877s-3.968-1.686-3.968-3.877v-0.093c0-2.187,1.688-3.873,3.968-3.873s3.968,1.686,3.968,3.873V47.68z\r
+    M36.059,21.548l-1.961,17.146c-0.137,1.233-0.958,2.009-2.098,2.009s-1.961-0.776-2.098-2.009l-1.961-17.146\r
+    c-0.137-1.322,0.592-2.325,1.825-2.325h4.469C35.466,19.223,36.196,20.226,36.059,21.548z"/>\r
+</svg>\r