user level display

This commit is contained in:
Max-Wilhelm Bruker 2010-09-20 18:52:36 +02:00
parent 5b75cea661
commit 23a0080c45
16 changed files with 1030 additions and 60 deletions

View file

@ -64,5 +64,10 @@
<file>resources/countries/tr.svg</file>
<file>resources/countries/uk.svg</file>
<file>resources/countries/us.svg</file>
<file>resources/userlevels/normal.svg</file>
<file>resources/userlevels/registered.svg</file>
<file>resources/userlevels/judge.svg</file>
<file>resources/userlevels/admin.svg</file>
</qresource>
</RCC>

View file

@ -0,0 +1,249 @@
<?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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg5322"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="normal.svg">
<defs
id="defs3">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective5328" />
<inkscape:perspective
id="perspective5305"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
id="linearGradient5181">
<stop
style="stop-color:#0fbb00;stop-opacity:1;"
offset="0"
id="stop5183" />
<stop
style="stop-color:#064400;stop-opacity:1;"
offset="1"
id="stop5185" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3600-2"
id="radialGradient3606-7"
cx="324.32715"
cy="131.40274"
fx="324.32715"
fy="131.40274"
r="25.501276"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)" />
<linearGradient
id="linearGradient3600-2">
<stop
style="stop-color:#ffc33d;stop-opacity:1;"
offset="0"
id="stop3602-4" />
<stop
style="stop-color:#e09900;stop-opacity:1;"
offset="1"
id="stop3604-9" />
</linearGradient>
<inkscape:perspective
id="perspective5478"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5189"
id="linearGradient5195"
x1="385.03503"
y1="180.09546"
x2="462.48297"
y2="180.09546"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient5189">
<stop
style="stop-color:#000ec9;stop-opacity:1;"
offset="0"
id="stop5191" />
<stop
style="stop-color:#000657;stop-opacity:1;"
offset="1"
id="stop5193" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3600-4"
id="radialGradient3606-1"
cx="324.32715"
cy="131.40274"
fx="324.32715"
fy="131.40274"
r="25.501276"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)" />
<linearGradient
id="linearGradient3600-4">
<stop
style="stop-color:#ffc33d;stop-opacity:1;"
offset="0"
id="stop3602-3" />
<stop
style="stop-color:#e09900;stop-opacity:1;"
offset="1"
id="stop3604-5" />
</linearGradient>
<radialGradient
r="25.501276"
fy="131.40274"
fx="324.32715"
cy="131.40274"
cx="324.32715"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)"
gradientUnits="userSpaceOnUse"
id="radialGradient5493"
xlink:href="#linearGradient3600-4"
inkscape:collect="always" />
<inkscape:perspective
id="perspective5559"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5173"
id="linearGradient5179"
x1="167.33386"
y1="178.83276"
x2="244.78181"
y2="178.83276"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient5173">
<stop
style="stop-color:#f50000;stop-opacity:1;"
offset="0"
id="stop5175" />
<stop
style="stop-color:#950000;stop-opacity:1;"
offset="1"
id="stop5177" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3600"
id="radialGradient5169"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)"
cx="324.32715"
cy="131.40274"
fx="324.32715"
fy="131.40274"
r="25.501276" />
<linearGradient
id="linearGradient3600">
<stop
style="stop-color:#ffc13d;stop-opacity:1;"
offset="0"
id="stop3602" />
<stop
style="stop-color:#e09900;stop-opacity:1;"
offset="1"
id="stop3604" />
</linearGradient>
<radialGradient
r="25.501276"
fy="131.40274"
fx="324.32715"
cy="131.40274"
cx="324.32715"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)"
gradientUnits="userSpaceOnUse"
id="radialGradient5574"
xlink:href="#linearGradient3600"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
inkscape:document-units="mm"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="34.628582"
inkscape:cy="59.570011"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1280"
inkscape:window-height="723"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-952.36218)">
<g
transform="matrix(0.96839241,0,0,0.96839241,-149.54484,848.74636)"
id="g5547">
<path
inkscape:export-ydpi="122.56824"
inkscape:export-xdpi="122.56824"
inkscape:export-filename="/home/marcus/path3595-7.png"
sodipodi:nodetypes="csssc"
id="path3597"
d="m 243.44676,185.65131 c 5.44393,20.31703 -16.73364,23.73858 -37.37564,23.73858 -20.642,0 -42.92488,-3.02857 -37.37565,-23.73858 5.34254,-19.93864 16.73365,-37.37565 37.37565,-37.37565 20.642,0 31.90509,16.95927 37.37564,37.37565 z"
style="fill:url(#linearGradient5179);fill-opacity:1;stroke:#000000;stroke-opacity:1" />
<path
inkscape:export-ydpi="122.56824"
inkscape:export-xdpi="122.56824"
transform="translate(-127.53176,-3.0304583)"
d="m 358.60415,135.90129 c 0,13.80782 -11.19345,25.00128 -25.00128,25.00128 -13.80782,0 -25.00127,-11.19346 -25.00127,-25.00128 0,-13.80782 11.19345,-25.00128 25.00127,-25.00128 13.80783,0 25.00128,11.19346 25.00128,25.00128 z"
sodipodi:ry="25.001276"
sodipodi:rx="25.001276"
sodipodi:cy="135.90129"
sodipodi:cx="333.60287"
id="path3595"
style="fill:url(#radialGradient5574);fill-opacity:1;stroke:#000000;stroke-opacity:1"
sodipodi:type="arc" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8 KiB

