mirror of https://github.com/rusefi/KiCad-Diff.git
Added new SVG branch. Note TKui now needs to have the layers and resolution either removed or managed in the new code. The revision selection works
This commit is contained in:
parent
474d4134be
commit
d710fc3d90
|
@ -596,18 +596,18 @@ def comparePNG(diff1, diff2, prjctName, prjctPath):
|
||||||
composite = convertProg + ' ' + p1 + ' ' + p2 + \
|
composite = convertProg + ' ' + p1 + ' ' + p2 + \
|
||||||
' "(" -clone 0-1 -compose darken -composite ")" -channel RGB -combine ' + \
|
' "(" -clone 0-1 -compose darken -composite ")" -channel RGB -combine ' + \
|
||||||
diffDir + '/' + plot
|
diffDir + '/' + plot
|
||||||
|
|
||||||
comp1 = subprocess.Popen(c1, shell=True, executable='/bin/bash')
|
comp1 = subprocess.Popen(c1, shell=True, executable='/bin/bash')
|
||||||
comp2 = subprocess.Popen(c2, shell=True, executable='/bin/bash')
|
comp2 = subprocess.Popen(c2, shell=True, executable='/bin/bash')
|
||||||
|
|
||||||
diffs = subprocess.Popen(composite, shell=True, executable='/bin/bash')
|
diffs = subprocess.Popen(composite, shell=True, executable='/bin/bash')
|
||||||
out, err = diffs.communicate()
|
out, err = diffs.communicate()
|
||||||
|
|
||||||
# Accounts for project names containing hyphens
|
# Accounts for project names containing hyphens
|
||||||
splitted = plot.split('-')
|
splitted = plot.split('-')
|
||||||
page = splitted[-2]
|
page = splitted[-2]
|
||||||
layerExt = splitted[-1]
|
layerExt = splitted[-1]
|
||||||
|
|
||||||
layer, ext = layerExt.split('.')
|
layer, ext = layerExt.split('.')
|
||||||
|
|
||||||
colour = layerCols.get(layer, '#ffffff')
|
colour = layerCols.get(layer, '#ffffff')
|
||||||
|
@ -615,7 +615,7 @@ def comparePNG(diff1, diff2, prjctName, prjctPath):
|
||||||
|
|
||||||
colourize = convertProg + ' ' + diffDir + '/' + plot + ' -fill "' + colour + \
|
colourize = convertProg + ' ' + diffDir + '/' + plot + ' -fill "' + colour + \
|
||||||
'" -fuzz 75% -opaque "#ffffff" ' + diffDir + '/' + plot
|
'" -fuzz 75% -opaque "#ffffff" ' + diffDir + '/' + plot
|
||||||
|
|
||||||
diffs = subprocess.Popen(colourize, shell=True, stdout=subprocess.PIPE)
|
diffs = subprocess.Popen(colourize, shell=True, stdout=subprocess.PIPE)
|
||||||
out, err = diffs.communicate()
|
out, err = diffs.communicate()
|
||||||
|
|
||||||
|
@ -975,16 +975,6 @@ div.responsive {{
|
||||||
diff1=diffDir1,
|
diff1=diffDir1,
|
||||||
diff2=diffDir2,
|
diff2=diffDir2,
|
||||||
prjctPath=prjctPath)
|
prjctPath=prjctPath)
|
||||||
print(diffCmnd1)
|
|
||||||
|
|
||||||
diffCmnd2 = '''diff {prjctPath}{plotDir}/{diff2}/*.kicad_pcb {prjctPath}{plotDir}/{diff1}/*.kicad_pcb | grep {mod} | sed 's/> /<\/div><div class="differences added">/g' | sed 's/< /<\/div><div class="differences removed">/g' | sed 's/\/n/<\/div>/g' '''.format(
|
|
||||||
layername=filename,
|
|
||||||
plotDir=plotDir,
|
|
||||||
diff1=diffDir1,
|
|
||||||
diff2=diffDir2,
|
|
||||||
prjctPath=prjctPath,
|
|
||||||
mod=layer,
|
|
||||||
webDir=webDir)
|
|
||||||
|
|
||||||
diff1Txt = Popen(
|
diff1Txt = Popen(
|
||||||
diffCmnd1,
|
diffCmnd1,
|
||||||
|
@ -995,15 +985,28 @@ div.responsive {{
|
||||||
close_fds=True)
|
close_fds=True)
|
||||||
stdout, stderr = diff1Txt.communicate()
|
stdout, stderr = diff1Txt.communicate()
|
||||||
|
|
||||||
diff2Txt = Popen(
|
|
||||||
diffCmnd2,
|
diffCmnd2 = '''diff {prjctPath}{plotDir}/{diff2}/*.kicad_pcb {prjctPath}{plotDir}/{diff1}/*.kicad_pcb | grep {mod} | sed 's/> /<\/div><div class="differences added">/g' | sed 's/< /<\/div><div class="differences removed">/g' | sed -e 's/\/n/<\/div>/g' | sed 's/(layer {mod})//g' '''.format(
|
||||||
shell=True,
|
layername=filename,
|
||||||
stdin=PIPE,
|
plotDir=plotDir,
|
||||||
stdout=PIPE,
|
diff1=diffDir1,
|
||||||
stderr=PIPE,
|
diff2=diffDir2,
|
||||||
close_fds=True)
|
prjctPath=prjctPath,
|
||||||
stdout, stderr = diff2Txt.communicate()
|
mod=layer,
|
||||||
out = stdout.decode('utf8')
|
webDir=webDir)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
diff2Txt = Popen(
|
||||||
|
diffCmnd2,
|
||||||
|
shell=True,
|
||||||
|
stdin=PIPE,
|
||||||
|
stdout=PIPE,
|
||||||
|
stderr=PIPE,
|
||||||
|
close_fds=True)
|
||||||
|
stdout, stderr = diff2Txt.communicate()
|
||||||
|
out = stdout.decode('utf8')
|
||||||
|
print(diffCmnd2)
|
||||||
|
|
||||||
tryptychOut.write(out)
|
tryptychOut.write(out)
|
||||||
|
|
||||||
|
|
643
style.css
643
style.css
|
@ -1,433 +1,598 @@
|
||||||
/* style.css */
|
body
|
||||||
|
{
|
||||||
body {
|
background-color: #002b36;
|
||||||
background-color: #282C35;
|
margin: 0 auto;
|
||||||
|
max-width: 45cm;
|
||||||
|
border: 1pt solid #586e75;
|
||||||
|
padding: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gallery {
|
.gallery
|
||||||
|
{
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
|
background-color: #222;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gallery:hover {
|
.gallery:hover
|
||||||
|
{
|
||||||
border: 1px solid #777;
|
border: 1px solid #777;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gallery img {
|
.gallery img
|
||||||
|
{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.desc {
|
.desc,.title
|
||||||
|
{
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font: 15px arial, sans-serif;
|
font: 15px arial,sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
.title
|
||||||
padding: 15px;
|
{
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font: 25px arial, sans-serif;
|
font: 25px arial,sans-serif;
|
||||||
color: #202b34;
|
color: #202b34;
|
||||||
}
|
}
|
||||||
|
|
||||||
.subtitle {
|
.details,.subtitle
|
||||||
|
{
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font: 20px arial, sans-serif;
|
font: 20px arial,sans-serif;
|
||||||
color: #000000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.details {
|
.details
|
||||||
|
{
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
text-align: left;
|
font: 15px arial,sans-serif;
|
||||||
font: 15px arial, sans-serif;
|
|
||||||
color: #000000;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.differences{
|
.differences
|
||||||
|
{
|
||||||
|
font: 12px courier,monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
.differences,.td,.th
|
||||||
|
{
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font: 18px courier, monospace;
|
color: #000;
|
||||||
color: #000000;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.th
|
||||||
.th {
|
{
|
||||||
padding: 5px;
|
font-weight: 700;
|
||||||
text-align: left;
|
font: 20px arial,sans-serif;
|
||||||
font: 20px arial, sans-serif;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #000000;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.td {
|
.td
|
||||||
padding: 5px;
|
{
|
||||||
text-align: left;
|
font: 15px arial,sans-serif;
|
||||||
font: 15px arial, sans-serif;
|
|
||||||
color: #000000;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
*
|
||||||
|
{
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.responsive
|
||||||
.responsive {
|
{
|
||||||
padding: 0 6px;
|
padding: 0 6px;
|
||||||
float: left;
|
float: left;
|
||||||
width: 19.99999%;
|
width: 19.99999%;
|
||||||
margin: 6px 0;
|
margin: 6px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width:700px)
|
||||||
@media only screen and (max-width: 700px) {
|
{
|
||||||
.responsive {
|
.responsive
|
||||||
|
{
|
||||||
width: 49.98%;
|
width: 49.98%;
|
||||||
margin: 6px 0;
|
margin: 6px 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 500px) {
|
@media only screen and (max-width:500px)
|
||||||
.responsive {
|
{
|
||||||
|
.responsive
|
||||||
|
{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 6px 0;
|
margin: 6px 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.clearfix:after {
|
.responsivefull {
|
||||||
|
padding: 0 6px;
|
||||||
|
float: left;
|
||||||
|
width: 100%;
|
||||||
|
margin: 6px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clearfix:after
|
||||||
|
{
|
||||||
content: "";
|
content: "";
|
||||||
display: table;
|
display: table;
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box {
|
.box
|
||||||
|
{
|
||||||
float: left;
|
float: left;
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
border: 1px solid rgba(0, 0, 0, .2);
|
border: 1px solid rgba(0,0,0,.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
.red {
|
.red
|
||||||
background: #F40008;
|
{
|
||||||
|
background: #ba312d;
|
||||||
}
|
}
|
||||||
|
|
||||||
.green {
|
.green
|
||||||
background: #43ff01;
|
{
|
||||||
|
background: #5eb6c4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.white {
|
.white
|
||||||
background: #ffffff;
|
{
|
||||||
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.added {
|
.added
|
||||||
color: #5EB6C4;
|
{
|
||||||
|
color: #5eb6c4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.removed {
|
.removed
|
||||||
color: #BA312D;
|
{
|
||||||
|
color: #ba312d;
|
||||||
}
|
}
|
||||||
@import url(http://fonts.googleapis.com/css?family=Inconsolata);
|
|
||||||
@import url(http://fonts.googleapis.com/css?family=PT+Sans);
|
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary
|
||||||
@import url(http://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700);
|
{
|
||||||
article,
|
|
||||||
aside,
|
|
||||||
details,
|
|
||||||
figcaption,
|
|
||||||
figure,
|
|
||||||
footer,
|
|
||||||
header,
|
|
||||||
hgroup,
|
|
||||||
nav,
|
|
||||||
section,
|
|
||||||
summary {
|
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
audio,
|
|
||||||
canvas,
|
audio,canvas,video
|
||||||
video {
|
{
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
audio:not([controls]) {
|
|
||||||
|
audio:not([controls])
|
||||||
|
{
|
||||||
display: none;
|
display: none;
|
||||||
height: 0;
|
height: 0;
|
||||||
}
|
}
|
||||||
[hidden] {
|
|
||||||
|
[hidden]
|
||||||
|
{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
html {
|
|
||||||
font-family: sans-serif;
|
html
|
||||||
-webkit-text-size-adjust: 100%;
|
{
|
||||||
-ms-text-size-adjust: 100%;
|
-webkit-text-size-adjust: 80%;
|
||||||
|
-ms-text-size-adjust: 90%;
|
||||||
|
font-family: 'PT Sans',sans-serif;
|
||||||
|
background-color: #073642;
|
||||||
|
color: #e2e3e3;
|
||||||
|
margin: 1em;
|
||||||
}
|
}
|
||||||
body {
|
|
||||||
margin: 0;
|
a:focus
|
||||||
}
|
{
|
||||||
a:focus {
|
|
||||||
outline: thin dotted;
|
outline: thin dotted;
|
||||||
}
|
}
|
||||||
a:active,
|
|
||||||
a:hover {
|
a:active,a:hover
|
||||||
|
{
|
||||||
outline: 0;
|
outline: 0;
|
||||||
}
|
}
|
||||||
h1 {
|
|
||||||
font-size: 2em;
|
abbr[title]
|
||||||
}
|
{
|
||||||
abbr[title] {
|
|
||||||
border-bottom: 1px dotted;
|
border-bottom: 1px dotted;
|
||||||
}
|
}
|
||||||
b,
|
|
||||||
strong {
|
b,strong
|
||||||
font-weight: bold;
|
{
|
||||||
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
dfn {
|
|
||||||
|
dfn
|
||||||
|
{
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
mark {
|
|
||||||
|
mark
|
||||||
|
{
|
||||||
background: #ff0;
|
background: #ff0;
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
code,
|
|
||||||
kbd,
|
code,kbd,pre,samp
|
||||||
pre,
|
{
|
||||||
samp {
|
|
||||||
font-family: monospace, serif;
|
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
}
|
}
|
||||||
pre {
|
|
||||||
|
kbd,samp
|
||||||
|
{
|
||||||
|
font-family: monospace,serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre
|
||||||
|
{
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
q {
|
|
||||||
|
q
|
||||||
|
{
|
||||||
quotes: "\201C" "\201D" "\2018" "\2019";
|
quotes: "\201C" "\201D" "\2018" "\2019";
|
||||||
}
|
}
|
||||||
small {
|
|
||||||
|
small
|
||||||
|
{
|
||||||
font-size: 80%;
|
font-size: 80%;
|
||||||
}
|
}
|
||||||
sub,
|
|
||||||
sup {
|
sub,sup
|
||||||
|
{
|
||||||
font-size: 75%;
|
font-size: 75%;
|
||||||
line-height: 0;
|
line-height: 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
}
|
}
|
||||||
sup {
|
|
||||||
top: -0.5em;
|
sup
|
||||||
|
{
|
||||||
|
top: -.5em;
|
||||||
}
|
}
|
||||||
sub {
|
|
||||||
bottom: -0.25em;
|
sub
|
||||||
|
{
|
||||||
|
bottom: -.25em;
|
||||||
}
|
}
|
||||||
img {
|
|
||||||
|
img
|
||||||
|
{
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
svg:not(:root) {
|
|
||||||
overflow: hidden;
|
svg:not(:root)
|
||||||
|
{
|
||||||
|
overflow: visible;
|
||||||
}
|
}
|
||||||
figure {
|
|
||||||
|
.F_Cu
|
||||||
|
{
|
||||||
|
filter: invert(28%) sepia(50%) saturate(2065%) hue-rotate(334deg) brightness(73%) contrast(97%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.B_Cu
|
||||||
|
{
|
||||||
|
filter: invert(44%) sepia(14%) saturate(2359%) hue-rotate(70deg) brightness(103%) contrast(82%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.B_Paste
|
||||||
|
{
|
||||||
|
filter: invert(91%) sepia(47%) saturate(4033%) hue-rotate(139deg) brightness(82%) contrast(91%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.F_Paste
|
||||||
|
{
|
||||||
|
filter: invert(57%) sepia(60%) saturate(6%) hue-rotate(314deg) brightness(92%) contrast(99%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.F_SilkS
|
||||||
|
{
|
||||||
|
filter: invert(46%) sepia(44%) saturate(587%) hue-rotate(132deg) brightness(101%) contrast(85%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.B_SilkS
|
||||||
|
{
|
||||||
|
filter: invert(14%) sepia(27%) saturate(2741%) hue-rotate(264deg) brightness(95%) contrast(102%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.B_Mask
|
||||||
|
{
|
||||||
|
filter: invert(22%) sepia(56%) saturate(2652%) hue-rotate(277deg) brightness(94%) contrast(87%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.F_Mask
|
||||||
|
{
|
||||||
|
filter: invert(27%) sepia(51%) saturate(1920%) hue-rotate(269deg) brightness(89%) contrast(96%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.Edge_Cuts
|
||||||
|
{
|
||||||
|
filter: invert(79%) sepia(79%) saturate(401%) hue-rotate(6deg) brightness(88%) contrast(88%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.Margin
|
||||||
|
{
|
||||||
|
filter: invert(74%) sepia(71%) saturate(5700%) hue-rotate(268deg) brightness(89%) contrast(84%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.In1_Cu
|
||||||
|
{
|
||||||
|
filter: invert(69%) sepia(39%) saturate(1246%) hue-rotate(17deg) brightness(97%) contrast(104%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.In2_Cu
|
||||||
|
{
|
||||||
|
filter: invert(14%) sepia(79%) saturate(5231%) hue-rotate(293deg) brightness(91%) contrast(119%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.Dwgs_User
|
||||||
|
{
|
||||||
|
filter: invert(40%) sepia(68%) saturate(7431%) hue-rotate(203deg) brightness(89%) contrast(98%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.Cmts_User
|
||||||
|
{
|
||||||
|
filter: invert(73%) sepia(10%) saturate(1901%) hue-rotate(171deg) brightness(95%) contrast(102%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.Eco1_User
|
||||||
|
{
|
||||||
|
filter: invert(25%) sepia(98%) saturate(2882%) hue-rotate(109deg) brightness(90%) contrast(104%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.Eco2_User
|
||||||
|
{
|
||||||
|
filter: invert(85%) sepia(21%) saturate(5099%) hue-rotate(12deg) brightness(91%) contrast(102%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.B_Fab
|
||||||
|
{
|
||||||
|
filter: invert(60%) sepia(0%) saturate(0%) hue-rotate(253deg) brightness(87%) contrast(90%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.F_Fab
|
||||||
|
{
|
||||||
|
filter: invert(71%) sepia(21%) saturate(4662%) hue-rotate(21deg) brightness(103%) contrast(100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.B_Adhes
|
||||||
|
{
|
||||||
|
filter: invert(24%) sepia(48%) saturate(2586%) hue-rotate(218deg) brightness(88%) contrast(92%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.F_Adhes
|
||||||
|
{
|
||||||
|
filter: invert(38%) sepia(49%) saturate(1009%) hue-rotate(254deg) brightness(88%) contrast(86%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.B_CrtYd
|
||||||
|
{
|
||||||
|
filter: invert(79%) sepia(92%) saturate(322%) hue-rotate(3deg) brightness(89%) contrast(92%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.F_CrtYd
|
||||||
|
{
|
||||||
|
filter: invert(73%) sepia(1%) saturate(0%) hue-rotate(116deg) brightness(92%) contrast(91%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.section
|
||||||
|
{
|
||||||
|
margin: 0 0 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure
|
||||||
|
{
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
fieldset {
|
|
||||||
border: 1px solid #c0c0c0;
|
fieldset
|
||||||
|
{
|
||||||
|
border: 1px solid silver;
|
||||||
margin: 0 2px;
|
margin: 0 2px;
|
||||||
padding: 0.35em 0.625em 0.75em;
|
padding: .35em .625em .75em;
|
||||||
}
|
}
|
||||||
legend {
|
|
||||||
|
legend
|
||||||
|
{
|
||||||
border: 0;
|
border: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
button,
|
|
||||||
input,
|
button,input,select,textarea
|
||||||
select,
|
{
|
||||||
textarea {
|
|
||||||
font-family: inherit;
|
font-family: inherit;
|
||||||
font-size: 100%;
|
font-size: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
button,
|
|
||||||
input {
|
button,input
|
||||||
|
{
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
}
|
}
|
||||||
button,
|
|
||||||
html input[type="button"],
|
button,html input[type=button],input[type=reset],input[type=submit]
|
||||||
input[type="reset"],
|
{
|
||||||
input[type="submit"] {
|
|
||||||
-webkit-appearance: button;
|
-webkit-appearance: button;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
button[disabled],
|
|
||||||
input[disabled] {
|
button[disabled],input[disabled]
|
||||||
|
{
|
||||||
cursor: default;
|
cursor: default;
|
||||||
}
|
}
|
||||||
input[type="checkbox"],
|
|
||||||
input[type="radio"] {
|
input[type=checkbox],input[type=radio]
|
||||||
|
{
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
input[type="search"] {
|
|
||||||
|
input[type=search]
|
||||||
|
{
|
||||||
-webkit-appearance: textfield;
|
-webkit-appearance: textfield;
|
||||||
-moz-box-sizing: content-box;
|
-moz-box-sizing: content-box;
|
||||||
-webkit-box-sizing: content-box;
|
-webkit-box-sizing: content-box;
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
}
|
}
|
||||||
input[type="search"]::-webkit-search-cancel-button,
|
|
||||||
input[type="search"]::-webkit-search-decoration {
|
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration
|
||||||
|
{
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
}
|
}
|
||||||
button::-moz-focus-inner,
|
|
||||||
input::-moz-focus-inner {
|
button::-moz-focus-inner,input::-moz-focus-inner
|
||||||
|
{
|
||||||
border: 0;
|
border: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
textarea {
|
|
||||||
|
textarea
|
||||||
|
{
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
table {
|
|
||||||
|
table
|
||||||
|
{
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
border-spacing: 0;
|
border-spacing: 0;
|
||||||
}
|
}
|
||||||
html {
|
|
||||||
font-family: 'PT Sans', sans-serif;
|
code,pre
|
||||||
}
|
{
|
||||||
pre,
|
font-family: 'Inconsolata',sans-serif;
|
||||||
code {
|
|
||||||
font-family: 'Inconsolata', sans-serif;
|
|
||||||
}
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6 {
|
|
||||||
font-family: 'PT Sans Narrow', sans-serif;
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
html {
|
|
||||||
background-color: #073642;
|
|
||||||
color: #839496;
|
|
||||||
margin: 1em;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
background-color: #002b36;
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 40cm;
|
|
||||||
border: 1pt solid #586e75;
|
|
||||||
padding: 1em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
code {
|
h1,h2,h3,h4,h5,h6
|
||||||
|
{
|
||||||
|
font-family: 'PT Sans Narrow',sans-serif;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
code
|
||||||
|
{
|
||||||
background-color: #073642;
|
background-color: #073642;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
}
|
}
|
||||||
a {
|
|
||||||
|
a
|
||||||
|
{
|
||||||
color: #b58900;
|
color: #b58900;
|
||||||
}
|
}
|
||||||
a:visited {
|
|
||||||
|
a:hover,a:visited
|
||||||
|
{
|
||||||
color: #cb4b16;
|
color: #cb4b16;
|
||||||
}
|
}
|
||||||
a:hover {
|
|
||||||
color: #cb4b16;
|
.tag,h1
|
||||||
}
|
{
|
||||||
h1 {
|
|
||||||
color: #d33682;
|
color: #d33682;
|
||||||
}
|
}
|
||||||
h2,
|
|
||||||
h3,
|
h1
|
||||||
h4,
|
{
|
||||||
h5,
|
font-size: 2.4em;
|
||||||
h6 {
|
}
|
||||||
|
|
||||||
|
h2,h3,h4,h5,h6
|
||||||
|
{
|
||||||
|
|
||||||
color: #859900;
|
color: #859900;
|
||||||
}
|
}
|
||||||
pre {
|
|
||||||
background-color: #002b36;
|
pre
|
||||||
|
{
|
||||||
color: #839496;
|
color: #839496;
|
||||||
border: 1pt solid #586e75;
|
border: 1pt solid #586e75;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
box-shadow: 5pt 5pt 8pt #073642;
|
box-shadow: 5pt 5pt 8pt #073642;
|
||||||
}
|
}
|
||||||
pre code {
|
|
||||||
|
pre,pre code
|
||||||
|
{
|
||||||
background-color: #002b36;
|
background-color: #002b36;
|
||||||
}
|
}
|
||||||
h1 {
|
|
||||||
font-size: 2.8em;
|
h2
|
||||||
|
{
|
||||||
|
font-size: 2em;
|
||||||
}
|
}
|
||||||
h2 {
|
|
||||||
font-size: 2.4em;
|
h3
|
||||||
|
{
|
||||||
|
font-size: 1.1em;
|
||||||
}
|
}
|
||||||
h3 {
|
|
||||||
font-size: 1.8em;
|
h4
|
||||||
|
{
|
||||||
|
font-size: 1.0em;
|
||||||
}
|
}
|
||||||
h4 {
|
|
||||||
font-size: 1.4em;
|
h5
|
||||||
|
{
|
||||||
|
font-size: 0.9em;
|
||||||
}
|
}
|
||||||
h5 {
|
|
||||||
font-size: 1.3em;
|
h6
|
||||||
|
{
|
||||||
|
font-size: .8em;
|
||||||
}
|
}
|
||||||
h6 {
|
|
||||||
font-size: 1.15em;
|
.tag
|
||||||
}
|
{
|
||||||
.tag {
|
|
||||||
background-color: #073642;
|
background-color: #073642;
|
||||||
color: #d33682;
|
padding: 0 .2em;
|
||||||
padding: 0 0.2em;
|
|
||||||
}
|
}
|
||||||
.todo,
|
|
||||||
.next,
|
.done,.next,.todo
|
||||||
.done {
|
{
|
||||||
color: #002b36;
|
color: #002b36;
|
||||||
background-color: #dc322f;
|
background-color: #dc322f;
|
||||||
padding: 0 0.2em;
|
padding: 0 .2em;
|
||||||
}
|
}
|
||||||
.tag {
|
|
||||||
-webkit-border-radius: 0.35em;
|
.tag
|
||||||
-moz-border-radius: 0.35em;
|
{
|
||||||
border-radius: 0.35em;
|
-webkit-border-radius: .35em;
|
||||||
|
-moz-border-radius: .35em;
|
||||||
|
border-radius: .35em;
|
||||||
}
|
}
|
||||||
.TODO {
|
|
||||||
-webkit-border-radius: 0.2em;
|
.ACTIVE,.CANCELLED,.DONE,.HOLD,.NEXT,.NOTE,.TODO,.WAITING
|
||||||
-moz-border-radius: 0.2em;
|
{
|
||||||
border-radius: 0.2em;
|
-webkit-border-radius: .2em;
|
||||||
|
-moz-border-radius: .2em;
|
||||||
|
border-radius: .2em;
|
||||||
background-color: #2aa198;
|
background-color: #2aa198;
|
||||||
}
|
}
|
||||||
.NEXT {
|
|
||||||
-webkit-border-radius: 0.2em;
|
.ACTIVE,.CANCELLED,.DONE,.HOLD,.NEXT,.NOTE,.WAITING
|
||||||
-moz-border-radius: 0.2em;
|
{
|
||||||
border-radius: 0.2em;
|
|
||||||
background-color: #268bd2;
|
background-color: #268bd2;
|
||||||
}
|
}
|
||||||
.ACTIVE {
|
|
||||||
-webkit-border-radius: 0.2em;
|
.CANCELLED,.DONE,.HOLD,.NOTE,.WAITING
|
||||||
-moz-border-radius: 0.2em;
|
{
|
||||||
border-radius: 0.2em;
|
|
||||||
background-color: #268bd2;
|
|
||||||
}
|
|
||||||
.DONE {
|
|
||||||
-webkit-border-radius: 0.2em;
|
|
||||||
-moz-border-radius: 0.2em;
|
|
||||||
border-radius: 0.2em;
|
|
||||||
background-color: #859900;
|
background-color: #859900;
|
||||||
}
|
}
|
||||||
.WAITING {
|
|
||||||
-webkit-border-radius: 0.2em;
|
.CANCELLED,.HOLD,.NOTE,.WAITING
|
||||||
-moz-border-radius: 0.2em;
|
{
|
||||||
border-radius: 0.2em;
|
|
||||||
background-color: #cb4b16;
|
background-color: #cb4b16;
|
||||||
}
|
}
|
||||||
.HOLD {
|
|
||||||
-webkit-border-radius: 0.2em;
|
.CANCELLED,.HOLD,.NOTE
|
||||||
-moz-border-radius: 0.2em;
|
{
|
||||||
border-radius: 0.2em;
|
|
||||||
background-color: #d33682;
|
background-color: #d33682;
|
||||||
}
|
}
|
||||||
.NOTE {
|
|
||||||
-webkit-border-radius: 0.2em;
|
.CANCELLED
|
||||||
-moz-border-radius: 0.2em;
|
{
|
||||||
border-radius: 0.2em;
|
|
||||||
background-color: #d33682;
|
|
||||||
}
|
|
||||||
.CANCELLED {
|
|
||||||
-webkit-border-radius: 0.2em;
|
|
||||||
-moz-border-radius: 0.2em;
|
|
||||||
border-radius: 0.2em;
|
|
||||||
background-color: #859900;
|
background-color: #859900;
|
||||||
}
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
</div><div class="differences added"> (fp_line (start 23.25 -1.7) (end 25.05 -1.7) (layer F.SilkS) (width 0.12))
|
||||||
|
</div><div class="differences added"> (fp_line (start 25.05 -1.7) (end 25.05 -2.45) (layer F.SilkS) (width 0.12))
|
||||||
|
</div><div class="differences added"> (fp_line (start 25.05 -2.45) (end 23.25 -2.45) (layer F.SilkS) (width 0.12))
|
||||||
|
</div><div class="differences removed"> (fp_line (start -1.8 2.75) (end 13.75 2.75) (layer F.SilkS) (width 0.12))
|
||||||
|
</div><div class="differences removed"> (fp_line (start 30.05 -0.2) (end 29.3 -0.2) (layer F.SilkS) (width 0.12))
|
||||||
|
</div><div class="differences removed"> (fp_line (start 29.3 -0.2) (end 29.3 2.75) (layer F.SilkS) (width 0.12))
|
||||||
|
</div><div class="differences removed"> (fp_line (start 29.3 2.75) (end 13.75 2.75) (layer F.SilkS) (width 0.12))
|
||||||
|
</div><div class="differences added"> (fp_line (start -1.8 2.75) (end 11.25 2.75) (layer F.SilkS) (width 0.12))
|
||||||
|
</div><div class="differences added"> (fp_line (start 25.05 -0.2) (end 24.3 -0.2) (layer F.SilkS) (width 0.12))
|
||||||
|
</div><div class="differences added"> (fp_line (start 24.3 -0.2) (end 24.3 2.75) (layer F.SilkS) (width 0.12))
|
||||||
|
</div><div class="differences added"> (fp_line (start 24.3 2.75) (end 11.25 2.75) (layer F.SilkS) (width 0.12))
|
||||||
|
</div><div class="differences removed"> (fp_text reference C13 (at 0 -1.65 270) (layer F.SilkS)
|
||||||
|
</div><div class="differences added"> (fp_text reference C13 (at 0 -1.65) (layer F.SilkS)
|
10
tkUI.py
10
tkUI.py
|
@ -113,7 +113,7 @@ def runGUI(checkouts_top, prjctName, prjctPath, scm):
|
||||||
frame2, text=b, variable=buttons[b], onvalue=1, offvalue=0).pack(anchor='w')
|
frame2, text=b, variable=buttons[b], onvalue=1, offvalue=0).pack(anchor='w')
|
||||||
|
|
||||||
commitTop = Variable()
|
commitTop = Variable()
|
||||||
listTop = Listbox(frame3, bd=0, selectmode=SINGLE, exportselection=False)
|
listTop = Listbox(frame3, bd=0, selectmode=SINGLE, exportselection=False, font='TkFixedFont')
|
||||||
listTop.grid(column=0, row=0, sticky=(N, E, W))
|
listTop.grid(column=0, row=0, sticky=(N, E, W))
|
||||||
scrollTop = ttk.Scrollbar(frame3, orient=VERTICAL, command=listTop.yview)
|
scrollTop = ttk.Scrollbar(frame3, orient=VERTICAL, command=listTop.yview)
|
||||||
scrollTop.grid(column=1, row=0, sticky=(N, E, W))
|
scrollTop.grid(column=1, row=0, sticky=(N, E, W))
|
||||||
|
@ -122,8 +122,12 @@ def runGUI(checkouts_top, prjctName, prjctPath, scm):
|
||||||
listTop.bind('<<ListboxSelect>>', CurSelect)
|
listTop.bind('<<ListboxSelect>>', CurSelect)
|
||||||
|
|
||||||
commitBottom = Variable()
|
commitBottom = Variable()
|
||||||
listBottom = Listbox(frame4, bd=0, selectmode=SINGLE,
|
listBottom = Listbox(
|
||||||
exportselection=False)
|
frame4,
|
||||||
|
bd=0,
|
||||||
|
selectmode=SINGLE,
|
||||||
|
exportselection=False,
|
||||||
|
font='TkFixedFont')
|
||||||
listBottom.grid(column=0, row=0, sticky=(N, E, W))
|
listBottom.grid(column=0, row=0, sticky=(N, E, W))
|
||||||
scrollBottom = ttk.Scrollbar(
|
scrollBottom = ttk.Scrollbar(
|
||||||
frame4, orient=VERTICAL, command=listBottom.yview)
|
frame4, orient=VERTICAL, command=listBottom.yview)
|
||||||
|
|
Loading…
Reference in New Issue