Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2013-05-17 21:36:45 (GMT)
committer Daniel Drake <dsd@laptop.org>2013-05-20 14:48:51 (GMT)
commit21c84e75108e670caa0864e88e7fec0402a9a2e0 (patch)
tree2ceb1efc656ea1696114937c9adffa9285458146
parent22801cc0ee109638519066ddf79c588a8b4171ef (diff)
Replace combos in te toolbar to be touch friendly
Signed-off-by: Walter Bender <walter@sugarlabs.org> Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
-rw-r--r--NEWS2
-rw-r--r--icons/duration-2.svg123
-rw-r--r--icons/duration-4.svg123
-rw-r--r--icons/duration-6.svg123
-rw-r--r--icons/high-quality.svg197
-rw-r--r--icons/low-quality.svg71
-rw-r--r--icons/timer-0.svg123
-rw-r--r--icons/timer-10.svg123
-rw-r--r--icons/timer-5.svg123
-rw-r--r--record.py229
10 files changed, 1143 insertions, 94 deletions
diff --git a/NEWS b/NEWS
index eecf0c0..2df6f1d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+* eliminate combo boxes for more friendly to touch UI
+
76
* Switch to Daniel Drake's branch
diff --git a/icons/duration-2.svg b/icons/duration-2.svg
new file mode 100644
index 0000000..31d99b5
--- /dev/null
+++ b/icons/duration-2.svg
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<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"
+ version="1.1"
+ width="55"
+ height="55"
+ id="svg2">
+ <metadata
+ id="metadata23">
+ <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>
+ <defs
+ id="defs21" />
+ <g
+ id="layer2"
+ style="display:inline">
+ <path
+ d="m 45.925926,24.25926 a 21.296297,21.296297 0 1 1 -42.5925939,0 21.296297,21.296297 0 1 1 42.5925939,0 z"
+ transform="matrix(0.89950544,0,0,0.89950544,5.3455146,7.678664)"
+ id="path3791"
+ style="fill:#ffffff;fill-opacity:1;stroke:none" />
+ </g>
+ <g
+ id="layer1"
+ style="display:none">
+ <path
+ d="m 27.605804,29.867439 8.04512,-11.042322"
+ id="path3897"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="layer3"
+ style="display:inline">
+ <path
+ d="m 27.700954,10.71499 c 9.161862,1.987333 10.597228,1.617706 15.680962,9.011805 L 27.5,29.602112 z"
+ id="path4311"
+ style="fill:#808080;fill-opacity:1;stroke:none" />
+ <path
+ d="M 27.571522,30.159444 39.900229,21.710091"
+ id="path4283"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="layer4"
+ style="display:inline">
+ <g
+ id="g4315"
+ style="display:inline">
+ <path
+ d="m 27.5,15.555556 0,3.888889"
+ id="path3811"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 41.444444,29.5 -3.888889,0"
+ id="path3823"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 13.555556,29.5 3.888889,0"
+ id="path3829"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 27.5,43.444444 0,-3.888889"
+ id="path3854"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 22.873381,5.940543 9.622594,0"
+ id="path4076"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 38.96491,8.681773 5.209549,3.91786"
+ id="path4080"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 16.03509,8.681773 -5.209549,3.91786"
+ id="path4107"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <path
+ d="m 45.925926,24.25926 a 21.296297,21.296297 0 1 1 -42.5925939,0 21.296297,21.296297 0 1 1 42.5925939,0 z"
+ transform="matrix(0.89950544,0,0,0.89950544,5.3455146,7.6786635)"
+ id="path4380"
+ style="fill:none;stroke:#000000;stroke-width:3.89102697;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
+ </g>
+ <g
+ id="layer5"
+ style="display:none">
+ <g
+ transform="matrix(0.88661828,0,0,0.88661828,43.331119,7.0338455)"
+ id="g4198"
+ style="stroke-width:1.69182169;stroke-miterlimit:4;stroke-dasharray:none;display:inline">
+ <path
+ d="m 3.6632464,51.336754 0,-12.532159"
+ id="path4190"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 9.9293259,45.070674 -12.532159,0"
+ id="path4192"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="M 8.0940337,49.501461 -0.76754091,40.639887"
+ id="path4194"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 8.0940334,40.639887 -8.86157401,8.861574"
+ id="path4196"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
diff --git a/icons/duration-4.svg b/icons/duration-4.svg
new file mode 100644
index 0000000..e2f7ff4
--- /dev/null
+++ b/icons/duration-4.svg
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<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"
+ version="1.1"
+ width="55"
+ height="55"
+ id="svg2">
+ <metadata
+ id="metadata23">
+ <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>
+ <defs
+ id="defs21" />
+ <g
+ id="layer2"
+ style="display:inline">
+ <path
+ d="m 45.925926,24.25926 a 21.296297,21.296297 0 1 1 -42.5925939,0 21.296297,21.296297 0 1 1 42.5925939,0 z"
+ transform="matrix(0.89950544,0,0,0.89950544,5.3455146,7.678664)"
+ id="path3791"
+ style="fill:#ffffff;fill-opacity:1;stroke:none" />
+ </g>
+ <g
+ id="layer1"
+ style="display:none">
+ <path
+ d="m 27.605804,29.867439 8.04512,-11.042322"
+ id="path3897"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="layer3"
+ style="display:inline">
+ <path
+ d="m 27.700954,10.71499 c 17.116813,1.987333 21.557384,16.643725 16.741622,27.573358 L 27.5,29.602112 z"
+ id="path4311"
+ style="fill:#808080;fill-opacity:1;stroke:none" />
+ <path
+ d="m 27.571522,30.159444 12.859037,6.39989"
+ id="path4283"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="layer4"
+ style="display:inline">
+ <g
+ id="g4315"
+ style="display:inline">
+ <path
+ d="m 27.5,15.555556 0,3.888889"
+ id="path3811"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 41.444444,29.5 -3.888889,0"
+ id="path3823"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 13.555556,29.5 3.888889,0"
+ id="path3829"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 27.5,43.444444 0,-3.888889"
+ id="path3854"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 22.873381,5.940543 9.622594,0"
+ id="path4076"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 38.96491,8.681773 5.209549,3.91786"
+ id="path4080"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 16.03509,8.681773 -5.209549,3.91786"
+ id="path4107"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <path
+ d="m 45.925926,24.25926 a 21.296297,21.296297 0 1 1 -42.5925939,0 21.296297,21.296297 0 1 1 42.5925939,0 z"
+ transform="matrix(0.89950544,0,0,0.89950544,5.3455146,7.6786635)"
+ id="path4380"
+ style="fill:none;stroke:#000000;stroke-width:3.89102697;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
+ </g>
+ <g
+ id="layer5"
+ style="display:none">
+ <g
+ transform="matrix(0.88661828,0,0,0.88661828,43.331119,7.0338455)"
+ id="g4198"
+ style="stroke-width:1.69182169;stroke-miterlimit:4;stroke-dasharray:none;display:inline">
+ <path
+ d="m 3.6632464,51.336754 0,-12.532159"
+ id="path4190"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 9.9293259,45.070674 -12.532159,0"
+ id="path4192"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="M 8.0940337,49.501461 -0.76754091,40.639887"
+ id="path4194"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 8.0940334,40.639887 -8.86157401,8.861574"
+ id="path4196"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
diff --git a/icons/duration-6.svg b/icons/duration-6.svg
new file mode 100644
index 0000000..e1003ad
--- /dev/null
+++ b/icons/duration-6.svg
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<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"
+ version="1.1"
+ width="55"
+ height="55"
+ id="svg2">
+ <metadata
+ id="metadata23">
+ <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>
+ <defs
+ id="defs21" />
+ <g
+ id="layer2"
+ style="display:inline">
+ <path
+ d="m 45.925926,24.25926 a 21.296297,21.296297 0 1 1 -42.5925939,0 21.296297,21.296297 0 1 1 42.5925939,0 z"
+ transform="matrix(0.89950544,0,0,0.89950544,5.3455146,7.678664)"
+ id="path3791"
+ style="fill:#ffffff;fill-opacity:1;stroke:none" />
+ </g>
+ <g
+ id="layer1"
+ style="display:none">
+ <path
+ d="m 27.605804,29.867439 8.04512,-11.042322"
+ id="path3897"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="layer3"
+ style="display:inline">
+ <path
+ d="m 27.700954,10.71499 c 24.718211,0.573119 25.800025,38.210482 0.124612,38.17996 L 27.5,29.602112 z"
+ id="path4311"
+ style="fill:#808080;fill-opacity:1;stroke:none" />
+ <path
+ d="m 27.571522,30.159444 0.131115,13.824511"
+ id="path4283"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="layer4"
+ style="display:inline">
+ <g
+ id="g4315"
+ style="display:inline">
+ <path
+ d="m 27.5,15.555556 0,3.888889"
+ id="path3811"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 41.444444,29.5 -3.888889,0"
+ id="path3823"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 13.555556,29.5 3.888889,0"
+ id="path3829"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 27.5,43.444444 0,-3.888889"
+ id="path3854"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 22.873381,5.940543 9.622594,0"
+ id="path4076"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 38.96491,8.681773 5.209549,3.91786"
+ id="path4080"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 16.03509,8.681773 -5.209549,3.91786"
+ id="path4107"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <path
+ d="m 45.925926,24.25926 a 21.296297,21.296297 0 1 1 -42.5925939,0 21.296297,21.296297 0 1 1 42.5925939,0 z"
+ transform="matrix(0.89950544,0,0,0.89950544,5.3455146,7.6786635)"
+ id="path4380"
+ style="fill:none;stroke:#000000;stroke-width:3.89102697;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
+ </g>
+ <g
+ id="layer5"
+ style="display:none">
+ <g
+ transform="matrix(0.88661828,0,0,0.88661828,43.331119,7.0338455)"
+ id="g4198"
+ style="stroke-width:1.69182169;stroke-miterlimit:4;stroke-dasharray:none;display:inline">
+ <path
+ d="m 3.6632464,51.336754 0,-12.532159"
+ id="path4190"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 9.9293259,45.070674 -12.532159,0"
+ id="path4192"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="M 8.0940337,49.501461 -0.76754091,40.639887"
+ id="path4194"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 8.0940334,40.639887 -8.86157401,8.861574"
+ id="path4196"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
diff --git a/icons/high-quality.svg b/icons/high-quality.svg
new file mode 100644
index 0000000..c9eef77
--- /dev/null
+++ b/icons/high-quality.svg
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<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"
+ version="1.1"
+ width="55"
+ height="55"
+ viewBox="0 0 55 55"
+ id="svg2">
+ <metadata
+ id="metadata46">
+ <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>
+ <defs
+ id="defs44" />
+ <g
+ transform="translate(-1.9523476,1.3983047)"
+ id="g4030">
+ <g
+ transform="matrix(0.49999902,0,0,0.49999902,2.5920844,31.137238)"
+ id="g3110"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1">
+ <path
+ d="m 10.398791,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.32e-5"
+ id="path6"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.46e-5"
+ id="path50"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.46e-5"
+ id="path66"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 10.398791,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path6-5"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.5e-5"
+ id="path50-9"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.5e-5"
+ id="path66-7"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 10.398791,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.3e-5"
+ id="path6-9"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path50-6"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path66-5"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ </g>
+ <g
+ transform="matrix(0.49999902,0,0,0.49999902,2.5920844,5.0048816)"
+ id="g3110-9"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1">
+ <path
+ d="m 10.398791,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.32e-5"
+ id="path6-0"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.46e-5"
+ id="path50-4"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.46e-5"
+ id="path66-4"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 10.398791,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path6-5-9"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.5e-5"
+ id="path50-9-5"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.5e-5"
+ id="path66-7-0"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 10.398791,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.3e-5"
+ id="path6-9-8"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path50-6-8"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path66-5-8"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ </g>
+ <g
+ transform="matrix(0.49999902,0,0,0.49999902,29.092084,31.137238)"
+ id="g3110-2"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1">
+ <path
+ d="m 10.398791,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.32e-5"
+ id="path6-1"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.46e-5"
+ id="path50-5"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.46e-5"
+ id="path66-9"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 10.398791,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path6-5-8"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.5e-5"
+ id="path50-9-55"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.5e-5"
+ id="path66-7-8"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 10.398791,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.3e-5"
+ id="path6-9-6"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path50-6-81"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path66-5-6"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ </g>
+ <g
+ transform="matrix(0.49999902,0,0,0.49999902,29.092084,5.0048816)"
+ id="g3110-9-1"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1">
+ <path
+ d="m 10.398791,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.32e-5"
+ id="path6-0-1"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.46e-5"
+ id="path50-4-2"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.46e-5"
+ id="path66-4-3"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 10.398791,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path6-5-9-0"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.5e-5"
+ id="path50-9-5-5"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.5e-5"
+ id="path66-7-0-2"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 10.398791,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.3e-5"
+ id="path6-9-8-7"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path50-6-8-2"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path66-5-8-1"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/icons/low-quality.svg b/icons/low-quality.svg
new file mode 100644
index 0000000..7bfc273
--- /dev/null
+++ b/icons/low-quality.svg
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<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"
+ version="1.1"
+ width="55"
+ height="55"
+ viewBox="0 0 55 55"
+ id="svg2"
+ style="fill:#eeeeee;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round">
+ <metadata
+ id="metadata46">
+ <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>
+ <defs
+ id="defs44" />
+ <g
+ transform="translate(0.27941991,11.438698)"
+ id="g3110"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1">
+ <path
+ d="m 10.398791,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.32e-5"
+ id="path6"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.46e-5"
+ id="path50"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,-4.8405506 a 3.2899178,3.2899178 0 1 1 -0.02347,8.46e-5"
+ id="path66"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 10.398791,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path6-5"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.5e-5"
+ id="path50-9"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,30.38332 a 3.2899178,3.2899178 0 1 1 -0.02347,8.5e-5"
+ id="path66-7"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 10.398791,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.3e-5"
+ id="path6-9"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 44.04229,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path50-6"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ <path
+ d="m 27.220444,12.771383 a 3.2899178,3.2899178 0 1 1 -0.02347,8.4e-5"
+ id="path66-5"
+ style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4.77647305;stroke-opacity:1" />
+ </g>
+</svg>
diff --git a/icons/timer-0.svg b/icons/timer-0.svg
new file mode 100644
index 0000000..47057de
--- /dev/null
+++ b/icons/timer-0.svg
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<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"
+ version="1.1"
+ width="55"
+ height="55"
+ id="svg2">
+ <metadata
+ id="metadata23">
+ <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>
+ <defs
+ id="defs21" />
+ <g
+ id="layer2"
+ style="display:inline">
+ <path
+ d="m 45.925926,24.25926 a 21.296297,21.296297 0 1 1 -42.5925939,0 21.296297,21.296297 0 1 1 42.5925939,0 z"
+ transform="matrix(0.89950544,0,0,0.89950544,5.3455146,7.678664)"
+ id="path3791"
+ style="fill:#ffffff;fill-opacity:1;stroke:none" />
+ </g>
+ <g
+ id="layer1"
+ style="display:inline">
+ <path
+ d="M 27.665302,29.407631 27.334698,15.749391"
+ id="path3897"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="layer3"
+ style="display:none">
+ <path
+ d="m 36.539789,13.013087 c 9.161862,4.992537 12.541772,16.466949 7.549234,25.628815 L 27.5,29.602112 z"
+ id="path4311"
+ style="fill:#808080;fill-opacity:1;stroke:none" />
+ <path
+ d="M 27.571522,30.159444 39.546676,36.73611"
+ id="path4283"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="layer4"
+ style="display:inline">
+ <g
+ id="g4315"
+ style="display:inline">
+ <path
+ d="m 27.5,15.555556 0,3.888889"
+ id="path3811"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 41.444444,29.5 -3.888889,0"
+ id="path3823"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 13.555556,29.5 3.888889,0"
+ id="path3829"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 27.5,43.444444 0,-3.888889"
+ id="path3854"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 22.873381,5.940543 9.622594,0"
+ id="path4076"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 38.96491,8.681773 5.209549,3.91786"
+ id="path4080"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 16.03509,8.681773 -5.209549,3.91786"
+ id="path4107"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <path
+ d="m 45.925926,24.25926 a 21.296297,21.296297 0 1 1 -42.5925939,0 21.296297,21.296297 0 1 1 42.5925939,0 z"
+ transform="matrix(0.89950544,0,0,0.89950544,5.3455146,7.6786635)"
+ id="path4380"
+ style="fill:none;stroke:#000000;stroke-width:3.89102697;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
+ </g>
+ <g
+ id="layer5"
+ style="display:inline">
+ <g
+ transform="matrix(0.88661828,0,0,0.88661828,43.331119,7.0338455)"
+ id="g4198"
+ style="stroke-width:1.69182169;stroke-miterlimit:4;stroke-dasharray:none;display:inline">
+ <path
+ d="m 3.6632464,51.336754 0,-12.532159"
+ id="path4190"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 9.9293259,45.070674 -12.532159,0"
+ id="path4192"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="M 8.0940337,49.501461 -0.76754091,40.639887"
+ id="path4194"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 8.0940334,40.639887 -8.86157401,8.861574"
+ id="path4196"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
diff --git a/icons/timer-10.svg b/icons/timer-10.svg
new file mode 100644
index 0000000..714802f
--- /dev/null
+++ b/icons/timer-10.svg
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<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"
+ version="1.1"
+ width="55"
+ height="55"
+ id="svg2">
+ <metadata
+ id="metadata23">
+ <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>
+ <defs
+ id="defs21" />
+ <g
+ id="layer2"
+ style="display:inline">
+ <path
+ d="m 45.925926,24.25926 a 21.296297,21.296297 0 1 1 -42.5925939,0 21.296297,21.296297 0 1 1 42.5925939,0 z"
+ transform="matrix(0.89950544,0,0,0.89950544,5.3455146,7.678664)"
+ id="path3791"
+ style="fill:#ffffff;fill-opacity:1;stroke:none" />
+ </g>
+ <g
+ id="layer1"
+ style="display:inline">
+ <path
+ d="M 27.611054,29.619307 40.116867,23.139113"
+ id="path3897"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="layer3"
+ style="display:none">
+ <path
+ d="m 36.539789,13.013087 c 9.161862,4.992537 12.541772,16.466949 7.549234,25.628815 L 27.5,29.602112 z"
+ id="path4311"
+ style="fill:#808080;fill-opacity:1;stroke:none" />
+ <path
+ d="M 27.571522,30.159444 39.546676,36.73611"
+ id="path4283"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="layer4"
+ style="display:inline">
+ <g
+ id="g4315"
+ style="display:inline">
+ <path
+ d="m 27.5,15.555556 0,3.888889"
+ id="path3811"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 41.444444,29.5 -3.888889,0"
+ id="path3823"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 13.555556,29.5 3.888889,0"
+ id="path3829"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 27.5,43.444444 0,-3.888889"
+ id="path3854"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 22.873381,5.940543 9.622594,0"
+ id="path4076"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 38.96491,8.681773 5.209549,3.91786"
+ id="path4080"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 16.03509,8.681773 -5.209549,3.91786"
+ id="path4107"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <path
+ d="m 45.925926,24.25926 a 21.296297,21.296297 0 1 1 -42.5925939,0 21.296297,21.296297 0 1 1 42.5925939,0 z"
+ transform="matrix(0.89950544,0,0,0.89950544,5.3455146,7.6786635)"
+ id="path4380"
+ style="fill:none;stroke:#000000;stroke-width:3.89102697;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
+ </g>
+ <g
+ id="layer5"
+ style="display:inline">
+ <g
+ transform="matrix(0.88661828,0,0,0.88661828,43.331119,7.0338455)"
+ id="g4198"
+ style="stroke-width:1.69182169;stroke-miterlimit:4;stroke-dasharray:none;display:inline">
+ <path
+ d="m 3.6632464,51.336754 0,-12.532159"
+ id="path4190"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 9.9293259,45.070674 -12.532159,0"
+ id="path4192"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="M 8.0940337,49.501461 -0.76754091,40.639887"
+ id="path4194"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 8.0940334,40.639887 -8.86157401,8.861574"
+ id="path4196"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
diff --git a/icons/timer-5.svg b/icons/timer-5.svg
new file mode 100644
index 0000000..8526a78
--- /dev/null
+++ b/icons/timer-5.svg
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<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"
+ version="1.1"
+ width="55"
+ height="55"
+ id="svg2">
+ <metadata
+ id="metadata23">
+ <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>
+ <defs
+ id="defs21" />
+ <g
+ id="layer2"
+ style="display:inline">
+ <path
+ d="m 45.925926,24.25926 a 21.296297,21.296297 0 1 1 -42.5925939,0 21.296297,21.296297 0 1 1 42.5925939,0 z"
+ transform="matrix(0.89950544,0,0,0.89950544,5.3455146,7.678664)"
+ id="path3791"
+ style="fill:#ffffff;fill-opacity:1;stroke:none" />
+ </g>
+ <g
+ id="layer1"
+ style="display:inline">
+ <path
+ d="M 27.611054,29.619307 35.167119,18.012589"
+ id="path3897"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="layer3"
+ style="display:none">
+ <path
+ d="m 36.539789,13.013087 c 9.161862,4.992537 12.541772,16.466949 7.549234,25.628815 L 27.5,29.602112 z"
+ id="path4311"
+ style="fill:#808080;fill-opacity:1;stroke:none" />
+ <path
+ d="M 27.571522,30.159444 39.546676,36.73611"
+ id="path4283"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="layer4"
+ style="display:inline">
+ <g
+ id="g4315"
+ style="display:inline">
+ <path
+ d="m 27.5,15.555556 0,3.888889"
+ id="path3811"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 41.444444,29.5 -3.888889,0"
+ id="path3823"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 13.555556,29.5 3.888889,0"
+ id="path3829"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 27.5,43.444444 0,-3.888889"
+ id="path3854"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 22.873381,5.940543 9.622594,0"
+ id="path4076"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 38.96491,8.681773 5.209549,3.91786"
+ id="path4080"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 16.03509,8.681773 -5.209549,3.91786"
+ id="path4107"
+ style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <path
+ d="m 45.925926,24.25926 a 21.296297,21.296297 0 1 1 -42.5925939,0 21.296297,21.296297 0 1 1 42.5925939,0 z"
+ transform="matrix(0.89950544,0,0,0.89950544,5.3455146,7.6786635)"
+ id="path4380"
+ style="fill:none;stroke:#000000;stroke-width:3.89102697;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
+ </g>
+ <g
+ id="layer5"
+ style="display:inline">
+ <g
+ transform="matrix(0.88661828,0,0,0.88661828,43.331119,7.0338455)"
+ id="g4198"
+ style="stroke-width:1.69182169;stroke-miterlimit:4;stroke-dasharray:none;display:inline">
+ <path
+ d="m 3.6632464,51.336754 0,-12.532159"
+ id="path4190"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 9.9293259,45.070674 -12.532159,0"
+ id="path4192"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="M 8.0940337,49.501461 -0.76754091,40.639887"
+ id="path4194"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 8.0940334,40.639887 -8.86157401,8.861574"
+ id="path4196"
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:1.69182169;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+</svg>
diff --git a/record.py b/record.py
index d2da3cf..e25010e 100644
--- a/record.py
+++ b/record.py
@@ -1,4 +1,5 @@
#Copyright (c) 2008, Media Modifications Ltd.
+#Copyright (c) 2013, Sugar Labs
#Permission is hereby granted, free of charge, to any person obtaining a copy
#of this software and associated documentation files (the "Software"), to deal
@@ -37,9 +38,12 @@ from sugar.activity import activity
from sugar.graphics.toolcombobox import ToolComboBox
from sugar.graphics.toolbarbox import ToolbarBox
from sugar.graphics.toolbarbox import ToolbarButton
+from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.radiotoolbutton import RadioToolButton
from sugar.activity.widgets import StopButton
from sugar.activity.widgets import ActivityToolbarButton
+from sugar.graphics.menuitem import MenuItem
+from sugar.graphics import style
from model import Model
from button import RecdButton
@@ -55,6 +59,10 @@ logger = logging.getLogger('record.py')
COLOR_BLACK = gdk.color_parse('#000000')
COLOR_WHITE = gdk.color_parse('#ffffff')
+TIMER_VALUES = [0, 5, 10]
+DURATION_VALUES = [2, 4, 6]
+QUALITY_VALUES = ['low', 'high']
+
gst.debug_set_active(True)
gst.debug_set_colored(False)
if logging.getLogger().level <= logging.DEBUG:
@@ -62,6 +70,7 @@ if logging.getLogger().level <= logging.DEBUG:
else:
gst.debug_set_default_threshold(gst.LEVEL_ERROR)
+
class Record(activity.Activity):
def __init__(self, handle):
super(Record, self).__init__(handle)
@@ -282,7 +291,7 @@ class Record(activity.Activity):
return self._toolbar_controls.get_timer()
def get_selected_duration(self):
- return self._toolbar_controls.get_duration()
+ return self._toolbar_controls.get_duration() * 60 # convert to secs
def set_progress(self, value, text):
self._progress.set_progress(value)
@@ -847,117 +856,149 @@ class PlayButton(gtk.Button):
class RecordControl():
def __init__(self, toolbar):
- self._timer_combo = TimerCombo()
- toolbar.insert(self._timer_combo, -1)
-
- self._duration_combo = DurationCombo()
- toolbar.insert(self._duration_combo, -1)
-
- preferences_toolbar = gtk.Toolbar()
- combo = gtk.combo_box_new_text()
- self.quality = ToolComboBox(combo=combo, label_text=_('Quality:'))
- self.quality.combo.append_text(_('Low'))
- if hw.get_xo_version() != 1:
- # Disable High quality on XO-1. The system simply isn't beefy
- # enough for recording to work well.
- self.quality.combo.append_text(_('High'))
- self.quality.combo.set_active(0)
- self.quality.show_all()
- preferences_toolbar.insert(self.quality, -1)
-
- preferences_button = ToolbarButton()
- preferences_button.set_page(preferences_toolbar)
- preferences_button.props.icon_name = 'preferences-system'
- preferences_button.props.label = _('Preferences')
- toolbar.insert(preferences_button, -1)
+
+ self._timer_value = TIMER_VALUES[0]
+ self._timer_button = ToolButton('timer-0')
+ self._timer_button.set_tooltip(_('Select timer'))
+ self._timer_button.connect('clicked', self._timer_selection_cb)
+ toolbar.insert(self._timer_button, -1)
+ self._setup_timer_palette()
+
+ self._duration_value = DURATION_VALUES[0]
+ self._duration_button = ToolButton('duration-2')
+ self._duration_button.set_tooltip(_('Select duration'))
+ self._duration_button.connect('clicked', self._duration_selection_cb)
+ toolbar.insert(self._duration_button, -1)
+ self._setup_duration_palette()
+
+ self._quality_value = 0
+ self._quality_button = ToolButton('low-quality')
+ self._quality_button.set_tooltip(_('Select quality'))
+ self._quality_button.connect('clicked', self._quality_selection_cb)
+ toolbar.insert(self._quality_button, -1)
+ self._setup_quality_palette()
+
+ def _timer_selection_cb(self, widget):
+ if self._timer_palette:
+
+ if not self._timer_palette.is_up():
+ self._timer_palette.popup(immediate=True,
+ state=self._timer_palette.SECONDARY)
+ else:
+ self._timer_palette.popdown(immediate=True)
+ return
+
+ def _setup_timer_palette(self):
+ self._timer_palette = self._timer_button.get_palette()
+
+ for seconds in TIMER_VALUES:
+ if seconds == 0:
+ text = _('Immediate')
+ else:
+ text = ngettext('%s second', '%s seconds', seconds) % seconds
+ menu_item = MenuItem(icon_name='timer-%d' % (seconds),
+ text_label=text)
+ menu_item.connect('activate', self._timer_selected_cb, seconds)
+ self._timer_palette.menu.append(menu_item)
+ menu_item.show()
+
+ def _timer_selected_cb(self, button, seconds):
+ self.set_timer_idx(TIMER_VALUES.index(seconds))
+
+ def _duration_selection_cb(self, widget):
+ if self._duration_palette:
+ if not self._duration_palette.is_up():
+ self._duration_palette.popup(immediate=True,
+ state=self._duration_palette.SECONDARY)
+ else:
+ self._duration_palette.popdown(immediate=True)
+ return
+
+ def _setup_duration_palette(self):
+ self._duration_palette = self._duration_button.get_palette()
+ for minutes in DURATION_VALUES:
+ if minutes == 0:
+ text = gtk.Label(_('Immediate'))
+ else:
+ text = ngettext('%s minute', '%s minutes', minutes) % minutes
+ menu_item = MenuItem(icon_name='duration-%d' % (minutes),
+ text_label=text)
+ menu_item.connect('activate', self._duration_selected_cb, minutes)
+ self._duration_palette.menu.append(menu_item)
+ menu_item.show()
+
+ def _duration_selected_cb(self, button, minutes):
+ self.set_duration_idx(DURATION_VALUES.index(minutes))
+
+ def _quality_selection_cb(self, widget):
+ if self._quality_palette:
+ if not self._quality_palette.is_up():
+ self._quality_palette.popup(immediate=True,
+ state=self._quality_palette.SECONDARY)
+ else:
+ self._quality_palette.popdown(immediate=True)
+ return
+
+ def _setup_quality_palette(self):
+ self._quality_palette = self._quality_button.get_palette()
+ for quality in QUALITY_VALUES:
+ text = _('%s quality') % (quality)
+ menu_item = MenuItem(icon_name=quality + '-quality',
+ text_label=text)
+ menu_item.connect('activate', self._quality_selected_cb, quality)
+ self._quality_palette.menu.append(menu_item)
+ menu_item.show()
+
+ def _quality_selected_cb(self, button, quality):
+ self.set_quality(QUALITY_VALUES.index(quality))
def set_mode(self, mode):
if mode == constants.MODE_PHOTO:
- self.quality.set_sensitive(False)
- self._timer_combo.set_sensitive(True)
- self._duration_combo.set_sensitive(False)
+ self._quality_button.set_sensitive(False)
+ self._timer_button.set_sensitive(True)
+ self._duration_button.set_sensitive(False)
if mode == constants.MODE_VIDEO:
- self.quality.set_sensitive(True)
- self._timer_combo.set_sensitive(True)
- self._duration_combo.set_sensitive(True)
+ self._quality_button.set_sensitive(True)
+ self._timer_button.set_sensitive(True)
+ self._duration_button.set_sensitive(True)
if mode == constants.MODE_AUDIO:
- self.quality.set_sensitive(False)
- self._timer_combo.set_sensitive(True)
- self._duration_combo.set_sensitive(True)
+ self._quality_button.set_sensitive(False)
+ self._timer_button.set_sensitive(True)
+ self._duration_button.set_sensitive(True)
def get_timer(self):
- return self._timer_combo.get_value()
+ return self._timer_value
def get_timer_idx(self):
- return self._timer_combo.get_value_idx()
+ if self._timer_value in TIMER_VALUES:
+ return TIMER_VALUES.index(self._timer_value)
+ else:
+ return TIMER_VALUES[0]
def set_timer_idx(self, idx):
- self._timer_combo.set_value_idx(idx)
+ self._timer_value = TIMER_VALUES[idx]
+ if hasattr(self, '_timer_button'):
+ self._timer_button.set_icon('timer-%d' % (self._timer_value))
def get_duration(self):
- return self._duration_combo.get_value()
+ return self._duration_value
def get_duration_idx(self):
- return self._duration_combo.get_value_idx()
+ if self._duration_value in DURATION_VALUES:
+ return DURATION_VALUES.index(self._duration_value)
+ else:
+ return DURATION_VALUES[0]
def set_duration_idx(self, idx):
- return self._duration_combo.set_value_idx(idx)
+ self._duration_value = DURATION_VALUES[idx]
+ if hasattr(self, '_duration_button'):
+ self._duration_button.set_icon(
+ 'duration-%d' % (self._duration_value))
def get_quality(self):
- return self.quality.combo.get_active()
+ return self._quality_value
def set_quality(self, idx):
- self.quality.combo.set_active(idx)
-
-
-class TimerCombo(IconComboBox):
- TIMERS = (0, 5, 10)
-
- def __init__(self):
- super(TimerCombo, self).__init__('timer')
-
- for i in self.TIMERS:
- if i == 0:
- self.append_item(i, _('Immediate'))
- else:
- string = TimerCombo._seconds_string(i)
- self.append_item(i, string)
- self.combo.set_active(0)
-
- def get_value(self):
- return TimerCombo.TIMERS[self.combo.get_active()]
-
- def get_value_idx(self):
- return self.combo.get_active()
-
- def set_value_idx(self, idx):
- self.combo.set_active(idx)
-
- @staticmethod
- def _seconds_string(x):
- return ngettext('%s second', '%s seconds', x) % x
-
-
-class DurationCombo(IconComboBox):
- DURATIONS = (2, 4, 6)
-
- def __init__(self):
- super(DurationCombo, self).__init__('duration')
-
- for i in self.DURATIONS:
- string = DurationCombo._minutes_string(i)
- self.append_item(i, string)
- self.combo.set_active(0)
-
- def get_value(self):
- return 60 * self.DURATIONS[self.combo.get_active()]
-
- def get_value_idx(self):
- return self.combo.get_active()
-
- def set_value_idx(self, idx):
- self.combo.set_active(idx)
-
- @staticmethod
- def _minutes_string(x):
- return ngettext('%s minute', '%s minutes', x) % x
+ self._quality_value = idx
+ if hasattr(self, '_quality_button'):
+ self._quality_button.set_icon('%s-quality' % (QUALITY_VALUES[idx]))