View file

@ -0,0 +1,302 @@
<?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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg5322"
version="1.1"
inkscape:version="0.48.0 r9654"
sodipodi:docname="judge2.svg">
<defs
id="defs3">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective5328" />
<inkscape:perspective
id="perspective5305"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
id="linearGradient5181">
<stop
style="stop-color:#0fbb00;stop-opacity:1;"
offset="0"
id="stop5183" />
<stop
style="stop-color:#064400;stop-opacity:1;"
offset="1"
id="stop5185" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3600-2"
id="radialGradient3606-7"
cx="324.32715"
cy="131.40274"
fx="324.32715"
fy="131.40274"
r="25.501276"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)" />
<linearGradient
id="linearGradient3600-2">
<stop
style="stop-color:#ffc33d;stop-opacity:1;"
offset="0"
id="stop3602-4" />
<stop
style="stop-color:#e09900;stop-opacity:1;"
offset="1"
id="stop3604-9" />
</linearGradient>
<inkscape:perspective
id="perspective5478"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
id="linearGradient5189">
<stop
style="stop-color:#000ec9;stop-opacity:1;"
offset="0"
id="stop5191" />
<stop
style="stop-color:#000657;stop-opacity:1;"
offset="1"
id="stop5193" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3600-4"
id="radialGradient3606-1"
cx="324.32715"
cy="131.40274"
fx="324.32715"
fy="131.40274"
r="25.501276"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)" />
<linearGradient
id="linearGradient3600-4">
<stop
style="stop-color:#ffc33d;stop-opacity:1;"
offset="0"
id="stop3602-3" />
<stop
style="stop-color:#e09900;stop-opacity:1;"
offset="1"
id="stop3604-5" />
</linearGradient>
<inkscape:perspective
id="perspective5559"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5173"
id="linearGradient5179"
x1="167.33386"
y1="178.83276"
x2="244.78181"
y2="178.83276"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient5173">
<stop
style="stop-color:#f50000;stop-opacity:1;"
offset="0"
id="stop5175" />
<stop
style="stop-color:#950000;stop-opacity:1;"
offset="1"
id="stop5177" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3600"
id="radialGradient5169"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)"
cx="324.32715"
cy="131.40274"
fx="324.32715"
fy="131.40274"
r="25.501276" />
<linearGradient
id="linearGradient3600">
<stop
style="stop-color:#ffc13d;stop-opacity:1;"
offset="0"
id="stop3602" />
<stop
style="stop-color:#e09900;stop-opacity:1;"
offset="1"
id="stop3604" />
</linearGradient>
<radialGradient
r="25.501276"
fy="131.40274"
fx="324.32715"
cy="131.40274"
cx="324.32715"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)"
gradientUnits="userSpaceOnUse"
id="radialGradient5574"
xlink:href="#linearGradient3600"
inkscape:collect="always" />
<inkscape:perspective
id="perspective5663"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3600-7"
id="radialGradient3606-8"
cx="324.32715"
cy="131.40274"
fx="324.32715"
fy="131.40274"
r="25.501276"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)" />
<linearGradient
id="linearGradient3600-7">
<stop
style="stop-color:#ffc13d;stop-opacity:1;"
offset="0"
id="stop3602-7" />
<stop
style="stop-color:#e09900;stop-opacity:1;"
offset="1"
id="stop3604-6" />
</linearGradient>
<radialGradient
r="25.501276"
fy="131.40274"
fx="324.32715"
cy="131.40274"
cx="324.32715"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)"
gradientUnits="userSpaceOnUse"
id="radialGradient5676"
xlink:href="#linearGradient3600-7"
inkscape:collect="always" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3600-7"
id="radialGradient3857"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)"
cx="324.32715"
cy="131.40274"
fx="324.32715"
fy="131.40274"
r="25.501276" />
</defs>
<sodipodi:namedview
inkscape:document-units="mm"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="18.298101"
inkscape:cy="44.202521"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1280"
inkscape:window-height="951"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-952.36218)">
<g
id="g3898"
transform="translate(-0.45188073,0)">
<path
transform="translate(0,952.36218)"
id="path3896"
d="m 84.71875,92.53125 c 8.374133,-4.071404 13.069457,-10.998912 9.9375,-22.6875 c -2.315382,-8.641123 -5.660235,-16.585337 -9.9375,-23.4375 l 0,46.125 z"
style="fill:white;fill-opacity:1;stroke:black;stroke-width:1.18193758;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
transform="translate(0,952.36218)"
id="path3894"
d="m 65.28125,43 c -0.292742,0.215952 -0.542733,0.484139 -0.84375,0.6875 c -1.308062,0.88374 -2.685448,1.65916 -4.15625,2.28125 c -1.470801,0.62209 -3.024416,1.10996 -4.625,1.4375 c -1.600585,0.32757 -3.24009,0.5 -4.9375,0.5 c -1.69741,0 -3.368165,-0.17243 -4.96875,-0.5 c -1.600584,-0.32754 -3.154199,-0.81541 -4.625,-1.4375 C 39.654198,45.34666 38.276811,44.57124 36.96875,43.6875 c -0.49387,-0.333648 -0.907469,-0.754788 -1.375,-1.125 l 0,54.6875 c 4.85364,0.448267 9.853583,0.6875 14.84375,0.6875 c 4.990493,0 9.993451,-0.241631 14.84375,-0.71875 l 0,-54.21875 z"
style="fill:white;fill-opacity:1;stroke:black;stroke-width:1.18193758;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
transform="translate(0,952.36218)"
id="path3891"
d="m 65.28125,43 l 0,54.21875 c 7.31991,-0.720052 14.126628,-2.105417 19.4375,-4.6875 l 0,-46.125 C 81.472026,41.20501 77.746699,36.563732 73.1875,33.125 c -0.598438,1.36601 -1.267616,2.68341 -2.09375,3.90625 c -0.883709,1.30807 -1.887636,2.54389 -3,3.65625 C 67.237368,41.543879 66.26061,42.277538 65.28125,43 z"
style="fill:black;fill-opacity:1;stroke:black;stroke-width:1.18193758;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
transform="translate(0,952.36218)"
id="path3889"
d="m 16.15625,46.625 c -4.289607,6.861657 -7.6110133,14.769428 -9.875,23.21875 c -3.1949761,11.923795 1.4874878,18.833934 9.875,22.84375 l 0,-46.0625 z"
style="fill:white;fill-opacity:1;stroke:black;stroke-width:1.18193758;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
transform="translate(0,952.36218)"
id="path3862"
d="m 16.15625,46.625 l 0,46.0625 c 5.309114,2.538127 12.120584,3.886733 19.4375,4.5625 l 0,-54.6875 c -0.77077,-0.61033 -1.557618,-1.182621 -2.25,-1.875 C 32.231387,39.57514 31.196209,38.33932 30.3125,37.03125 C 29.456118,35.76364 28.736178,34.42093 28.125,33 c -4.740161,3.522572 -8.627524,8.280374 -11.96875,13.625 z"
style="fill:black;fill-opacity:1;stroke:black;stroke-width:1.18193758;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<path
sodipodi:type="arc"
style="fill:url(#radialGradient3857);fill-opacity:1;stroke:black;stroke-opacity:1"
id="path3595-7"
sodipodi:cx="333.60287"
sodipodi:cy="135.90129"
sodipodi:rx="25.001276"
sodipodi:ry="25.001276"
d="m 358.60415,135.90129 a 25.001276,25.001276 0 1 1 -50.00255,0 a 25.001276,25.001276 0 1 1 50.00255,0 z"
transform="matrix(0.83884708,0,0,0.83884708,-229.8418,862.38635)"
inkscape:export-xdpi="122.56824"
inkscape:export-ydpi="122.56824" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,207 @@
<?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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg5322"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="registered.svg">
<defs
id="defs3">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective5328" />
<inkscape:perspective
id="perspective5305"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5181"
id="linearGradient5187"
x1="282.50455"
y1="181.61069"
x2="359.95248"
y2="181.61069"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient5181">
<stop
style="stop-color:#0fbb00;stop-opacity:1;"
offset="0"
id="stop5183" />
<stop
style="stop-color:#064400;stop-opacity:1;"
offset="1"
id="stop5185" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3600-2"
id="radialGradient3606-7"
cx="324.32715"
cy="131.40274"
fx="324.32715"
fy="131.40274"
r="25.501276"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)" />
<linearGradient
id="linearGradient3600-2">
<stop
style="stop-color:#ffc33d;stop-opacity:1;"
offset="0"
id="stop3602-4" />
<stop
style="stop-color:#e09900;stop-opacity:1;"
offset="1"
id="stop3604-9" />
</linearGradient>
<radialGradient
r="25.501276"
fy="131.40274"
fx="324.32715"
cy="131.40274"
cx="324.32715"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)"
gradientUnits="userSpaceOnUse"
id="radialGradient5320"
xlink:href="#linearGradient3600-2"
inkscape:collect="always" />
<inkscape:perspective
id="perspective5478"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5189"
id="linearGradient5195"
x1="385.03503"
y1="180.09546"
x2="462.48297"
y2="180.09546"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient5189">
<stop
style="stop-color:#000ec9;stop-opacity:1;"
offset="0"
id="stop5191" />
<stop
style="stop-color:#000657;stop-opacity:1;"
offset="1"
id="stop5193" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3600-4"
id="radialGradient3606-1"
cx="324.32715"
cy="131.40274"
fx="324.32715"
fy="131.40274"
r="25.501276"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)" />
<linearGradient
id="linearGradient3600-4">
<stop
style="stop-color:#ffc33d;stop-opacity:1;"
offset="0"
id="stop3602-3" />
<stop
style="stop-color:#e09900;stop-opacity:1;"
offset="1"
id="stop3604-5" />
</linearGradient>
<radialGradient
r="25.501276"
fy="131.40274"
fx="324.32715"
cy="131.40274"
cx="324.32715"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)"
gradientUnits="userSpaceOnUse"
id="radialGradient5493"
xlink:href="#linearGradient3600-4"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
inkscape:document-units="mm"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="34.628582"
inkscape:cy="59.570011"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1280"
inkscape:window-height="723"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-952.36218)">
<g
transform="matrix(0.96839241,0,0,0.96839241,-360.365,847.52359)"
id="g3709"
inkscape:export-filename="/home/marcus/path3595-7.png"
inkscape:export-xdpi="122.56824"
inkscape:export-ydpi="122.56824">
<path
sodipodi:nodetypes="csssc"
id="path3597-94"
d="m 461.14792,186.914 c 5.44393,20.31703 -16.73364,23.73857 -37.37564,23.73857 -20.642,0 -42.92488,-3.02856 -37.37565,-23.73857 5.34254,-19.93864 16.73365,-37.37565 37.37565,-37.37565 20.642,0 31.90509,16.95927 37.37564,37.37565 z"
style="fill:url(#linearGradient5195);fill-opacity:1;stroke:#000000;stroke-opacity:1" />
<path
transform="translate(90.169402,-1.7677686)"
d="m 358.60415,135.90129 c 0,13.80782 -11.19345,25.00128 -25.00128,25.00128 -13.80782,0 -25.00127,-11.19346 -25.00127,-25.00128 0,-13.80782 11.19345,-25.00128 25.00127,-25.00128 13.80783,0 25.00128,11.19346 25.00128,25.00128 z"
sodipodi:ry="25.001276"
sodipodi:rx="25.001276"
sodipodi:cy="135.90129"
sodipodi:cx="333.60287"
id="path3595-3"
style="fill:url(#radialGradient5493);fill-opacity:1;stroke:#000000;stroke-opacity:1"
sodipodi:type="arc" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

