mirror of
https://github.com/rbreu/beeref.git
synced 2026-03-11 08:54:28 +00:00
First commit
This commit is contained in:
parent
b9e74ed80b
commit
3e76f86822
7 changed files with 491 additions and 2 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1,3 +1,5 @@
|
|||
*~
|
||||
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
# beeref
|
||||
BeeRef Reference Image Viewer
|
||||
# BeeRef — A Simple Reference Image Viewer
|
||||
|
||||
View your references while you art!
|
||||
|
|
|
|||
BIN
assets/logo.png
Normal file
BIN
assets/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 49 KiB |
421
assets/logo.svg
Normal file
421
assets/logo.svg
Normal file
|
|
@ -0,0 +1,421 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="51.699471mm"
|
||||
height="51.699471mm"
|
||||
viewBox="0 0 51.69947 51.69947"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="1.0.2 (e86c870, 2021-01-15)"
|
||||
sodipodi:docname="logo.svg"
|
||||
inkscape:export-filename="/home/rbreu/code/python/beeref/assets/logo.png"
|
||||
inkscape:export-xdpi="196.74001"
|
||||
inkscape:export-ydpi="196.74001">
|
||||
<defs
|
||||
id="defs2">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient1234">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1230" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop1232" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient1226">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1222" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop1224" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient916">
|
||||
<stop
|
||||
style="stop-color:#fffff6;stop-opacity:0"
|
||||
offset="0"
|
||||
id="stop912" />
|
||||
<stop
|
||||
style="stop-color:#fffff6;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop914" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient916"
|
||||
id="linearGradient918"
|
||||
x1="49.119205"
|
||||
y1="177.92455"
|
||||
x2="66.474861"
|
||||
y2="168.13577"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(8.22962,-13.573706)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient916"
|
||||
id="linearGradient1027"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(15.004939,-25.248832)"
|
||||
x1="49.119205"
|
||||
y1="177.92455"
|
||||
x2="66.474861"
|
||||
y2="168.13577" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient916"
|
||||
id="linearGradient1169"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(35.302229,-13.541095)"
|
||||
x1="49.119205"
|
||||
y1="177.92455"
|
||||
x2="66.474861"
|
||||
y2="168.13577" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient916"
|
||||
id="linearGradient1219"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(14.98468,-1.908615)"
|
||||
x1="49.119205"
|
||||
y1="177.92455"
|
||||
x2="66.474861"
|
||||
y2="168.13577" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient1226"
|
||||
id="linearGradient1228"
|
||||
x1="57.01697"
|
||||
y1="160.53979"
|
||||
x2="70.947659"
|
||||
y2="160.53979"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient1234"
|
||||
id="linearGradient1236"
|
||||
x1="64.025267"
|
||||
y1="148.86445"
|
||||
x2="77.490378"
|
||||
y2="148.86445"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient916"
|
||||
id="linearGradient1490"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(28.407949,-25.284404)"
|
||||
x1="49.119205"
|
||||
y1="177.92455"
|
||||
x2="66.474861"
|
||||
y2="168.13577" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient1234"
|
||||
id="linearGradient1492"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="64.025267"
|
||||
y1="148.86445"
|
||||
x2="77.490378"
|
||||
y2="148.86445"
|
||||
gradientTransform="translate(13.40301,-0.03557269)" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.1946385"
|
||||
inkscape:cx="73.261656"
|
||||
inkscape:cy="71.727629"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer3"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="720"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:document-rotation="0"
|
||||
showguides="true"
|
||||
inkscape:showpageshadow="true" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="combs"
|
||||
style="display:inline"
|
||||
transform="translate(-56.958071,-139.8279)">
|
||||
<path
|
||||
style="display:inline;fill:#ff80f6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 57.376433,156.5412 6.682443,-3.75522 6.749259,3.78863 0.0058,7.87646 -6.71585,3.75522 -6.749261,-3.85545 z"
|
||||
id="path4750-36"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:label="pink comb colour" />
|
||||
<path
|
||||
style="display:inline;fill:url(#linearGradient918);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1228);stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 57.277557,156.58465 6.682443,-3.75522 6.749259,3.78863 0.0058,7.87646 -6.71585,3.75522 -6.749261,-3.85545 z"
|
||||
id="path4750-36-7"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-x="0.11493552"
|
||||
inkscape:transform-center-y="-0.43223338"
|
||||
inkscape:label="pink comb shading" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.678165;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path1080"
|
||||
sodipodi:sides="6"
|
||||
sodipodi:cx="16.595886"
|
||||
sodipodi:cy="132.67018"
|
||||
sodipodi:r1="11.379502"
|
||||
sodipodi:r2="9.8922243"
|
||||
sodipodi:arg1="0.8327888"
|
||||
sodipodi:arg2="1.317317"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 24.252188,141.08886 -5.175593,1.15745 -5.943345,1.26376 -3.5901775,-3.90347 -4.0661249,-4.5152 1.585416,-5.06092 1.8772206,-5.77898 5.1755928,-1.15744 5.943346,-1.26377 3.590177,3.90347 4.066125,4.51521 -1.585416,5.06092 z"
|
||||
inkscape:transform-center-x="0.39929447"
|
||||
inkscape:transform-center-y="-0.38719023"
|
||||
transform="matrix(0.65375366,-0.20677321,0.20677321,0.65375366,25.686706,77.27186)"
|
||||
inkscape:label="pink comb outline" />
|
||||
<path
|
||||
style="fill:#8c80ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 63.987607,144.95297 6.682443,-3.75522 6.74926,3.78863 0.0058,7.87646 -6.715851,3.75522 -6.749261,-3.85545 z"
|
||||
id="path4750-2"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:label="purple comb colour" />
|
||||
<path
|
||||
style="display:inline;fill:url(#linearGradient1027);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1236);stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 64.052876,144.90952 6.682443,-3.75522 6.749259,3.78863 0.0058,7.87646 -6.71585,3.75522 -6.749261,-3.85545 z"
|
||||
id="path4750-36-7-0"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-x="0.11493552"
|
||||
inkscape:transform-center-y="-0.43223338"
|
||||
inkscape:label="purple comb shading" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="display:inline;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.678165;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path1080-6"
|
||||
sodipodi:sides="6"
|
||||
sodipodi:cx="16.595886"
|
||||
sodipodi:cy="132.67018"
|
||||
sodipodi:r1="11.379502"
|
||||
sodipodi:r2="9.8922243"
|
||||
sodipodi:arg1="0.8327888"
|
||||
sodipodi:arg2="1.317317"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
inkscape:transform-center-x="0.39929447"
|
||||
inkscape:transform-center-y="-0.38719023"
|
||||
transform="matrix(0.65375366,-0.20677321,0.20677321,0.65375366,32.396757,65.64018)"
|
||||
inkscape:label="purple comb outline"
|
||||
d="m 24.252188,141.08886 -5.175593,1.15745 -5.943345,1.26376 -3.5901775,-3.90347 -4.0661249,-4.5152 1.585416,-5.06092 1.8772206,-5.77898 5.1755928,-1.15744 5.943346,-1.26377 3.590177,3.90347 4.066125,4.51521 -1.585416,5.06092 z" />
|
||||
<path
|
||||
style="fill:#80e5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 77.452719,145.00595 6.682443,-3.75522 6.749259,3.78863 0.0058,7.87646 -6.715851,3.75522 -6.74926,-3.85545 z"
|
||||
id="path4750-9"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:label="blue comb colour" />
|
||||
<path
|
||||
style="display:inline;fill:url(#linearGradient1490);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1492);stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 77.455886,144.87395 6.682443,-3.75522 6.749259,3.78863 0.0058,7.87646 -6.71585,3.75522 -6.749261,-3.85545 z"
|
||||
id="path4750-36-7-0-8"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-x="0.11493552"
|
||||
inkscape:transform-center-y="-0.43223338"
|
||||
inkscape:label="blue comb shading" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="display:inline;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.678165;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path1080-6-2"
|
||||
sodipodi:sides="6"
|
||||
sodipodi:cx="16.595886"
|
||||
sodipodi:cy="132.67018"
|
||||
sodipodi:r1="11.379502"
|
||||
sodipodi:r2="9.8922243"
|
||||
sodipodi:arg1="0.8327888"
|
||||
sodipodi:arg2="1.317317"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
inkscape:transform-center-x="0.39929447"
|
||||
inkscape:transform-center-y="-0.38719023"
|
||||
transform="matrix(0.65375366,-0.20677321,0.20677321,0.65375366,45.833756,65.619298)"
|
||||
inkscape:label="blue comb outline"
|
||||
d="m 24.252188,141.08886 -5.175593,1.15745 -5.943345,1.26376 -3.5901775,-3.90347 -4.0661249,-4.5152 1.585416,-5.06092 1.8772206,-5.77898 5.1755928,-1.15744 5.943346,-1.26377 3.590177,3.90347 4.066125,4.51521 -1.585416,5.06092 z" />
|
||||
<path
|
||||
style="fill:#a0ff80;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 84.350167,156.61726 6.68244,-3.75522 6.74926,3.78863 0.006,7.87646 -6.71585,3.75522 -6.74926,-3.85545 z"
|
||||
id="path4750-1"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:label="green comb colour" />
|
||||
<path
|
||||
style="display:inline;fill:url(#linearGradient1169);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 84.350166,156.61726 6.682443,-3.75522 6.749258,3.78863 0.006,7.87646 -6.715849,3.75522 -6.749261,-3.85545 z"
|
||||
id="path4750-36-7-0-0-7"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-x="0.11493552"
|
||||
inkscape:transform-center-y="-0.43223338"
|
||||
inkscape:label="green comb shading" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="display:inline;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.678165;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path1080-6-2-6"
|
||||
sodipodi:sides="6"
|
||||
sodipodi:cx="16.595886"
|
||||
sodipodi:cy="132.67018"
|
||||
sodipodi:r1="11.379502"
|
||||
sodipodi:r2="9.8922243"
|
||||
sodipodi:arg1="0.8327888"
|
||||
sodipodi:arg2="1.317317"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
inkscape:transform-center-x="0.39929447"
|
||||
inkscape:transform-center-y="-0.38719023"
|
||||
transform="matrix(0.65375366,-0.20677321,0.20677321,0.65375366,52.731202,77.230608)"
|
||||
inkscape:label="green comb outline"
|
||||
d="m 24.252188,141.08886 -5.175593,1.15745 -5.943345,1.26376 -3.5901775,-3.90347 -4.0661249,-4.5152 1.585416,-5.06092 1.8772206,-5.77898 5.1755928,-1.15744 5.943346,-1.26377 3.590177,3.90347 4.066125,4.51521 -1.585416,5.06092 z" />
|
||||
<path
|
||||
style="fill:#ff9e80;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 64.032616,168.24974 6.682443,-3.75522 6.74926,3.78863 0.006,7.87646 -6.71585,3.75522 -6.749262,-3.85545 z"
|
||||
id="path4750-27"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:label="red comb colour" />
|
||||
<path
|
||||
style="display:inline;fill:url(#linearGradient1219);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 64.032617,168.24974 6.682444,-3.75522 6.749254,3.78863 0.006,7.87646 -6.715846,3.75522 -6.749261,-3.85545 z"
|
||||
id="path4750-36-7-0-0-7-2"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-x="0.11493552"
|
||||
inkscape:transform-center-y="-0.43223338"
|
||||
inkscape:label="red comb shading" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="display:inline;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.678165;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path1080-6-2-6-9"
|
||||
sodipodi:sides="6"
|
||||
sodipodi:cx="16.595886"
|
||||
sodipodi:cy="132.67018"
|
||||
sodipodi:r1="11.379502"
|
||||
sodipodi:r2="9.8922243"
|
||||
sodipodi:arg1="0.8327888"
|
||||
sodipodi:arg2="1.317317"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
inkscape:transform-center-x="0.39929447"
|
||||
inkscape:transform-center-y="-0.38719023"
|
||||
transform="matrix(0.65375366,-0.20677321,0.20677321,0.65375366,32.491351,88.875372)"
|
||||
inkscape:label="red comb outline"
|
||||
d="m 24.252188,141.08886 -5.175593,1.15745 -5.943345,1.26376 -3.5901775,-3.90347 -4.0661249,-4.5152 1.585416,-5.06092 1.8772206,-5.77898 5.1755928,-1.15744 5.943346,-1.26377 3.590177,3.90347 4.066125,4.51521 -1.585416,5.06092 z" />
|
||||
<path
|
||||
style="display:inline;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 70.841544,156.64143 6.583566,-3.77859 6.848136,3.812 2.462645,9.34112 -8.375056,4.40555 -7.564911,-6.0467 z"
|
||||
id="path4750-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccc"
|
||||
inkscape:label="center comb" />
|
||||
</g>
|
||||
<g
|
||||
id="layer2"
|
||||
inkscape:label="bee"
|
||||
transform="translate(-56.958071,-139.8279)"
|
||||
style="display:inline;opacity:1"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
style="fill:#75624f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 75.323653,155.82275 c -3.140595,1.53645 -4.298695,4.92785 -3.513085,6.94905 1.644007,4.22966 6.689126,3.09838 8.55525,2.15052 1.866123,-0.94786 4.473946,-4.27749 2.190684,-7.28271 -1.570464,-2.06703 -4.370162,-3.21735 -7.232849,-1.81686 z"
|
||||
id="path4793-0"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sszss"
|
||||
inkscape:transform-center-x="0.33149953"
|
||||
inkscape:transform-center-y="0.031441719" />
|
||||
<path
|
||||
style="fill:#75624f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 80.150319,163.40272 c -3.140595,1.53645 -4.555926,5.29558 -3.891061,8.74444 1.814879,9.41435 12.878486,11.27211 14.74461,10.32425 1.866123,-0.94786 3.954229,-11.78976 -2.581265,-17.06284 -2.020344,-1.63009 -5.409597,-3.40634 -8.272284,-2.00585 z"
|
||||
id="path4793-0-9"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sszss"
|
||||
inkscape:transform-center-x="0.33149953"
|
||||
inkscape:transform-center-y="0.031441719" />
|
||||
<path
|
||||
style="display:inline;opacity:1;fill:#ffda00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 80.493966,177.79853 c 5.575545,0.21023 8.881183,-0.95305 11.622769,-6.80357 0,0 1.228422,5.00819 0.755951,6.75633 -2.409597,2.83482 -6.230583,4.0196 -9.780134,3.40177 -2.510116,-1.37378 -2.598586,-3.35453 -2.598586,-3.35453 z"
|
||||
id="path4840-6"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:#ffda00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 76.6152,169.8374 c 5.150322,-0.026 8.030737,-1.99248 10.347099,-5.10267 0,0 4.063244,2.69308 3.590773,4.44122 -2.929315,5.05543 -6.608559,6.38195 -11.670015,6.37834 C 77.034399,171.9599 76.6152,169.8374 76.6152,169.8374 Z"
|
||||
id="path4840"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 71.059522,159.34108 c -0.999325,4.51981 -2.527449,17.65272 -0.944944,31.27753 7.347292,0.22797 11.123092,-3.02174 11.811756,-9.07144 0,0 -6.182218,-15.29213 -10.866812,-22.20609 z"
|
||||
id="path4654"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 79.993058,154.66164 c 4.487062,1.13738 16.906946,5.67114 28.369082,13.20501 -3.09659,6.66677 -7.69603,8.58052 -13.410413,6.47839 0,0 -10.885683,-12.39237 -14.958669,-19.6834 z"
|
||||
id="path4654-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
style="fill:#75624f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 72.231092,150.37567 c -3.140595,1.53645 -4.298695,4.92785 -3.513085,6.94905 1.644007,4.22966 4.657504,-0.3979 6.523628,-1.34576 1.866123,-0.94786 6.505568,-0.78121 4.222306,-3.78643 -1.570464,-2.06703 -4.370162,-3.21735 -7.232849,-1.81686 z"
|
||||
id="path4793"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sszss"
|
||||
inkscape:transform-center-x="0.33149953"
|
||||
inkscape:transform-center-y="0.031441719" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.465;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 69.734022,152.37552 c 0,0 -1.557196,-1.06618 -3.619603,-2.13816 -5.98391,-0.22154 -8.218538,1.5368 -8.218538,1.5368"
|
||||
id="path4857"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.465;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 73.883135,149.76047 c 0,0 -0.149453,-1.88129 -0.05242,-4.20363 3.353795,-3.64633 6.841672,-4.33105 6.841672,-4.33105"
|
||||
id="path4857-0"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 21 KiB |
62
beeref.py
Executable file
62
beeref.py
Executable file
|
|
@ -0,0 +1,62 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import logging
|
||||
import os.path
|
||||
import signal
|
||||
import sys
|
||||
|
||||
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
|
||||
from lib.view import BeeGraphicsView
|
||||
|
||||
|
||||
logger = logging.getLogger('BeeRef')
|
||||
|
||||
|
||||
class BeeRefMainWindow(QtWidgets.QWidget):
|
||||
|
||||
def __init__(self, filename=None):
|
||||
super().__init__()
|
||||
self.setWindowTitle('BeeRef')
|
||||
self.setWindowIcon(QtGui.QIcon(os.path.join('assets', 'logo.png')))
|
||||
view = BeeGraphicsView(app, self, filename)
|
||||
layout = QtWidgets.QVBoxLayout()
|
||||
layout.setContentsMargins(QtCore.QMargins(0, 0, 0, 0))
|
||||
layout.addWidget(view)
|
||||
self.setLayout(layout)
|
||||
self.resize(500, 300)
|
||||
self.show()
|
||||
|
||||
|
||||
def safe_timer(timeout, func, *args, **kwargs):
|
||||
"""Create a timer that is safe against garbage collection and
|
||||
overlapping calls.
|
||||
See: http://ralsina.me/weblog/posts/BB974.html
|
||||
"""
|
||||
def timer_event():
|
||||
try:
|
||||
func(*args, **kwargs)
|
||||
finally:
|
||||
QtCore.QTimer.singleShot(timeout, timer_event)
|
||||
QtCore.QTimer.singleShot(timeout, timer_event)
|
||||
|
||||
|
||||
def handle_sigint(signum, frame):
|
||||
logger.info('Received interrupt. Exiting...')
|
||||
QtWidgets.QApplication.quit()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
logger = logging.getLogger('BeeRef')
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
|
||||
filename = sys.argv[1] if len(sys.argv) > 1 else None
|
||||
bee = BeeRefMainWindow(filename)
|
||||
|
||||
signal.signal(signal.SIGINT, handle_sigint)
|
||||
# Repeatedly run python-noop to give the interpreter time to
|
||||
# handel signals
|
||||
safe_timer(50, lambda: None)
|
||||
|
||||
app.exec()
|
||||
1
requirements/app.txt
Normal file
1
requirements/app.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
pyQt6==6.0.3
|
||||
2
requirements/dev.txt
Normal file
2
requirements/dev.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
flake8==3.9.0
|
||||
pytest==6.2.2
|
||||
Loading…
Reference in a new issue