[OSD] updates including inflection.js, stylistic cleanups including 2 spaces instead of 4, change the default background image back

10.3.x-maintenance
nathan 2016-08-12 21:53:38 -07:00
parent 53a2a74c33
commit 32c3f40abb
8 changed files with 224 additions and 189 deletions

BIN
images/osd-bg-1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 KiB

After

Width:  |  Height:  |  Size: 1.1 MiB

31
js/libraries/inflection.min.js vendored Normal file
View File

@ -0,0 +1,31 @@
/*!
* inflection
* Copyright(c) 2011 Ben Lin <ben@dreamerslab.com>
* MIT Licensed
*
* @fileoverview
* A port of inflection-js to node.js module.
*/
(function(a,b){if(typeof define==="function"&&define.amd){define([],b);
}else{if(typeof exports==="object"){module.exports=b();}else{a.inflection=b();}}}(this,function(){var d=["accommodation","adulthood","advertising","advice","aggression","aid","air","aircraft","alcohol","anger","applause","arithmetic","assistance","athletics","bacon","baggage","beef","biology","blood","botany","bread","butter","carbon","cardboard","cash","chalk","chaos","chess","crossroads","countryside","dancing","deer","dignity","dirt","dust","economics","education","electricity","engineering","enjoyment","envy","equipment","ethics","evidence","evolution","fame","fiction","flour","flu","food","fuel","fun","furniture","gallows","garbage","garlic","genetics","gold","golf","gossip","grammar","gratitude","grief","guilt","gymnastics","happiness","hardware","harm","hate","hatred","health","heat","help","homework","honesty","honey","hospitality","housework","humour","hunger","hydrogen","ice","importance","inflation","information","innocence","iron","irony","jam","jewelry","judo","karate","knowledge","lack","laughter","lava","leather","leisure","lightning","linguine","linguini","linguistics","literature","litter","livestock","logic","loneliness","luck","luggage","macaroni","machinery","magic","management","mankind","marble","mathematics","mayonnaise","measles","methane","milk","money","mud","music","mumps","nature","news","nitrogen","nonsense","nurture","nutrition","obedience","obesity","oxygen","pasta","patience","physics","poetry","pollution","poverty","pride","psychology","publicity","punctuation","quartz","racism","relaxation","reliability","research","respect","revenge","rice","rubbish","rum","safety","scenery","seafood","seaside","series","shame","sheep","shopping","sleep","smoke","smoking","snow","soap","software","soil","spaghetti","species","steam","stuff","stupidity","sunshine","symmetry","tennis","thirst","thunder","timber","traffic","transportation","trust","underwear","unemployment","unity","validity","veal","vegetation","vegetarianism","vengeance","violence","vitality","warmth","wealth","weather","welfare","wheat","wildlife","wisdom","yoga","zinc","zoology"];
var i={plural:{men:new RegExp("^(m|wom)en$","gi"),people:new RegExp("(pe)ople$","gi"),children:new RegExp("(child)ren$","gi"),tia:new RegExp("([ti])a$","gi"),analyses:new RegExp("((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$","gi"),hives:new RegExp("(hi|ti)ves$","gi"),curves:new RegExp("(curve)s$","gi"),lrves:new RegExp("([lr])ves$","gi"),foves:new RegExp("([^fo])ves$","gi"),movies:new RegExp("(m)ovies$","gi"),aeiouyies:new RegExp("([^aeiouy]|qu)ies$","gi"),series:new RegExp("(s)eries$","gi"),xes:new RegExp("(x|ch|ss|sh)es$","gi"),mice:new RegExp("([m|l])ice$","gi"),buses:new RegExp("(bus)es$","gi"),oes:new RegExp("(o)es$","gi"),shoes:new RegExp("(shoe)s$","gi"),crises:new RegExp("(cris|ax|test)es$","gi"),octopi:new RegExp("(octop|vir)i$","gi"),aliases:new RegExp("(alias|canvas|status|campus)es$","gi"),summonses:new RegExp("^(summons)es$","gi"),oxen:new RegExp("^(ox)en","gi"),matrices:new RegExp("(matr)ices$","gi"),vertices:new RegExp("(vert|ind)ices$","gi"),feet:new RegExp("^feet$","gi"),teeth:new RegExp("^teeth$","gi"),geese:new RegExp("^geese$","gi"),quizzes:new RegExp("(quiz)zes$","gi"),whereases:new RegExp("^(whereas)es$","gi"),criteria:new RegExp("^(criteri)a$","gi"),genera:new RegExp("^genera$","gi"),ss:new RegExp("ss$","gi"),s:new RegExp("s$","gi")},singular:{man:new RegExp("^(m|wom)an$","gi"),person:new RegExp("(pe)rson$","gi"),child:new RegExp("(child)$","gi"),ox:new RegExp("^(ox)$","gi"),axis:new RegExp("(ax|test)is$","gi"),octopus:new RegExp("(octop|vir)us$","gi"),alias:new RegExp("(alias|status|canvas|campus)$","gi"),summons:new RegExp("^(summons)$","gi"),bus:new RegExp("(bu)s$","gi"),buffalo:new RegExp("(buffal|tomat|potat)o$","gi"),tium:new RegExp("([ti])um$","gi"),sis:new RegExp("sis$","gi"),ffe:new RegExp("(?:([^f])fe|([lr])f)$","gi"),hive:new RegExp("(hi|ti)ve$","gi"),aeiouyy:new RegExp("([^aeiouy]|qu)y$","gi"),x:new RegExp("(x|ch|ss|sh)$","gi"),matrix:new RegExp("(matr)ix$","gi"),vertex:new RegExp("(vert|ind)ex$","gi"),mouse:new RegExp("([m|l])ouse$","gi"),foot:new RegExp("^foot$","gi"),tooth:new RegExp("^tooth$","gi"),goose:new RegExp("^goose$","gi"),quiz:new RegExp("(quiz)$","gi"),whereas:new RegExp("^(whereas)$","gi"),criterion:new RegExp("^(criteri)on$","gi"),genus:new RegExp("^genus$","gi"),s:new RegExp("s$","gi"),common:new RegExp("$","gi")}};
var g=[[i.plural.men],[i.plural.people],[i.plural.children],[i.plural.tia],[i.plural.analyses],[i.plural.hives],[i.plural.curves],[i.plural.lrves],[i.plural.foves],[i.plural.aeiouyies],[i.plural.series],[i.plural.movies],[i.plural.xes],[i.plural.mice],[i.plural.buses],[i.plural.oes],[i.plural.shoes],[i.plural.crises],[i.plural.octopi],[i.plural.aliases],[i.plural.summonses],[i.plural.oxen],[i.plural.matrices],[i.plural.feet],[i.plural.teeth],[i.plural.geese],[i.plural.quizzes],[i.plural.whereases],[i.plural.criteria],[i.plural.genera],[i.singular.man,"$1en"],[i.singular.person,"$1ople"],[i.singular.child,"$1ren"],[i.singular.ox,"$1en"],[i.singular.axis,"$1es"],[i.singular.octopus,"$1i"],[i.singular.alias,"$1es"],[i.singular.summons,"$1es"],[i.singular.bus,"$1ses"],[i.singular.buffalo,"$1oes"],[i.singular.tium,"$1a"],[i.singular.sis,"ses"],[i.singular.ffe,"$1$2ves"],[i.singular.hive,"$1ves"],[i.singular.aeiouyy,"$1ies"],[i.singular.matrix,"$1ices"],[i.singular.vertex,"$1ices"],[i.singular.x,"$1es"],[i.singular.mouse,"$1ice"],[i.singular.foot,"feet"],[i.singular.tooth,"teeth"],[i.singular.goose,"geese"],[i.singular.quiz,"$1zes"],[i.singular.whereas,"$1es"],[i.singular.criterion,"$1a"],[i.singular.genus,"genera"],[i.singular.s,"s"],[i.singular.common,"s"]];
var a=[[i.singular.man],[i.singular.person],[i.singular.child],[i.singular.ox],[i.singular.axis],[i.singular.octopus],[i.singular.alias],[i.singular.summons],[i.singular.bus],[i.singular.buffalo],[i.singular.tium],[i.singular.sis],[i.singular.ffe],[i.singular.hive],[i.singular.aeiouyy],[i.singular.x],[i.singular.matrix],[i.singular.mouse],[i.singular.foot],[i.singular.tooth],[i.singular.goose],[i.singular.quiz],[i.singular.whereas],[i.singular.criterion],[i.singular.genus],[i.plural.men,"$1an"],[i.plural.people,"$1rson"],[i.plural.children,"$1"],[i.plural.genera,"genus"],[i.plural.criteria,"$1on"],[i.plural.tia,"$1um"],[i.plural.analyses,"$1$2sis"],[i.plural.hives,"$1ve"],[i.plural.curves,"$1"],[i.plural.lrves,"$1f"],[i.plural.foves,"$1fe"],[i.plural.movies,"$1ovie"],[i.plural.aeiouyies,"$1y"],[i.plural.series,"$1eries"],[i.plural.xes,"$1"],[i.plural.mice,"$1ouse"],[i.plural.buses,"$1"],[i.plural.oes,"$1"],[i.plural.shoes,"$1"],[i.plural.crises,"$1is"],[i.plural.octopi,"$1us"],[i.plural.aliases,"$1"],[i.plural.summonses,"$1"],[i.plural.oxen,"$1"],[i.plural.matrices,"$1ix"],[i.plural.vertices,"$1ex"],[i.plural.feet,"foot"],[i.plural.teeth,"tooth"],[i.plural.geese,"goose"],[i.plural.quizzes,"$1"],[i.plural.whereases,"$1"],[i.plural.ss,"ss"],[i.plural.s,""]];
var c=["and","or","nor","a","an","the","so","but","to","of","at","by","from","into","on","onto","off","out","in","over","with","for"];var k=new RegExp("(_ids|_id)$","g");
var f=new RegExp("_","g");var j=new RegExp("[ _]","g");var e=new RegExp("([A-Z])","g");var h=new RegExp("^_");var b={_apply_rules:function(q,p,o,n){if(n){q=n;
}else{var r=(b.indexOf(o,q.toLowerCase())>-1);if(!r){var m=0;var l=p.length;for(;m<l;m++){if(q.match(p[m][0])){if(p[m][1]!==undefined){q=q.replace(p[m][0],p[m][1]);
}break;}}}}return q;},indexOf:function(l,r,q,m){if(!q){q=-1;}var o=-1;var p=q;var n=l.length;for(;p<n;p++){if(l[p]===r||m&&m(l[p],r)){o=p;break;}}return o;
},pluralize:function(m,l){return b._apply_rules(m,g,d,l);},singularize:function(m,l){return b._apply_rules(m,a,d,l);},inflect:function(o,n,m,l){n=parseInt(n,10);
if(isNaN(n)){return o;}if(n===0||n>1){return b._apply_rules(o,g,d,l);}else{return b._apply_rules(o,a,d,m);}},camelize:function(t,o){var v=t.split("/");
var r=0;var q=v.length;var u,m,p,n,s;for(;r<q;r++){u=v[r].split("_");p=0;n=u.length;for(;p<n;p++){if(p!==0){u[p]=u[p].toLowerCase();}s=u[p].charAt(0);s=o&&r===0&&p===0?s.toLowerCase():s.toUpperCase();
u[p]=s+u[p].substring(1);}v[r]=u.join("");}return v.join("::");},underscore:function(o,p){if(p&&o===o.toUpperCase()){return o;}var l=o.split("::");var n=0;
var m=l.length;for(;n<m;n++){l[n]=l[n].replace(e,"_$1");l[n]=l[n].replace(h,"");}return l.join("/").toLowerCase();},humanize:function(m,l){m=m.toLowerCase();
m=m.replace(k,"");m=m.replace(f," ");if(!l){m=b.capitalize(m);}return m;},capitalize:function(l){l=l.toLowerCase();return l.substring(0,1).toUpperCase()+l.substring(1);
},dasherize:function(l){return l.replace(j,"-");},titleize:function(s){s=s.toLowerCase().replace(f," ");var q=s.split(" ");var p=0;var o=q.length;var r,n,m;
for(;p<o;p++){r=q[p].split("-");n=0;m=r.length;for(;n<m;n++){if(b.indexOf(c,r[n].toLowerCase())<0){r[n]=b.capitalize(r[n]);}}q[p]=r.join("-");}s=q.join(" ");
s=s.substring(0,1).toUpperCase()+s.substring(1);return s;},demodulize:function(m){var l=m.split("::");return l[l.length-1];},tableize:function(l){l=b.underscore(l);
l=b.pluralize(l);return l;},classify:function(l){l=b.camelize(l);l=b.singularize(l);return l;},foreign_key:function(m,l){m=b.demodulize(m);m=b.underscore(m)+((l)?(""):("_"))+"id";
return m;},ordinalize:function(s){var q=s.split(" ");var o=0;var n=q.length;for(;o<n;o++){var m=parseInt(q[o],10);if(!isNaN(m)){var r=q[o].substring(q[o].length-2);
var p=q[o].substring(q[o].length-1);var l="th";if(r!="11"&&r!="12"&&r!="13"){if(p==="1"){l="st";}else{if(p==="2"){l="nd";}else{if(p==="3"){l="rd";}}}}q[o]+=l;
}}return q.join(" ");},transform:function(o,l){var n=0;var m=l.length;for(;n<m;n++){var p=l[n];if(this.hasOwnProperty(p)){o=this[p](o);}}return o;}};b.version="1.10.0";
return b;}));