View file

@ -0,0 +1,147 @@
<?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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100"
height="100"
id="svg5322"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="Neues Dokument 9">
<defs
id="defs3">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective5328" />
<inkscape:perspective
id="perspective5305"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5181"
id="linearGradient5187"
x1="282.50455"
y1="181.61069"
x2="359.95248"
y2="181.61069"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient5181">
<stop
style="stop-color:#0fbb00;stop-opacity:1;"
offset="0"
id="stop5183" />
<stop
style="stop-color:#064400;stop-opacity:1;"
offset="1"
id="stop5185" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3600-2"
id="radialGradient3606-7"
cx="324.32715"
cy="131.40274"
fx="324.32715"
fy="131.40274"
r="25.501276"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)" />
<linearGradient
id="linearGradient3600-2">
<stop
style="stop-color:#ffc33d;stop-opacity:1;"
offset="0"
id="stop3602-4" />
<stop
style="stop-color:#e09900;stop-opacity:1;"
offset="1"
id="stop3604-9" />
</linearGradient>
<radialGradient
r="25.501276"
fy="131.40274"
fx="324.32715"
cy="131.40274"
cx="324.32715"
gradientTransform="matrix(0.92332021,0.38403097,-0.41592401,1.0000002,78.192026,-120.05314)"
gradientUnits="userSpaceOnUse"
id="radialGradient5320"
xlink:href="#linearGradient3600-2"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
inkscape:document-units="mm"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="34.628582"
inkscape:cy="59.570011"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1280"
inkscape:window-height="723"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-952.36218)">
<g
transform="matrix(0.96839241,0,0,0.96839241,-261.07526,846.05625)"
id="g3705"
inkscape:export-filename="/home/marcus/path3595-7.png"
inkscape:export-xdpi="122.56824"
inkscape:export-ydpi="122.56824">
<path
sodipodi:nodetypes="csssc"
id="path3597-9"
d="m 358.61744,188.42922 c 5.44393,20.31703 -16.73364,23.73858 -37.37564,23.73858 -20.642,0 -42.92488,-3.02857 -37.37565,-23.73858 5.34254,-19.93864 16.73365,-37.37565 37.37565,-37.37565 20.642,0 31.90509,16.95927 37.37564,37.37565 z"
style="fill:url(#linearGradient5187);fill-opacity:1;stroke:#000000;stroke-opacity:1" />
<path
transform="translate(-12.361081,-0.25254021)"
d="m 358.60415,135.90129 c 0,13.80782 -11.19345,25.00128 -25.00128,25.00128 -13.80782,0 -25.00127,-11.19346 -25.00127,-25.00128 0,-13.80782 11.19345,-25.00128 25.00127,-25.00128 13.80783,0 25.00128,11.19346 25.00128,25.00128 z"
sodipodi:ry="25.001276"
sodipodi:rx="25.001276"
sodipodi:cy="135.90129"
sodipodi:cx="333.60287"
id="path3595-2"
style="fill:url(#radialGradient5320);fill-opacity:1;stroke:#000000;stroke-opacity:1"
sodipodi:type="arc" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

