summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomás Touceda <chiiph@leap.se>2014-08-11 14:53:17 -0300
committerTomás Touceda <chiiph@leap.se>2014-08-11 14:53:17 -0300
commitd9ee9b49ed2181baa075f1cd558b220f282bf590 (patch)
tree14f452df169c86ee2b8b6cc269173ce0c12455d3
parent0046468367bd7cb1f1dd043bda46d9b9e2f4e30a (diff)
parent9dc94c0eb18a625e3a4a9e0126349ad7c21567c5 (diff)
Merge remote-tracking branch 'refs/remotes/elijah/feature/minorui' into develop
-rw-r--r--changes/minor-ui-adjustments1
-rw-r--r--data/images/Arrow-Down-32.pngbin1458 -> 0 bytes
-rw-r--r--data/images/Arrow-Up-32.pngbin1400 -> 0 bytes
-rw-r--r--data/images/Blue-Arrow-Right-32.pngbin1432 -> 0 bytes
-rw-r--r--data/images/Dialog-accept.pngbin1316 -> 0 bytes
-rw-r--r--data/images/Dialog-error.pngbin1380 -> 0 bytes
-rw-r--r--data/images/Emblem-question.pngbin1260 -> 0 bytes
-rw-r--r--data/images/black/32/off.pngbin695 -> 0 bytes
-rw-r--r--data/images/black/32/on.pngbin667 -> 0 bytes
-rw-r--r--data/images/black/32/wait.pngbin836 -> 0 bytes
-rw-r--r--data/images/black/off.svg88
-rw-r--r--data/images/black/on.svg78
-rw-r--r--data/images/black/question.svg82
-rw-r--r--data/images/black/wait.svg75
-rw-r--r--data/images/white/32/off.pngbin703 -> 0 bytes
-rw-r--r--data/images/white/32/on.pngbin677 -> 0 bytes
-rw-r--r--data/images/white/32/wait.pngbin855 -> 0 bytes
-rw-r--r--data/images/white/off.svg89
-rw-r--r--data/images/white/on.svg78
-rw-r--r--data/images/white/question.svg82
-rw-r--r--data/images/white/wait.svg76
-rw-r--r--data/resources/mainwindow.qrc24
-rw-r--r--src/leap/bitmask/gui/eip_status.py12
-rw-r--r--src/leap/bitmask/gui/mail_status.py12
-rw-r--r--src/leap/bitmask/gui/mainwindow.py127
-rw-r--r--src/leap/bitmask/gui/ui/eip_status.ui2
-rw-r--r--src/leap/bitmask/gui/ui/login.ui60
-rw-r--r--src/leap/bitmask/gui/ui/logout.ui74
-rw-r--r--src/leap/bitmask/gui/ui/mail_status.ui2
-rw-r--r--src/leap/bitmask/gui/ui/mainwindow.ui24
-rw-r--r--src/leap/bitmask/gui/ui/wizard.ui98
-rw-r--r--src/leap/bitmask/gui/wizard.py21
32 files changed, 950 insertions, 155 deletions
diff --git a/changes/minor-ui-adjustments b/changes/minor-ui-adjustments
new file mode 100644
index 00000000..33e27964
--- /dev/null
+++ b/changes/minor-ui-adjustments
@@ -0,0 +1 @@
+- minor adjustments to the layout of UI elements (#5514, #5515, #5510).
diff --git a/data/images/Arrow-Down-32.png b/data/images/Arrow-Down-32.png
deleted file mode 100644
index c5c607a1..00000000
--- a/data/images/Arrow-Down-32.png
+++ /dev/null
Binary files differ
diff --git a/data/images/Arrow-Up-32.png b/data/images/Arrow-Up-32.png
deleted file mode 100644
index 85370ac5..00000000
--- a/data/images/Arrow-Up-32.png
+++ /dev/null
Binary files differ
diff --git a/data/images/Blue-Arrow-Right-32.png b/data/images/Blue-Arrow-Right-32.png
deleted file mode 100644
index 66e50b0d..00000000
--- a/data/images/Blue-Arrow-Right-32.png
+++ /dev/null
Binary files differ
diff --git a/data/images/Dialog-accept.png b/data/images/Dialog-accept.png
deleted file mode 100644
index 5a8a0bdb..00000000
--- a/data/images/Dialog-accept.png
+++ /dev/null
Binary files differ
diff --git a/data/images/Dialog-error.png b/data/images/Dialog-error.png
deleted file mode 100644
index 51da2f5b..00000000
--- a/data/images/Dialog-error.png
+++ /dev/null
Binary files differ
diff --git a/data/images/Emblem-question.png b/data/images/Emblem-question.png
deleted file mode 100644
index b2163e5b..00000000
--- a/data/images/Emblem-question.png
+++ /dev/null
Binary files differ
diff --git a/data/images/black/32/off.png b/data/images/black/32/off.png
deleted file mode 100644
index 6ddde746..00000000
--- a/data/images/black/32/off.png
+++ /dev/null
Binary files differ
diff --git a/data/images/black/32/on.png b/data/images/black/32/on.png
deleted file mode 100644
index bbd28bad..00000000
--- a/data/images/black/32/on.png
+++ /dev/null
Binary files differ
diff --git a/data/images/black/32/wait.png b/data/images/black/32/wait.png
deleted file mode 100644
index a01ce923..00000000
--- a/data/images/black/32/wait.png
+++ /dev/null
Binary files differ
diff --git a/data/images/black/off.svg b/data/images/black/off.svg
new file mode 100644
index 00000000..35c49a56
--- /dev/null
+++ b/data/images/black/off.svg
@@ -0,0 +1,88 @@
+<?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"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg3243"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="off.svg">
+ <defs
+ id="defs3245" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="16"
+ inkscape:cx="2.564547"
+ inkscape:cy="9.5625231"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:snap-global="false"
+ inkscape:window-width="1920"
+ inkscape:window-height="1056"
+ inkscape:window-x="1920"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3273" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3248">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#f08080;stroke:#000000;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;fill-opacity:1"
+ d="m 26.607099,9.8590516 c 1.095245,1.8715414 1.642877,3.9185224 1.642901,6.1409504 -2.4e-5,2.222445 -0.547656,4.274746 -1.642901,6.156901 -1.095291,1.87153 -2.584007,3.354927 -4.466146,4.450195 C 20.269405,27.702363 18.222426,28.249996 16,28.25 13.77755,28.249996 11.725251,27.702363 9.8430986,26.607098 7.9715637,25.51183 6.4881674,24.028433 5.3929018,22.156903 4.2976327,20.274748 3.75,18.222447 3.75,16.000002 3.75,13.777574 4.2976327,11.730593 5.3929018,9.8590516 6.4881674,7.9769071 7.9715637,6.4881926 9.8430986,5.392906 11.725251,4.2976563 13.77755,3.7500236 16,3.75 c 2.222426,2.36e-5 4.269405,0.5476563 6.140953,1.642906 1.882139,1.0952866 3.370855,2.5840011 4.466146,4.4661456"
+ id="path3275"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g3758"
+ transform="matrix(0.865313,0,0,0.865313,2.163376,2.175981)">
+ <rect
+ transform="matrix(-0.70710678,-0.70710678,-0.70710678,0.70710678,0,0)"
+ style="fill:#000000;fill-opacity:1;stroke:none"
+ id="rect4057"
+ width="18"
+ height="3"
+ x="-31.781626"
+ y="-1.4338233"
+ ry="0" />
+ <rect
+ transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
+ ry="0"
+ y="21.281626"
+ x="-9.0661755"
+ height="3"
+ width="18"
+ id="rect4059"
+ style="fill:#000000;fill-opacity:1;stroke:none" />
+ </g>
+ </g>
+</svg>
diff --git a/data/images/black/on.svg b/data/images/black/on.svg
new file mode 100644
index 00000000..36938e0a
--- /dev/null
+++ b/data/images/black/on.svg
@@ -0,0 +1,78 @@
+<?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"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg3243"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="on.svg">
+ <defs
+ id="defs3245" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="76.360017"
+ inkscape:cy="-4.203893"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:snap-global="false"
+ inkscape:window-width="1920"
+ inkscape:window-height="1056"
+ inkscape:window-x="1920"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3273" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3248">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#9acd32;stroke:#000000;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;fill-opacity:1"
+ d="m 26.607098,9.8590516 c 1.095246,1.8715424 1.642877,3.9185224 1.642902,6.1409504 -2.5e-5,2.222447 -0.547656,4.274744 -1.642902,6.156901 -1.095289,1.871529 -2.584005,3.354927 -4.466145,4.450195 C 20.269406,27.702363 18.222425,28.249996 16,28.25 13.77755,28.249996 11.725251,27.702363 9.843099,26.607098 7.9715637,25.51183 6.4881673,24.028432 5.3929019,22.156903 4.2976327,20.274746 3.75,18.222449 3.75,16.000002 3.75,13.777574 4.2976327,11.730594 5.3929019,9.8590516 6.4881673,7.9769072 7.9715637,6.4881927 9.843099,5.3929062 11.725251,4.2976564 13.77755,3.7500236 16,3.75 c 2.222425,2.36e-5 4.269406,0.5476564 6.140953,1.6429062 1.88214,1.0952865 3.370856,2.584001 4.466145,4.4661454"
+ id="path3275"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;fill-opacity:1;stroke:none"
+ d="M 16.816995,19.463899 11.276562,13.923466 8.7414,16.458629 14.281832,21.999061 z"
+ id="rect4057"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#000000;fill-opacity:1;stroke:none"
+ d="m 11.792505,19.521247 9.473539,-9.340956 2.535164,2.535163 -9.473539,9.340957 z"
+ id="rect4059"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+</svg>
diff --git a/data/images/black/question.svg b/data/images/black/question.svg
new file mode 100644
index 00000000..60038638
--- /dev/null
+++ b/data/images/black/question.svg
@@ -0,0 +1,82 @@
+<?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"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg3243"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="question.svg">
+ <defs
+ id="defs3245" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.9999996"
+ inkscape:cx="12.965251"
+ inkscape:cy="9.8979426"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:snap-global="false"
+ inkscape:window-width="1328"
+ inkscape:window-height="840"
+ inkscape:window-x="1987"
+ inkscape:window-y="24"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3273" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3248">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#f0e68c;stroke:#000000;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;fill-opacity:1"
+ d="m 26.607099,9.8590516 c 1.095245,1.8715424 1.642877,3.9185224 1.642901,6.1409504 -2.4e-5,2.222446 -0.547656,4.274745 -1.642901,6.1569 -1.09529,1.871531 -2.584007,3.354928 -4.466146,4.450196 C 20.269406,27.702362 18.222426,28.249996 16,28.25 13.77755,28.249996 11.725251,27.702362 9.8430986,26.607098 7.9715638,25.51183 6.4881674,24.028433 5.392902,22.156902 4.2976328,20.274747 3.75,18.222448 3.75,16.000002 3.75,13.777574 4.2976328,11.730594 5.392902,9.8590516 6.4881674,7.9769072 7.9715638,6.4881927 9.8430986,5.3929062 11.725251,4.2976564 13.77755,3.7500236 16,3.75 c 2.222426,2.36e-5 4.269406,0.5476564 6.140953,1.6429062 1.882139,1.0952865 3.370856,2.584001 4.466146,4.4661454"
+ id="path3275"
+ inkscape:connector-curvature="0" />
+ <g
+ transform="matrix(0.93378097,0,0,0.80060225,2.1910082,2.2390946)"
+ style="font-size:24.20675278px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:FreeSans;-inkscape-font-specification:FreeSans"
+ id="text2987">
+ <path
+ style="font-weight:bold;font-family:Droid Sans;-inkscape-font-specification:Droid Sans Bold"
+ d="m 13.191315,20.187003 0,-0.859172 c -3e-6,-0.394747 0.03717,-0.750801 0.111525,-1.068159 0.08178,-0.325085 0.200741,-0.630826 0.35688,-0.917225 0.163567,-0.294121 0.371746,-0.576642 0.62454,-0.847561 0.252786,-0.27864 0.55762,-0.565031 0.914506,-0.859172 0.312264,-0.255419 0.576207,-0.483757 0.791827,-0.685016 0.21561,-0.201235 0.390332,-0.398613 0.524168,-0.592131 0.133823,-0.201235 0.230479,-0.410223 0.289965,-0.626963 0.05947,-0.216716 0.08921,-0.468275 0.08922,-0.754678 -7e-6,-0.441183 -0.144989,-0.804977 -0.434948,-1.09138 -0.282536,-0.286378 -0.717484,-0.429572 -1.304843,-0.429586 -0.513019,1.4e-5 -1.066927,0.112248 -1.661723,0.336702 -0.587368,0.224482 -1.197037,0.499262 -1.82901,0.82434 -1.453521,0.818948 -2.5794663,-1.530369 -1.137556,-2.565904 0.319705,-0.1934915 0.665432,-0.3753865 1.037183,-0.5456882 0.379184,-0.1780102 0.769521,-0.3328158 1.171013,-0.4644172 0.408922,-0.1393083 0.821564,-0.2476722 1.237927,-0.325092 0.416357,-0.077386 0.825282,-0.1160872 1.226776,-0.1161044 0.758365,1.72e-5 1.442385,0.096771 2.052061,0.2902608 0.609663,0.1857836 1.126395,0.4605635 1.550198,0.8243395 0.423786,0.3638075 0.747208,0.8050035 0.970268,1.3235875 0.230475,0.518614 0.345718,1.110745 0.345727,1.776396 -9e-6,0.48765 -0.05205,0.924976 -0.156135,1.311978 -0.104099,0.379285 -0.260234,0.735339 -0.468404,1.06816 -0.200755,0.325102 -0.457263,0.642454 -0.769524,0.952055 -0.304843,0.301881 -0.661723,0.623102 -1.070639,0.963666 -0.312278,0.255437 -0.568786,0.479906 -0.769524,0.673405 -0.193316,0.185774 -0.345734,0.363801 -0.457252,0.534079 -0.111531,0.170295 -0.189599,0.348321 -0.234203,0.534081 -0.03718,0.178033 -0.05576,0.390891 -0.05576,0.638574 l 0,0.696625 c -0.345863,2.197824 -2.53083,2.209243 -2.944261,0"
+ id="path2996"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccccccccccccccccccccccscscc" />
+ <path
+ style="font-weight:bold;font-family:Droid Sans;-inkscape-font-specification:Droid Sans Bold"
+ d="m 13.14689,25.354041 c -3e-6,-0.326839 0.03795,-0.601524 0.113851,-0.824056 0.08174,-0.229482 0.192668,-0.413764 0.332795,-0.552849 0.140122,-0.139078 0.303601,-0.239911 0.490435,-0.302501 0.192667,-0.06259 0.397016,-0.09388 0.613044,-0.09388 0.204344,3e-6 0.397016,0.03129 0.578014,0.09388 0.186828,0.06259 0.350305,0.163423 0.490434,0.302501 0.14012,0.139085 0.251052,0.323367 0.332796,0.552849 0.08174,0.222532 0.122603,0.497217 0.122609,0.824056 -6e-6,0.312934 -0.04088,0.580665 -0.122609,0.803194 -0.08175,0.222531 -0.192676,0.406813 -0.332796,0.552848 -0.140129,0.146036 -0.303606,0.250347 -0.490434,0.312933 -0.180998,0.06954 -0.37367,0.104311 -0.578014,0.104311 -0.216028,0 -0.420377,-0.03477 -0.613044,-0.104311 -0.186834,-0.06259 -0.350313,-0.166897 -0.490435,-0.312933 -0.140127,-0.146035 -0.251058,-0.330317 -0.332795,-0.552848 -0.07591,-0.222529 -0.113854,-0.49026 -0.113851,-0.803194"
+ id="path2992"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/data/images/black/wait.svg b/data/images/black/wait.svg
new file mode 100644
index 00000000..2ae0113a
--- /dev/null
+++ b/data/images/black/wait.svg
@@ -0,0 +1,75 @@
+<?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"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg3243"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="wait.svg">
+ <defs
+ id="defs3245" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="8"
+ inkscape:cx="-30.255727"
+ inkscape:cy="10.507144"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:snap-global="false"
+ inkscape:window-width="1920"
+ inkscape:window-height="1056"
+ inkscape:window-x="1920"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3273" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3248">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#f0e68c;stroke:#000000;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;fill-opacity:1"
+ d="m 26.607099,9.8590516 c 1.095245,1.8715424 1.642877,3.9185224 1.642901,6.1409504 -2.4e-5,2.222446 -0.547656,4.274745 -1.642901,6.1569 -1.09529,1.871531 -2.584007,3.354928 -4.466146,4.450196 C 20.269406,27.702362 18.222426,28.249996 16,28.25 13.77755,28.249996 11.725251,27.702362 9.8430986,26.607098 7.9715638,25.51183 6.4881674,24.028433 5.392902,22.156902 4.2976328,20.274747 3.75,18.222448 3.75,16.000002 3.75,13.777574 4.2976328,11.730594 5.392902,9.8590516 6.4881674,7.9769072 7.9715638,6.4881927 9.8430986,5.3929062 11.725251,4.2976564 13.77755,3.7500236 16,3.75 c 2.222426,2.36e-5 4.269406,0.5476564 6.140953,1.6429062 1.882139,1.0952865 3.370856,2.584001 4.466146,4.4661454"
+ id="path3275"
+ inkscape:connector-curvature="0" />
+ <g
+ transform="matrix(0.23090279,0,0,0.23090276,-12.029146,-19.708792)"
+ style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome"
+ id="text2993">
+ <path
+ inkscape:connector-curvature="0"
+ d="m 151.24208,161.07719 c -6e-5,0.13394 -0.0135,0.22769 -0.0402,0.28125 -1.71434,7.17858 -5.30363,13.00447 -10.76786,17.47767 -5.46433,4.44643 -11.86611,6.66964 -19.20535,6.66965 -3.91075,-1e-5 -7.70092,-0.73661 -11.37054,-2.20982 -3.64287,-1.47322 -6.89733,-3.5759 -9.76339,-6.30804 l -5.183039,5.18304 c -0.508932,0.50892 -1.11161,0.76339 -1.808035,0.76339 -0.696431,0 -1.299109,-0.25447 -1.808036,-0.76339 -0.508929,-0.50893 -0.763393,-1.11161 -0.763393,-1.80804 l 0,-18 c 0,-0.69641 0.254464,-1.29909 0.763393,-1.80804 0.508927,-0.5089 1.111605,-0.76337 1.808036,-0.76339 l 18.000004,0 c 0.6964,2e-5 1.29908,0.25449 1.80803,0.76339 0.50891,0.50895 0.76337,1.11163 0.76339,1.80804 -2e-5,0.69645 -0.25448,1.29912 -0.76339,1.80804 l -5.50446,5.50446 c 1.90176,1.76787 4.05801,3.13394 6.46875,4.09821 2.41069,0.9643 4.91515,1.44644 7.51339,1.44643 3.58925,10e-6 6.93746,-0.87053 10.04464,-2.6116 3.1071,-1.74107 5.59817,-4.13839 7.47322,-7.19197 0.29459,-0.45534 1.00441,-2.0223 2.12946,-4.70089 0.21424,-0.61605 0.61602,-0.92409 1.20536,-0.92411 l 7.71428,0 c 0.34816,2e-5 0.6428,0.13395 0.88393,0.40179 0.2678,0.24109 0.40173,0.53573 0.40179,0.88393 m 1.00446,-32.14286 0,18 c -6e-5,0.69646 -0.25452,1.29914 -0.76339,1.80803 -0.50899,0.50896 -1.11167,0.76343 -1.80804,0.7634 l -18,0 c -0.69646,3e-5 -1.29914,-0.25444 -1.80803,-0.7634 -0.50897,-0.50889 -0.76343,-1.11157 -0.76339,-1.80803 -4e-5,-0.6964 0.25442,-1.29907 0.76339,-1.80804 l 5.54464,-5.54464 c -3.96433,-3.6696 -8.63843,-5.50442 -14.02232,-5.50446 -3.58931,4e-5 -6.93752,0.87058 -10.04464,2.6116 -3.10716,1.74112 -5.59823,4.13844 -7.47322,7.19197 -0.29465,0.45539 -1.00447,2.02235 -2.12946,4.70089 -0.2143,0.6161 -0.61608,0.92414 -1.20536,0.92411 l -7.995534,0 c -0.348216,3e-5 -0.656252,-0.12051 -0.924107,-0.36161 -0.241073,-0.26783 -0.361608,-0.57586 -0.361608,-0.92411 l 0,-0.28125 c 1.741069,-7.17853 5.357137,-12.99102 10.848219,-17.4375 5.49105,-4.47316 11.91962,-6.70976 19.28571,-6.70982 3.91068,6e-5 7.71425,0.75006 11.41071,2.25 3.69639,1.47327 6.97763,3.56255 9.84375,6.26786 l 5.22322,-5.18304 c 0.50887,-0.50887 1.11155,-0.76334 1.80803,-0.76339 0.69637,5e-5 1.29905,0.25452 1.80804,0.76339 0.50887,0.50898 0.76333,1.11166 0.76339,1.80804"
+ id="path3126" />
+ </g>
+ </g>
+</svg>
diff --git a/data/images/white/32/off.png b/data/images/white/32/off.png
deleted file mode 100644
index 22621594..00000000
--- a/data/images/white/32/off.png
+++ /dev/null
Binary files differ
diff --git a/data/images/white/32/on.png b/data/images/white/32/on.png
deleted file mode 100644
index 8946f763..00000000
--- a/data/images/white/32/on.png
+++ /dev/null
Binary files differ
diff --git a/data/images/white/32/wait.png b/data/images/white/32/wait.png
deleted file mode 100644
index 8562d636..00000000
--- a/data/images/white/32/wait.png
+++ /dev/null
Binary files differ
diff --git a/data/images/white/off.svg b/data/images/white/off.svg
new file mode 100644
index 00000000..9c7cacfe
--- /dev/null
+++ b/data/images/white/off.svg
@@ -0,0 +1,89 @@
+<?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"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg3243"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="off.svg">
+ <defs
+ id="defs3245" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="16"
+ inkscape:cx="16.939547"
+ inkscape:cy="16.062523"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:snap-global="false"
+ inkscape:window-width="884"
+ inkscape:window-height="545"
+ inkscape:window-x="882"
+ inkscape:window-y="329"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3273" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3248">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#a40000;stroke:#eeeeec;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;fill-opacity:1"
+ d="m 26.607099,9.8590516 c 1.095245,1.8715414 1.642877,3.9185224 1.642901,6.1409504 -2.4e-5,2.222445 -0.547656,4.274746 -1.642901,6.156901 -1.095291,1.87153 -2.584007,3.354927 -4.466146,4.450195 C 20.269405,27.702363 18.222426,28.249996 16,28.25 13.77755,28.249996 11.725251,27.702363 9.8430986,26.607098 7.9715637,25.51183 6.4881674,24.028433 5.3929018,22.156903 4.2976327,20.274748 3.75,18.222447 3.75,16.000002 3.75,13.777574 4.2976327,11.730593 5.3929018,9.8590516 6.4881674,7.9769071 7.9715637,6.4881926 9.8430986,5.392906 11.725251,4.2976563 13.77755,3.7500236 16,3.75 c 2.222426,2.36e-5 4.269405,0.5476563 6.140953,1.642906 1.882139,1.0952866 3.370855,2.5840011 4.466146,4.4661456"
+ id="path3275"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g3758"
+ transform="matrix(0.865313,0,0,0.865313,2.163376,2.175981)"
+ style="stroke:#eeeeec;fill:#eeeeec">
+ <rect
+ transform="matrix(-0.70710678,-0.70710678,-0.70710678,0.70710678,0,0)"
+ style="fill:#eeeeec;fill-opacity:1;stroke:#eeeeec"
+ id="rect4057"
+ width="18"
+ height="3"
+ x="-31.781626"
+ y="-1.4338233"
+ ry="0" />
+ <rect
+ transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
+ ry="0"
+ y="21.281626"
+ x="-9.0661755"
+ height="3"
+ width="18"
+ id="rect4059"
+ style="fill:#eeeeec;fill-opacity:1;stroke:#eeeeec" />
+ </g>
+ </g>
+</svg>
diff --git a/data/images/white/on.svg b/data/images/white/on.svg
new file mode 100644
index 00000000..4d4bc5b8
--- /dev/null
+++ b/data/images/white/on.svg
@@ -0,0 +1,78 @@
+<?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"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg3243"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="on.svg">
+ <defs
+ id="defs3245" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="16"
+ inkscape:cx="35.709077"
+ inkscape:cy="11.915427"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:snap-global="false"
+ inkscape:window-width="1920"
+ inkscape:window-height="1056"
+ inkscape:window-x="1920"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3273" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3248">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#4e9a06;stroke:#eeeeec;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;fill-opacity:1"
+ d="m 26.607098,9.8590516 c 1.095246,1.8715424 1.642877,3.9185224 1.642902,6.1409504 -2.5e-5,2.222447 -0.547656,4.274744 -1.642902,6.156901 -1.095289,1.871529 -2.584005,3.354927 -4.466145,4.450195 C 20.269406,27.702363 18.222425,28.249996 16,28.25 13.77755,28.249996 11.725251,27.702363 9.843099,26.607098 7.9715637,25.51183 6.4881673,24.028432 5.3929019,22.156903 4.2976327,20.274746 3.75,18.222449 3.75,16.000002 3.75,13.777574 4.2976327,11.730594 5.3929019,9.8590516 6.4881673,7.9769072 7.9715637,6.4881927 9.843099,5.3929062 11.725251,4.2976564 13.77755,3.7500236 16,3.75 c 2.222425,2.36e-5 4.269406,0.5476564 6.140953,1.6429062 1.88214,1.0952865 3.370856,2.584001 4.466145,4.4661454"
+ id="path3275"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#eeeeec;fill-opacity:1;stroke:none"
+ d="M 16.816995,19.463899 11.276562,13.923466 8.7414,16.458629 14.281832,21.999061 z"
+ id="rect4057"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#eeeeec;fill-opacity:1;stroke:none"
+ d="m 11.792505,19.521247 9.473539,-9.340956 2.535164,2.535163 -9.473539,9.340957 z"
+ id="rect4059"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+</svg>
diff --git a/data/images/white/question.svg b/data/images/white/question.svg
new file mode 100644
index 00000000..dd4aa200
--- /dev/null
+++ b/data/images/white/question.svg
@@ -0,0 +1,82 @@
+<?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"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg3243"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="question.svg">
+ <defs
+ id="defs3245" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6568542"
+ inkscape:cx="-4.5781666"
+ inkscape:cy="11.131084"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:snap-global="false"
+ inkscape:window-width="1328"
+ inkscape:window-height="840"
+ inkscape:window-x="1987"
+ inkscape:window-y="24"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3273" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3248">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#c4a000;stroke:#eeeeec;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;fill-opacity:1"
+ d="m 26.607099,9.8590516 c 1.095245,1.8715424 1.642877,3.9185224 1.642901,6.1409504 -2.4e-5,2.222446 -0.547656,4.274745 -1.642901,6.1569 -1.09529,1.871531 -2.584007,3.354928 -4.466146,4.450196 C 20.269406,27.702362 18.222426,28.249996 16,28.25 13.77755,28.249996 11.725251,27.702362 9.8430986,26.607098 7.9715638,25.51183 6.4881674,24.028433 5.392902,22.156902 4.2976328,20.274747 3.75,18.222448 3.75,16.000002 3.75,13.777574 4.2976328,11.730594 5.392902,9.8590516 6.4881674,7.9769072 7.9715638,6.4881927 9.8430986,5.3929062 11.725251,4.2976564 13.77755,3.7500236 16,3.75 c 2.222426,2.36e-5 4.269406,0.5476564 6.140953,1.6429062 1.882139,1.0952865 3.370856,2.584001 4.466146,4.4661454"
+ id="path3275"
+ inkscape:connector-curvature="0" />
+ <g
+ transform="matrix(0.93378097,0,0,0.80060225,2.1910082,2.2390946)"
+ style="font-size:24.20675277999999864px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#eeeeec;fill-opacity:1;stroke:none;font-family:FreeSans;-inkscape-font-specification:FreeSans"
+ id="text2987">
+ <path
+ style="font-weight:bold;font-family:Droid Sans;-inkscape-font-specification:Droid Sans Bold;fill:#eeeeec"
+ d="m 13.191315,20.187003 0,-0.859172 c -3e-6,-0.394747 0.03717,-0.750801 0.111525,-1.068159 0.08178,-0.325085 0.200741,-0.630826 0.35688,-0.917225 0.163567,-0.294121 0.371746,-0.576642 0.62454,-0.847561 0.252786,-0.27864 0.55762,-0.565031 0.914506,-0.859172 0.312264,-0.255419 0.576207,-0.483757 0.791827,-0.685016 0.21561,-0.201235 0.390332,-0.398613 0.524168,-0.592131 0.133823,-0.201235 0.230479,-0.410223 0.289965,-0.626963 0.05947,-0.216716 0.08921,-0.468275 0.08922,-0.754678 -7e-6,-0.441183 -0.144989,-0.804977 -0.434948,-1.09138 -0.282536,-0.286378 -0.717484,-0.429572 -1.304843,-0.429586 -0.513019,1.4e-5 -1.066927,0.112248 -1.661723,0.336702 -0.587368,0.224482 -1.197037,0.499262 -1.82901,0.82434 -1.453521,0.818948 -2.5794663,-1.530369 -1.137556,-2.565904 0.319705,-0.1934915 0.665432,-0.3753865 1.037183,-0.5456882 0.379184,-0.1780102 0.769521,-0.3328158 1.171013,-0.4644172 0.408922,-0.1393083 0.821564,-0.2476722 1.237927,-0.325092 0.416357,-0.077386 0.825282,-0.1160872 1.226776,-0.1161044 0.758365,1.72e-5 1.442385,0.096771 2.052061,0.2902608 0.609663,0.1857836 1.126395,0.4605635 1.550198,0.8243395 0.423786,0.3638075 0.747208,0.8050035 0.970268,1.3235875 0.230475,0.518614 0.345718,1.110745 0.345727,1.776396 -9e-6,0.48765 -0.05205,0.924976 -0.156135,1.311978 -0.104099,0.379285 -0.260234,0.735339 -0.468404,1.06816 -0.200755,0.325102 -0.457263,0.642454 -0.769524,0.952055 -0.304843,0.301881 -0.661723,0.623102 -1.070639,0.963666 -0.312278,0.255437 -0.568786,0.479906 -0.769524,0.673405 -0.193316,0.185774 -0.345734,0.363801 -0.457252,0.534079 -0.111531,0.170295 -0.189599,0.348321 -0.234203,0.534081 -0.03718,0.178033 -0.05576,0.390891 -0.05576,0.638574 l 0,0.696625 c -0.345863,2.197824 -2.53083,2.209243 -2.944261,0"
+ id="path2996"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccccccccccccccccccccccscscc" />
+ <path
+ style="font-weight:bold;font-family:Droid Sans;-inkscape-font-specification:Droid Sans Bold;fill:#eeeeec"
+ d="m 13.14689,25.354041 c -3e-6,-0.326839 0.03795,-0.601524 0.113851,-0.824056 0.08174,-0.229482 0.192668,-0.413764 0.332795,-0.552849 0.140122,-0.139078 0.303601,-0.239911 0.490435,-0.302501 0.192667,-0.06259 0.397016,-0.09388 0.613044,-0.09388 0.204344,3e-6 0.397016,0.03129 0.578014,0.09388 0.186828,0.06259 0.350305,0.163423 0.490434,0.302501 0.14012,0.139085 0.251052,0.323367 0.332796,0.552849 0.08174,0.222532 0.122603,0.497217 0.122609,0.824056 -6e-6,0.312934 -0.04088,0.580665 -0.122609,0.803194 -0.08175,0.222531 -0.192676,0.406813 -0.332796,0.552848 -0.140129,0.146036 -0.303606,0.250347 -0.490434,0.312933 -0.180998,0.06954 -0.37367,0.104311 -0.578014,0.104311 -0.216028,0 -0.420377,-0.03477 -0.613044,-0.104311 -0.186834,-0.06259 -0.350313,-0.166897 -0.490435,-0.312933 -0.140127,-0.146035 -0.251058,-0.330317 -0.332795,-0.552848 -0.07591,-0.222529 -0.113854,-0.49026 -0.113851,-0.803194"
+ id="path2992"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/data/images/white/wait.svg b/data/images/white/wait.svg
new file mode 100644
index 00000000..8963b0cf
--- /dev/null
+++ b/data/images/white/wait.svg
@@ -0,0 +1,76 @@
+<?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"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg3243"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="wait.svg">
+ <defs
+ id="defs3245" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="8"
+ inkscape:cx="-30.255727"
+ inkscape:cy="10.507144"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:snap-global="false"
+ inkscape:window-width="1920"
+ inkscape:window-height="1056"
+ inkscape:window-x="1920"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3273" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3248">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#c4a000;stroke:#eeeeec;stroke-width:1.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;fill-opacity:1"
+ d="m 26.607099,9.8590516 c 1.095245,1.8715424 1.642877,3.9185224 1.642901,6.1409504 -2.4e-5,2.222446 -0.547656,4.274745 -1.642901,6.1569 -1.09529,1.871531 -2.584007,3.354928 -4.466146,4.450196 C 20.269406,27.702362 18.222426,28.249996 16,28.25 13.77755,28.249996 11.725251,27.702362 9.8430986,26.607098 7.9715638,25.51183 6.4881674,24.028433 5.392902,22.156902 4.2976328,20.274747 3.75,18.222448 3.75,16.000002 3.75,13.777574 4.2976328,11.730594 5.392902,9.8590516 6.4881674,7.9769072 7.9715638,6.4881927 9.8430986,5.3929062 11.725251,4.2976564 13.77755,3.7500236 16,3.75 c 2.222426,2.36e-5 4.269406,0.5476564 6.140953,1.6429062 1.882139,1.0952865 3.370856,2.584001 4.466146,4.4661454"
+ id="path3275"
+ inkscape:connector-curvature="0" />
+ <g
+ transform="matrix(0.23090279,0,0,0.23090276,-12.029146,-19.708792)"
+ style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#eeeeec;fill-opacity:1;stroke:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome"
+ id="text2993">
+ <path
+ inkscape:connector-curvature="0"
+ d="m 151.24208,161.07719 c -6e-5,0.13394 -0.0135,0.22769 -0.0402,0.28125 -1.71434,7.17858 -5.30363,13.00447 -10.76786,17.47767 -5.46433,4.44643 -11.86611,6.66964 -19.20535,6.66965 -3.91075,-1e-5 -7.70092,-0.73661 -11.37054,-2.20982 -3.64287,-1.47322 -6.89733,-3.5759 -9.76339,-6.30804 l -5.183039,5.18304 c -0.508932,0.50892 -1.11161,0.76339 -1.808035,0.76339 -0.696431,0 -1.299109,-0.25447 -1.808036,-0.76339 -0.508929,-0.50893 -0.763393,-1.11161 -0.763393,-1.80804 l 0,-18 c 0,-0.69641 0.254464,-1.29909 0.763393,-1.80804 0.508927,-0.5089 1.111605,-0.76337 1.808036,-0.76339 l 18.000004,0 c 0.6964,2e-5 1.29908,0.25449 1.80803,0.76339 0.50891,0.50895 0.76337,1.11163 0.76339,1.80804 -2e-5,0.69645 -0.25448,1.29912 -0.76339,1.80804 l -5.50446,5.50446 c 1.90176,1.76787 4.05801,3.13394 6.46875,4.09821 2.41069,0.9643 4.91515,1.44644 7.51339,1.44643 3.58925,10e-6 6.93746,-0.87053 10.04464,-2.6116 3.1071,-1.74107 5.59817,-4.13839 7.47322,-7.19197 0.29459,-0.45534 1.00441,-2.0223 2.12946,-4.70089 0.21424,-0.61605 0.61602,-0.92409 1.20536,-0.92411 l 7.71428,0 c 0.34816,2e-5 0.6428,0.13395 0.88393,0.40179 0.2678,0.24109 0.40173,0.53573 0.40179,0.88393 m 1.00446,-32.14286 0,18 c -6e-5,0.69646 -0.25452,1.29914 -0.76339,1.80803 -0.50899,0.50896 -1.11167,0.76343 -1.80804,0.7634 l -18,0 c -0.69646,3e-5 -1.29914,-0.25444 -1.80803,-0.7634 -0.50897,-0.50889 -0.76343,-1.11157 -0.76339,-1.80803 -4e-5,-0.6964 0.25442,-1.29907 0.76339,-1.80804 l 5.54464,-5.54464 c -3.96433,-3.6696 -8.63843,-5.50442 -14.02232,-5.50446 -3.58931,4e-5 -6.93752,0.87058 -10.04464,2.6116 -3.10716,1.74112 -5.59823,4.13844 -7.47322,7.19197 -0.29465,0.45539 -1.00447,2.02235 -2.12946,4.70089 -0.2143,0.6161 -0.61608,0.92414 -1.20536,0.92411 l -7.995534,0 c -0.348216,3e-5 -0.656252,-0.12051 -0.924107,-0.36161 -0.241073,-0.26783 -0.361608,-0.57586 -0.361608,-0.92411 l 0,-0.28125 c 1.741069,-7.17853 5.357137,-12.99102 10.848219,-17.4375 5.49105,-4.47316 11.91962,-6.70976 19.28571,-6.70982 3.91068,6e-5 7.71425,0.75006 11.41071,2.25 3.69639,1.47327 6.97763,3.56255 9.84375,6.26786 l 5.22322,-5.18304 c 0.50887,-0.50887 1.11155,-0.76334 1.80803,-0.76339 0.69637,5e-5 1.29905,0.25452 1.80804,0.76339 0.50887,0.50898 0.76333,1.11166 0.76339,1.80804"
+ id="path3126"
+ style="fill:#eeeeec" />
+ </g>
+ </g>
+</svg>
diff --git a/data/resources/mainwindow.qrc b/data/resources/mainwindow.qrc
index 0a917d5a..ea5900f7 100644
--- a/data/resources/mainwindow.qrc
+++ b/data/resources/mainwindow.qrc
@@ -1,8 +1,5 @@
<RCC>
<qresource prefix="/">
- <file>../images/white/32/off.png</file>
- <file>../images/white/32/on.png</file>
- <file>../images/white/32/wait.png</file>
<file>../images/black/32/arrow-down.png</file>
<file>../images/black/32/arrow-up.png</file>
<file>../images/black/32/cloud.png</file>
@@ -14,25 +11,26 @@
<file>../images/black/32/expand.png</file>
<file>../images/black/32/gear.png</file>
<file>../images/black/32/off.png</file>
- <file>../images/black/32/on.png</file>
- <file>../images/black/32/refresh.png</file>
- <file>../images/black/32/user.png</file>
- <file>../images/black/32/wait.png</file>
+
+ <file>../images/black/off.svg</file>
+ <file>../images/black/on.svg</file>
+ <file>../images/black/question.svg</file>
+ <file>../images/black/wait.svg</file>
+
+ <file>../images/white/off.svg</file>
+ <file>../images/white/on.svg</file>
+ <file>../images/white/question.svg</file>
+ <file>../images/white/wait.svg</file>
+
<file>../images/mask-launcher.png</file>
<file>../images/mask-icon.png</file>
<file>../images/leap-gray-big.png</file>
- <file>../images/Blue-Arrow-Right-32.png</file>
<file>../images/leap-color-big.png</file>
- <file>../images/Arrow-Down-32.png</file>
- <file>../images/Arrow-Up-32.png</file>
<file>../images/conn_connecting.png</file>
<file>../images/conn_connected.png</file>
<file>../images/conn_error.png</file>
<file>../images/conn_connecting-light.png</file>
<file>../images/conn_connected-light.png</file>
<file>../images/conn_error-light.png</file>
- <file>../images/Dialog-accept.png</file>
- <file>../images/Dialog-error.png</file>
- <file>../images/Emblem-question.png</file>
</qresource>
</RCC>
diff --git a/src/leap/bitmask/gui/eip_status.py b/src/leap/bitmask/gui/eip_status.py
index 1e764a8c..05e28f92 100644
--- a/src/leap/bitmask/gui/eip_status.py
+++ b/src/leap/bitmask/gui/eip_status.py
@@ -214,15 +214,15 @@ class EIPStatusWidget(QtGui.QWidget):
WIN : light icons
"""
EIP_ICONS = EIP_ICONS_TRAY = (
- ":/images/black/32/wait.png",
- ":/images/black/32/on.png",
- ":/images/black/32/off.png")
+ ":/images/black/wait.svg",
+ ":/images/black/on.svg",
+ ":/images/black/off.svg")
if IS_LINUX:
EIP_ICONS_TRAY = (
- ":/images/white/32/wait.png",
- ":/images/white/32/on.png",
- ":/images/white/32/off.png")
+ ":/images/white/wait.svg",
+ ":/images/white/on.svg",
+ ":/images/white/off.svg")
self.CONNECTING_ICON = QtGui.QPixmap(EIP_ICONS[0])
self.CONNECTED_ICON = QtGui.QPixmap(EIP_ICONS[1])
diff --git a/src/leap/bitmask/gui/mail_status.py b/src/leap/bitmask/gui/mail_status.py
index bb755b5c..4ec93d88 100644
--- a/src/leap/bitmask/gui/mail_status.py
+++ b/src/leap/bitmask/gui/mail_status.py
@@ -134,15 +134,15 @@ class MailStatusWidget(QtGui.QWidget):
WIN : light icons
"""
EIP_ICONS = EIP_ICONS_TRAY = (
- ":/images/black/32/wait.png",
- ":/images/black/32/on.png",
- ":/images/black/32/off.png")
+ ":/images/black/wait.svg",
+ ":/images/black/on.svg",
+ ":/images/black/off.svg")
if IS_LINUX:
EIP_ICONS_TRAY = (
- ":/images/white/32/wait.png",
- ":/images/white/32/on.png",
- ":/images/white/32/off.png")
+ ":/images/white/wait.svg",
+ ":/images/white/on.svg",
+ ":/images/white/off.svg")
self.CONNECTING_ICON = QtGui.QPixmap(EIP_ICONS[0])
self.CONNECTED_ICON = QtGui.QPixmap(EIP_ICONS[1])
diff --git a/src/leap/bitmask/gui/mainwindow.py b/src/leap/bitmask/gui/mainwindow.py
index 02bad1d3..0518350e 100644
--- a/src/leap/bitmask/gui/mainwindow.py
+++ b/src/leap/bitmask/gui/mainwindow.py
@@ -237,8 +237,8 @@ class MainWindow(QtGui.QMainWindow):
self._action_eip_startstop = QtGui.QAction("", self)
self._eip_status.set_action_eip_startstop(self._action_eip_startstop)
- self._action_visible = QtGui.QAction(self.tr("Hide Main Window"), self)
- self._action_visible.triggered.connect(self._toggle_visible)
+ self._action_visible = QtGui.QAction(self.tr("Show Main Window"), self)
+ self._action_visible.triggered.connect(self._ensure_visible)
# disable buttons for now, may come back later.
# self.ui.btnPreferences.clicked.connect(self._show_preferences)
@@ -957,8 +957,6 @@ class MainWindow(QtGui.QMainWindow):
Display the context menu from the tray icon
"""
- self._update_hideshow_menu()
-
context_menu = self._systray.contextMenu()
if not IS_MAC:
# for some reason, context_menu.show()
@@ -967,50 +965,38 @@ class MainWindow(QtGui.QMainWindow):
# this works however.
context_menu.exec_(self._systray.geometry().center())
- def _update_hideshow_menu(self):
- """
- Update the Hide/Show main window menu text based on the
- visibility of the window.
+ @QtCore.Slot()
+ def _ensure_visible(self):
"""
- get_action = lambda visible: (
- self.tr("Show Main Window"),
- self.tr("Hide Main Window"))[int(visible)]
+ TRIGGERS:
+ self._action_visible.triggered
- # set labels
- visible = self.isVisible() and self.isActiveWindow()
- self._action_visible.setText(get_action(visible))
+ Ensure that the window is visible and raised.
+ """
+ QtGui.QApplication.setQuitOnLastWindowClosed(True)
+ self.show()
+ if IS_LINUX:
+ # On ubuntu, activateWindow doesn't work reliably, so
+ # we do the following as a workaround. See
+ # https://bugreports.qt-project.org/browse/QTBUG-24932
+ # for more details
+ QtGui.QX11Info.setAppUserTime(0)
+ self.activateWindow()
+ self.raise_()
@QtCore.Slot()
- def _toggle_visible(self):
+ def _ensure_invisible(self):
"""
TRIGGERS:
self._action_visible.triggered
- Toggle the window visibility
+ Ensure that the window is hidden.
"""
- visible = self.isVisible() and self.isActiveWindow()
-
- if not visible:
- QtGui.QApplication.setQuitOnLastWindowClosed(True)
- self.show()
- if IS_LINUX:
- # On ubuntu, activateWindow doesn't work reliably, so
- # we do the following as a workaround. See
- # https://bugreports.qt-project.org/browse/QTBUG-24932
- # for more details
- QtGui.QX11Info.setAppUserTime(0)
- self.activateWindow()
- self.raise_()
- else:
- # We set this in order to avoid dialogs shutting down the
- # app on close, as they will be the only visible window.
- # e.g.: PreferencesWindow, LoggerWindow
- QtGui.QApplication.setQuitOnLastWindowClosed(False)
- self.hide()
-
- # Wait a bit until the window visibility has changed so
- # the menu is set with the correct value.
- QtDelayedCall(500, self._update_hideshow_menu)
+ # We set this in order to avoid dialogs shutting down the
+ # app on close, as they will be the only visible window.
+ # e.g.: PreferencesWindow, LoggerWindow
+ QtGui.QApplication.setQuitOnLastWindowClosed(False)
+ self.hide()
def _center_window(self):
"""
@@ -1073,22 +1059,38 @@ class MainWindow(QtGui.QMainWindow):
# TODO: don't hardcode!
smtp_port = 2013
- url = ("<a href='https://addons.mozilla.org/es/thunderbird/"
- "addon/bitmask/'>bitmask addon</a>")
-
- msg = self.tr(
- "<strong>Instructions to use mail:</strong><br>"
- "If you use Thunderbird you can use the Bitmask extension helper. "
- "Search for 'Bitmask' in the add-on manager or download it "
- "from: {0}.<br><br>"
- "You can configure Bitmask manually with these options:<br>"
- "<em>"
- " Incoming -> IMAP, port: {1}<br>"
- " Outgoing -> SMTP, port: {2}<br>"
- " Username -> your bitmask username.<br>"
- " Password -> does not matter, use any text. "
- " Just don't leave it empty and don't use your account's password."
- "</em>").format(url, IMAP_PORT, smtp_port)
+ help_url = "<p><a href='https://{0}'>{0}</a></p>".format(
+ self.tr("bitmask.net/help"))
+
+ lang = QtCore.QLocale.system().name().replace('_','-')
+ thunderbird_extension_url = \
+ "https://addons.mozilla.org/{0}/" \
+ "thunderbird/addon/bitmask/".format(lang)
+
+ email_quick_reference = self.tr("Email quick reference")
+ thunderbird_text = self.tr("For Thunderbird, you can use the "
+ "Bitmask extension. Search for \"Bitmask\" in the add-on "
+ "manager or download it from <a href='{0}'>"
+ "addons.mozilla.org</a>.".format(thunderbird_extension_url))
+ manual_text = self.tr("Alternately, you can manually configure "
+ "your mail client to use Bitmask Email with these options:")
+ manual_imap = self.tr("IMAP: localhost, port {0}".format(IMAP_PORT))
+ manual_smtp = self.tr("SMTP: localhost, port {0}".format(smtp_port))
+ manual_username = self.tr("Username: your full email address")
+ manual_password = self.tr("Password: any non-empty text")
+
+ msg = help_url + self.tr(
+ "<p><strong>{0}</strong></p>"
+ "<p>{1}</p>"
+ "<p>{2}"
+ "<ul>"
+ "<li>&nbsp;{3}</li>"
+ "<li>&nbsp;{4}</li>"
+ "<li>&nbsp;{5}</li>"
+ "<li>&nbsp;{6}</li>"
+ "</ul></p>").format(email_quick_reference, thunderbird_text,
+ manual_text, manual_imap, manual_smtp,
+ manual_username, manual_password)
QtGui.QMessageBox.about(self, self.tr("Bitmask Help"), msg)
def _needs_update(self):
@@ -1114,19 +1116,6 @@ class MainWindow(QtGui.QMainWindow):
"Error: API version incompatible.")
QtGui.QMessageBox.warning(self, self.tr("Incompatible Provider"), msg)
- def changeEvent(self, e):
- """
- Reimplementation of changeEvent method to minimize to tray
- """
- if not IS_MAC and \
- QtGui.QSystemTrayIcon.isSystemTrayAvailable() and \
- e.type() == QtCore.QEvent.WindowStateChange and \
- self.isMinimized():
- self._toggle_visible()
- e.accept()
- return
- QtGui.QMainWindow.changeEvent(self, e)
-
def closeEvent(self, e):
"""
Reimplementation of closeEvent to close to tray
@@ -1139,7 +1128,7 @@ class MainWindow(QtGui.QMainWindow):
if QtGui.QSystemTrayIcon.isSystemTrayAvailable() and \
not self._really_quit:
- self._toggle_visible()
+ self._ensure_invisible()
e.ignore()
return
diff --git a/src/leap/bitmask/gui/ui/eip_status.ui b/src/leap/bitmask/gui/ui/eip_status.ui
index e0996620..e97add61 100644
--- a/src/leap/bitmask/gui/ui/eip_status.ui
+++ b/src/leap/bitmask/gui/ui/eip_status.ui
@@ -111,7 +111,7 @@
<string/>
</property>
<property name="pixmap">
- <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/32/off.png</pixmap>
+ <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/off.svg</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
diff --git a/src/leap/bitmask/gui/ui/login.ui b/src/leap/bitmask/gui/ui/login.ui
index 216eca9e..cd20108e 100644
--- a/src/leap/bitmask/gui/ui/login.ui
+++ b/src/leap/bitmask/gui/ui/login.ui
@@ -33,7 +33,7 @@
<number>0</number>
</property>
<property name="verticalSpacing">
- <number>-1</number>
+ <number>6</number>
</property>
<item row="2" column="0">
<spacer name="horizontalSpacer_2">
@@ -79,8 +79,14 @@
</property>
</widget>
</item>
- <item row="3" column="0">
+ <item row="4" column="1">
<widget class="QPushButton" name="btnLogin">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="text">
<string>Log In</string>
</property>
@@ -198,26 +204,17 @@
</item>
<item row="3" column="2" colspan="2">
<widget class="QWidget" name="logged_widget" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>0</height>
- </size>
- </property>
- <layout class="QGridLayout" name="gridLayout_5">
+ <layout class="QHBoxLayout" name="horizontalLayout">
<property name="topMargin">
<number>0</number>
</property>
+ <property name="rightMargin">
+ <number>26</number>
+ </property>
<property name="bottomMargin">
- <number>12</number>
+ <number>18</number>
</property>
- <item row="0" column="0" colspan="2">
+ <item>
<widget class="QLabel" name="lblUser">
<property name="font">
<font>
@@ -231,22 +228,41 @@
</property>
</widget>
</item>
- <item row="1" column="0">
+ <item>
+ <spacer name="expandingSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
<widget class="QPushButton" name="btnLogout">
<property name="text">
<string>Logout</string>
</property>
</widget>
</item>
- <item row="1" column="1">
- <spacer name="horizontalSpacer">
+ <item>
+ <spacer name="fixedSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
<property name="sizeHint" stdset="0">
<size>
- <width>40</width>
- <height>20</height>
+ <width>24</width>
+ <height>24</height>
</size>
</property>
</spacer>
diff --git a/src/leap/bitmask/gui/ui/logout.ui b/src/leap/bitmask/gui/ui/logout.ui
new file mode 100644
index 00000000..3faa93b6
--- /dev/null
+++ b/src/leap/bitmask/gui/ui/logout.ui
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>434</width>
+ <height>202</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="lblUser">
+ <property name="font">
+ <font>
+ <pointsize>15</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="expandingSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="btnLogout">
+ <property name="text">
+ <string>Logout</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="fixedSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/leap/bitmask/gui/ui/mail_status.ui b/src/leap/bitmask/gui/ui/mail_status.ui
index 22976f39..6103c77b 100644
--- a/src/leap/bitmask/gui/ui/mail_status.ui
+++ b/src/leap/bitmask/gui/ui/mail_status.ui
@@ -60,7 +60,7 @@
<string/>
</property>
<property name="pixmap">
- <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/32/off.png</pixmap>
+ <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/off.svg</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
diff --git a/src/leap/bitmask/gui/ui/mainwindow.ui b/src/leap/bitmask/gui/ui/mainwindow.ui
index 1eeb636f..5bd21484 100644
--- a/src/leap/bitmask/gui/ui/mainwindow.ui
+++ b/src/leap/bitmask/gui/ui/mainwindow.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>524</width>
- <height>640</height>
+ <height>600</height>
</rect>
</property>
<property name="sizePolicy">
@@ -216,6 +216,28 @@
</property>
</spacer>
</item>
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="autoFillBackground">
+ <bool>false</bool>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">background-color: rgba(0,0,0,20); border-top: 1px solid rgba(0,0,0,30);</string>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>16</height>
+ </size>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</widget>
diff --git a/src/leap/bitmask/gui/ui/wizard.ui b/src/leap/bitmask/gui/ui/wizard.ui
index 8c52897d..f67e9dd5 100644
--- a/src/leap/bitmask/gui/ui/wizard.ui
+++ b/src/leap/bitmask/gui/ui/wizard.ui
@@ -23,7 +23,7 @@
</size>
</property>
<property name="windowTitle">
- <string>Bitmask first run</string>
+ <string>Bitmask Provider Setup</string>
</property>
<property name="windowIcon">
<iconset resource="../../../../../data/resources/mainwindow.qrc">
@@ -40,10 +40,10 @@
</property>
<widget class="WizardPage" name="introduction_page">
<property name="title">
- <string>Welcome</string>
+ <string>Welcome to Bitmask</string>
</property>
<property name="subTitle">
- <string>This is the Bitmask first run wizard</string>
+ <string> </string>
</property>
<attribute name="pageId">
<string notr="true">0</string>
@@ -59,7 +59,7 @@
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
- <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Now we will guide you through some configuration that is needed before you can connect for the first time.&lt;/p&gt;&lt;p&gt;If you ever need to modify these options again, you can find the wizard in the &lt;span style=&quot; font-style:italic;&quot;&gt;'Bitmask -&amp;gt; Create new account...'&lt;/span&gt; menu from the main window.&lt;/p&gt;&lt;p&gt;Do you want to &lt;span style=&quot; font-weight:600;&quot;&gt;sign up&lt;/span&gt; for a new account, or &lt;span style=&quot; font-weight:600;&quot;&gt;log in&lt;/span&gt; with an already existing username?&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ <string></string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
@@ -109,10 +109,10 @@
</widget>
<widget class="WizardPage" name="select_provider_page">
<property name="title">
- <string>Provider selection</string>
+ <string>Choose a provider</string>
</property>
<property name="subTitle">
- <string>Please enter the domain of the provider you want to use for your connection</string>
+ <string> </string>
</property>
<attribute name="pageId">
<string notr="true">1</string>
@@ -156,7 +156,7 @@
<item row="3" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
- <string>Getting provider information</string>
+ <string>Getting provider information.</string>
</property>
</widget>
</item>
@@ -181,11 +181,20 @@
<height>24</height>
</size>
</property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
<property name="text">
<string/>
</property>
<property name="pixmap">
- <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/Emblem-question.png</pixmap>
+ <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/question.svg</pixmap>
</property>
</widget>
</item>
@@ -203,11 +212,20 @@
<height>24</height>
</size>
</property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
<property name="text">
<string/>
</property>
<property name="pixmap">
- <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/Emblem-question.png</pixmap>
+ <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/question.svg</pixmap>
</property>
</widget>
</item>
@@ -225,11 +243,20 @@
<height>24</height>
</size>
</property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
<property name="text">
<string/>
</property>
<property name="pixmap">
- <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/Emblem-question.png</pixmap>
+ <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/question.svg</pixmap>
</property>
</widget>
</item>
@@ -350,10 +377,10 @@
</widget>
<widget class="QWizardPage" name="provider_info_page">
<property name="title">
- <string>Provider Information</string>
+ <string>About this provider</string>
</property>
<property name="subTitle">
- <string>Description of services offered by this provider</string>
+ <string> </string>
</property>
<attribute name="pageId">
<string notr="true">2</string>
@@ -495,7 +522,7 @@
<string>Provider setup</string>
</property>
<property name="subTitle">
- <string>Gathering configuration options for this provider</string>
+ <string> </string>
</property>
<attribute name="pageId">
<string notr="true">3</string>
@@ -517,7 +544,7 @@
<item>
<widget class="QLabel" name="lblSetupProviderExpl">
<property name="text">
- <string>We are downloading some bits that we need to establish a secure connection with the provider for the first time.</string>
+ <string>Bitmask is attempting to establish a secure connection with this provider for the first time.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
@@ -557,11 +584,20 @@
<height>24</height>
</size>
</property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
<property name="text">
<string/>
</property>
<property name="pixmap">
- <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/Emblem-question.png</pixmap>
+ <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/question.svg</pixmap>
</property>
</widget>
</item>
@@ -579,32 +615,41 @@
<height>24</height>
</size>
</property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
<property name="text">
<string/>
</property>
<property name="pixmap">
- <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/Emblem-question.png</pixmap>
+ <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/question.svg</pixmap>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
- <string>Getting info from the Certificate Authority</string>
+ <string>Fetching provider credentials.</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
- <string>Do we trust this Certificate Authority?</string>
+ <string>Do we trust these credentials?</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
- <string>Establishing a trust relationship with this provider</string>
+ <string>Connecting to provider.</string>
</property>
</widget>
</item>
@@ -622,11 +667,20 @@
<height>24</height>
</size>
</property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
<property name="text">
<string/>
</property>
<property name="pixmap">
- <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/Emblem-question.png</pixmap>
+ <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/question.svg</pixmap>
</property>
</widget>
</item>
@@ -666,7 +720,7 @@
<string>Register new user</string>
</property>
<property name="subTitle">
- <string>Register a new user with provider</string>
+ <string> </string>
</property>
<attribute name="pageId">
<string notr="true">4</string>
@@ -791,7 +845,7 @@
<string>Service selection</string>
</property>
<property name="subTitle">
- <string>Please select the services you would like to have</string>
+ <string> </string>
</property>
<attribute name="pageId">
<string notr="true">5</string>
diff --git a/src/leap/bitmask/gui/wizard.py b/src/leap/bitmask/gui/wizard.py
index be5bde52..44f91365 100644
--- a/src/leap/bitmask/gui/wizard.py
+++ b/src/leap/bitmask/gui/wizard.py
@@ -70,9 +70,9 @@ class Wizard(QtGui.QWizard):
self.setPixmap(QtGui.QWizard.LogoPixmap,
QtGui.QPixmap(":/images/mask-icon.png"))
- self.QUESTION_ICON = QtGui.QPixmap(":/images/Emblem-question.png")
- self.ERROR_ICON = QtGui.QPixmap(":/images/Dialog-error.png")
- self.OK_ICON = QtGui.QPixmap(":/images/Dialog-accept.png")
+ self.QUESTION_ICON = QtGui.QPixmap(":/images/black/question.svg")
+ self.ERROR_ICON = QtGui.QPixmap(":/images/black/off.svg")
+ self.OK_ICON = QtGui.QPixmap(":/images/black/on.svg")
self._selected_services = set()
self._shown_services = set()
@@ -679,7 +679,7 @@ class Wizard(QtGui.QWizard):
the user to enable or disable.
"""
self.ui.grpServices.setTitle(
- self.tr("Services by {0}").format(self._provider_details['name']))
+ self.tr("Services by {0}").format(self._provider_details['domain']))
services = get_supported(self._provider_details['services'])
@@ -723,18 +723,11 @@ class Wizard(QtGui.QWizard):
if pageId == self.SETUP_PROVIDER_PAGE:
if not self._provider_setup_ok:
self._reset_provider_setup()
- sub_title = self.tr("Gathering configuration options for {0}")
- sub_title = sub_title.format(self._provider_details['name'])
- self.page(pageId).setSubTitle(sub_title)
self.ui.lblDownloadCaCert.setPixmap(self.QUESTION_ICON)
self._provider_setup_defer = self._backend.\
provider_bootstrap(provider=self._domain)
if pageId == self.PRESENT_PROVIDER_PAGE:
- sub_title = self.tr("Description of services offered by {0}")
- sub_title = sub_title.format(self._provider_details['name'])
- self.page(pageId).setSubTitle(sub_title)
-
details = self._provider_details
name = "<b>{0}</b>".format(details['name'])
domain = "https://{0}".format(details['domain'])
@@ -746,9 +739,9 @@ class Wizard(QtGui.QWizard):
self.ui.lblProviderPolicy.setText(details['enrollment_policy'])
if pageId == self.REGISTER_USER_PAGE:
- sub_title = self.tr("Register a new user with {0}")
- sub_title = sub_title.format(self._provider_details['name'])
- self.page(pageId).setSubTitle(sub_title)
+ title = self.tr("Register a new user with {0}")
+ title = title.format(self._provider_details['domain'])
+ self.page(pageId).setTitle(title)
self.ui.chkRemember.setVisible(False)
if pageId == self.SERVICES_PAGE: