mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
Merge branches 'pr1185', 'pr1188', 'pr1192', 'pr1193', 'pr1200' and 'krepa'
This commit is contained in:
commit
7edb50ea3e
|
@ -105,7 +105,6 @@ Arch Linux:
|
||||||
sudo pacman -S --needed opus vpx
|
sudo pacman -S --needed opus vpx
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
|
||||||
Debian:
|
Debian:
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install libtool autotools-dev automake checkinstall check libopus-dev libvpx-dev
|
sudo apt-get install libtool autotools-dev automake checkinstall check libopus-dev libvpx-dev
|
||||||
|
|
|
@ -1 +1,87 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 47.5 47.5" style="enable-background:new 0 0 47.5 47.5;" id="svg2" xml:space="preserve"><defs id="defs6"><clipPath id="clipPath18"><path d="M 0,38 38,38 38,0 0,0 0,38 z" id="path20"/></clipPath></defs><g transform="matrix(1.25,0,0,-1.25,0,47.5)" id="g12"><g id="g14"><g clip-path="url(#clipPath18)" id="g16"><g transform="translate(37,19)" id="g22"><path d="m 0,0 c 0,-9.941 -8.059,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.059,18 0,9.941 0,0" id="path24" style="fill:#ffcc4d;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(19,16)" id="g26"><path d="m 0,0 c -3.623,0 -6.027,0.422 -9,1 -0.679,0.131 -2,0 -2,-2 0,-4 4.595,-9 11,-9 6.404,0 11,5 11,9 C 11,1 9.679,1.132 9,1 6.027,0.422 3.623,0 0,0" id="path28" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(11,24)" id="g30"><path d="M 0,0 C 0,0 0,2 2,2 4,2 4,0 4,0 l 0,-2 c 0,0 0,-2 -2,-2 -2,0 -2,2 -2,2 l 0,2 z" id="path32" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(23,24)" id="g34"><path d="M 0,0 C 0,0 0,2 2,2 4,2 4,0 4,0 l 0,-2 c 0,0 0,-2 -2,-2 -2,0 -2,2 -2,2 l 0,2 z" id="path36" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(10,15)" id="g38"><path d="m 0,0 c 0,0 3,-1 9,-1 6,0 9,1 9,1 0,0 -2,-4 -9,-4 -7,0 -9,4 -9,4" id="path40" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g></g></g></g></svg>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
version="1.1"
|
||||||
|
width="47.5"
|
||||||
|
height="47.5"
|
||||||
|
id="svg3129"
|
||||||
|
xml:space="preserve"><metadata
|
||||||
|
id="metadata3135"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs3133"><linearGradient
|
||||||
|
id="linearGradient5377"><stop
|
||||||
|
id="stop5379"
|
||||||
|
style="stop-color:#020000;stop-opacity:1"
|
||||||
|
offset="0" /></linearGradient><clipPath
|
||||||
|
id="clipPath3143"><path
|
||||||
|
d="M 0,38 38,38 38,0 0,0 0,38 z"
|
||||||
|
id="path3145" /></clipPath></defs><g
|
||||||
|
transform="matrix(1.25,0,0,-1.25,0,47.5)"
|
||||||
|
id="g3137"
|
||||||
|
style="display:inline"><g
|
||||||
|
id="g3139"><g
|
||||||
|
clip-path="url(#clipPath3143)"
|
||||||
|
id="g3141"><g
|
||||||
|
transform="translate(37,19)"
|
||||||
|
id="g3147"><path
|
||||||
|
d="m 0,0 c 0,-9.941 -8.059,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.059,18 0,9.941 0,0"
|
||||||
|
id="path3149"
|
||||||
|
style="fill:#ffcc4d;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||||
|
transform="translate(19,16)"
|
||||||
|
id="g3151" /><g
|
||||||
|
transform="translate(11,24)"
|
||||||
|
id="g3155"><path
|
||||||
|
d="M 0,0 C 0,0 0,2 2,2 4,2 4,0 4,0 l 0,-2 c 0,0 0,-2 -2,-2 -2,0 -2,2 -2,2 l 0,2 z"
|
||||||
|
id="path3157"
|
||||||
|
style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||||
|
transform="translate(23,24)"
|
||||||
|
id="g3159"><path
|
||||||
|
d="M 0,0 C 0,0 0,2 2,2 4,2 4,0 4,0 l 0,-2 c 0,0 0,-2 -2,-2 -2,0 -2,2 -2,2 l 0,2 z"
|
||||||
|
id="path3161"
|
||||||
|
style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||||
|
transform="translate(10,15)"
|
||||||
|
id="g3163"><path
|
||||||
|
d="m -1.0247056,0.56928088 c 0,0 3.3225925,-1.87814548 9.9677775,-1.87814548 6.6451851,0 9.9677771,1.87814548 9.9677771,1.87814548 0,0 -2.215061,-10.56528318 -9.9677771,-10.56528318 -7.7527158,0 -9.9677775,10.56528318 -9.9677775,10.56528318"
|
||||||
|
id="path3165"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /><path
|
||||||
|
d="m -1.0247056,0.56928088 c 0,0 3.3358667,-1.87814548 10.0076002,-1.87814548 6.6717334,0 10.0075994,1.87814548 10.0075994,1.87814548 0,0 -2.22391,-10.56528318 -10.0075994,-10.56528318 -7.783689,0 -10.0076002,10.56528318 -10.0076002,10.56528318"
|
||||||
|
id="path5383"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g></g><g
|
||||||
|
transform="matrix(1.25,0,0,-1.25,0,47.5)"
|
||||||
|
id="g5385"
|
||||||
|
style="display:inline"><g
|
||||||
|
id="g5387"><g
|
||||||
|
clip-path="url(#clipPath3143)"
|
||||||
|
id="g5389"><g
|
||||||
|
transform="translate(37,19)"
|
||||||
|
id="g5391" /><g
|
||||||
|
transform="translate(19,16)"
|
||||||
|
id="g5395" /><g
|
||||||
|
transform="translate(11,24)"
|
||||||
|
id="g5397"><path
|
||||||
|
d="M 0,0 C 0,0 0,2 2,2 4,2 4,0 4,0 l 0,-2 c 0,0 0,-2 -2,-2 -2,0 -2,2 -2,2 l 0,2 z"
|
||||||
|
id="path5399"
|
||||||
|
style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||||
|
transform="translate(23,24)"
|
||||||
|
id="g5401"><path
|
||||||
|
d="M 0,0 C 0,0 0,2 2,2 4,2 4,0 4,0 l 0,-2 c 0,0 0,-2 -2,-2 -2,0 -2,2 -2,2 l 0,2 z"
|
||||||
|
id="path5403"
|
||||||
|
style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||||
|
transform="translate(10,15)"
|
||||||
|
id="g5405"><path
|
||||||
|
d="m -1.0247056,0.56928088 c 0,0 3.3225925,-1.87814548 9.9677775,-1.87814548 6.6451851,0 9.9677771,1.87814548 9.9677771,1.87814548 0,0 -2.215061,-10.56528318 -9.9677771,-10.56528318 -7.7527158,0 -9.9677775,10.56528318 -9.9677775,10.56528318"
|
||||||
|
id="path5407"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /><path
|
||||||
|
d="m -2.956909,2.1794504 c 0,0 4.0062627,-2.16437849 12.0187882,-2.16437849 8.0125248,0 12.0187838,2.16437849 12.0187838,2.16437849 0,0 -2.67084,-12.1754527 -12.0187838,-12.1754527 -9.34794657,0 -12.0187882,12.1754527 -12.0187882,12.1754527"
|
||||||
|
id="path5409"
|
||||||
|
style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" /><path
|
||||||
|
d="m -1.4668034,0.77055209 c 0,0 3.5165029,-1.73502897 10.5495083,-1.73502897 7.0330041,0 10.5495051,1.73502897 10.5495051,1.73502897 0,0 -2.344334,-9.76019849 -10.5495051,-9.76019849 -8.20517324,0 -10.5495083,9.76019849 -10.5495083,9.76019849"
|
||||||
|
id="path5411"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g></g></svg>
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 4.9 KiB |
|
@ -1 +1,54 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 47.5 47.5" style="enable-background:new 0 0 47.5 47.5;" id="svg2" xml:space="preserve"><defs id="defs6"><clipPath id="clipPath18"><path d="M 0,38 38,38 38,0 0,0 0,38 z" id="path20"/></clipPath></defs><g transform="matrix(1.25,0,0,-1.25,0,47.5)" id="g12"><g id="g14"><g clip-path="url(#clipPath18)" id="g16"><g transform="translate(36,18)" id="g22"><path d="m 0,0 c 0,-9.389 -7.611,-17 -17,-17 -9.388,0 -17,7.611 -17,17 0,9.388 7.612,17 17,17 C -7.611,17 0,9.388 0,0" id="path24" style="fill:#ffcc4d;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(28,16)" id="g26"><path d="m 0,0 -18.5,0 0,-0.051 C -20.471,-0.299 -22,-1.962 -22,-4 c 0,-2.038 1.529,-3.701 3.5,-3.949 L -18.5,-8 0,-8 c 2.21,0 4,1.791 4,4 0,2.209 -1.79,4 -4,4" id="path28" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(28,14)" id="g30"><path d="m 0,0 -18,0 c -1.104,0 -2,-0.896 -2,-2 0,-1.104 0.896,-2 2,-2 l 18,0 c 1.104,0 2,0.896 2,2 0,1.104 -0.896,2 -2,2" id="path32" style="fill:#f5f8fa;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><path d="m 20,9 -2,0 0,5 2,0 0,-5 z" id="path34" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none"/><path d="m 27,9 -2,0 0,5 2,0 0,-5 z" id="path36" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none"/><path d="m 13,10 -2,0 0,5 2,0 0,-5 z" id="path38" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none"/><g transform="translate(17,18)" id="g40"><path d="M 0,0 C -0.419,0 -0.809,0.265 -0.949,0.684 -1.152,1.283 -1.966,3 -3,3 -4.062,3 -4.888,1.173 -5.051,0.684 -5.226,0.16 -5.79,-0.124 -6.316,0.052 -6.84,0.226 -7.124,0.792 -6.949,1.316 -6.823,1.693 -5.645,5 -3,5 -0.355,5 0.823,1.693 0.949,1.316 1.124,0.792 0.84,0.226 0.316,0.052 0.211,0.017 0.104,0 0,0" id="path42" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(27,18)" id="g44"><path d="M 0,0 C -0.419,0 -0.809,0.265 -0.948,0.684 -1.151,1.283 -1.967,3 -3,3 -4.062,3 -4.889,1.173 -5.052,0.684 -5.227,0.16 -5.788,-0.124 -6.316,0.052 -6.84,0.226 -7.123,0.792 -6.948,1.316 -6.823,1.693 -5.645,5 -3,5 -0.355,5 0.823,1.693 0.948,1.316 1.123,0.792 0.84,0.226 0.316,0.052 0.211,0.017 0.104,0 0,0" id="path46" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g></g></g></g></svg>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
version="1.1"
|
||||||
|
width="47.5"
|
||||||
|
height="47.5"
|
||||||
|
id="svg7392"
|
||||||
|
xml:space="preserve"><metadata
|
||||||
|
id="metadata7398"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs7396"><clipPath
|
||||||
|
id="clipPath7406"><path
|
||||||
|
d="M 0,38 38,38 38,0 0,0 0,38 z"
|
||||||
|
id="path7408" /></clipPath></defs><g
|
||||||
|
id="layer1"><path
|
||||||
|
d="m 46.25,23.75 c 0,12.42625 -10.07375,22.5 -22.5,22.5 -12.42625,0 -22.5,-10.07375 -22.5,-22.5 0,-12.42625 10.07375,-22.5 22.5,-22.5 12.42625,0 22.5,10.07375 22.5,22.5"
|
||||||
|
id="path3149"
|
||||||
|
style="fill:#ffcc4d;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" /></g><g
|
||||||
|
transform="matrix(1.25,0,0,-1.25,0,47.5)"
|
||||||
|
id="g7400"
|
||||||
|
style="display:inline"><g
|
||||||
|
transform="matrix(1.3309711,0,0,1,-6.0467761,0)"
|
||||||
|
id="g7402"><g
|
||||||
|
clip-path="url(#clipPath7406)"
|
||||||
|
id="g7404"><g
|
||||||
|
transform="translate(36,18)"
|
||||||
|
id="g7410" /><g
|
||||||
|
transform="translate(28,16)"
|
||||||
|
id="g7414" /><g
|
||||||
|
transform="translate(28,14)"
|
||||||
|
id="g7418" /><g
|
||||||
|
transform="translate(17,18)"
|
||||||
|
id="g7428"><path
|
||||||
|
d="M 0,0 C -0.419,0 -0.809,0.265 -0.949,0.684 -1.152,1.283 -1.966,3 -3,3 -4.062,3 -4.888,1.173 -5.051,0.684 -5.226,0.16 -5.79,-0.124 -6.316,0.052 -6.84,0.226 -7.124,0.792 -6.949,1.316 -6.823,1.693 -5.645,5 -3,5 -0.355,5 0.823,1.693 0.949,1.316 1.124,0.792 0.84,0.226 0.316,0.052 0.211,0.017 0.104,0 0,0"
|
||||||
|
id="path7430"
|
||||||
|
style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
|
||||||
|
transform="translate(27,18)"
|
||||||
|
id="g7432"><path
|
||||||
|
d="M 0,0 C -0.419,0 -0.809,0.265 -0.948,0.684 -1.151,1.283 -1.967,3 -3,3 -4.062,3 -4.889,1.173 -5.052,0.684 -5.227,0.16 -5.788,-0.124 -6.316,0.052 -6.84,0.226 -7.123,0.792 -6.948,1.316 -6.823,1.693 -5.645,5 -3,5 -0.355,5 0.823,1.693 0.948,1.316 1.123,0.792 0.84,0.226 0.316,0.052 0.211,0.017 0.104,0 0,0"
|
||||||
|
id="path7434"
|
||||||
|
style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g><path
|
||||||
|
d="m 6.9812139,15.920253 c 0,0 4.0062631,-2.164378 12.0187881,-2.164378 8.012525,0 12.018784,2.164378 12.018784,2.164378 0,0 -2.67084,-12.175453 -12.018784,-12.175453 -9.3479461,0 -12.0187881,12.175453 -12.0187881,12.175453"
|
||||||
|
id="path5409"
|
||||||
|
style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" /><path
|
||||||
|
d="m 8.4713199,14.511355 c 0,0 3.5165031,-1.735029 10.5495081,-1.735029 7.033004,0 10.549505,1.735029 10.549505,1.735029 0,0 -2.344334,-9.760199 -10.549505,-9.760199 -8.205173,0 -10.5495081,9.760199 -10.5495081,9.760199"
|
||||||
|
id="path5411"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" /></g></svg>
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 3.2 KiB |
|
@ -12,8 +12,6 @@
|
||||||
</emoticon>
|
</emoticon>
|
||||||
<emoticon file="1f601">
|
<emoticon file="1f601">
|
||||||
<string>😁</string>
|
<string>😁</string>
|
||||||
<string>:-D</string>
|
|
||||||
<string>:D</string>
|
|
||||||
</emoticon>
|
</emoticon>
|
||||||
<emoticon file="1f602">
|
<emoticon file="1f602">
|
||||||
<string>😂</string>
|
<string>😂</string>
|
||||||
|
@ -21,6 +19,8 @@
|
||||||
</emoticon>
|
</emoticon>
|
||||||
<emoticon file="1f603">
|
<emoticon file="1f603">
|
||||||
<string>😃</string>
|
<string>😃</string>
|
||||||
|
<string>:-D</string>
|
||||||
|
<string>:D</string>
|
||||||
</emoticon>
|
</emoticon>
|
||||||
<emoticon file="1f604">
|
<emoticon file="1f604">
|
||||||
<string>😄</string>
|
<string>😄</string>
|
||||||
|
|
393
smileys/TwitterEmojiSimple/LICENSE-GRAPHICS
Normal file
393
smileys/TwitterEmojiSimple/LICENSE-GRAPHICS
Normal file
|
@ -0,0 +1,393 @@
|
||||||
|
Attribution 4.0 International
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
|
Creative Commons Corporation ("Creative Commons") is not a law firm and
|
||||||
|
does not provide legal services or legal advice. Distribution of
|
||||||
|
Creative Commons public licenses does not create a lawyer-client or
|
||||||
|
other relationship. Creative Commons makes its licenses and related
|
||||||
|
information available on an "as-is" basis. Creative Commons gives no
|
||||||
|
warranties regarding its licenses, any material licensed under their
|
||||||
|
terms and conditions, or any related information. Creative Commons
|
||||||
|
disclaims all liability for damages resulting from their use to the
|
||||||
|
fullest extent possible.
|
||||||
|
|
||||||
|
Using Creative Commons Public Licenses
|
||||||
|
|
||||||
|
Creative Commons public licenses provide a standard set of terms and
|
||||||
|
conditions that creators and other rights holders may use to share
|
||||||
|
original works of authorship and other material subject to copyright
|
||||||
|
and certain other rights specified in the public license below. The
|
||||||
|
following considerations are for informational purposes only, are not
|
||||||
|
exhaustive, and do not form part of our licenses.
|
||||||
|
|
||||||
|
Considerations for licensors: Our public licenses are
|
||||||
|
intended for use by those authorized to give the public
|
||||||
|
permission to use material in ways otherwise restricted by
|
||||||
|
copyright and certain other rights. Our licenses are
|
||||||
|
irrevocable. Licensors should read and understand the terms
|
||||||
|
and conditions of the license they choose before applying it.
|
||||||
|
Licensors should also secure all rights necessary before
|
||||||
|
applying our licenses so that the public can reuse the
|
||||||
|
material as expected. Licensors should clearly mark any
|
||||||
|
material not subject to the license. This includes other CC-
|
||||||
|
licensed material, or material used under an exception or
|
||||||
|
limitation to copyright. More considerations for licensors:
|
||||||
|
wiki.creativecommons.org/Considerations_for_licensors
|
||||||
|
|
||||||
|
Considerations for the public: By using one of our public
|
||||||
|
licenses, a licensor grants the public permission to use the
|
||||||
|
licensed material under specified terms and conditions. If
|
||||||
|
the licensor's permission is not necessary for any reason--for
|
||||||
|
example, because of any applicable exception or limitation to
|
||||||
|
copyright--then that use is not regulated by the license. Our
|
||||||
|
licenses grant only permissions under copyright and certain
|
||||||
|
other rights that a licensor has authority to grant. Use of
|
||||||
|
the licensed material may still be restricted for other
|
||||||
|
reasons, including because others have copyright or other
|
||||||
|
rights in the material. A licensor may make special requests,
|
||||||
|
such as asking that all changes be marked or described.
|
||||||
|
Although not required by our licenses, you are encouraged to
|
||||||
|
respect those requests where reasonable. More_considerations
|
||||||
|
for the public:
|
||||||
|
wiki.creativecommons.org/Considerations_for_licensees
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
|
Creative Commons Attribution 4.0 International Public License
|
||||||
|
|
||||||
|
By exercising the Licensed Rights (defined below), You accept and agree
|
||||||
|
to be bound by the terms and conditions of this Creative Commons
|
||||||
|
Attribution 4.0 International Public License ("Public License"). To the
|
||||||
|
extent this Public License may be interpreted as a contract, You are
|
||||||
|
granted the Licensed Rights in consideration of Your acceptance of
|
||||||
|
these terms and conditions, and the Licensor grants You such rights in
|
||||||
|
consideration of benefits the Licensor receives from making the
|
||||||
|
Licensed Material available under these terms and conditions.
|
||||||
|
|
||||||
|
|
||||||
|
Section 1 -- Definitions.
|
||||||
|
|
||||||
|
a. Adapted Material means material subject to Copyright and Similar
|
||||||
|
Rights that is derived from or based upon the Licensed Material
|
||||||
|
and in which the Licensed Material is translated, altered,
|
||||||
|
arranged, transformed, or otherwise modified in a manner requiring
|
||||||
|
permission under the Copyright and Similar Rights held by the
|
||||||
|
Licensor. For purposes of this Public License, where the Licensed
|
||||||
|
Material is a musical work, performance, or sound recording,
|
||||||
|
Adapted Material is always produced where the Licensed Material is
|
||||||
|
synched in timed relation with a moving image.
|
||||||
|
|
||||||
|
b. Adapter's License means the license You apply to Your Copyright
|
||||||
|
and Similar Rights in Your contributions to Adapted Material in
|
||||||
|
accordance with the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
c. Copyright and Similar Rights means copyright and/or similar rights
|
||||||
|
closely related to copyright including, without limitation,
|
||||||
|
performance, broadcast, sound recording, and Sui Generis Database
|
||||||
|
Rights, without regard to how the rights are labeled or
|
||||||
|
categorized. For purposes of this Public License, the rights
|
||||||
|
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||||
|
Rights.
|
||||||
|
|
||||||
|
d. Effective Technological Measures means those measures that, in the
|
||||||
|
absence of proper authority, may not be circumvented under laws
|
||||||
|
fulfilling obligations under Article 11 of the WIPO Copyright
|
||||||
|
Treaty adopted on December 20, 1996, and/or similar international
|
||||||
|
agreements.
|
||||||
|
|
||||||
|
e. Exceptions and Limitations means fair use, fair dealing, and/or
|
||||||
|
any other exception or limitation to Copyright and Similar Rights
|
||||||
|
that applies to Your use of the Licensed Material.
|
||||||
|
|
||||||
|
f. Licensed Material means the artistic or literary work, database,
|
||||||
|
or other material to which the Licensor applied this Public
|
||||||
|
License.
|
||||||
|
|
||||||
|
g. Licensed Rights means the rights granted to You subject to the
|
||||||
|
terms and conditions of this Public License, which are limited to
|
||||||
|
all Copyright and Similar Rights that apply to Your use of the
|
||||||
|
Licensed Material and that the Licensor has authority to license.
|
||||||
|
|
||||||
|
h. Licensor means the individual(s) or entity(ies) granting rights
|
||||||
|
under this Public License.
|
||||||
|
|
||||||
|
i. Share means to provide material to the public by any means or
|
||||||
|
process that requires permission under the Licensed Rights, such
|
||||||
|
as reproduction, public display, public performance, distribution,
|
||||||
|
dissemination, communication, or importation, and to make material
|
||||||
|
available to the public including in ways that members of the
|
||||||
|
public may access the material from a place and at a time
|
||||||
|
individually chosen by them.
|
||||||
|
|
||||||
|
j. Sui Generis Database Rights means rights other than copyright
|
||||||
|
resulting from Directive 96/9/EC of the European Parliament and of
|
||||||
|
the Council of 11 March 1996 on the legal protection of databases,
|
||||||
|
as amended and/or succeeded, as well as other essentially
|
||||||
|
equivalent rights anywhere in the world.
|
||||||
|
|
||||||
|
k. You means the individual or entity exercising the Licensed Rights
|
||||||
|
under this Public License. Your has a corresponding meaning.
|
||||||
|
|
||||||
|
|
||||||
|
Section 2 -- Scope.
|
||||||
|
|
||||||
|
a. License grant.
|
||||||
|
|
||||||
|
1. Subject to the terms and conditions of this Public License,
|
||||||
|
the Licensor hereby grants You a worldwide, royalty-free,
|
||||||
|
non-sublicensable, non-exclusive, irrevocable license to
|
||||||
|
exercise the Licensed Rights in the Licensed Material to:
|
||||||
|
|
||||||
|
a. reproduce and Share the Licensed Material, in whole or
|
||||||
|
in part; and
|
||||||
|
|
||||||
|
b. produce, reproduce, and Share Adapted Material.
|
||||||
|
|
||||||
|
2. Exceptions and Limitations. For the avoidance of doubt, where
|
||||||
|
Exceptions and Limitations apply to Your use, this Public
|
||||||
|
License does not apply, and You do not need to comply with
|
||||||
|
its terms and conditions.
|
||||||
|
|
||||||
|
3. Term. The term of this Public License is specified in Section
|
||||||
|
6(a).
|
||||||
|
|
||||||
|
4. Media and formats; technical modifications allowed. The
|
||||||
|
Licensor authorizes You to exercise the Licensed Rights in
|
||||||
|
all media and formats whether now known or hereafter created,
|
||||||
|
and to make technical modifications necessary to do so. The
|
||||||
|
Licensor waives and/or agrees not to assert any right or
|
||||||
|
authority to forbid You from making technical modifications
|
||||||
|
necessary to exercise the Licensed Rights, including
|
||||||
|
technical modifications necessary to circumvent Effective
|
||||||
|
Technological Measures. For purposes of this Public License,
|
||||||
|
simply making modifications authorized by this Section 2(a)
|
||||||
|
(4) never produces Adapted Material.
|
||||||
|
|
||||||
|
5. Downstream recipients.
|
||||||
|
|
||||||
|
a. Offer from the Licensor -- Licensed Material. Every
|
||||||
|
recipient of the Licensed Material automatically
|
||||||
|
receives an offer from the Licensor to exercise the
|
||||||
|
Licensed Rights under the terms and conditions of this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
b. No downstream restrictions. You may not offer or impose
|
||||||
|
any additional or different terms or conditions on, or
|
||||||
|
apply any Effective Technological Measures to, the
|
||||||
|
Licensed Material if doing so restricts exercise of the
|
||||||
|
Licensed Rights by any recipient of the Licensed
|
||||||
|
Material.
|
||||||
|
|
||||||
|
6. No endorsement. Nothing in this Public License constitutes or
|
||||||
|
may be construed as permission to assert or imply that You
|
||||||
|
are, or that Your use of the Licensed Material is, connected
|
||||||
|
with, or sponsored, endorsed, or granted official status by,
|
||||||
|
the Licensor or others designated to receive attribution as
|
||||||
|
provided in Section 3(a)(1)(A)(i).
|
||||||
|
|
||||||
|
b. Other rights.
|
||||||
|
|
||||||
|
1. Moral rights, such as the right of integrity, are not
|
||||||
|
licensed under this Public License, nor are publicity,
|
||||||
|
privacy, and/or other similar personality rights; however, to
|
||||||
|
the extent possible, the Licensor waives and/or agrees not to
|
||||||
|
assert any such rights held by the Licensor to the limited
|
||||||
|
extent necessary to allow You to exercise the Licensed
|
||||||
|
Rights, but not otherwise.
|
||||||
|
|
||||||
|
2. Patent and trademark rights are not licensed under this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
3. To the extent possible, the Licensor waives any right to
|
||||||
|
collect royalties from You for the exercise of the Licensed
|
||||||
|
Rights, whether directly or through a collecting society
|
||||||
|
under any voluntary or waivable statutory or compulsory
|
||||||
|
licensing scheme. In all other cases the Licensor expressly
|
||||||
|
reserves any right to collect such royalties.
|
||||||
|
|
||||||
|
|
||||||
|
Section 3 -- License Conditions.
|
||||||
|
|
||||||
|
Your exercise of the Licensed Rights is expressly made subject to the
|
||||||
|
following conditions.
|
||||||
|
|
||||||
|
a. Attribution.
|
||||||
|
|
||||||
|
1. If You Share the Licensed Material (including in modified
|
||||||
|
form), You must:
|
||||||
|
|
||||||
|
a. retain the following if it is supplied by the Licensor
|
||||||
|
with the Licensed Material:
|
||||||
|
|
||||||
|
i. identification of the creator(s) of the Licensed
|
||||||
|
Material and any others designated to receive
|
||||||
|
attribution, in any reasonable manner requested by
|
||||||
|
the Licensor (including by pseudonym if
|
||||||
|
designated);
|
||||||
|
|
||||||
|
ii. a copyright notice;
|
||||||
|
|
||||||
|
iii. a notice that refers to this Public License;
|
||||||
|
|
||||||
|
iv. a notice that refers to the disclaimer of
|
||||||
|
warranties;
|
||||||
|
|
||||||
|
v. a URI or hyperlink to the Licensed Material to the
|
||||||
|
extent reasonably practicable;
|
||||||
|
|
||||||
|
b. indicate if You modified the Licensed Material and
|
||||||
|
retain an indication of any previous modifications; and
|
||||||
|
|
||||||
|
c. indicate the Licensed Material is licensed under this
|
||||||
|
Public License, and include the text of, or the URI or
|
||||||
|
hyperlink to, this Public License.
|
||||||
|
|
||||||
|
2. You may satisfy the conditions in Section 3(a)(1) in any
|
||||||
|
reasonable manner based on the medium, means, and context in
|
||||||
|
which You Share the Licensed Material. For example, it may be
|
||||||
|
reasonable to satisfy the conditions by providing a URI or
|
||||||
|
hyperlink to a resource that includes the required
|
||||||
|
information.
|
||||||
|
|
||||||
|
3. If requested by the Licensor, You must remove any of the
|
||||||
|
information required by Section 3(a)(1)(A) to the extent
|
||||||
|
reasonably practicable.
|
||||||
|
|
||||||
|
4. If You Share Adapted Material You produce, the Adapter's
|
||||||
|
License You apply must not prevent recipients of the Adapted
|
||||||
|
Material from complying with this Public License.
|
||||||
|
|
||||||
|
|
||||||
|
Section 4 -- Sui Generis Database Rights.
|
||||||
|
|
||||||
|
Where the Licensed Rights include Sui Generis Database Rights that
|
||||||
|
apply to Your use of the Licensed Material:
|
||||||
|
|
||||||
|
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
||||||
|
to extract, reuse, reproduce, and Share all or a substantial
|
||||||
|
portion of the contents of the database;
|
||||||
|
|
||||||
|
b. if You include all or a substantial portion of the database
|
||||||
|
contents in a database in which You have Sui Generis Database
|
||||||
|
Rights, then the database in which You have Sui Generis Database
|
||||||
|
Rights (but not its individual contents) is Adapted Material; and
|
||||||
|
|
||||||
|
c. You must comply with the conditions in Section 3(a) if You Share
|
||||||
|
all or a substantial portion of the contents of the database.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 4 supplements and does not
|
||||||
|
replace Your obligations under this Public License where the Licensed
|
||||||
|
Rights include other Copyright and Similar Rights.
|
||||||
|
|
||||||
|
|
||||||
|
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
||||||
|
|
||||||
|
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
|
||||||
|
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
|
||||||
|
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
|
||||||
|
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
|
||||||
|
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
|
||||||
|
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
|
||||||
|
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
|
||||||
|
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
|
||||||
|
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
||||||
|
|
||||||
|
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
|
||||||
|
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
|
||||||
|
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
|
||||||
|
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
|
||||||
|
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
|
||||||
|
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
|
||||||
|
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
|
||||||
|
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
|
||||||
|
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
||||||
|
|
||||||
|
c. The disclaimer of warranties and limitation of liability provided
|
||||||
|
above shall be interpreted in a manner that, to the extent
|
||||||
|
possible, most closely approximates an absolute disclaimer and
|
||||||
|
waiver of all liability.
|
||||||
|
|
||||||
|
|
||||||
|
Section 6 -- Term and Termination.
|
||||||
|
|
||||||
|
a. This Public License applies for the term of the Copyright and
|
||||||
|
Similar Rights licensed here. However, if You fail to comply with
|
||||||
|
this Public License, then Your rights under this Public License
|
||||||
|
terminate automatically.
|
||||||
|
|
||||||
|
b. Where Your right to use the Licensed Material has terminated under
|
||||||
|
Section 6(a), it reinstates:
|
||||||
|
|
||||||
|
1. automatically as of the date the violation is cured, provided
|
||||||
|
it is cured within 30 days of Your discovery of the
|
||||||
|
violation; or
|
||||||
|
|
||||||
|
2. upon express reinstatement by the Licensor.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 6(b) does not affect any
|
||||||
|
right the Licensor may have to seek remedies for Your violations
|
||||||
|
of this Public License.
|
||||||
|
|
||||||
|
c. For the avoidance of doubt, the Licensor may also offer the
|
||||||
|
Licensed Material under separate terms or conditions or stop
|
||||||
|
distributing the Licensed Material at any time; however, doing so
|
||||||
|
will not terminate this Public License.
|
||||||
|
|
||||||
|
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
|
||||||
|
License.
|
||||||
|
|
||||||
|
|
||||||
|
Section 7 -- Other Terms and Conditions.
|
||||||
|
|
||||||
|
a. The Licensor shall not be bound by any additional or different
|
||||||
|
terms or conditions communicated by You unless expressly agreed.
|
||||||
|
|
||||||
|
b. Any arrangements, understandings, or agreements regarding the
|
||||||
|
Licensed Material not stated herein are separate from and
|
||||||
|
independent of the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
|
||||||
|
Section 8 -- Interpretation.
|
||||||
|
|
||||||
|
a. For the avoidance of doubt, this Public License does not, and
|
||||||
|
shall not be interpreted to, reduce, limit, restrict, or impose
|
||||||
|
conditions on any use of the Licensed Material that could lawfully
|
||||||
|
be made without permission under this Public License.
|
||||||
|
|
||||||
|
b. To the extent possible, if any provision of this Public License is
|
||||||
|
deemed unenforceable, it shall be automatically reformed to the
|
||||||
|
minimum extent necessary to make it enforceable. If the provision
|
||||||
|
cannot be reformed, it shall be severed from this Public License
|
||||||
|
without affecting the enforceability of the remaining terms and
|
||||||
|
conditions.
|
||||||
|
|
||||||
|
c. No term or condition of this Public License will be waived and no
|
||||||
|
failure to comply consented to unless expressly agreed to by the
|
||||||
|
Licensor.
|
||||||
|
|
||||||
|
d. Nothing in this Public License constitutes or may be interpreted
|
||||||
|
as a limitation upon, or waiver of, any privileges and immunities
|
||||||
|
that apply to the Licensor or You, including from the legal
|
||||||
|
processes of any jurisdiction or authority.
|
||||||
|
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
|
Creative Commons is not a party to its public licenses.
|
||||||
|
Notwithstanding, Creative Commons may elect to apply one of its public
|
||||||
|
licenses to material it publishes and in those instances will be
|
||||||
|
considered the "Licensor." Except for the limited purpose of indicating
|
||||||
|
that material is shared under a Creative Commons public license or as
|
||||||
|
otherwise permitted by the Creative Commons policies published at
|
||||||
|
creativecommons.org/policies, Creative Commons does not authorize the
|
||||||
|
use of the trademark "Creative Commons" or any other trademark or logo
|
||||||
|
of Creative Commons without its prior written consent including,
|
||||||
|
without limitation, in connection with any unauthorized modifications
|
||||||
|
to any of its public licenses or any other arrangements,
|
||||||
|
understandings, or agreements concerning use of licensed material. For
|
||||||
|
the avoidance of doubt, this paragraph does not form part of the public
|
||||||
|
licenses.
|
||||||
|
|
||||||
|
Creative Commons may be contacted at creativecommons.org.
|
4
smileys/TwitterEmojiSimple/README.md
Normal file
4
smileys/TwitterEmojiSimple/README.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
## License
|
||||||
|
Copyright 2014 Twitter, Inc and other contributors
|
||||||
|
|
||||||
|
Graphics licensed under CC-BY 4.0: https://creativecommons.org/licenses/by/4.0/
|
2542
smileys/TwitterEmojiSimple/emoticons.xml
Normal file
2542
smileys/TwitterEmojiSimple/emoticons.xml
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -897,5 +897,6 @@
|
||||||
<file>TwitterEmojiSVG/1f1f7-1f1fa.svg</file>
|
<file>TwitterEmojiSVG/1f1f7-1f1fa.svg</file>
|
||||||
<file>TwitterEmojiSVG/1f1fa-1f1f8.svg</file>
|
<file>TwitterEmojiSVG/1f1fa-1f1f8.svg</file>
|
||||||
<file>TwitterEmojiSVG/emoticons.xml</file>
|
<file>TwitterEmojiSVG/emoticons.xml</file>
|
||||||
|
<file>TwitterEmojiSimple/emoticons.xml</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
|
@ -39,7 +39,7 @@ ChatMessage::Ptr ChatMessage::createChatMessage(const QString &sender, const QSt
|
||||||
{
|
{
|
||||||
ChatMessage::Ptr msg = ChatMessage::Ptr(new ChatMessage);
|
ChatMessage::Ptr msg = ChatMessage::Ptr(new ChatMessage);
|
||||||
|
|
||||||
QString text = toHtmlChars(rawMessage);
|
QString text = rawMessage.toHtmlEscaped();
|
||||||
QString senderText = sender;
|
QString senderText = sender;
|
||||||
|
|
||||||
const QColor actionColor = QColor("#1818FF"); // has to match the color in innerStyle.css (div.action)
|
const QColor actionColor = QColor("#1818FF"); // has to match the color in innerStyle.css (div.action)
|
||||||
|
@ -79,7 +79,7 @@ ChatMessage::Ptr ChatMessage::createChatMessage(const QString &sender, const QSt
|
||||||
ChatMessage::Ptr ChatMessage::createChatInfoMessage(const QString &rawMessage, SystemMessageType type, const QDateTime &date)
|
ChatMessage::Ptr ChatMessage::createChatInfoMessage(const QString &rawMessage, SystemMessageType type, const QDateTime &date)
|
||||||
{
|
{
|
||||||
ChatMessage::Ptr msg = ChatMessage::Ptr(new ChatMessage);
|
ChatMessage::Ptr msg = ChatMessage::Ptr(new ChatMessage);
|
||||||
QString text = toHtmlChars(rawMessage);
|
QString text = rawMessage.toHtmlEscaped();
|
||||||
|
|
||||||
QString img;
|
QString img;
|
||||||
switch(type)
|
switch(type)
|
||||||
|
@ -217,17 +217,6 @@ QString ChatMessage::detectQuotes(const QString& str)
|
||||||
return quotedText;
|
return quotedText;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString ChatMessage::toHtmlChars(const QString &str)
|
|
||||||
{
|
|
||||||
static QList<QPair<QString, QString>> replaceList = {{"&","&"}, {">",">"}, {"<","<"}};
|
|
||||||
QString res = str;
|
|
||||||
|
|
||||||
for (auto &it : replaceList)
|
|
||||||
res = res.replace(it.first,it.second);
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString ChatMessage::wrapDiv(const QString &str, const QString &div)
|
QString ChatMessage::wrapDiv(const QString &str, const QString &div)
|
||||||
{
|
{
|
||||||
return QString("<div class=%1>%2</div>").arg(div, str);
|
return QString("<div class=%1>%2</div>").arg(div, str);
|
||||||
|
|
|
@ -60,7 +60,6 @@ public:
|
||||||
protected:
|
protected:
|
||||||
static QString detectAnchors(const QString& str);
|
static QString detectAnchors(const QString& str);
|
||||||
static QString detectQuotes(const QString& str);
|
static QString detectQuotes(const QString& str);
|
||||||
static QString toHtmlChars(const QString& str);
|
|
||||||
static QString wrapDiv(const QString& str, const QString& div);
|
static QString wrapDiv(const QString& str, const QString& div);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -38,7 +38,7 @@ QVariant CustomTextDocument::loadResource(int type, const QUrl &name)
|
||||||
if (type == QTextDocument::ImageResource && name.scheme() == "key")
|
if (type == QTextDocument::ImageResource && name.scheme() == "key")
|
||||||
{
|
{
|
||||||
QSize size = QSize(Settings::getInstance().getEmojiFontPointSize(),Settings::getInstance().getEmojiFontPointSize());
|
QSize size = QSize(Settings::getInstance().getEmojiFontPointSize(),Settings::getInstance().getEmojiFontPointSize());
|
||||||
QString fileName = name.toString().mid(4);
|
QString fileName = QUrl::fromPercentEncoding(name.toEncoded()).mid(4).toHtmlEscaped();
|
||||||
|
|
||||||
return SmileyPack::getInstance().getAsIcon(fileName).pixmap(size);
|
return SmileyPack::getInstance().getAsIcon(fileName).pixmap(size);
|
||||||
}
|
}
|
||||||
|
|
|
@ -753,7 +753,7 @@ void ChatForm::onAvatarRemoved(int FriendId)
|
||||||
|
|
||||||
void ChatForm::loadHistory(QDateTime since, bool processUndelivered)
|
void ChatForm::loadHistory(QDateTime since, bool processUndelivered)
|
||||||
{
|
{
|
||||||
QDateTime now = QDateTime::currentDateTime();
|
QDateTime now = historyBaselineDate.addMSecs(-1);
|
||||||
|
|
||||||
if (since > now)
|
if (since > now)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -331,6 +331,7 @@ void GenericChatForm::clearChatArea(bool notinform)
|
||||||
addSystemInfoMessage(tr("Cleared"), ChatMessage::INFO, QDateTime::currentDateTime());
|
addSystemInfoMessage(tr("Cleared"), ChatMessage::INFO, QDateTime::currentDateTime());
|
||||||
|
|
||||||
earliestMessage = QDateTime(); //null
|
earliestMessage = QDateTime(); //null
|
||||||
|
historyBaselineDate = QDateTime::currentDateTime();
|
||||||
|
|
||||||
emit chatAreaCleared();
|
emit chatAreaCleared();
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,6 +91,7 @@ protected:
|
||||||
QPushButton *sendButton;
|
QPushButton *sendButton;
|
||||||
ChatLog *chatWidget;
|
ChatLog *chatWidget;
|
||||||
QDateTime earliestMessage;
|
QDateTime earliestMessage;
|
||||||
|
QDateTime historyBaselineDate = QDateTime::currentDateTime(); // used by HistoryKeeper to load messages from t to historyBaselineDate (excluded)
|
||||||
bool audioInputFlag;
|
bool audioInputFlag;
|
||||||
bool audioOutputFlag;
|
bool audioOutputFlag;
|
||||||
};
|
};
|
||||||
|
|
|
@ -374,8 +374,7 @@ will be sent to them when they will appear online to you.</string>
|
||||||
<item row="3" column="1">
|
<item row="3" column="1">
|
||||||
<widget class="QCheckBox" name="cbCompactLayout">
|
<widget class="QCheckBox" name="cbCompactLayout">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string comment="toolTip for compact layout setting">Your contact list will be shown in compact mode.
|
<string comment="toolTip for compact layout setting">Your contact list will be shown in compact mode.</string>
|
||||||
qTox's restart needed.</string>
|
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Compact contact list</string>
|
<string>Compact contact list</string>
|
||||||
|
|
|
@ -864,7 +864,7 @@ void Widget::onGroupInviteReceived(int32_t friendId, uint8_t type, QByteArray in
|
||||||
{
|
{
|
||||||
if (type == TOX_GROUPCHAT_TYPE_TEXT || type == TOX_GROUPCHAT_TYPE_AV)
|
if (type == TOX_GROUPCHAT_TYPE_TEXT || type == TOX_GROUPCHAT_TYPE_AV)
|
||||||
{
|
{
|
||||||
if (GUI::askQuestion(tr("Group invite", "popup title"), tr("%1 has invited you to a groupchat. Would you like to join?", "popup text").arg(Nexus::getCore()->getFriendUsername(friendId))))
|
if (GUI::askQuestion(tr("Group invite", "popup title"), tr("%1 has invited you to a groupchat. Would you like to join?", "popup text").arg(Nexus::getCore()->getFriendUsername(friendId)), true, false))
|
||||||
{
|
{
|
||||||
int groupId = Nexus::getCore()->joinGroupchat(friendId, type, (uint8_t*)invite.data(), invite.length());
|
int groupId = Nexus::getCore()->joinGroupchat(friendId, type, (uint8_t*)invite.data(), invite.length());
|
||||||
if (groupId < 0)
|
if (groupId < 0)
|
||||||
|
|
257
translations/it.ts
vendored
257
translations/it.ts
vendored
|
@ -293,80 +293,93 @@ Ignorare le impostazioni del proxy e connettersi direttamente alla rete Tox?</tr
|
||||||
<context>
|
<context>
|
||||||
<name>ChatForm</name>
|
<name>ChatForm</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="83"/>
|
<location filename="../src/widget/form/chatform.cpp" line="78"/>
|
||||||
<source>Load chat history...</source>
|
<source>Load chat history...</source>
|
||||||
<translation>Carica cronologia chat...</translation>
|
<translation>Carica cronologia chat...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="181"/>
|
<location filename="../src/widget/form/chatform.cpp" line="177"/>
|
||||||
<source>Send a file</source>
|
<source>Send a file</source>
|
||||||
<translation>Invia un file</translation>
|
<translation>Invia un file</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="189"/>
|
<location filename="../src/widget/form/chatform.cpp" line="185"/>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="760"/>
|
<location filename="../src/widget/form/chatform.cpp" line="729"/>
|
||||||
<source>File not read</source>
|
<source>File not read</source>
|
||||||
<translation>Impossibile leggere il file</translation>
|
<translation>Impossibile leggere il file</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="189"/>
|
<location filename="../src/widget/form/chatform.cpp" line="185"/>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="760"/>
|
<location filename="../src/widget/form/chatform.cpp" line="729"/>
|
||||||
<source>qTox wasn't able to open %1</source>
|
<source>qTox wasn't able to open %1</source>
|
||||||
<translation>qTox non è riuscito ad aprire %1</translation>
|
<translation>qTox non è riuscito ad aprire %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="194"/>
|
<location filename="../src/widget/form/chatform.cpp" line="190"/>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="765"/>
|
<location filename="../src/widget/form/chatform.cpp" line="734"/>
|
||||||
<source>Bad Idea</source>
|
<source>Bad Idea</source>
|
||||||
<translation>Pessima idea</translation>
|
<translation>Pessima idea</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="194"/>
|
<location filename="../src/widget/form/chatform.cpp" line="190"/>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="765"/>
|
<location filename="../src/widget/form/chatform.cpp" line="734"/>
|
||||||
<source>You're trying to send a special (sequential) file, that's not going to work!</source>
|
<source>You're trying to send a special (sequential) file, that's not going to work!</source>
|
||||||
<translation>Stai cercando di inviare un file speciale (sequenziale), questo non funzionerà!</translation>
|
<translation>Stai cercando di inviare un file speciale (sequenziale), questo non funzionerà!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="312"/>
|
<location filename="../src/widget/form/chatform.cpp" line="293"/>
|
||||||
<source>%1 is calling</source>
|
<source>%1 calling</source>
|
||||||
<translation>%1 ti sta chiamando</translation>
|
<translation>%1 ti sta chiamando</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="374"/>
|
<location filename="../src/widget/form/chatform.cpp" line="355"/>
|
||||||
<source>%1 stopped calling</source>
|
<source>%1 stopped calling</source>
|
||||||
<translation>%1 ha fermato la chiamata</translation>
|
<translation>%1 ha fermato la chiamata</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="423"/>
|
<location filename="../src/widget/form/chatform.cpp" line="404"/>
|
||||||
<source>Calling to %1</source>
|
<source>Calling to %1</source>
|
||||||
<translation>Stai chiamando %1</translation>
|
<translation>Stai chiamando %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="732"/>
|
<location filename="../src/widget/form/chatform.cpp" line="701"/>
|
||||||
<source>Failed to send file "%1"</source>
|
<source>Failed to send file "%1"</source>
|
||||||
<translation>Invio del file "%1" fallito</translation>
|
<translation>Invio del file "%1" fallito</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="880"/>
|
<location filename="../src/widget/form/chatform.cpp" line="865"/>
|
||||||
<source>Call with %1 ended. %2</source>
|
<source>Call with %1 ended. %2</source>
|
||||||
<translation>Chiamata con %1 terminata. %2</translation>
|
<translation>Chiamata con %1 terminata. %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="900"/>
|
<location filename="../src/widget/form/chatform.cpp" line="884"/>
|
||||||
<source>Call duration: </source>
|
<source>Call duration: </source>
|
||||||
<translation>Durata chiamata: </translation>
|
<translation>Durata chiamata: </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="923"/>
|
<location filename="../src/widget/form/chatform.cpp" line="497"/>
|
||||||
<source>is typing...</source>
|
|
||||||
<translation>sta scrivendo...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../src/widget/form/chatform.cpp" line="516"/>
|
|
||||||
<source>Call rejected</source>
|
<source>Call rejected</source>
|
||||||
<translation>Chiamata rifiutata</translation>
|
<translation>Chiamata rifiutata</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ChatLog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/chatlog/chatlog.cpp" line="66"/>
|
||||||
|
<source>Copy</source>
|
||||||
|
<translation>Copia</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/chatlog/chatlog.cpp" line="81"/>
|
||||||
|
<source>Select all</source>
|
||||||
|
<translation>Seleziona tutto</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/chatlog/chatlog.cpp" line="501"/>
|
||||||
|
<source>pending</source>
|
||||||
|
<translation>in attesa</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatTextEdit</name>
|
<name>ChatTextEdit</name>
|
||||||
<message>
|
<message>
|
||||||
|
@ -388,17 +401,17 @@ Ignorare le impostazioni del proxy e connettersi direttamente alla rete Tox?</tr
|
||||||
<translation>qTox User</translation>
|
<translation>qTox User</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/core.cpp" line="763"/>
|
<location filename="../src/core.cpp" line="762"/>
|
||||||
<source>Friend is already added</source>
|
<source>Friend is already added</source>
|
||||||
<translation>Questo contatto è già presente nella tua lista</translation>
|
<translation>Questo contatto è già presente nella tua lista</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/core.cpp" line="779"/>
|
<location filename="../src/core.cpp" line="778"/>
|
||||||
<source>/me offers friendship.</source>
|
<source>/me offers friendship.</source>
|
||||||
<translation>/me ti ha aggiunto come contatto.</translation>
|
<translation>/me ti ha aggiunto come contatto.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/core.cpp" line="781"/>
|
<location filename="../src/core.cpp" line="780"/>
|
||||||
<source>/me offers friendship, "%1"</source>
|
<source>/me offers friendship, "%1"</source>
|
||||||
<translation>/me ti ha aggiunto come contatto, "%1"</translation>
|
<translation>/me ti ha aggiunto come contatto, "%1"</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -486,29 +499,72 @@ Disabilitando la cronologia delle chat lascerà la cronologia criptata intatta (
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>FileTransferInstance</name>
|
<name>FileTransferWidget</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/filetransferinstance.cpp" line="239"/>
|
<location filename="../src/chatlog/content/filetransferwidget.ui" line="14"/>
|
||||||
<source>Save a file</source>
|
<source>Form</source>
|
||||||
<comment>Title of the file saving dialog</comment>
|
<translation>Form</translation>
|
||||||
<translation>Salva file</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/filetransferinstance.cpp" line="248"/>
|
<location filename="../src/chatlog/content/filetransferwidget.ui" line="148"/>
|
||||||
|
<source>10Mb</source>
|
||||||
|
<translation>10Mb</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/chatlog/content/filetransferwidget.ui" line="164"/>
|
||||||
|
<source>0kb/s</source>
|
||||||
|
<translation>0kb/s</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/chatlog/content/filetransferwidget.ui" line="180"/>
|
||||||
|
<source>ETA:10:10</source>
|
||||||
|
<translation>ETA:10:10</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/chatlog/content/filetransferwidget.ui" line="224"/>
|
||||||
|
<source>Filename</source>
|
||||||
|
<translation>Nome file</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/chatlog/content/filetransferwidget.ui" line="299"/>
|
||||||
|
<source>[preview]</source>
|
||||||
|
<translation>[anteprima]</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/chatlog/content/filetransferwidget.cpp" line="81"/>
|
||||||
|
<source>Waiting to send...</source>
|
||||||
|
<comment>file transfer widget</comment>
|
||||||
|
<translation>In attesa di inviare...</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/chatlog/content/filetransferwidget.cpp" line="84"/>
|
||||||
|
<source>Accept to receive this file</source>
|
||||||
|
<comment>file transfer widget</comment>
|
||||||
|
<translation>Accetta la ricezione di questo file</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/chatlog/content/filetransferwidget.cpp" line="126"/>
|
||||||
<source>Location not writable</source>
|
<source>Location not writable</source>
|
||||||
<comment>Title of permissions popup</comment>
|
<comment>Title of permissions popup</comment>
|
||||||
<translation>Errore</translation>
|
<translation>Errore</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/filetransferinstance.cpp" line="249"/>
|
<location filename="../src/chatlog/content/filetransferwidget.cpp" line="127"/>
|
||||||
<source>You do not have permission to write that location. Choose another, or cancel the save dialog.</source>
|
<source>You do not have permission to write that location. Choose another, or cancel the save dialog.</source>
|
||||||
<comment>text of permissions popup</comment>
|
<comment>text of permissions popup</comment>
|
||||||
<translation>Non hai sufficienti permessi per scrivere in questa locazione. Scegli un'altra posizione, o annulla il salvataggio.</translation>
|
<translation>Non hai sufficienti permessi per scrivere in questa locazione. Scegli un'altra posizione, o annulla il salvataggio.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/filetransferinstance.cpp" line="425"/>
|
<location filename="../src/chatlog/content/filetransferwidget.cpp" line="299"/>
|
||||||
<source>ETA</source>
|
<source>paused</source>
|
||||||
<translation>Tempo rimanente</translation>
|
<comment>file transfer widget</comment>
|
||||||
|
<translation>in pausa</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/chatlog/content/filetransferwidget.cpp" line="421"/>
|
||||||
|
<source>Save a file</source>
|
||||||
|
<comment>Title of the file saving dialog</comment>
|
||||||
|
<translation>Salva file</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -569,47 +625,47 @@ Disabilitando la cronologia delle chat lascerà la cronologia criptata intatta (
|
||||||
<context>
|
<context>
|
||||||
<name>FriendWidget</name>
|
<name>FriendWidget</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/friendwidget.cpp" line="56"/>
|
<location filename="../src/widget/friendwidget.cpp" line="57"/>
|
||||||
<source>Copy friend ID</source>
|
<source>Copy friend ID</source>
|
||||||
<comment>Menu to copy the Tox ID of that friend</comment>
|
<comment>Menu to copy the Tox ID of that friend</comment>
|
||||||
<translation>Copia Tox ID del contatto</translation>
|
<translation>Copia Tox ID del contatto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/friendwidget.cpp" line="71"/>
|
<location filename="../src/widget/friendwidget.cpp" line="72"/>
|
||||||
<source>Auto accept files from this friend</source>
|
<source>Auto accept files from this friend</source>
|
||||||
<comment>context menu entry</comment>
|
<comment>context menu entry</comment>
|
||||||
<translation>Accetta automaticamente i files inviati da questo contatto</translation>
|
<translation>Accetta automaticamente i files inviati da questo contatto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/friendwidget.cpp" line="55"/>
|
<location filename="../src/widget/friendwidget.cpp" line="56"/>
|
||||||
<source>Invite to group</source>
|
<source>Invite to group</source>
|
||||||
<comment>Menu to invite a friend to a groupchat</comment>
|
<comment>Menu to invite a friend to a groupchat</comment>
|
||||||
<translation>Invita nel gruppo</translation>
|
<translation>Invita nel gruppo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/friendwidget.cpp" line="68"/>
|
<location filename="../src/widget/friendwidget.cpp" line="69"/>
|
||||||
<source>Set alias...</source>
|
<source>Set alias...</source>
|
||||||
<translation>Imposta soprannome...</translation>
|
<translation>Imposta soprannome...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/friendwidget.cpp" line="76"/>
|
<location filename="../src/widget/friendwidget.cpp" line="77"/>
|
||||||
<source>Remove friend</source>
|
<source>Remove friend</source>
|
||||||
<comment>Menu to remove the friend from our friendlist</comment>
|
<comment>Menu to remove the friend from our friendlist</comment>
|
||||||
<translation>Rimuovi contatto</translation>
|
<translation>Rimuovi contatto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/friendwidget.cpp" line="109"/>
|
<location filename="../src/widget/friendwidget.cpp" line="110"/>
|
||||||
<source>Choose an auto accept directory</source>
|
<source>Choose an auto accept directory</source>
|
||||||
<comment>popup title</comment>
|
<comment>popup title</comment>
|
||||||
<translation>Scegli dove salvare i files accettati automaticamente</translation>
|
<translation>Scegli dove salvare i files accettati automaticamente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/friendwidget.cpp" line="238"/>
|
<location filename="../src/widget/friendwidget.cpp" line="249"/>
|
||||||
<source>User alias</source>
|
<source>User alias</source>
|
||||||
<translation>Rinomina contatto</translation>
|
<translation>Rinomina contatto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/friendwidget.cpp" line="238"/>
|
<location filename="../src/widget/friendwidget.cpp" line="249"/>
|
||||||
<source>You can also set this by clicking the chat form name.
|
<source>You can also set this by clicking the chat form name.
|
||||||
Alias:</source>
|
Alias:</source>
|
||||||
<translation>Per impostare un soprannome puoi anche cliccare sul nome direttamente dalla chat.
|
<translation>Per impostare un soprannome puoi anche cliccare sul nome direttamente dalla chat.
|
||||||
|
@ -748,11 +804,6 @@ nella traybar invece che nella taskbar.</translation>
|
||||||
<source><html><head/><body><p>Start qTox on operating system startup (current profile).</p></body></html></source>
|
<source><html><head/><body><p>Start qTox on operating system startup (current profile).</p></body></html></source>
|
||||||
<translation><html><head/><body><p>Avvia automaticamente all'avvio del sistema.</p></body></html></translation>
|
<translation><html><head/><body><p>Avvia automaticamente all'avvio del sistema.</p></body></html></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="../src/widget/form/settings/generalsettings.ui" line="199"/>
|
|
||||||
<source>Start automatically</source>
|
|
||||||
<translation>Avvia automaticamente</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/settings/generalsettings.ui" line="259"/>
|
<location filename="../src/widget/form/settings/generalsettings.ui" line="259"/>
|
||||||
<source>Set to 0 to disable</source>
|
<source>Set to 0 to disable</source>
|
||||||
|
@ -898,6 +949,11 @@ Richiede riavvio.</translation>
|
||||||
<source> minutes</source>
|
<source> minutes</source>
|
||||||
<translation> minuti</translation>
|
<translation> minuti</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/widget/form/settings/generalsettings.ui" line="199"/>
|
||||||
|
<source>Autostart</source>
|
||||||
|
<translation>Avvia automaticamente</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/settings/generalsettings.ui" line="230"/>
|
<location filename="../src/widget/form/settings/generalsettings.ui" line="230"/>
|
||||||
<source>You can set this on a per-friend basis by right clicking them.</source>
|
<source>You can set this on a per-friend basis by right clicking them.</source>
|
||||||
|
@ -978,53 +1034,58 @@ Richiede riavvio.</translation>
|
||||||
<context>
|
<context>
|
||||||
<name>GenericChatForm</name>
|
<name>GenericChatForm</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/genericchatform.cpp" line="71"/>
|
<location filename="../src/widget/form/genericchatform.cpp" line="73"/>
|
||||||
<source>Send message</source>
|
<source>Send message</source>
|
||||||
<translation>Invia messaggio</translation>
|
<translation>Invia messaggio</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/genericchatform.cpp" line="73"/>
|
<location filename="../src/widget/form/genericchatform.cpp" line="75"/>
|
||||||
<source>Smileys</source>
|
<source>Smileys</source>
|
||||||
<translation>Emoticons</translation>
|
<translation>Emoticons</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/genericchatform.cpp" line="77"/>
|
<location filename="../src/widget/form/genericchatform.cpp" line="79"/>
|
||||||
<source>Send file(s)</source>
|
<source>Send file(s)</source>
|
||||||
<translation>Invia file(s)</translation>
|
<translation>Invia file(s)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/genericchatform.cpp" line="80"/>
|
<location filename="../src/widget/form/genericchatform.cpp" line="82"/>
|
||||||
<source>Audio call: RED means you're on a call</source>
|
<source>Audio call: RED means you're on a call</source>
|
||||||
<translation>Chiamata audio: ROSSO significa che la chiamata è in corso</translation>
|
<translation>Chiamata audio: ROSSO significa che la chiamata è in corso</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/genericchatform.cpp" line="83"/>
|
<location filename="../src/widget/form/genericchatform.cpp" line="85"/>
|
||||||
<source>Video call: RED means you're on a call</source>
|
<source>Video call: RED means you're on a call</source>
|
||||||
<translation>Videochiamata: ROSSO significa che la chiamata è in corso</translation>
|
<translation>Videochiamata: ROSSO significa che la chiamata è in corso</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/genericchatform.cpp" line="86"/>
|
<location filename="../src/widget/form/genericchatform.cpp" line="88"/>
|
||||||
<source>Toggle speakers volume: RED is OFF</source>
|
<source>Toggle speakers volume: RED is OFF</source>
|
||||||
<translation>Imposta volume altoparlanti: ROSSO è SPENTO</translation>
|
<translation>Imposta volume altoparlanti: ROSSO è SPENTO</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/genericchatform.cpp" line="89"/>
|
<location filename="../src/widget/form/genericchatform.cpp" line="91"/>
|
||||||
<source>Toggle microphone: RED is OFF</source>
|
<source>Toggle microphone: RED is OFF</source>
|
||||||
<translation>Imposta microfono: ROSSO è SPENTO</translation>
|
<translation>Imposta microfono: ROSSO è SPENTO</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/genericchatform.cpp" line="161"/>
|
<location filename="../src/widget/form/genericchatform.cpp" line="165"/>
|
||||||
<location filename="../src/widget/form/genericchatform.cpp" line="204"/>
|
<location filename="../src/widget/form/genericchatform.cpp" line="282"/>
|
||||||
<source>Save chat log</source>
|
<source>Save chat log</source>
|
||||||
<translation>Salva il log della chat</translation>
|
<translation>Salva il log della chat</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/genericchatform.cpp" line="162"/>
|
<location filename="../src/widget/form/genericchatform.cpp" line="166"/>
|
||||||
<source>Clear displayed messages</source>
|
<source>Clear displayed messages</source>
|
||||||
<translation>Rimuovi messaggi visualizzati</translation>
|
<translation>Rimuovi messaggi visualizzati</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/form/genericchatform.cpp" line="309"/>
|
<location filename="../src/widget/form/genericchatform.cpp" line="298"/>
|
||||||
|
<source>Not sent</source>
|
||||||
|
<translation>Non inviato</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/widget/form/genericchatform.cpp" line="331"/>
|
||||||
<source>Cleared</source>
|
<source>Cleared</source>
|
||||||
<translation>Pulito</translation>
|
<translation>Pulito</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -1396,6 +1457,15 @@ I profili non contengono la cronologia messaggi.</translation>
|
||||||
<translation>qTox Video</translation>
|
<translation>qTox Video</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Nexus</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/nexus.cpp" line="164"/>
|
||||||
|
<source>Images (%1)</source>
|
||||||
|
<comment>filetype filter</comment>
|
||||||
|
<translation>Immagini (%1)</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>PrivacyForm</name>
|
<name>PrivacyForm</name>
|
||||||
<message>
|
<message>
|
||||||
|
@ -1673,6 +1743,11 @@ Verrà installata al riavvio del programma.</translation>
|
||||||
<source>Incoming call...</source>
|
<source>Incoming call...</source>
|
||||||
<translation>Chiamata in arrivo...</translation>
|
<translation>Chiamata in arrivo...</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/chatlog/chatmessage.cpp" line="126"/>
|
||||||
|
<source>Busy...</source>
|
||||||
|
<translation>Occupato...</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SetPasswordDialog</name>
|
<name>SetPasswordDialog</name>
|
||||||
|
@ -1819,129 +1894,141 @@ Se non sei sicuro, scegli "No", così le informazioni inviate al serve
|
||||||
<context>
|
<context>
|
||||||
<name>Widget</name>
|
<name>Widget</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="116"/>
|
<location filename="../src/widget/widget.cpp" line="121"/>
|
||||||
<source>&Quit</source>
|
<source>&Quit</source>
|
||||||
<translation>&Esci</translation>
|
<translation>&Esci</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="100"/>
|
<location filename="../src/widget/widget.cpp" line="105"/>
|
||||||
<source>Online</source>
|
<source>Online</source>
|
||||||
<comment>Button to set your status to 'Online'</comment>
|
<comment>Button to set your status to 'Online'</comment>
|
||||||
<translation>Online</translation>
|
<translation>Online</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="103"/>
|
<location filename="../src/widget/widget.cpp" line="108"/>
|
||||||
<source>Away</source>
|
<source>Away</source>
|
||||||
<comment>Button to set your status to 'Away'</comment>
|
<comment>Button to set your status to 'Away'</comment>
|
||||||
<translation>Assente</translation>
|
<translation>Assente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="106"/>
|
<location filename="../src/widget/widget.cpp" line="111"/>
|
||||||
<source>Busy</source>
|
<source>Busy</source>
|
||||||
<comment>Button to set your status to 'Busy'</comment>
|
<comment>Button to set your status to 'Busy'</comment>
|
||||||
<translation>Occupato</translation>
|
<translation>Occupato</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="347"/>
|
<location filename="../src/widget/widget.cpp" line="353"/>
|
||||||
<source>Choose a profile picture</source>
|
<source>Choose a profile picture</source>
|
||||||
<translation>Scegli un'immagine per il profilo</translation>
|
<translation>Scegli un'immagine per il profilo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="354"/>
|
<location filename="../src/widget/widget.cpp" line="362"/>
|
||||||
<location filename="../src/widget/widget.cpp" line="361"/>
|
<location filename="../src/widget/widget.cpp" line="369"/>
|
||||||
<location filename="../src/widget/widget.cpp" line="382"/>
|
<location filename="../src/widget/widget.cpp" line="390"/>
|
||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation>Errore</translation>
|
<translation>Errore</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="354"/>
|
<location filename="../src/widget/widget.cpp" line="362"/>
|
||||||
<source>Unable to open this file</source>
|
<source>Unable to open this file</source>
|
||||||
<translation>Impossibile aprire il file</translation>
|
<translation>Impossibile aprire il file</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="361"/>
|
<location filename="../src/widget/widget.cpp" line="369"/>
|
||||||
<source>Unable to read this image</source>
|
<source>Unable to read this image</source>
|
||||||
<translation>Impossibile leggere l'immagine</translation>
|
<translation>Impossibile leggere l'immagine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="382"/>
|
<location filename="../src/widget/widget.cpp" line="390"/>
|
||||||
<source>This image is too big</source>
|
<source>This image is too big</source>
|
||||||
<translation>L'immagine è troppo grande</translation>
|
<translation>L'immagine è troppo grande</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="422"/>
|
<location filename="../src/widget/widget.cpp" line="430"/>
|
||||||
<source>Toxcore failed to start, the application will terminate after you close this message.</source>
|
<source>Toxcore failed to start, the application will terminate after you close this message.</source>
|
||||||
<translation>Impossibile avviare Toxcore.\nqTox terminerà dopo che avrai chiuso questo messaggio.</translation>
|
<translation>Impossibile avviare Toxcore.\nqTox terminerà dopo che avrai chiuso questo messaggio.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="431"/>
|
<location filename="../src/widget/widget.cpp" line="439"/>
|
||||||
<source>toxcore failed to start with your proxy settings. qTox cannot run; please modify your settings and restart.</source>
|
<source>toxcore failed to start with your proxy settings. qTox cannot run; please modify your settings and restart.</source>
|
||||||
<comment>popup text</comment>
|
<comment>popup text</comment>
|
||||||
<translation>Impossibile avviare Toxcore con le tue impostazione proxy.\nqTox non può funzionare correttamente, per favore modifica le impostazioni e riavvia il programma.</translation>
|
<translation>Impossibile avviare Toxcore con le tue impostazione proxy.\nqTox non può funzionare correttamente, per favore modifica le impostazioni e riavvia il programma.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="480"/>
|
<location filename="../src/widget/widget.cpp" line="488"/>
|
||||||
<source>Add friend</source>
|
<source>Add friend</source>
|
||||||
<translation>Aggiungi contatto</translation>
|
<translation>Aggiungi contatto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="492"/>
|
<location filename="../src/widget/widget.cpp" line="500"/>
|
||||||
<source>File transfers</source>
|
<source>File transfers</source>
|
||||||
<translation>Files trasferiti</translation>
|
<translation>Files trasferiti</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="537"/>
|
<location filename="../src/widget/widget.cpp" line="545"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Impostazioni</translation>
|
<translation>Impostazioni</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="649"/>
|
<location filename="../src/widget/widget.cpp" line="654"/>
|
||||||
<source>Couldn't request friendship</source>
|
<source>Couldn't request friendship</source>
|
||||||
<translation>Impossibile inviare la richiesta d'amicizia</translation>
|
<translation>Impossibile inviare la richiesta d'amicizia</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="677"/>
|
<location filename="../src/widget/widget.cpp" line="682"/>
|
||||||
<source>away</source>
|
<source>away</source>
|
||||||
<comment>contact status</comment>
|
<comment>contact status</comment>
|
||||||
<translation>assente</translation>
|
<translation>assente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="679"/>
|
<location filename="../src/widget/widget.cpp" line="684"/>
|
||||||
<source>busy</source>
|
<source>busy</source>
|
||||||
<comment>contact status</comment>
|
<comment>contact status</comment>
|
||||||
<translation>occupato</translation>
|
<translation>occupato</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="681"/>
|
<location filename="../src/widget/widget.cpp" line="686"/>
|
||||||
<source>offline</source>
|
<source>offline</source>
|
||||||
<comment>contact status</comment>
|
<comment>contact status</comment>
|
||||||
<translation>offline</translation>
|
<translation>offline</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="683"/>
|
<location filename="../src/widget/widget.cpp" line="688"/>
|
||||||
<source>online</source>
|
<source>online</source>
|
||||||
<comment>contact status</comment>
|
<comment>contact status</comment>
|
||||||
<translation>online</translation>
|
<translation>online</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="686"/>
|
<location filename="../src/widget/widget.cpp" line="691"/>
|
||||||
<source>%1 is now %2</source>
|
<source>%1 is now %2</source>
|
||||||
<comment>e.g. "Dubslow is now online"</comment>
|
<comment>e.g. "Dubslow is now online"</comment>
|
||||||
<translation>%1 è ora %2</translation>
|
<translation>%1 è ora %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="914"/>
|
<location filename="../src/widget/widget.cpp" line="867"/>
|
||||||
|
<source>Group invite</source>
|
||||||
|
<comment>popup title</comment>
|
||||||
|
<translation>Invito chat di gruppo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/widget/widget.cpp" line="867"/>
|
||||||
|
<source>%1 has invited you to a groupchat. Would you like to join?</source>
|
||||||
|
<comment>popup text</comment>
|
||||||
|
<translation>%1 ti ha invitato in una chat di gruppo. Vuoi partecipare?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/widget/widget.cpp" line="922"/>
|
||||||
<source><Unknown></source>
|
<source><Unknown></source>
|
||||||
<comment>Placeholder when we don't know someone's name in a group chat</comment>
|
<comment>Placeholder when we don't know someone's name in a group chat</comment>
|
||||||
<translation><Sconosciuto></translation>
|
<translation><Sconosciuto></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="939"/>
|
<location filename="../src/widget/widget.cpp" line="948"/>
|
||||||
<source>%1 has set the title to %2</source>
|
<source>%1 has set the title to %2</source>
|
||||||
<translation>%1 ha impostato il titolo in %2</translation>
|
<translation>%1 ha impostato il titolo in %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/widget/widget.cpp" line="1095"/>
|
<location filename="../src/widget/widget.cpp" line="1104"/>
|
||||||
<source>Message failed to send</source>
|
<source>Message failed to send</source>
|
||||||
<translation>Impossibile inviare il messaggio</translation>
|
<translation>Impossibile inviare il messaggio</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user