View file

@ -12,7 +12,8 @@ DlgCreateToken::DlgCreateToken(QWidget *parent)
: QDialog(parent)
{
nameLabel = new QLabel(tr("&Name:"));
nameEdit = new QLineEdit;
nameEdit = new QLineEdit(tr("Token"));
nameEdit->selectAll();
nameLabel->setBuddy(nameEdit);
colorLabel = new QLabel(tr("C&olor:"));

View file

@ -34,6 +34,7 @@
#include "dlg_settings.h"
#include "carddatabase.h"
#include "settingscache.h"
#include "pixmapgenerator.h"
//Q_IMPORT_PLUGIN(qjpeg)
@ -124,6 +125,9 @@ int main(int argc, char *argv[])
delete db;
delete settingsCache;
PingPixmapGenerator::clear();
CountryPixmapGenerator::clear();
UserLevelPixmapGenerator::clear();
return 0;
}

View file

@ -1,4 +1,5 @@
#include "pixmapgenerator.h"
#include "protocol_datastructures.h"
#include <QPainter>
#include <QSvgRenderer>
#include <math.h>
@ -52,4 +53,32 @@ QPixmap CountryPixmapGenerator::generatePixmap(int height, const QString &countr
return pixmap;
}
QMap<QString, QPixmap> CountryPixmapGenerator::pmCache;
QMap<QString, QPixmap> CountryPixmapGenerator::pmCache;
QPixmap UserLevelPixmapGenerator::generatePixmap(int height, int userLevel)
{
int key = height * 10000 + userLevel;
if (pmCache.contains(key))
return pmCache.value(key);
QString levelString;
if (userLevel & ServerInfo_User::IsAdmin)
levelString = "judge";
else if (userLevel & ServerInfo_User::IsJudge)
levelString = "judge";
else if (userLevel &ServerInfo_User::IsRegistered)
levelString = "registered";
else
levelString = "normal";
QSvgRenderer svg(QString(":/resources/userlevels/" + levelString + ".svg"));
int width = (int) round(height * (double) svg.defaultSize().width() / (double) svg.defaultSize().height());
QPixmap pixmap(width, height);
pixmap.fill(Qt::transparent);
QPainter painter(&pixmap);
svg.render(&painter, QRectF(0, 0, width, height));
pmCache.insert(key, pixmap);
return pixmap;
}
QMap<int, QPixmap> UserLevelPixmapGenerator::pmCache;

