diff options
147 files changed, 1121 insertions, 242 deletions
@@ -21,7 +21,7 @@ PROJFILE = data/bitmask.pro #UI files to compile UI_FILES = loggerwindow.ui mainwindow.ui wizard.ui login.ui preferences.ui eip_status.ui mail_status.ui eippreferences.ui advanced_key_management.ui #Qt resource files to compile -RESOURCES = locale.qrc loggerwindow.qrc mainwindow.qrc icons.qrc eipstatus.qrc +RESOURCES = icons.qrc flags.qrc locale.qrc loggerwindow.qrc #pyuic4 and pyrcc4 binaries PYUIC = pyside-uic diff --git a/changes/bug_5939_wait-for-eip-to-autologin b/changes/bug_5939_wait-for-eip-to-autologin new file mode 100644 index 00000000..5dec8331 --- /dev/null +++ b/changes/bug_5939_wait-for-eip-to-autologin @@ -0,0 +1 @@ +- Wait until EIP is up to autologin. Closes #5939 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 Binary files differdeleted file mode 100644 index c5c607a1..00000000 --- a/data/images/Arrow-Down-32.png +++ /dev/null diff --git a/data/images/Arrow-Up-32.png b/data/images/Arrow-Up-32.png Binary files differdeleted file mode 100644 index 85370ac5..00000000 --- a/data/images/Arrow-Up-32.png +++ /dev/null diff --git a/data/images/Blue-Arrow-Right-32.png b/data/images/Blue-Arrow-Right-32.png Binary files differdeleted file mode 100644 index 66e50b0d..00000000 --- a/data/images/Blue-Arrow-Right-32.png +++ /dev/null diff --git a/data/images/Dialog-accept.png b/data/images/Dialog-accept.png Binary files differdeleted file mode 100644 index 5a8a0bdb..00000000 --- a/data/images/Dialog-accept.png +++ /dev/null diff --git a/data/images/Dialog-error.png b/data/images/Dialog-error.png Binary files differdeleted file mode 100644 index 51da2f5b..00000000 --- a/data/images/Dialog-error.png +++ /dev/null diff --git a/data/images/Emblem-question.png b/data/images/Emblem-question.png Binary files differdeleted file mode 100644 index b2163e5b..00000000 --- a/data/images/Emblem-question.png +++ /dev/null diff --git a/data/images/black/22/off.png b/data/images/black/22/off.png Binary files differnew file mode 100644 index 00000000..65afeef2 --- /dev/null +++ b/data/images/black/22/off.png diff --git a/data/images/black/22/on.png b/data/images/black/22/on.png Binary files differnew file mode 100644 index 00000000..229140a3 --- /dev/null +++ b/data/images/black/22/on.png diff --git a/data/images/black/22/question.png b/data/images/black/22/question.png Binary files differnew file mode 100644 index 00000000..bb259fac --- /dev/null +++ b/data/images/black/22/question.png diff --git a/data/images/black/22/wait.png b/data/images/black/22/wait.png Binary files differnew file mode 100644 index 00000000..c267363b --- /dev/null +++ b/data/images/black/22/wait.png diff --git a/data/images/black/32/cloud.png b/data/images/black/32/cloud.png Binary files differdeleted file mode 100644 index 10cbd62d..00000000 --- a/data/images/black/32/cloud.png +++ /dev/null diff --git a/data/images/black/32/contract.png b/data/images/black/32/contract.png Binary files differdeleted file mode 100644 index 9f0ee605..00000000 --- a/data/images/black/32/contract.png +++ /dev/null diff --git a/data/images/black/32/earth-square.png b/data/images/black/32/earth-square.png Binary files differdeleted file mode 100644 index da7bf2cf..00000000 --- a/data/images/black/32/earth-square.png +++ /dev/null diff --git a/data/images/black/32/email-square.png b/data/images/black/32/email-square.png Binary files differdeleted file mode 100644 index 499d7a8f..00000000 --- a/data/images/black/32/email-square.png +++ /dev/null diff --git a/data/images/black/32/expand.png b/data/images/black/32/expand.png Binary files differdeleted file mode 100644 index c581503d..00000000 --- a/data/images/black/32/expand.png +++ /dev/null diff --git a/data/images/black/32/gear.png b/data/images/black/32/gear.png Binary files differdeleted file mode 100644 index 93c8742d..00000000 --- a/data/images/black/32/gear.png +++ /dev/null diff --git a/data/images/black/32/off.png b/data/images/black/32/off.png Binary files differdeleted file mode 100644 index 6ddde746..00000000 --- a/data/images/black/32/off.png +++ /dev/null diff --git a/data/images/black/32/on.png b/data/images/black/32/on.png Binary files differdeleted file mode 100644 index bbd28bad..00000000 --- a/data/images/black/32/on.png +++ /dev/null diff --git a/data/images/black/32/refresh.png b/data/images/black/32/refresh.png Binary files differdeleted file mode 100644 index ad67f563..00000000 --- a/data/images/black/32/refresh.png +++ /dev/null diff --git a/data/images/black/32/wait.png b/data/images/black/32/wait.png Binary files differdeleted file mode 100644 index a01ce923..00000000 --- a/data/images/black/32/wait.png +++ /dev/null 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/conn_connected-light.png b/data/images/conn_connected-light.png Binary files differdeleted file mode 100644 index a0db2a22..00000000 --- a/data/images/conn_connected-light.png +++ /dev/null diff --git a/data/images/conn_connected.png b/data/images/conn_connected.png Binary files differdeleted file mode 100644 index a5d20497..00000000 --- a/data/images/conn_connected.png +++ /dev/null diff --git a/data/images/conn_connecting-light.png b/data/images/conn_connecting-light.png Binary files differdeleted file mode 100644 index 83e3ea75..00000000 --- a/data/images/conn_connecting-light.png +++ /dev/null diff --git a/data/images/conn_connecting.png b/data/images/conn_connecting.png Binary files differdeleted file mode 100644 index 31b6e617..00000000 --- a/data/images/conn_connecting.png +++ /dev/null diff --git a/data/images/conn_error-light.png b/data/images/conn_error-light.png Binary files differdeleted file mode 100644 index 8cee20fe..00000000 --- a/data/images/conn_error-light.png +++ /dev/null diff --git a/data/images/conn_error.png b/data/images/conn_error.png Binary files differdeleted file mode 100644 index 85669af6..00000000 --- a/data/images/conn_error.png +++ /dev/null diff --git a/data/images/countries/ar.png b/data/images/countries/ar.png Binary files differnew file mode 100755 index 00000000..e5ef8f1f --- /dev/null +++ b/data/images/countries/ar.png diff --git a/data/images/countries/at.png b/data/images/countries/at.png Binary files differnew file mode 100755 index 00000000..0f15f34f --- /dev/null +++ b/data/images/countries/at.png diff --git a/data/images/countries/au.png b/data/images/countries/au.png Binary files differnew file mode 100755 index 00000000..a01389a7 --- /dev/null +++ b/data/images/countries/au.png diff --git a/data/images/countries/bd.png b/data/images/countries/bd.png Binary files differnew file mode 100755 index 00000000..076a8bf8 --- /dev/null +++ b/data/images/countries/bd.png diff --git a/data/images/countries/be.png b/data/images/countries/be.png Binary files differnew file mode 100755 index 00000000..d86ebc80 --- /dev/null +++ b/data/images/countries/be.png diff --git a/data/images/countries/br.png b/data/images/countries/br.png Binary files differnew file mode 100755 index 00000000..9b1a5538 --- /dev/null +++ b/data/images/countries/br.png diff --git a/data/images/countries/ca.png b/data/images/countries/ca.png Binary files differnew file mode 100755 index 00000000..1f204193 --- /dev/null +++ b/data/images/countries/ca.png diff --git a/data/images/countries/cat.png b/data/images/countries/cat.png Binary files differnew file mode 100644 index 00000000..5041e308 --- /dev/null +++ b/data/images/countries/cat.png diff --git a/data/images/countries/ch.png b/data/images/countries/ch.png Binary files differnew file mode 100755 index 00000000..242ec01a --- /dev/null +++ b/data/images/countries/ch.png diff --git a/data/images/countries/cl.png b/data/images/countries/cl.png Binary files differnew file mode 100755 index 00000000..29c6d61b --- /dev/null +++ b/data/images/countries/cl.png diff --git a/data/images/countries/cn.png b/data/images/countries/cn.png Binary files differnew file mode 100755 index 00000000..89144146 --- /dev/null +++ b/data/images/countries/cn.png diff --git a/data/images/countries/co.png b/data/images/countries/co.png Binary files differnew file mode 100755 index 00000000..a118ff4a --- /dev/null +++ b/data/images/countries/co.png diff --git a/data/images/countries/cy.png b/data/images/countries/cy.png Binary files differnew file mode 100755 index 00000000..5b1ad6c0 --- /dev/null +++ b/data/images/countries/cy.png diff --git a/data/images/countries/cz.png b/data/images/countries/cz.png Binary files differnew file mode 100755 index 00000000..c8403dd2 --- /dev/null +++ b/data/images/countries/cz.png diff --git a/data/images/countries/de.png b/data/images/countries/de.png Binary files differnew file mode 100755 index 00000000..ac4a9773 --- /dev/null +++ b/data/images/countries/de.png diff --git a/data/images/countries/dk.png b/data/images/countries/dk.png Binary files differnew file mode 100755 index 00000000..e2993d3c --- /dev/null +++ b/data/images/countries/dk.png diff --git a/data/images/countries/ec.png b/data/images/countries/ec.png Binary files differnew file mode 100755 index 00000000..0caa0b1e --- /dev/null +++ b/data/images/countries/ec.png diff --git a/data/images/countries/ee.png b/data/images/countries/ee.png Binary files differnew file mode 100755 index 00000000..0c82efb7 --- /dev/null +++ b/data/images/countries/ee.png diff --git a/data/images/countries/es.png b/data/images/countries/es.png Binary files differnew file mode 100755 index 00000000..c2de2d71 --- /dev/null +++ b/data/images/countries/es.png diff --git a/data/images/countries/fi.png b/data/images/countries/fi.png Binary files differnew file mode 100755 index 00000000..14ec091b --- /dev/null +++ b/data/images/countries/fi.png diff --git a/data/images/countries/fr.png b/data/images/countries/fr.png Binary files differnew file mode 100755 index 00000000..8332c4ec --- /dev/null +++ b/data/images/countries/fr.png diff --git a/data/images/countries/gb.png b/data/images/countries/gb.png Binary files differnew file mode 100644 index 00000000..ff701e19 --- /dev/null +++ b/data/images/countries/gb.png diff --git a/data/images/countries/gr.png b/data/images/countries/gr.png Binary files differnew file mode 100755 index 00000000..8651ade7 --- /dev/null +++ b/data/images/countries/gr.png diff --git a/data/images/countries/hk.png b/data/images/countries/hk.png Binary files differnew file mode 100755 index 00000000..d5c380ca --- /dev/null +++ b/data/images/countries/hk.png diff --git a/data/images/countries/hu.png b/data/images/countries/hu.png Binary files differnew file mode 100755 index 00000000..7baafe44 --- /dev/null +++ b/data/images/countries/hu.png diff --git a/data/images/countries/id.png b/data/images/countries/id.png Binary files differnew file mode 100755 index 00000000..c6bc0faf --- /dev/null +++ b/data/images/countries/id.png diff --git a/data/images/countries/ie.png b/data/images/countries/ie.png Binary files differnew file mode 100755 index 00000000..26baa31e --- /dev/null +++ b/data/images/countries/ie.png diff --git a/data/images/countries/il.png b/data/images/countries/il.png Binary files differnew file mode 100755 index 00000000..2ca772d0 --- /dev/null +++ b/data/images/countries/il.png diff --git a/data/images/countries/in.png b/data/images/countries/in.png Binary files differnew file mode 100755 index 00000000..e4d7e81a --- /dev/null +++ b/data/images/countries/in.png diff --git a/data/images/countries/iq.png b/data/images/countries/iq.png Binary files differnew file mode 100755 index 00000000..878a3514 --- /dev/null +++ b/data/images/countries/iq.png diff --git a/data/images/countries/ir.png b/data/images/countries/ir.png Binary files differnew file mode 100755 index 00000000..c5fd136a --- /dev/null +++ b/data/images/countries/ir.png diff --git a/data/images/countries/is.png b/data/images/countries/is.png Binary files differnew file mode 100755 index 00000000..b8f6d0f0 --- /dev/null +++ b/data/images/countries/is.png diff --git a/data/images/countries/it.png b/data/images/countries/it.png Binary files differnew file mode 100755 index 00000000..89692f74 --- /dev/null +++ b/data/images/countries/it.png diff --git a/data/images/countries/jp.png b/data/images/countries/jp.png Binary files differnew file mode 100755 index 00000000..325fbad3 --- /dev/null +++ b/data/images/countries/jp.png diff --git a/data/images/countries/kh.png b/data/images/countries/kh.png Binary files differnew file mode 100755 index 00000000..30f6bb1b --- /dev/null +++ b/data/images/countries/kh.png diff --git a/data/images/countries/kr.png b/data/images/countries/kr.png Binary files differnew file mode 100755 index 00000000..9c0a78eb --- /dev/null +++ b/data/images/countries/kr.png diff --git a/data/images/countries/lb.png b/data/images/countries/lb.png Binary files differnew file mode 100755 index 00000000..d0d452bf --- /dev/null +++ b/data/images/countries/lb.png diff --git a/data/images/countries/ly.png b/data/images/countries/ly.png Binary files differnew file mode 100755 index 00000000..b163a9f8 --- /dev/null +++ b/data/images/countries/ly.png diff --git a/data/images/countries/mx.png b/data/images/countries/mx.png Binary files differnew file mode 100755 index 00000000..5bc58ab3 --- /dev/null +++ b/data/images/countries/mx.png diff --git a/data/images/countries/my.png b/data/images/countries/my.png Binary files differnew file mode 100755 index 00000000..9034cbab --- /dev/null +++ b/data/images/countries/my.png diff --git a/data/images/countries/ng.png b/data/images/countries/ng.png Binary files differnew file mode 100755 index 00000000..3eea2e02 --- /dev/null +++ b/data/images/countries/ng.png diff --git a/data/images/countries/no.png b/data/images/countries/no.png Binary files differnew file mode 100755 index 00000000..160b6b5b --- /dev/null +++ b/data/images/countries/no.png diff --git a/data/images/countries/nz.png b/data/images/countries/nz.png Binary files differnew file mode 100755 index 00000000..10d6306d --- /dev/null +++ b/data/images/countries/nz.png diff --git a/data/images/countries/pe.png b/data/images/countries/pe.png Binary files differnew file mode 100755 index 00000000..62a04977 --- /dev/null +++ b/data/images/countries/pe.png diff --git a/data/images/countries/pk.png b/data/images/countries/pk.png Binary files differnew file mode 100755 index 00000000..e9df70ca --- /dev/null +++ b/data/images/countries/pk.png diff --git a/data/images/countries/pl.png b/data/images/countries/pl.png Binary files differnew file mode 100755 index 00000000..d413d010 --- /dev/null +++ b/data/images/countries/pl.png diff --git a/data/images/countries/ps.png b/data/images/countries/ps.png Binary files differnew file mode 100755 index 00000000..f5f54776 --- /dev/null +++ b/data/images/countries/ps.png diff --git a/data/images/countries/py.png b/data/images/countries/py.png Binary files differnew file mode 100755 index 00000000..cb8723c0 --- /dev/null +++ b/data/images/countries/py.png diff --git a/data/images/countries/ru.png b/data/images/countries/ru.png Binary files differnew file mode 100755 index 00000000..47da4214 --- /dev/null +++ b/data/images/countries/ru.png diff --git a/data/images/countries/se.png b/data/images/countries/se.png Binary files differnew file mode 100755 index 00000000..1994653d --- /dev/null +++ b/data/images/countries/se.png diff --git a/data/images/countries/sg.png b/data/images/countries/sg.png Binary files differnew file mode 100755 index 00000000..dd34d612 --- /dev/null +++ b/data/images/countries/sg.png diff --git a/data/images/countries/tn.png b/data/images/countries/tn.png Binary files differnew file mode 100755 index 00000000..183cdd3d --- /dev/null +++ b/data/images/countries/tn.png diff --git a/data/images/countries/ua.png b/data/images/countries/ua.png Binary files differnew file mode 100755 index 00000000..09563a21 --- /dev/null +++ b/data/images/countries/ua.png diff --git a/data/images/countries/ve.png b/data/images/countries/ve.png Binary files differnew file mode 100755 index 00000000..00c90f9a --- /dev/null +++ b/data/images/countries/ve.png diff --git a/data/images/countries/vn.png b/data/images/countries/vn.png Binary files differnew file mode 100755 index 00000000..ec7cd48a --- /dev/null +++ b/data/images/countries/vn.png diff --git a/data/images/countries/za.png b/data/images/countries/za.png Binary files differnew file mode 100755 index 00000000..57c58e21 --- /dev/null +++ b/data/images/countries/za.png diff --git a/data/images/favicon.ico b/data/images/favicon.ico Binary files differdeleted file mode 100644 index 7f41dd1d..00000000 --- a/data/images/favicon.ico +++ /dev/null diff --git a/data/images/leap-client.icns b/data/images/leap-client.icns Binary files differdeleted file mode 100644 index d5d52cdc..00000000 --- a/data/images/leap-client.icns +++ /dev/null diff --git a/data/images/leap-client.tiff b/data/images/leap-client.tiff Binary files differdeleted file mode 100644 index 71c95b0d..00000000 --- a/data/images/leap-client.tiff +++ /dev/null diff --git a/data/images/leap-color-big.png b/data/images/leap-color-big.png Binary files differdeleted file mode 100644 index eafacdcd..00000000 --- a/data/images/leap-color-big.png +++ /dev/null diff --git a/data/images/leap-gray-big.png b/data/images/leap-gray-big.png Binary files differdeleted file mode 100644 index 1529a74f..00000000 --- a/data/images/leap-gray-big.png +++ /dev/null diff --git a/data/images/light/16/accept.png b/data/images/light/16/accept.png Binary files differdeleted file mode 100644 index 917a68c4..00000000 --- a/data/images/light/16/accept.png +++ /dev/null diff --git a/data/images/light/16/down-arrow.png b/data/images/light/16/down-arrow.png Binary files differdeleted file mode 100644 index 9beb5de3..00000000 --- a/data/images/light/16/down-arrow.png +++ /dev/null diff --git a/data/images/light/16/error.png b/data/images/light/16/error.png Binary files differdeleted file mode 100644 index edc20985..00000000 --- a/data/images/light/16/error.png +++ /dev/null diff --git a/data/images/light/16/refresh.png b/data/images/light/16/refresh.png Binary files differdeleted file mode 100644 index a948a071..00000000 --- a/data/images/light/16/refresh.png +++ /dev/null diff --git a/data/images/light/16/up-arrow.png b/data/images/light/16/up-arrow.png Binary files differdeleted file mode 100644 index 4e0ec404..00000000 --- a/data/images/light/16/up-arrow.png +++ /dev/null diff --git a/data/images/light/64/network-eip-acquiring.png b/data/images/light/64/network-eip-acquiring.png Binary files differdeleted file mode 100644 index 83e3ea75..00000000 --- a/data/images/light/64/network-eip-acquiring.png +++ /dev/null diff --git a/data/images/light/64/network-eip-down.png b/data/images/light/64/network-eip-down.png Binary files differdeleted file mode 100644 index 85669af6..00000000 --- a/data/images/light/64/network-eip-down.png +++ /dev/null diff --git a/data/images/light/64/network-eip-up.png b/data/images/light/64/network-eip-up.png Binary files differdeleted file mode 100644 index a0db2a22..00000000 --- a/data/images/light/64/network-eip-up.png +++ /dev/null diff --git a/data/images/mail-locked.png b/data/images/mail-locked.png Binary files differdeleted file mode 100644 index 2108ca1c..00000000 --- a/data/images/mail-locked.png +++ /dev/null diff --git a/data/images/mail-unlocked.png b/data/images/mail-unlocked.png Binary files differdeleted file mode 100644 index fc3c11b0..00000000 --- a/data/images/mail-unlocked.png +++ /dev/null diff --git a/data/images/mask-launcher.png b/data/images/mask-launcher.png Binary files differdeleted file mode 100644 index cb27f8d3..00000000 --- a/data/images/mask-launcher.png +++ /dev/null diff --git a/data/images/mask-small.png b/data/images/mask-small.png Binary files differdeleted file mode 100644 index 5f5f1b41..00000000 --- a/data/images/mask-small.png +++ /dev/null diff --git a/data/images/white/22/off.png b/data/images/white/22/off.png Binary files differnew file mode 100644 index 00000000..bd4bb0ee --- /dev/null +++ b/data/images/white/22/off.png diff --git a/data/images/white/22/on.png b/data/images/white/22/on.png Binary files differnew file mode 100644 index 00000000..3a3d5b55 --- /dev/null +++ b/data/images/white/22/on.png diff --git a/data/images/white/22/question.png b/data/images/white/22/question.png Binary files differnew file mode 100644 index 00000000..bd2a6292 --- /dev/null +++ b/data/images/white/22/question.png diff --git a/data/images/white/22/wait.png b/data/images/white/22/wait.png Binary files differnew file mode 100644 index 00000000..e0fb53df --- /dev/null +++ b/data/images/white/22/wait.png diff --git a/data/images/white/32/arrow-down.png b/data/images/white/32/arrow-down.png Binary files differdeleted file mode 100644 index 02ccc540..00000000 --- a/data/images/white/32/arrow-down.png +++ /dev/null diff --git a/data/images/white/32/arrow-up.png b/data/images/white/32/arrow-up.png Binary files differdeleted file mode 100644 index fbe1f816..00000000 --- a/data/images/white/32/arrow-up.png +++ /dev/null diff --git a/data/images/white/32/cloud.png b/data/images/white/32/cloud.png Binary files differdeleted file mode 100644 index 39d589ef..00000000 --- a/data/images/white/32/cloud.png +++ /dev/null diff --git a/data/images/white/32/contract.png b/data/images/white/32/contract.png Binary files differdeleted file mode 100644 index 262ff3c0..00000000 --- a/data/images/white/32/contract.png +++ /dev/null diff --git a/data/images/white/32/earth-square.png b/data/images/white/32/earth-square.png Binary files differdeleted file mode 100644 index da7bf2cf..00000000 --- a/data/images/white/32/earth-square.png +++ /dev/null diff --git a/data/images/white/32/earth.png b/data/images/white/32/earth.png Binary files differdeleted file mode 100644 index efca7ccb..00000000 --- a/data/images/white/32/earth.png +++ /dev/null diff --git a/data/images/white/32/email-square.png b/data/images/white/32/email-square.png Binary files differdeleted file mode 100644 index 499d7a8f..00000000 --- a/data/images/white/32/email-square.png +++ /dev/null diff --git a/data/images/white/32/email.png b/data/images/white/32/email.png Binary files differdeleted file mode 100644 index abb36035..00000000 --- a/data/images/white/32/email.png +++ /dev/null diff --git a/data/images/white/32/expand.png b/data/images/white/32/expand.png Binary files differdeleted file mode 100644 index 0ec28dcc..00000000 --- a/data/images/white/32/expand.png +++ /dev/null diff --git a/data/images/white/32/gear.png b/data/images/white/32/gear.png Binary files differdeleted file mode 100644 index 83f8d5ff..00000000 --- a/data/images/white/32/gear.png +++ /dev/null diff --git a/data/images/white/32/off.png b/data/images/white/32/off.png Binary files differdeleted file mode 100644 index 22621594..00000000 --- a/data/images/white/32/off.png +++ /dev/null diff --git a/data/images/white/32/on.png b/data/images/white/32/on.png Binary files differdeleted file mode 100644 index 8946f763..00000000 --- a/data/images/white/32/on.png +++ /dev/null diff --git a/data/images/white/32/refresh.png b/data/images/white/32/refresh.png Binary files differdeleted file mode 100644 index 36a89da9..00000000 --- a/data/images/white/32/refresh.png +++ /dev/null diff --git a/data/images/white/32/user.png b/data/images/white/32/user.png Binary files differdeleted file mode 100644 index ff8edd00..00000000 --- a/data/images/white/32/user.png +++ /dev/null diff --git a/data/images/white/32/wait.png b/data/images/white/32/wait.png Binary files differdeleted file mode 100644 index 8562d636..00000000 --- a/data/images/white/32/wait.png +++ /dev/null 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/eipstatus.qrc b/data/resources/eipstatus.qrc deleted file mode 100644 index 5d0f2924..00000000 --- a/data/resources/eipstatus.qrc +++ /dev/null @@ -1,7 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>../images/countries/nl.png</file> - <file>../images/countries/tr.png</file> - <file>../images/countries/us.png</file> - </qresource> -</RCC> diff --git a/data/resources/flags.qrc b/data/resources/flags.qrc new file mode 100644 index 00000000..8bdc9c4c --- /dev/null +++ b/data/resources/flags.qrc @@ -0,0 +1,63 @@ +<RCC> + <qresource prefix="/"> + <file>../images/countries/ar.png</file> + <file>../images/countries/at.png</file> + <file>../images/countries/au.png</file> + <file>../images/countries/bd.png</file> + <file>../images/countries/be.png</file> + <file>../images/countries/br.png</file> + <file>../images/countries/ca.png</file> + <file>../images/countries/cat.png</file> + <file>../images/countries/ch.png</file> + <file>../images/countries/cl.png</file> + <file>../images/countries/cn.png</file> + <file>../images/countries/co.png</file> + <file>../images/countries/cy.png</file> + <file>../images/countries/cz.png</file> + <file>../images/countries/de.png</file> + <file>../images/countries/dk.png</file> + <file>../images/countries/ec.png</file> + <file>../images/countries/ee.png</file> + <file>../images/countries/es.png</file> + <file>../images/countries/fi.png</file> + <file>../images/countries/fr.png</file> + <file>../images/countries/gb.png</file> + <file>../images/countries/gr.png</file> + <file>../images/countries/hk.png</file> + <file>../images/countries/hu.png</file> + <file>../images/countries/id.png</file> + <file>../images/countries/ie.png</file> + <file>../images/countries/il.png</file> + <file>../images/countries/in.png</file> + <file>../images/countries/iq.png</file> + <file>../images/countries/ir.png</file> + <file>../images/countries/is.png</file> + <file>../images/countries/it.png</file> + <file>../images/countries/jp.png</file> + <file>../images/countries/kh.png</file> + <file>../images/countries/kr.png</file> + <file>../images/countries/lb.png</file> + <file>../images/countries/ly.png</file> + <file>../images/countries/mx.png</file> + <file>../images/countries/my.png</file> + <file>../images/countries/ng.png</file> + <file>../images/countries/nl.png</file> + <file>../images/countries/no.png</file> + <file>../images/countries/nz.png</file> + <file>../images/countries/pe.png</file> + <file>../images/countries/pk.png</file> + <file>../images/countries/pl.png</file> + <file>../images/countries/ps.png</file> + <file>../images/countries/py.png</file> + <file>../images/countries/ru.png</file> + <file>../images/countries/se.png</file> + <file>../images/countries/sg.png</file> + <file>../images/countries/tn.png</file> + <file>../images/countries/tr.png</file> + <file>../images/countries/ua.png</file> + <file>../images/countries/us.png</file> + <file>../images/countries/ve.png</file> + <file>../images/countries/vn.png</file> + <file>../images/countries/za.png</file> + </qresource> +</RCC>
\ No newline at end of file diff --git a/data/resources/icons.qrc b/data/resources/icons.qrc index 1cc574e2..7fda6197 100644 --- a/data/resources/icons.qrc +++ b/data/resources/icons.qrc @@ -1,11 +1,38 @@ <RCC> <qresource prefix="/"> - <file>../images/mail-locked.png</file> - <file>../images/mail-unlocked.png</file> - <file>../images/light/16/down-arrow.png</file> - <file>../images/light/16/up-arrow.png</file> - <file>../images/light/64/network-eip-acquiring.png</file> - <file>../images/light/64/network-eip-down.png</file> - <file>../images/light/64/network-eip-up.png</file> + + <!-- used as window icon --> + <file>../images/mask-icon.png</file> + + <!-- round status icons --> + <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/black/22/off.png</file> + <file>../images/black/22/on.png</file> + <file>../images/black/22/question.png</file> + <file>../images/black/22/wait.png</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/white/22/off.png</file> + <file>../images/white/22/on.png</file> + <file>../images/white/22/question.png</file> + <file>../images/white/22/wait.png</file> + + <!-- used by login --> + <file>../images/black/32/user.png</file> + + <!-- used by eip status --> + <file>../images/black/32/earth.png</file> + <file>../images/black/32/arrow-down.png</file> + <file>../images/black/32/arrow-up.png</file> + + <!-- used by email status --> + <file>../images/black/32/email.png</file> + </qresource> </RCC> diff --git a/data/resources/mainwindow.qrc b/data/resources/mainwindow.qrc deleted file mode 100644 index 0a917d5a..00000000 --- a/data/resources/mainwindow.qrc +++ /dev/null @@ -1,38 +0,0 @@ -<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> - <file>../images/black/32/contract.png</file> - <file>../images/black/32/earth-square.png</file> - <file>../images/black/32/earth.png</file> - <file>../images/black/32/email-square.png</file> - <file>../images/black/32/email.png</file> - <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/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..abd6e2c9 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/22/wait.png", + ":/images/black/22/on.png", + ":/images/black/22/off.png") if IS_LINUX: EIP_ICONS_TRAY = ( - ":/images/white/32/wait.png", - ":/images/white/32/on.png", - ":/images/white/32/off.png") + ":/images/white/22/wait.png", + ":/images/white/22/on.png", + ":/images/white/22/off.png") self.CONNECTING_ICON = QtGui.QPixmap(EIP_ICONS[0]) self.CONNECTED_ICON = QtGui.QPixmap(EIP_ICONS[1]) @@ -793,6 +793,3 @@ class EIPStatusWidget(QtGui.QWidget): """ self.set_eip_status("", error=error) self.set_eip_status_icon("error") - -import eipstatus_rc -assert(eipstatus_rc) diff --git a/src/leap/bitmask/gui/mail_status.py b/src/leap/bitmask/gui/mail_status.py index bb755b5c..d523f449 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/22/wait.png", + ":/images/black/22/on.png", + ":/images/black/22/off.png") if IS_LINUX: EIP_ICONS_TRAY = ( - ":/images/white/32/wait.png", - ":/images/white/32/on.png", - ":/images/white/32/off.png") + ":/images/white/22/wait.png", + ":/images/white/22/on.png", + ":/images/white/22/off.png") 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 389ff172..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) @@ -285,14 +285,8 @@ class MainWindow(QtGui.QMainWindow): self.logout.connect(self._mail_conductor.stop_mail_services) - # Eip machine is a public attribute where the state machine for - # the eip connection will be available to the different components. - # Remember that this will not live in the +1600LOC mainwindow for - # all the eternity, so at some point we will be moving this to - # the EIPConductor or some other clever component that we will - # instantiate from here. + # start event machines from within the eip and mail conductors - # start event machines # TODO should encapsulate all actions into one object self._eip_conductor.start_eip_machine( action=self._action_eip_startstop) @@ -963,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() @@ -973,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): """ @@ -1079,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> {3}</li>" + "<li> {4}</li>" + "<li> {5}</li>" + "<li> {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): @@ -1120,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 @@ -1145,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 @@ -1165,12 +1148,14 @@ class MainWindow(QtGui.QMainWindow): skip_first_run = self._settings.get_skip_first_run() return not (has_provider_on_disk and skip_first_run) + @QtCore.Slot() def _download_provider_config(self): """ Start the bootstrapping sequence. It will download the provider configuration if it's not present, otherwise will emit the corresponding signals inmediately """ + self._disconnect_scheduled_login() domain = self._login_widget.get_selected_provider() self._backend.provider_setup(provider=domain) @@ -1204,6 +1189,40 @@ class MainWindow(QtGui.QMainWindow): self.tr("Unable to login: Problem with provider")) self._login_widget.set_enabled(True) + def _schedule_login(self): + """ + Schedule the login sequence to go after the EIP started. + + The login sequence is connected to all finishing status of EIP + (connected, disconnected, aborted or died) to continue with the login + after EIP. + """ + logger.debug('Login scheduled when eip_connected is triggered') + eip_sigs = self._eip_conductor.qtsigs + eip_sigs.connected_signal.connect(self._download_provider_config) + eip_sigs.disconnected_signal.connect(self._download_provider_config) + eip_sigs.connection_aborted_signal.connect(self._download_provider_config) + eip_sigs.connection_died_signal.connect(self._download_provider_config) + + def _disconnect_scheduled_login(self): + """ + Disconnect scheduled login signals if exists + """ + try: + eip_sigs = self._eip_conductor.qtsigs + eip_sigs.connected_signal.disconnect( + self._download_provider_config) + eip_sigs.disconnected_signal.disconnect( + self._download_provider_config) + eip_sigs.connection_aborted_signal.disconnect( + self._download_provider_config) + eip_sigs.connection_died_signal.disconnect( + self._download_provider_config) + except Exception: + # signal not connected + pass + + @QtCore.Slot() def _login(self): """ @@ -1229,7 +1248,10 @@ class MainWindow(QtGui.QMainWindow): else: self.ui.action_create_new_account.setEnabled(False) if self._login_widget.start_login(): - self._download_provider_config() + if self._trying_to_start_eip: + self._schedule_login() + else: + self._download_provider_config() @QtCore.Slot(unicode) def _authentication_error(self, msg): @@ -1258,8 +1280,13 @@ class MainWindow(QtGui.QMainWindow): Stop the login sequence. """ logger.debug("Cancelling log in.") + self._disconnect_scheduled_login() + self._cancel_ongoing_defers() + # Needed in case of EIP starting and login deferer never set + self._set_login_cancelled() + def _cancel_ongoing_defers(self): """ Cancel the running defers to avoid app blocking. @@ -1673,8 +1700,9 @@ class MainWindow(QtGui.QMainWindow): """ passed = data[PASSED_KEY] if not passed: - self._login_widget.set_status( - self.tr("Unable to connect: Problem with provider")) + self._eip_status.set_eip_status( + self.tr("Unable to connect: Problem with provider"), + error=True) logger.error(data[ERROR_KEY]) self._already_started_eip = False self._eip_status.aborted() diff --git a/src/leap/bitmask/gui/ui/advanced_key_management.ui b/src/leap/bitmask/gui/ui/advanced_key_management.ui index 3b567347..72f70d24 100644 --- a/src/leap/bitmask/gui/ui/advanced_key_management.ui +++ b/src/leap/bitmask/gui/ui/advanced_key_management.ui @@ -14,7 +14,7 @@ <string>Advanced Key Management</string> </property> <property name="windowIcon"> - <iconset resource="../../../../../data/resources/mainwindow.qrc"> + <iconset resource="../../../../../data/resources/icons.qrc"> <normaloff>:/images/mask-icon.png</normaloff>:/images/mask-icon.png</iconset> </property> <layout class="QGridLayout" name="gridLayout_4"> @@ -184,7 +184,7 @@ </layout> </widget> <resources> - <include location="../../../../../data/resources/mainwindow.qrc"/> + <include location="../../../../../data/resources/icons.qrc"/> </resources> <connections/> </ui> diff --git a/src/leap/bitmask/gui/ui/eip_status.ui b/src/leap/bitmask/gui/ui/eip_status.ui index e0996620..0fb861bc 100644 --- a/src/leap/bitmask/gui/ui/eip_status.ui +++ b/src/leap/bitmask/gui/ui/eip_status.ui @@ -60,7 +60,7 @@ <string/> </property> <property name="pixmap"> - <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/32/earth.png</pixmap> + <pixmap resource="../../../../../data/resources/icons.qrc">:/images/black/32/earth.png</pixmap> </property> </widget> </item> @@ -103,15 +103,15 @@ <widget class="QLabel" name="lblVPNStatusIcon"> <property name="maximumSize"> <size> - <width>24</width> - <height>24</height> + <width>22</width> + <height>22</height> </size> </property> <property name="text"> <string/> </property> <property name="pixmap"> - <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/32/off.png</pixmap> + <pixmap resource="../../../../../data/resources/icons.qrc">:/images/black/22/off.png</pixmap> </property> <property name="scaledContents"> <bool>true</bool> @@ -162,7 +162,7 @@ <string>0.0 KB/s</string> </property> <property name="icon"> - <iconset resource="../../../../../data/resources/mainwindow.qrc"> + <iconset resource="../../../../../data/resources/icons.qrc"> <normaloff>:/images/black/32/arrow-down.png</normaloff>:/images/black/32/arrow-down.png</iconset> </property> <property name="flat"> @@ -213,7 +213,7 @@ <string>0.0 KB/s</string> </property> <property name="icon"> - <iconset resource="../../../../../data/resources/mainwindow.qrc"> + <iconset resource="../../../../../data/resources/icons.qrc"> <normaloff>:/images/black/32/arrow-up.png</normaloff>:/images/black/32/arrow-up.png</iconset> </property> <property name="flat"> @@ -265,8 +265,8 @@ </layout> </widget> <resources> - <include location="../../../../../data/resources/mainwindow.qrc"/> <include location="../../../../../data/resources/icons.qrc"/> + <include location="../../../../../data/resources/flags.qrc"/> </resources> <connections/> </ui> diff --git a/src/leap/bitmask/gui/ui/eippreferences.ui b/src/leap/bitmask/gui/ui/eippreferences.ui index a3050683..1a5fcd24 100644 --- a/src/leap/bitmask/gui/ui/eippreferences.ui +++ b/src/leap/bitmask/gui/ui/eippreferences.ui @@ -14,7 +14,7 @@ <string>Encrypted Internet Preferences</string> </property> <property name="windowIcon"> - <iconset resource="../../../../../data/resources/mainwindow.qrc"> + <iconset resource="../../../../../data/resources/icons.qrc"> <normaloff>:/images/mask-icon.png</normaloff>:/images/mask-icon.png</iconset> </property> <layout class="QGridLayout" name="gridLayout_2"> @@ -96,7 +96,7 @@ <tabstop>pbSaveGateway</tabstop> </tabstops> <resources> - <include location="../../../../../data/resources/mainwindow.qrc"/> + <include location="../../../../../data/resources/icons.qrc"/> </resources> <connections/> </ui> diff --git a/src/leap/bitmask/gui/ui/loggerwindow.ui b/src/leap/bitmask/gui/ui/loggerwindow.ui index b19ed91a..fd8644c9 100644 --- a/src/leap/bitmask/gui/ui/loggerwindow.ui +++ b/src/leap/bitmask/gui/ui/loggerwindow.ui @@ -14,7 +14,7 @@ <string>Logs</string> </property> <property name="windowIcon"> - <iconset resource="../../../../../data/resources/mainwindow.qrc"> + <iconset resource="../../../../../data/resources/icons.qrc"> <normaloff>:/images/mask-icon.png</normaloff>:/images/mask-icon.png</iconset> </property> <layout class="QGridLayout" name="gridLayout"> @@ -180,7 +180,7 @@ </tabstops> <resources> <include location="../../../../../data/resources/loggerwindow.qrc"/> - <include location="../../../../../data/resources/mainwindow.qrc"/> + <include location="../../../../../data/resources/icons.qrc"/> </resources> <connections/> </ui> diff --git a/src/leap/bitmask/gui/ui/login.ui b/src/leap/bitmask/gui/ui/login.ui index 216eca9e..26decc6d 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> @@ -164,7 +170,7 @@ <string/> </property> <property name="pixmap"> - <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/32/user.png</pixmap> + <pixmap resource="../../../../../data/resources/icons.qrc">:/images/black/32/user.png</pixmap> </property> <property name="scaledContents"> <bool>false</bool> @@ -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>25</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> @@ -283,7 +299,7 @@ <tabstop>chkRemember</tabstop> </tabstops> <resources> - <include location="../../../../../data/resources/mainwindow.qrc"/> + <include location="../../../../../data/resources/icons.qrc"/> </resources> <connections/> </ui> 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..6fd63aec 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/icons.qrc">:/images/black/22/off.png</pixmap> </property> <property name="scaledContents"> <bool>true</bool> @@ -104,14 +104,14 @@ <string/> </property> <property name="pixmap"> - <pixmap resource="../../../../../data/resources/mainwindow.qrc">:/images/black/32/email.png</pixmap> + <pixmap resource="../../../../../data/resources/icons.qrc">:/images/black/32/email.png</pixmap> </property> </widget> </item> </layout> </widget> <resources> - <include location="../../../../../data/resources/mainwindow.qrc"/> + <include location="../../../../../data/resources/icons.qrc"/> </resources> <connections/> </ui> diff --git a/src/leap/bitmask/gui/ui/mainwindow.ui b/src/leap/bitmask/gui/ui/mainwindow.ui index 1eeb636f..5dc48f29 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"> @@ -32,7 +32,7 @@ <string>Bitmask</string> </property> <property name="windowIcon"> - <iconset resource="../../../../../data/resources/mainwindow.qrc"> + <iconset resource="../../../../../data/resources/icons.qrc"> <normaloff>:/images/mask-icon.png</normaloff>:/images/mask-icon.png</iconset> </property> <property name="inputMethodHints"> @@ -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> @@ -377,7 +399,7 @@ </action> </widget> <resources> - <include location="../../../../../data/resources/mainwindow.qrc"/> + <include location="../../../../../data/resources/icons.qrc"/> <include location="../../../../../data/resources/locale.qrc"/> </resources> <connections/> diff --git a/src/leap/bitmask/gui/ui/preferences.ui b/src/leap/bitmask/gui/ui/preferences.ui index e187c016..cd4d3a77 100644 --- a/src/leap/bitmask/gui/ui/preferences.ui +++ b/src/leap/bitmask/gui/ui/preferences.ui @@ -14,7 +14,7 @@ <string>Preferences</string> </property> <property name="windowIcon"> - <iconset resource="../../../../../data/resources/mainwindow.qrc"> + <iconset resource="../../../../../data/resources/icons.qrc"> <normaloff>:/images/mask-icon.png</normaloff>:/images/mask-icon.png</iconset> </property> <layout class="QGridLayout" name="gridLayout_3"> @@ -174,7 +174,7 @@ </layout> </widget> <resources> - <include location="../../../../../data/resources/mainwindow.qrc"/> + <include location="../../../../../data/resources/icons.qrc"/> </resources> <connections/> </ui> diff --git a/src/leap/bitmask/gui/ui/wizard.ui b/src/leap/bitmask/gui/ui/wizard.ui index 8c52897d..0e28ecbf 100644 --- a/src/leap/bitmask/gui/ui/wizard.ui +++ b/src/leap/bitmask/gui/ui/wizard.ui @@ -23,10 +23,10 @@ </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"> + <iconset resource="../../../../../data/resources/icons.qrc"> <normaloff>:/images/mask-icon.png</normaloff>:/images/mask-icon.png</iconset> </property> <property name="modal"> @@ -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><html><head/><body><p>Now we will guide you through some configuration that is needed before you can connect for the first time.</p><p>If you ever need to modify these options again, you can find the wizard in the <span style=" font-style:italic;">'Bitmask -&gt; Create new account...'</span> menu from the main window.</p><p>Do you want to <span style=" font-weight:600;">sign up</span> for a new account, or <span style=" font-weight:600;">log in</span> with an already existing username?</p></body></html></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> @@ -177,15 +177,24 @@ </property> <property name="minimumSize"> <size> - <width>24</width> - <height>24</height> + <width>22</width> + <height>22</height> </size> </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</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/icons.qrc">:/images/black/22/question.png</pixmap> </property> </widget> </item> @@ -199,15 +208,24 @@ </property> <property name="minimumSize"> <size> - <width>24</width> - <height>24</height> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</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/icons.qrc">:/images/black/22/question.png</pixmap> </property> </widget> </item> @@ -221,15 +239,24 @@ </property> <property name="minimumSize"> <size> - <width>24</width> - <height>24</height> + <width>22</width> + <height>22</height> </size> </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</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/icons.qrc">:/images/black/22/question.png</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> @@ -553,15 +580,24 @@ </property> <property name="minimumSize"> <size> - <width>24</width> - <height>24</height> + <width>22</width> + <height>22</height> </size> </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</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/icons.qrc">:/images/black/22/question.png</pixmap> </property> </widget> </item> @@ -575,36 +611,45 @@ </property> <property name="minimumSize"> <size> - <width>24</width> - <height>24</height> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</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/icons.qrc">:/images/black/22/question.png</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> @@ -618,15 +663,24 @@ </property> <property name="minimumSize"> <size> - <width>24</width> - <height>24</height> + <width>22</width> + <height>22</height> </size> </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</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/icons.qrc">:/images/black/22/question.png</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> @@ -829,7 +883,7 @@ <tabstop>rdoLogin</tabstop> </tabstops> <resources> - <include location="../../../../../data/resources/mainwindow.qrc"/> + <include location="../../../../../data/resources/icons.qrc"/> <include location="../../../../../data/resources/locale.qrc"/> </resources> <connections> diff --git a/src/leap/bitmask/gui/wizard.py b/src/leap/bitmask/gui/wizard.py index be5bde52..0223c053 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/22/question.png") + self.ERROR_ICON = QtGui.QPixmap(":/images/black/22/off.png") + self.OK_ICON = QtGui.QPixmap(":/images/black/22/on.png") 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: |