View File

@ -47,6 +47,7 @@
<script type="text/javascript" src="./js/libraries/switchery/switchery.js"></script> <script type="text/javascript" src="./js/libraries/switchery/switchery.js"></script>
<script type="text/javascript" src="./js/libraries/bluebird.min.js"></script> <script type="text/javascript" src="./js/libraries/bluebird.min.js"></script>
<script type="text/javascript" src="./js/libraries/jquery.ba-throttle-debounce.min.js"></script> <script type="text/javascript" src="./js/libraries/jquery.ba-throttle-debounce.min.js"></script>
<script type="text/javascript" src="./js/libraries/inflection.min.js"></script>
<script type="text/javascript" src="./js/injected_methods.js"></script> <script type="text/javascript" src="./js/injected_methods.js"></script>
<script type="text/javascript" src="./js/port_handler.js"></script> <script type="text/javascript" src="./js/port_handler.js"></script>
<script type="text/javascript" src="./js/port_usage.js"></script> <script type="text/javascript" src="./js/port_usage.js"></script>

View File

@ -1,276 +1,276 @@
.tab-osd .info { .tab-osd .info {
margin: 10px 0 0 0; margin: 10px 0 0 0;
position: relative; position: relative;
} }
.tab-osd .info .progressLabel { .tab-osd .info .progressLabel {
position: absolute; position: absolute;
width: 100%; width: 100%;
height: 26px; height: 26px;
top: 0px; top: 0px;
left: 0; left: 0;
text-align: center; text-align: center;
line-height: 24px; line-height: 24px;
color: white; color: white;
font-weight: bold; font-weight: bold;
/* text-shadow: 1px 0px 2px rgba(0, 0, 0, 0.9);*/ /* text-shadow: 1px 0px 2px rgba(0, 0, 0, 0.9);*/
} }
.darkgrey { .darkgrey {
background-color: #575757; background-color: #575757;
} }
.tab-osd .spacer_box_title { .tab-osd .spacer_box_title {
float: none; float: none;
} }
.tab-osd .info { .tab-osd .info {
float: left; float: left;
width: 100%; width: 100%;
} }
.info .progressLabel a { .info .progressLabel a {
color: white; color: white;
} }
.info .progressLabel a:hover { .info .progressLabel a:hover {
text-decoration: underline; text-decoration: underline;
} }
.info .progress { .info .progress {
width: 100%; width: 100%;
height: 26px; height: 26px;
border-radius: 5px; border-radius: 5px;
border: 1px solid silver; border: 1px solid silver;
} }
.info .progress { .info .progress {
-webkit-appearance: none; -webkit-appearance: none;
} }
.info .progress::-webkit-progress-bar { .info .progress::-webkit-progress-bar {
background-color: #4f4f4f; background-color: #4f4f4f;
border-radius: 4px; border-radius: 4px;
box-shadow: inset 0px 0px 5px #2f2f2f; box-shadow: inset 0px 0px 5px #2f2f2f;
} }
.info .progress::-webkit-progress-value { .info .progress::-webkit-progress-value {
background-color: #F86008; background-color: #F86008;
border-radius: 4px; border-radius: 4px;
} }
.info .progress.valid::-webkit-progress-bar { .info .progress.valid::-webkit-progress-bar {
background-color: #56ac1d; background-color: #56ac1d;
border-radius: 4px; border-radius: 4px;
} }
.info .progress.valid::-webkit-progress-value { .info .progress.valid::-webkit-progress-value {
background-color: #56ac1d; background-color: #56ac1d;
border-radius: 4px; border-radius: 4px;
} }
.info .progress.invalid::-webkit-progress-bar { .info .progress.invalid::-webkit-progress-bar {
background-color: #A62E32; background-color: #A62E32;
border-radius: 4px; border-radius: 4px;
} }
.info .progress.invalid::-webkit-progress-value { .info .progress.invalid::-webkit-progress-value {
background-color: #A62E32; background-color: #A62E32;
border-radius: 4px; border-radius: 4px;
} }
.tab-osd ul li { .tab-osd ul li {
list-style: initial; list-style: initial;
list-style-type: circle; list-style-type: circle;
margin-left: 30px; margin-left: 30px;
} }
.tab-osd .options { .tab-osd .options {
position: relative; position: relative;
margin-bottom: 10px; margin-bottom: 10px;
line-height: 18px; line-height: 18px;
text-align: left; text-align: left;
} }
.tab-osd td { .tab-osd td {
text-align: left; text-align: left;
} }
.tab-osd .options label input { .tab-osd .options label input {
float: left; float: left;
margin-top: 2px; margin-top: 2px;
} }
.tab-osd .options label span { .tab-osd .options label span {
font-weight: bold; font-weight: bold;
margin-left: 6px; margin-left: 6px;
} }
.tab-osd .options select { .tab-osd .options select {
width: 300px; width: 300px;
height: 20px; height: 20px;
border: 1px solid silver; border: 1px solid silver;
} }
.tab-osd .options .releases select { .tab-osd .options .releases select {
width: 280px; width: 280px;
} }
.tab-osd .option.releases { .tab-osd .option.releases {
margin: 0 0 2px 0; margin: 0 0 2px 0;
line-height: 20px; line-height: 20px;
} }
.tab-osd .options .description { .tab-osd .options .description {
position: relative; position: relative;
left: 0px; left: 0px;
font-style: italic; font-style: italic;
color: #818181; color: #818181;
} }
.tab-osd .cf_table td:last-child { .tab-osd .cf_table td:last-child {
text-align: left; text-align: left;
} }
.tab-osd .options .flash_on_connect_wrapper { .tab-osd .options .flash_on_connect_wrapper {
display: none; display: none;
} }
.tab-osd .options .manual_baud_rate select { .tab-osd .options .manual_baud_rate select {
width: 75px; width: 75px;
margin-left: 19px; margin-left: 19px;
} }
.tab-osd .release_info { .tab-osd .release_info {
display: none; display: none;
} }
.tab-osd .release_info .title { .tab-osd .release_info .title {
line-height: 20px; line-height: 20px;
text-align: center; text-align: center;
font-weight: bold; font-weight: bold;
color: white; color: white;
border-bottom: 1px solid silver; border-bottom: 1px solid silver;
background-color: #3f4241; background-color: #3f4241;
} }
.tab-osd .release_info .target { .tab-osd .release_info .target {
color: blue; color: blue;
} }
.tab-osd .release_info p { .tab-osd .release_info p {
padding: 5px; padding: 5px;
} }
.tab-osd .release_info p a { .tab-osd .release_info p a {
font-weight: bold; font-weight: bold;
} }
.tab-osd .release_info p a:hover { .tab-osd .release_info p a:hover {
text-decoration: underline; text-decoration: underline;
} }
.tab-osd .release_info .notes { .tab-osd .release_info .notes {
padding: 5px; padding: 5px;
} }
.tab-osd .git_info { .tab-osd .git_info {
display: none; display: none;
margin-bottom: 10px; margin-bottom: 10px;
border: 1px solid silver; border: 1px solid silver;
} }
.tab-osd .git_info .title { .tab-osd .git_info .title {
line-height: 20px; line-height: 20px;
text-align: center; text-align: center;
font-weight: bold; font-weight: bold;
color: white; color: white;
border-bottom: 1px solid silver; border-bottom: 1px solid silver;
background-color: #3f4241; background-color: #3f4241;
} }
.tab-osd .git_info p { .tab-osd .git_info p {
padding: 5px; padding: 5px;
} }
.tab-osd .git_info p a { .tab-osd .git_info p a {
font-weight: bold; font-weight: bold;
} }
.tab-osd .git_info p a:hover { .tab-osd .git_info p a:hover {
text-decoration: underline; text-decoration: underline;
} }
.tab-osd .buttons { .tab-osd .buttons {
width: calc(100% - 20px); width: calc(100% - 20px);
margin-top: 10px; margin-top: 10px;
bottom: 10px; bottom: 10px;
} }
.tab-osd .buttons a { .tab-osd .buttons a {
display: block; display: block;
float: left; float: left;
margin: 0 10px 0 0; margin: 0 10px 0 0;
padding: 0 15px 0 15px; padding: 0 15px 0 15px;
height: 28px; height: 28px;
line-height: 28px; line-height: 28px;
text-align: center; text-align: center;
font-weight: bold; font-weight: bold;
border: 1px solid silver; border: 1px solid silver;
background-color: #ececec; background-color: #ececec;
} }
.tab-osd .buttons a:hover { .tab-osd .buttons a:hover {
background-color: #dedcdc; background-color: #dedcdc;
} }
.tab-osd .buttons a.flash_font.locked { .tab-osd .buttons a.flash_font.locked {
background-color: #b8b8b8; background-color: #b8b8b8;
} }
.tab-osd .buttons a.flash_font.locked:hover { .tab-osd .buttons a.flash_font.locked:hover {
cursor: default; cursor: default;
background-color: #b8b8b8; background-color: #b8b8b8;
} }
.tab-osd .buttons a.load_remote_file.locked { .tab-osd .buttons a.load_remote_file.locked {
background-color: #b8b8b8; background-color: #b8b8b8;
} }
.tab-osd .buttons a.load_remote_file.locked:hover { .tab-osd .buttons a.load_remote_file.locked:hover {
cursor: default; cursor: default;
background-color: #b8b8b8; background-color: #b8b8b8;
} }
.tab-osd .buttons .back { .tab-osd .buttons .back {
float: right; float: right;
margin: 0; margin: 0;
} }
.tab-osd .btn .disabled { .tab-osd .btn .disabled {
cursor: default; cursor: default;
color: #fff; color: #fff;
background-color: #AFAFAF; background-color: #AFAFAF;
border: none; border: none;
pointer-events: none; pointer-events: none;
text-shadow: none; text-shadow: none;
opacity: 0.5; opacity: 0.5;
} }
.tab-osd .display-layout label { .tab-osd .display-layout label {
margin: .25em .1em; margin: .25em .1em;
display: inline-block; display: inline-block;
} }
.tab-osd .display-layout input { .tab-osd .display-layout input {
margin: .1em 1em; margin: .1em 1em;
} }
.tab-osd .display-layout input.position{ .tab-osd .display-layout input.position{
width: 5em; width: 5em;
border-bottom: 1px solid #ccc border-bottom: 1px solid #ccc
} }
.tab-osd .hide { .tab-osd .hide {
@ -278,125 +278,128 @@
} }
.tab-osd .note { .tab-osd .note {
padding: 1em; padding: 1em;
} }
.tab-osd .col { .tab-osd .col {
display: inline-block; display: inline-block;
} }
.tab-osd .left { .tab-osd .left {
float: left; float: left;
} }
.tab-osd .right { .tab-osd .right {
float: right; float: right;
margin-top: -7px; margin-top: -7px;
} }
.tab-osd .preview .char { .tab-osd .preview .char {
display: inline-block; display: inline-block;
padding: 0; padding: 0;
margin: 0; margin: 0;
} }
.tab-osd .preview .char[draggable="true"] { .tab-osd .preview .char[draggable="true"] {
cursor: move; cursor: move;
} }
.tab-osd .preview .row { .tab-osd .preview .row {
height: 18px; height: 18px;
} }
.tab-osd .content_wrapper { .tab-osd .content_wrapper {
height: calc(100% - 41px); height: calc(100% - 41px);
} }
.tab-osd .content_toolbar { .tab-osd .content_toolbar {
text-align: right; text-align: right;
} }
.tab-osd .content_toolbar button { .tab-osd .content_toolbar button {
margin-right: 1em; margin-right: 1em;
} }
button { button {
padding: 4px 10px !important; padding: 4px 10px !important;
font-family: 'open_sanssemibold', Arial; font-family: 'open_sanssemibold', Arial;
font-size: 9pt !important; font-size: 9pt !important;
cursor: pointer; cursor: pointer;
} }
.fontbuttons { .fontbuttons {
display: inline-block; display: inline-block;
position: absolute; position: absolute;
right: 1.2em; right: 1.2em;
top: .8em; top: .8em;
} }
.tab-osd .display-field { .tab-osd .display-field {
padding-bottom: 4px; padding-bottom: 4px;
padding-top: 4px; padding-top: 4px;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
} }
.tab-osd .display-field input { .tab-osd .display-field input {
float: right; float: right;
width: 50px; width: 50px;
border-radius: 3px; border-radius: 3px;
border: 1px solid #ddd; border: 1px solid #ddd;
padding:2px; padding:2px;
margin-top: -2px; margin-top: -2px;
display: none; display: none;
} }
.tab-osd .display-field label { .tab-osd .display-field label {
margin-left: 5px; margin-left: 5px;
} }
.tab-osd .display-fields { .tab-osd .display-fields {
float: left; float: left;
margin-top: 5px; margin-top: 5px;
margin-bottom: 8px; margin-bottom: 8px;
width: 100%; width: 100%;
} }
.spacer_box_title span { .spacer_box_title span {
font-size: 11px; font-size: 11px;
font-weight: normal; font-weight: normal;
font-family: 'open_sansregular', 'Segoe UI', Tahoma, sans-serif; font-family: 'open_sansregular', 'Segoe UI', Tahoma, sans-serif;
} }
.video-types input { .video-types input {
margin-right: 5px; margin-right: 5px;
} }
.video-types label { .video-types label {
margin-right: 10px; margin-right: 10px;
} }
.tab-osd .display-field:last-child { .tab-osd .display-field:last-child {
border-bottom: 0px; border-bottom: 0px;
} }
.tab-osd .preview { .tab-osd .preview {
width: 360px; width: 360px;
} }
.tab-osd .preview { .tab-osd .preview {
background: url(/images/osd-bg-1.png); /* please don't copy the generic background image from another project
background-size: cover; * and replace the one that @nathantsoi took :)
border-bottom-left-radius: 3px; */
border-bottom-right-radius: 3px; background: url(/images/osd-bg-1.jpg);
background-size: cover;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
} }
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) { @media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
.tab-osd .content_wrapper { .tab-osd .content_wrapper {
height: calc(100% - 30px); height: calc(100% - 30px);
} }
} }

View File

@ -17,7 +17,7 @@
<div <div
class="gui_box_titlebar" class="gui_box_titlebar"
style="margin-bottom: 0px;"> style="margin-bottom: 0px;">
<div class="spacer_box_title">OSD <div class="spacer_box_title">OSD
Elements Elements
</div> </div>
</div> </div>
@ -102,4 +102,4 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -225,83 +225,83 @@ OSD.constants = {
// order matters, so these are going in an array... pry could iterate the example map instead // order matters, so these are going in an array... pry could iterate the example map instead
DISPLAY_FIELDS: [ DISPLAY_FIELDS: [
{ {
name: 'Battery Voltage', name: 'MAIN_BATT_VOLTAGE',
default_position: -29, default_position: -29,
positionable: true, positionable: true,
preview: FONT.symbol(SYM.VOLT) + '16.8' preview: FONT.symbol(SYM.VOLT) + '16.8'
}, },
{ {
name: 'RSSI Value', name: 'RSSI_VALUE',
default_position: -59, default_position: -59,
positionable: true, positionable: true,
preview: FONT.symbol(SYM.RSSI) + '99' preview: FONT.symbol(SYM.RSSI) + '99'
}, },
{ {
name: 'Timer', name: 'TIMER',
default_position: -39, default_position: -39,
positionable: true, positionable: true,
preview: FONT.symbol(SYM.ON_M) + ' 11:11' preview: FONT.symbol(SYM.ON_M) + ' 11:11'
}, },
{ {
name: 'Throttle Position', name: 'THROTTLE_POSITION',
default_position: -9, default_position: -9,
positionable: true, positionable: true,
preview: FONT.symbol(SYM.THR) + FONT.symbol(SYM.THR1) + ' 69' preview: FONT.symbol(SYM.THR) + FONT.symbol(SYM.THR1) + ' 69'
}, },
{ {
name: 'CPU Load', name: 'CPU_LOAD',
default_position: 26, default_position: 26,
positionable: true, positionable: true,
preview: '15' preview: '15'
}, },
{ {
name: 'VTX Channel', name: 'VTX_CHANNEL',
default_position: 1, default_position: 1,
positionable: true, positionable: true,
preview: 'CH:1' preview: 'CH:1'
}, },
{ {
name: 'Voltage Warning', name: 'VOLTAGE_WARNING',
default_position: -80, default_position: -80,
positionable: true, positionable: true,
preview: 'LOW VOLTAGE' preview: 'LOW VOLTAGE'
}, },
{ {
name: 'Armed', name: 'ARMED',
default_position: -107, default_position: -107,
positionable: true, positionable: true,
preview: 'ARMED' preview: 'ARMED'
}, },
{ {
name: 'Diasrmed', name: 'DIASRMED',
default_position: -109, default_position: -109,
positionable: true, positionable: true,
preview: 'DISARMED' preview: 'DISARMED'
}, },
{ {
name: 'Artificial Horizon', name: 'ARTIFICIAL_HORIZON',
default_position: -1, default_position: -1,
positionable: false positionable: false
}, },
{ {
name: 'Horizon Sidebars', name: 'HORIZON_SIDEBARS',
default_position: -1, default_position: -1,
positionable: false positionable: false
}, },
{ {
name: 'Current Draw', name: 'CURRENT_DRAW',
default_position: -23, default_position: -23,
positionable: true, positionable: true,
preview: FONT.symbol(SYM.AMP) + '42.0' preview: FONT.symbol(SYM.AMP) + '42.0'
}, },
{ {
name: 'mAh Drawn', name: 'MAH_DRAWN',
default_position: -18, default_position: -18,
positionable: true, positionable: true,
preview: FONT.symbol(SYM.MAH) + '690' preview: FONT.symbol(SYM.MAH) + '690'
}, },
{ {
name: 'Craft Name', name: 'CRAFT_NAME',
default_position: -77, default_position: -77,
positionable: true, positionable: true,
preview: '[CRAFT_NAME]' preview: '[CRAFT_NAME]'
@ -468,7 +468,7 @@ TABS.osd.initialize = function (callback) {
}); });
}) })
); );
$field.append('<label for="'+field.name+'">'+field.name+'</label>'); $field.append('<label for="'+field.name+'">'+inflection.titleize(field.name)+'</label>');
if (field.positionable && field.position != -1) { if (field.positionable && field.position != -1) {
$field.append( $field.append(
$('<input type="number" class="'+field.index+' position"></input>') $('<input type="number" class="'+field.index+' position"></input>')
@ -522,7 +522,7 @@ TABS.osd.initialize = function (callback) {
} }
var centerishPosition = 194; var centerishPosition = 194;
// artificial horizon // artificial horizon
if ($('input[name="Artificial Horizon"]').prop('checked')) { if ($('input[name="ARTIFICIAL_HORIZON"]').prop('checked')) {
for (var i = 0; i < 9; i++) { for (var i = 0; i < 9; i++) {
OSD.data.preview[centerishPosition - 4 + i] = SYM.AH_BAR9_0 + 4; OSD.data.preview[centerishPosition - 4 + i] = SYM.AH_BAR9_0 + 4;
} }
@ -531,7 +531,7 @@ TABS.osd.initialize = function (callback) {
OSD.data.preview[centerishPosition] = SYM.AH_CENTER; OSD.data.preview[centerishPosition] = SYM.AH_CENTER;
} }
// sidebars // sidebars
if ($('input[name="Horizon Sidebars"]').prop('checked')) { if ($('input[name="HORIZON_SIDEBARS"]').prop('checked')) {
var hudwidth = OSD.constants.AHISIDEBARWIDTHPOSITION; var hudwidth = OSD.constants.AHISIDEBARWIDTHPOSITION;
var hudheight = OSD.constants.AHISIDEBARHEIGHTPOSITION; var hudheight = OSD.constants.AHISIDEBARHEIGHTPOSITION;
for (var i = -hudheight; i <= hudheight; i++) { for (var i = -hudheight; i <= hudheight; i++) {