View file

@ -1,5 +1,5 @@
#ifndef PINGPIXMAPGENERATOR_H
#define PINGPIXMAPGENERATOR_H
#ifndef PIXMAPGENERATOR_H
#define PIXMAPGENERATOR_H
#include <QPixmap>
#include <QMap>
@ -9,6 +9,7 @@ private:
static QMap<int, QPixmap> pmCache;
public:
static QPixmap generatePixmap(int size, int value, int max);
static void clear() { pmCache.clear(); }
};
class CountryPixmapGenerator {
@ -16,6 +17,15 @@ private:
static QMap<QString, QPixmap> pmCache;
public:
static QPixmap generatePixmap(int height, const QString &countryCode);
static void clear() { pmCache.clear(); }
};
class UserLevelPixmapGenerator {
private:
static QMap<int, QPixmap> pmCache;
public:
static QPixmap generatePixmap(int height, int userLevel);
static void clear() { pmCache.clear(); }
};
#endif

View file

@ -14,7 +14,7 @@ PlayerListWidget::PlayerListWidget(QWidget *parent)
spectatorIcon = QIcon(":/resources/icon_spectator.svg");
setIconSize(QSize(20, 15));
setColumnCount(5);
setColumnCount(6);
setRootIsDecorated(false);
setSelectionMode(NoSelection);
header()->setResizeMode(QHeaderView::ResizeToContents);
@ -26,8 +26,9 @@ void PlayerListWidget::retranslateUi()
headerItem()->setText(0, QString());
headerItem()->setText(1, QString());
headerItem()->setText(2, QString());
headerItem()->setText(3, tr("Player name"));
headerItem()->setText(4, tr("Deck"));
headerItem()->setText(3, QString());
headerItem()->setText(4, tr("Player name"));
headerItem()->setText(5, tr("Deck"));
}
void PlayerListWidget::addPlayer(ServerInfo_PlayerProperties *player)
@ -46,9 +47,10 @@ void PlayerListWidget::updatePlayerProperties(ServerInfo_PlayerProperties *prop)
player->setIcon(1, prop->getSpectator() ? spectatorIcon : playerIcon);
player->setIcon(2, gameStarted ? (prop->getConceded() ? concededIcon : QIcon()) : (prop->getReadyStart() ? readyIcon : notReadyIcon));
player->setText(3, prop->getUserInfo()->getName());
player->setIcon(3, QIcon(UserLevelPixmapGenerator::generatePixmap(12, prop->getUserInfo()->getUserLevel())));
player->setText(4, prop->getUserInfo()->getName());
if (!prop->getUserInfo()->getCountry().isEmpty())
player->setIcon(3, QIcon(CountryPixmapGenerator::generatePixmap(12, prop->getUserInfo()->getCountry())));
player->setIcon(4, QIcon(CountryPixmapGenerator::generatePixmap(12, prop->getUserInfo()->getCountry())));
QString deckText;
if (!prop->getSpectator())
@ -57,7 +59,7 @@ void PlayerListWidget::updatePlayerProperties(ServerInfo_PlayerProperties *prop)
case -1: deckText = tr("local"); break;
default: deckText = tr("#%1").arg(prop->getDeckId());
}
player->setText(4, deckText);
player->setText(5, deckText);
}
void PlayerListWidget::removePlayer(int playerId)
@ -76,7 +78,7 @@ void PlayerListWidget::setActivePlayer(int playerId)
i.next();
QTreeWidgetItem *twi = i.value();
QColor c = i.key() == playerId ? QColor(150, 255, 150) : Qt::white;
twi->setBackground(3, c);
twi->setBackground(4, c);
}
}
@ -85,7 +87,7 @@ void PlayerListWidget::updatePing(int playerId, int pingTime)
QTreeWidgetItem *twi = players.value(playerId, 0);
if (!twi)
return;
twi->setIcon(0, QIcon(PingPixmapGenerator::generatePixmap(10, pingTime, 10)));
twi->setIcon(0, QIcon(PingPixmapGenerator::generatePixmap(12, pingTime, 10)));
}
void PlayerListWidget::setGameStarted(bool _gameStarted)

View file

@ -553,6 +553,8 @@ void TabGame::eventPlayerPropertiesChanged(Event_PlayerPropertiesChanged *event,
void TabGame::eventJoin(Event_Join *event, GameEventContext * /*context*/)
{
ServerInfo_PlayerProperties *playerInfo = event->getPlayer();
if (players.contains(playerInfo->getPlayerId()))
return;
if (playerInfo->getSpectator()) {
spectators.insert(playerInfo->getPlayerId(), playerInfo->getUserInfo()->getName());
messageLog->logJoinSpectator(playerInfo->getUserInfo()->getName());

View file

@ -241,7 +241,7 @@ UserList::UserList(AbstractClient *_client, QWidget *parent)
: QGroupBox(parent)
{
userTree = new QTreeWidget;
userTree->setColumnCount(2);
userTree->setColumnCount(3);
userTree->header()->setResizeMode(QHeaderView::ResizeToContents);
userTree->setHeaderHidden(true);
userTree->setRootIsDecorated(false);
@ -273,7 +273,7 @@ void UserList::processUserInfo(ServerInfo_User *user)
QTreeWidgetItem *item = 0;
for (int i = 0; i < userTree->topLevelItemCount(); ++i) {
QTreeWidgetItem *temp = userTree->topLevelItem(i);
if (temp->data(1, Qt::UserRole) == user->getName()) {
if (temp->data(2, Qt::UserRole) == user->getName()) {
item = temp;
break;
}
@ -283,9 +283,10 @@ void UserList::processUserInfo(ServerInfo_User *user)
userTree->addTopLevelItem(item);
retranslateUi();
}
item->setIcon(0, QIcon(CountryPixmapGenerator::generatePixmap(12, user->getCountry())));
item->setData(1, Qt::UserRole, user->getName());
item->setData(1, Qt::DisplayRole, user->getName());
item->setIcon(0, QIcon(UserLevelPixmapGenerator::generatePixmap(12, user->getUserLevel())));
item->setIcon(1, QIcon(CountryPixmapGenerator::generatePixmap(12, user->getCountry())));
item->setData(2, Qt::UserRole, user->getName());
item->setData(2, Qt::DisplayRole, user->getName());
}
void UserList::processResponse(ProtocolResponse *response)
@ -310,7 +311,7 @@ void UserList::processUserJoinedEvent(Event_UserJoined *event)
void UserList::processUserLeftEvent(Event_UserLeft *event)
{
for (int i = 0; i < userTree->topLevelItemCount(); ++i)
if (userTree->topLevelItem(i)->data(1, Qt::UserRole) == event->getUserName()) {
if (userTree->topLevelItem(i)->data(2, Qt::UserRole) == event->getUserName()) {
emit userLeft(event->getUserName());
delete userTree->takeTopLevelItem(i);
retranslateUi();
@ -320,7 +321,7 @@ void UserList::processUserLeftEvent(Event_UserLeft *event)
void UserList::userClicked(QTreeWidgetItem *item, int /*column*/)
{
emit openMessageDialog(item->data(1, Qt::UserRole).toString(), true);
emit openMessageDialog(item->data(2, Qt::UserRole).toString(), true);
}
TabServer::TabServer(AbstractClient *_client, QWidget *parent)

View file

@ -698,72 +698,77 @@
<translation>&amp;Name:</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="18"/>
<location filename="../src/dlg_create_token.cpp" line="15"/>
<source>Token</source>
<translation>Spielstein</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="19"/>
<source>C&amp;olor:</source>
<translation>&amp;Farbe:</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="20"/>
<location filename="../src/dlg_create_token.cpp" line="21"/>
<source>white</source>
<translation>weiß</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="21"/>
<location filename="../src/dlg_create_token.cpp" line="22"/>
<source>blue</source>
<translation>blau</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="22"/>
<location filename="../src/dlg_create_token.cpp" line="23"/>
<source>black</source>
<translation>schwarz</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="23"/>
<location filename="../src/dlg_create_token.cpp" line="24"/>
<source>red</source>
<translation>rot</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="24"/>
<location filename="../src/dlg_create_token.cpp" line="25"/>
<source>green</source>
<translation>grün</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="25"/>
<location filename="../src/dlg_create_token.cpp" line="26"/>
<source>multicolor</source>
<translation>mehrfarbig</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="26"/>
<location filename="../src/dlg_create_token.cpp" line="27"/>
<source>colorless</source>
<translation>farblos</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="29"/>
<location filename="../src/dlg_create_token.cpp" line="30"/>
<source>&amp;P/T:</source>
<translation>&amp;Kampfwerte:</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="33"/>
<location filename="../src/dlg_create_token.cpp" line="34"/>
<source>&amp;Annotation:</source>
<translation>&amp;Hinweis:</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="37"/>
<location filename="../src/dlg_create_token.cpp" line="38"/>
<source>&amp;Destroy token when it leaves the table</source>
<translation>Spielstein &amp;zerstören, wenn er das Spielfeld verlässt</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="40"/>
<location filename="../src/dlg_create_token.cpp" line="41"/>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="42"/>
<location filename="../src/dlg_create_token.cpp" line="43"/>
<source>&amp;Cancel</source>
<translation>A&amp;bbrechen</translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="65"/>
<location filename="../src/dlg_create_token.cpp" line="66"/>
<source>Create token</source>
<translation>Spielstein erstellen</translation>
</message>
@ -2696,27 +2701,27 @@
<context>
<name>PlayerListWidget</name>
<message>
<location filename="../src/playerlistwidget.cpp" line="29"/>
<location filename="../src/playerlistwidget.cpp" line="30"/>
<source>Player name</source>
<translation>Spielername</translation>
</message>
<message>
<location filename="../src/playerlistwidget.cpp" line="30"/>
<location filename="../src/playerlistwidget.cpp" line="31"/>
<source>Deck</source>
<translation>Deck</translation>
</message>
<message>
<location filename="../src/playerlistwidget.cpp" line="56"/>
<location filename="../src/playerlistwidget.cpp" line="58"/>
<source>---</source>
<translation>---</translation>
</message>
<message>
<location filename="../src/playerlistwidget.cpp" line="57"/>
<location filename="../src/playerlistwidget.cpp" line="59"/>
<source>local</source>
<translation>lokal</translation>
</message>
<message>
<location filename="../src/playerlistwidget.cpp" line="58"/>
<location filename="../src/playerlistwidget.cpp" line="60"/>
<source>#%1</source>
<translation>#%1</translation>
</message>

View file

@ -606,72 +606,77 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="18"/>
<location filename="../src/dlg_create_token.cpp" line="15"/>
<source>Token</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="19"/>
<source>C&amp;olor:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="20"/>
<location filename="../src/dlg_create_token.cpp" line="21"/>
<source>white</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="21"/>
<location filename="../src/dlg_create_token.cpp" line="22"/>
<source>blue</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="22"/>
<location filename="../src/dlg_create_token.cpp" line="23"/>
<source>black</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="23"/>
<location filename="../src/dlg_create_token.cpp" line="24"/>
<source>red</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="24"/>
<location filename="../src/dlg_create_token.cpp" line="25"/>
<source>green</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="25"/>
<location filename="../src/dlg_create_token.cpp" line="26"/>
<source>multicolor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="26"/>
<location filename="../src/dlg_create_token.cpp" line="27"/>
<source>colorless</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="29"/>
<location filename="../src/dlg_create_token.cpp" line="30"/>
<source>&amp;P/T:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="33"/>
<location filename="../src/dlg_create_token.cpp" line="34"/>
<source>&amp;Annotation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="37"/>
<location filename="../src/dlg_create_token.cpp" line="38"/>
<source>&amp;Destroy token when it leaves the table</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="40"/>
<location filename="../src/dlg_create_token.cpp" line="41"/>
<source>&amp;OK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="42"/>
<location filename="../src/dlg_create_token.cpp" line="43"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_create_token.cpp" line="65"/>
<location filename="../src/dlg_create_token.cpp" line="66"/>
<source>Create token</source>
<translation type="unfinished"></translation>
</message>
@ -1843,27 +1848,27 @@
<context>
<name>PlayerListWidget</name>
<message>
<location filename="../src/playerlistwidget.cpp" line="29"/>
<location filename="../src/playerlistwidget.cpp" line="30"/>
<source>Player name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/playerlistwidget.cpp" line="30"/>
<location filename="../src/playerlistwidget.cpp" line="31"/>
<source>Deck</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/playerlistwidget.cpp" line="56"/>
<location filename="../src/playerlistwidget.cpp" line="58"/>
<source>---</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/playerlistwidget.cpp" line="57"/>
<location filename="../src/playerlistwidget.cpp" line="59"/>
<source>local</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/playerlistwidget.cpp" line="58"/>
<location filename="../src/playerlistwidget.cpp" line="60"/>
<source>#%1</source>
<translation type="unfinished"></translation>
</message>

View file

@ -51,7 +51,7 @@ private:
static void initializeHashAuto();
bool receiverMayDelete;
public:
static const int protocolVersion = 8;
static const int protocolVersion = 9;
static void initializeHash();
virtual int getItemId() const = 0;
bool getReceiverMayDelete() const { return receiverMayDelete; }

View file

@ -36,7 +36,8 @@ public:
IsNothing = 0x00,
IsUser = 0x01,
IsRegistered = 0x02,
IsAdmin = 0x04
IsJudge = 0x04,
IsAdmin = 0x08
};
ServerInfo_User(const QString &_name = QString(), int _userLevel = IsNothing, const QString &_country = QString());
ServerInfo_User(const ServerInfo_User *other);