Comparar commits
49 Commits
| Autor | SHA1 | Data | |
|---|---|---|---|
| 33d41e2a84 | |||
| ca816760c8 | |||
| 31d6121273 | |||
| 8bc299739d | |||
| 263cb2ecb7 | |||
| c7e37147a7 | |||
| 34c880aa5c | |||
| 165dba73a4 | |||
| f2770d7a44 | |||
| b7c4cac550 | |||
| 656a82cf17 | |||
| 3d4ece2561 | |||
| 52b16e9ef0 | |||
| a07347cc22 | |||
| aa8bcf52de | |||
| 2060b8ac69 | |||
| 8776ad565d | |||
| 2e94cf6ba0 | |||
| 89bd4cdc48 | |||
| 9d87d90141 | |||
| b6e4a6baca | |||
| 4dc319502f | |||
| 98e9f77074 | |||
| 37ac46f55b | |||
| 92309b90be | |||
| dc1a79e294 | |||
| 5813f336a2 | |||
| 46116a3e8d | |||
| cfc9d5a77d | |||
| 08c660a1ae | |||
| 2140f8ad72 | |||
| de2eb4c7ba | |||
| 075f29b040 | |||
| 2ceb2ab3a6 | |||
| 21153db52d | |||
| 45ed711ad8 | |||
| bdf8ead441 | |||
| 73116b0b33 | |||
| 995133c4d2 | |||
| 4d396d4133 | |||
| de1c264c2b | |||
| c6e050ab7c | |||
| 97555780c5 | |||
| 14338ededa | |||
| e7b087e8fe | |||
| 94f49dabef | |||
| c0cd443a3d | |||
| 2f023cda05 | |||
| 03ca06ce25 |
@@ -1,3 +1,30 @@
|
||||
v0.8.2 / 2014-08-20
|
||||
===
|
||||
- fix use of custom username
|
||||
- write to console only if debug flag is set
|
||||
- allow string|boolean as config param
|
||||
- add translations
|
||||
|
||||
v0.8.1 / 2014-08-12
|
||||
===
|
||||
- add user-defined xmpp options
|
||||
- fix login form without id submit
|
||||
|
||||
v0.8.0 / 2014-07-02
|
||||
===
|
||||
- add spanish translation
|
||||
- add vCard view
|
||||
- add more emoticons
|
||||
- add grayscale to buddies without subscription
|
||||
- add settings for priorities
|
||||
- add hint if roster is empty
|
||||
- add sound files
|
||||
- new chat window design
|
||||
- enhanced roster design
|
||||
- fix emoticon replacement (XEP-0038)
|
||||
- fix some ui issues (explanations,...)
|
||||
- fix issue with password only field
|
||||
|
||||
v0.7.2 / 2014-05-28
|
||||
===
|
||||
- fix login issue
|
||||
@@ -69,4 +96,4 @@ v0.5.1 / 2014-01-27
|
||||
- handle already attached submit events on login form
|
||||
- style changes
|
||||
- fix webrtc startup
|
||||
- don't block application on dsa key generation
|
||||
- don't block application on dsa key generation
|
||||
|
||||
@@ -20,7 +20,7 @@ module.exports = function(grunt) {
|
||||
main: {
|
||||
files: [ {
|
||||
expand: true,
|
||||
src: [ 'lib/strophe.jingle/*.js', 'lib/otr/build/**', 'lib/otr/lib/dsa-webworker.js', 'lib/otr/lib/sm-webworker.js', 'lib/otr/lib/const.js', 'lib/otr/lib/helpers.js', 'lib/otr/lib/dsa.js', 'lib/otr/vendor/*.js', 'lib/*.js', 'jsxc.lib.js', 'jsxc.lib.webrtc.js', '*.css', 'LICENSE', 'img/**' ],
|
||||
src: [ 'lib/strophe.jingle/*.js', 'lib/otr/build/**', 'lib/otr/lib/dsa-webworker.js', 'lib/otr/lib/sm-webworker.js', 'lib/otr/lib/const.js', 'lib/otr/lib/helpers.js', 'lib/otr/lib/dsa.js', 'lib/otr/vendor/*.js', 'lib/*.js', 'jsxc.lib.js', 'jsxc.lib.webrtc.js', '*.css', 'LICENSE', 'img/**', 'sound/**' ],
|
||||
dest: 'build/'
|
||||
} ]
|
||||
}
|
||||
@@ -46,6 +46,32 @@ module.exports = function(grunt) {
|
||||
to: "<%= app.version %>"
|
||||
} ]
|
||||
}
|
||||
},
|
||||
search: {
|
||||
console: {
|
||||
files: {
|
||||
src: ['*.js']
|
||||
},
|
||||
options: {
|
||||
searchString: /console\.log\((?!'[<>]|msg)/g,
|
||||
logFormat: 'console',
|
||||
failOnMatch: true
|
||||
}
|
||||
},
|
||||
changelog: {
|
||||
files: {
|
||||
src: ['CHANGELOG.md']
|
||||
},
|
||||
options: {
|
||||
searchString: "<%= app.version %>",
|
||||
logFormat: 'console',
|
||||
onComplete: function(m) {
|
||||
if(m.numMatches === 0) {
|
||||
grunt.fail.fatal("No entry in README.md for current version found.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -55,8 +81,9 @@ module.exports = function(grunt) {
|
||||
grunt.loadNpmTasks('grunt-contrib-clean');
|
||||
grunt.loadNpmTasks('grunt-banner');
|
||||
grunt.loadNpmTasks('grunt-text-replace');
|
||||
grunt.loadNpmTasks('grunt-search');
|
||||
|
||||
// Default task.
|
||||
grunt.registerTask('default', [ 'jshint', 'clean', 'copy', 'usebanner', 'replace' ]);
|
||||
grunt.registerTask('default', [ 'jshint', 'search', 'clean', 'copy', 'usebanner', 'replace' ]);
|
||||
|
||||
};
|
||||
|
||||
@@ -1,44 +1,8 @@
|
||||
# JavaScript XMPP Client
|
||||
|
||||
__Beware! This is beta software.__
|
||||
|
||||
Real-time chat app. This app requires an external XMPP server (openfire, ejabberd etc.).
|
||||
|
||||
### Features
|
||||
- integration into existing UI
|
||||
- one-to-one conversation (XMPP)
|
||||
- encrypted one-to-one conversation (OTR)
|
||||
- use of whitespace tags to start a OTR session
|
||||
- user verification (SMP)
|
||||
- encrypted one-to-one video call (WebRTC)
|
||||
- [TURN REST API](http://tools.ietf.org/html/draft-uberti-behave-turn-rest-00)
|
||||
- fullscreen mode
|
||||
- snapshots
|
||||
- automatic link-detection
|
||||
- emotions
|
||||
- roster management
|
||||
- multi-language support (de, en)
|
||||
- multi-tab support
|
||||
|
||||
### Supported protocols
|
||||
- XMPP Core (RFC6120)
|
||||
- XMPP IM (RFC6121)
|
||||
- Bidirectional-streams Over Synchronous HTTP (XEP-0124)
|
||||
- XMPP Over BOSH (XEP-0206)
|
||||
- Service Discovery (XEP-0030)
|
||||
- CAP (XEP-0127)
|
||||
- Jingle (XEP-0166)
|
||||
- Jingle RTP Sessions (XEP-0167)
|
||||
|
||||
### Supported browsers
|
||||
- Full support for __Chrome__ and __Firefox__.
|
||||
- __IE__ doesn't support multiple tabs, WebRTC, and Notifications.
|
||||
- __Safari__ doesn't support WebRTC and (before Safari 7) Notifications.
|
||||
|
||||
### Planned features
|
||||
- multi user chat
|
||||
- video conference
|
||||
- encrypted file transfer
|
||||
You find a list of features, supported protocols and browsers at the homepage of __[Javascript XMPP Client](http://www.jsxc.org)__.
|
||||
|
||||
## Developer notes
|
||||
|
||||
|
||||
@@ -1,97 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="535.00458"
|
||||
height="510.4368"
|
||||
id="svg3896"
|
||||
version="1.1"
|
||||
inkscape:version="0.48+devel r"
|
||||
sodipodi:docname="camera_icon_grey.svg">
|
||||
<defs
|
||||
id="defs3898" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.35"
|
||||
inkscape:cx="369.28572"
|
||||
inkscape:cy="50.436783"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="954"
|
||||
inkscape:window-height="711"
|
||||
inkscape:window-x="129"
|
||||
inkscape:window-y="144"
|
||||
inkscape:window-maximized="0" />
|
||||
id="svg2"
|
||||
width="20"
|
||||
height="20">
|
||||
<metadata
|
||||
id="metadata3901">
|
||||
id="metadata10">
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-5.7142771,-72.362177)">
|
||||
<rect
|
||||
style="fill:#808080;stroke:none;stroke-width:1.6172694;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect3904"
|
||||
width="290.51404"
|
||||
height="294.08438"
|
||||
x="86.054779"
|
||||
y="292.97778" />
|
||||
transform="matrix(0.03788594,0,0,0.03788594,-0.41340793,-2.6310716)">
|
||||
<path
|
||||
style="fill:#808080;stroke:none"
|
||||
d="m 292.28572,420.35915 229.57599,-101.39986 0,232.54576 -233.04644,-102.93271 z"
|
||||
id="path3906"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#808080;stroke:none"
|
||||
id="path3908"
|
||||
sodipodi:cx="242.85715"
|
||||
sodipodi:cy="315.21933"
|
||||
sodipodi:rx="117.14286"
|
||||
sodipodi:ry="117.14286"
|
||||
d="M 360.00001,315.21933 A 117.14286,117.14286 0 0 1 242.85715,432.36219 117.14286,117.14286 0 0 1 125.71429,315.21933 117.14286,117.14286 0 0 1 242.85715,198.07647 117.14286,117.14286 0 0 1 360.00001,315.21933 Z"
|
||||
transform="matrix(1.1334136,0,0,1.1663886,-136.76164,-155.82534)" />
|
||||
<a
|
||||
id="a3912"
|
||||
style="fill:#808080;stroke:none"
|
||||
transform="matrix(0.86859739,0,0,0.89386794,47.913668,10.526572)">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#808080;stroke:none"
|
||||
id="path3910"
|
||||
sodipodi:cx="242.85715"
|
||||
sodipodi:cy="315.21933"
|
||||
sodipodi:rx="117.14286"
|
||||
sodipodi:ry="117.14286"
|
||||
d="M 360.00001,315.21933 A 117.14286,117.14286 0 0 1 242.85715,432.36219 117.14286,117.14286 0 0 1 125.71429,315.21933 117.14286,117.14286 0 0 1 242.85715,198.07647 117.14286,117.14286 0 0 1 360.00001,315.21933 Z"
|
||||
transform="matrix(1.304878,0,0,1.304878,3.67247,-186.10345)" />
|
||||
</a>
|
||||
d="m 361.65148,313.51768 177.16074,-131.78516 0,302.22999 L 358.97338,350.18517 Z M 10.911922,182.40634 l 378.372678,0 0,302.65582 -378.372678,0 z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Antes Largura: | Altura: | Tamanho: 3.3 KiB Depois Largura: | Altura: | Tamanho: 1010 B |
@@ -13,8 +13,8 @@
|
||||
height="510.4368"
|
||||
id="svg3896"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="camera_icon.svg">
|
||||
inkscape:version="0.48+devel r"
|
||||
sodipodi:docname="camera_icon_white.svg">
|
||||
<defs
|
||||
id="defs3898" />
|
||||
<sodipodi:namedview
|
||||
@@ -24,9 +24,9 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.35"
|
||||
inkscape:cx="369.28572"
|
||||
inkscape:cy="50.436783"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="353.91934"
|
||||
inkscape:cy="233.8456"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
@@ -34,11 +34,11 @@
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="954"
|
||||
inkscape:window-height="711"
|
||||
inkscape:window-x="833"
|
||||
inkscape:window-y="106"
|
||||
inkscape:window-maximized="0" />
|
||||
inkscape:window-width="1855"
|
||||
inkscape:window-height="1056"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata3901">
|
||||
<rdf:RDF>
|
||||
@@ -57,41 +57,16 @@
|
||||
id="layer1"
|
||||
transform="translate(-5.7142771,-72.362177)">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:#ffffff;stroke-width:1.61726940000000008;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1.6172694;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect3904"
|
||||
width="290.51404"
|
||||
height="294.08438"
|
||||
x="86.054779"
|
||||
y="292.97778" />
|
||||
width="378.37268"
|
||||
height="302.65582"
|
||||
x="10.911922"
|
||||
y="182.40634" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 292.28572,420.35915 229.57599,-101.39986 0,232.54576 -233.04644,-102.93271 z"
|
||||
d="m 361.65148,313.51768 177.16074,-131.78516 0,302.22999 -179.83884,-133.77734 z"
|
||||
id="path3906"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#ffffff;stroke:none"
|
||||
id="path3908"
|
||||
sodipodi:cx="242.85715"
|
||||
sodipodi:cy="315.21933"
|
||||
sodipodi:rx="117.14286"
|
||||
sodipodi:ry="117.14286"
|
||||
d="m 360.00001,315.21933 a 117.14286,117.14286 0 1 1 -234.28572,0 117.14286,117.14286 0 1 1 234.28572,0 z"
|
||||
transform="matrix(1.1334136,0,0,1.1663886,-136.76164,-155.82534)" />
|
||||
<a
|
||||
id="a3912"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.86859739,0,0,0.89386794,47.913668,10.526572)">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#ffffff;stroke:none"
|
||||
id="path3910"
|
||||
sodipodi:cx="242.85715"
|
||||
sodipodi:cy="315.21933"
|
||||
sodipodi:rx="117.14286"
|
||||
sodipodi:ry="117.14286"
|
||||
d="m 360.00001,315.21933 c 0,64.69622 -52.44665,117.14286 -117.14286,117.14286 -64.69622,0 -117.14286,-52.44664 -117.14286,-117.14286 0,-64.69622 52.44664,-117.14286 117.14286,-117.14286 64.69621,0 117.14286,52.44664 117.14286,117.14286 z"
|
||||
transform="matrix(1.304878,0,0,1.304878,3.67247,-186.10345)" />
|
||||
</a>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Antes Largura: | Altura: | Tamanho: 3.2 KiB Depois Largura: | Altura: | Tamanho: 2.1 KiB |
|
Depois Largura: | Altura: | Tamanho: 1.5 KiB |
@@ -14,7 +14,7 @@
|
||||
inkscape:version="0.48+devel r"
|
||||
width="15"
|
||||
height="15"
|
||||
sodipodi:docname="padlock_open-white.svg">
|
||||
sodipodi:docname="padlock_close_green.svg">
|
||||
<metadata
|
||||
id="metadata3047">
|
||||
<rdf:RDF>
|
||||
@@ -42,25 +42,45 @@
|
||||
inkscape:window-height="1056"
|
||||
id="namedview3043"
|
||||
showgrid="false"
|
||||
inkscape:zoom="44.500587"
|
||||
inkscape:cx="6.292871"
|
||||
inkscape:cy="6.4926565"
|
||||
inkscape:zoom="32"
|
||||
inkscape:cx="12.823367"
|
||||
inkscape:cy="8.9449238"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg3041"
|
||||
borderlayer="true" />
|
||||
<rect
|
||||
style="fill:#009800;stroke:#009800;stroke-width:0.92522794"
|
||||
style="fill:#44aa00;stroke:#44aa00;stroke-width:0.92522794"
|
||||
id="rect3051"
|
||||
width="10.232394"
|
||||
height="6.4687548"
|
||||
x="2.5534275"
|
||||
y="8.074255" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-color:currentColor;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:#009800;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.90384686;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="M 7.5078125,2.6797098 C 5.0260054,2.6797098 3.491603,3.472493 2.75,4.621116 2.008397,5.7697391 2.0878906,7.0238438 2.0878906,7.699241 l 1.9042969,0 c 0,-0.7329344 0.013699,-1.5125503 0.3574219,-2.0449218 0.3437231,-0.5323715 1.0433343,-1.0703125 3.1582031,-1.0703125 2.0264219,0 2.9669635,0.6265545 3.4326915,1.3827484 0.465728,0.7561939 0.400333,1.7142789 0.400333,1.7142789 0.04517,1.7732263 -0.06599,4.303173 0.0049,5.535784 l 0.05274,0.898438 0.898437,0 0.945445,-0.0031 0.01,-6.4361369 c 0,0 0.06201,-1.6621328 -0.685321,-2.8754827 C 11.819768,3.587152 10.078064,2.6797098 7.5078125,2.6797098 Z"
|
||||
id="path3848"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ssccssscccccccs" />
|
||||
style="fill:none;fill-opacity:1;stroke:#44aa00;stroke-width:2.08827519;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4101"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="7.6713805"
|
||||
sodipodi:cy="6.7928491"
|
||||
sodipodi:rx="4.534133"
|
||||
sodipodi:ry="4.5301714"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:end="0"
|
||||
d="M 3.1372476,6.7928489 A 4.534133,4.5301714 0 0 1 7.6713806,2.2626777 4.534133,4.5301714 0 0 1 12.205513,6.7928491"
|
||||
sodipodi:open="true" />
|
||||
<rect
|
||||
style="fill:#44aa00;fill-opacity:1;stroke:none;stroke-width:1.39526081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4153"
|
||||
width="2.0906768"
|
||||
height="1.0984892"
|
||||
x="2.0913804"
|
||||
y="6.7554431" />
|
||||
<rect
|
||||
y="6.7632556"
|
||||
x="11.157786"
|
||||
height="1.0984892"
|
||||
width="2.0906768"
|
||||
id="rect4155"
|
||||
style="fill:#44aa00;fill-opacity:1;stroke:none;stroke-width:1.39526081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</svg>
|
||||
|
||||
|
Antes Largura: | Altura: | Tamanho: 3.3 KiB Depois Largura: | Altura: | Tamanho: 2.7 KiB |
@@ -14,7 +14,7 @@
|
||||
inkscape:version="0.48+devel r"
|
||||
width="15"
|
||||
height="15"
|
||||
sodipodi:docname="padlock_open-white.svg">
|
||||
sodipodi:docname="padlock_close_grey.svg">
|
||||
<metadata
|
||||
id="metadata3047">
|
||||
<rdf:RDF>
|
||||
@@ -42,9 +42,9 @@
|
||||
inkscape:window-height="1056"
|
||||
id="namedview3043"
|
||||
showgrid="false"
|
||||
inkscape:zoom="44.500587"
|
||||
inkscape:cx="6.292871"
|
||||
inkscape:cy="6.4926565"
|
||||
inkscape:zoom="32"
|
||||
inkscape:cx="12.792117"
|
||||
inkscape:cy="8.9449238"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
@@ -57,10 +57,38 @@
|
||||
height="6.4687548"
|
||||
x="2.5534275"
|
||||
y="8.074255" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-color:currentColor;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.90384686;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="M 7.5078125,2.6797098 C 5.0260054,2.6797098 3.491603,3.472493 2.75,4.621116 2.008397,5.7697391 2.0878906,7.0238438 2.0878906,7.699241 l 1.9042969,0 c 0,-0.7329344 0.013699,-1.5125503 0.3574219,-2.0449218 0.3437231,-0.5323715 1.0433343,-1.0703125 3.1582031,-1.0703125 2.0264219,0 2.9669635,0.6265545 3.4326915,1.3827484 0.465728,0.7561939 0.400333,1.7142789 0.400333,1.7142789 0.04517,1.7732263 -0.06599,4.303173 0.0049,5.535784 l 0.05274,0.898438 0.898437,0 0.945445,-0.0031 0.01,-6.4361369 c 0,0 0.06201,-1.6621328 -0.685321,-2.8754827 C 11.819768,3.587152 10.078064,2.6797098 7.5078125,2.6797098 Z"
|
||||
id="path3848"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ssccssscccccccs" />
|
||||
<a
|
||||
id="a4157"
|
||||
style="fill:none;stroke:#808080">
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
d="M 3.1372476,6.7928489 A 4.534133,4.5301714 0 0 1 7.6713806,2.2626777 4.534133,4.5301714 0 0 1 12.205513,6.7928491"
|
||||
sodipodi:end="0"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:ry="4.5301714"
|
||||
sodipodi:rx="4.534133"
|
||||
sodipodi:cy="6.7928491"
|
||||
sodipodi:cx="7.6713805"
|
||||
sodipodi:type="arc"
|
||||
id="path4101"
|
||||
style="fill:none;fill-opacity:1;stroke:#808080;stroke-width:2.08827519;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</a>
|
||||
<g
|
||||
id="g4170"
|
||||
style="fill:#808080">
|
||||
<rect
|
||||
y="6.7554431"
|
||||
x="2.0913804"
|
||||
height="1.0984892"
|
||||
width="2.0906768"
|
||||
id="rect4153"
|
||||
style="fill:#808080;fill-opacity:1;stroke:none;stroke-width:1.39526081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#808080;fill-opacity:1;stroke:none;stroke-width:1.39526081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4155"
|
||||
width="2.0906768"
|
||||
height="1.0984892"
|
||||
x="11.157786"
|
||||
y="6.7632556" />
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Antes Largura: | Altura: | Tamanho: 3.3 KiB Depois Largura: | Altura: | Tamanho: 2.8 KiB |
@@ -14,7 +14,7 @@
|
||||
inkscape:version="0.48+devel r"
|
||||
width="15"
|
||||
height="15"
|
||||
sodipodi:docname="padlock_open-white.svg">
|
||||
sodipodi:docname="padlock_close_orange.svg">
|
||||
<metadata
|
||||
id="metadata3047">
|
||||
<rdf:RDF>
|
||||
@@ -42,25 +42,53 @@
|
||||
inkscape:window-height="1056"
|
||||
id="namedview3043"
|
||||
showgrid="false"
|
||||
inkscape:zoom="44.500587"
|
||||
inkscape:cx="6.292871"
|
||||
inkscape:cy="6.4926565"
|
||||
inkscape:zoom="32"
|
||||
inkscape:cx="12.792117"
|
||||
inkscape:cy="8.9449238"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg3041"
|
||||
borderlayer="true" />
|
||||
<rect
|
||||
style="fill:#ff9955;stroke:#ff9955;stroke-width:0.92522794"
|
||||
style="fill:#ff7f2a;stroke:#ff7f2a;stroke-width:0.92522794"
|
||||
id="rect3051"
|
||||
width="10.232394"
|
||||
height="6.4687548"
|
||||
x="2.5534275"
|
||||
y="8.074255" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-color:currentColor;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.90384686;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="M 7.5078125,2.6797098 C 5.0260054,2.6797098 3.491603,3.472493 2.75,4.621116 2.008397,5.7697391 2.0878906,7.0238438 2.0878906,7.699241 l 1.9042969,0 c 0,-0.7329344 0.013699,-1.5125503 0.3574219,-2.0449218 0.3437231,-0.5323715 1.0433343,-1.0703125 3.1582031,-1.0703125 2.0264219,0 2.9669635,0.6265545 3.4326915,1.3827484 0.465728,0.7561939 0.400333,1.7142789 0.400333,1.7142789 0.04517,1.7732263 -0.06599,4.303173 0.0049,5.535784 l 0.05274,0.898438 0.898437,0 0.945445,-0.0031 0.01,-6.4361369 c 0,0 0.06201,-1.6621328 -0.685321,-2.8754827 C 11.819768,3.587152 10.078064,2.6797098 7.5078125,2.6797098 Z"
|
||||
id="path3848"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ssccssscccccccs" />
|
||||
<a
|
||||
id="a4157"
|
||||
style="fill:none;stroke:#ff7f2a">
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
d="M 3.1372476,6.7928489 A 4.534133,4.5301714 0 0 1 7.6713806,2.2626777 4.534133,4.5301714 0 0 1 12.205513,6.7928491"
|
||||
sodipodi:end="0"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:ry="4.5301714"
|
||||
sodipodi:rx="4.534133"
|
||||
sodipodi:cy="6.7928491"
|
||||
sodipodi:cx="7.6713805"
|
||||
sodipodi:type="arc"
|
||||
id="path4101"
|
||||
style="fill:none;fill-opacity:1;stroke:#ff7f2a;stroke-width:2.08827519;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</a>
|
||||
<g
|
||||
id="g4170"
|
||||
style="fill:#ff7f2a">
|
||||
<rect
|
||||
y="6.7554431"
|
||||
x="2.0913804"
|
||||
height="1.0984892"
|
||||
width="2.0906768"
|
||||
id="rect4153"
|
||||
style="fill:#ff7f2a;fill-opacity:1;stroke:none;stroke-width:1.39526081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ff7f2a;fill-opacity:1;stroke:none;stroke-width:1.39526081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4155"
|
||||
width="2.0906768"
|
||||
height="1.0984892"
|
||||
x="11.157786"
|
||||
y="6.7632556" />
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Antes Largura: | Altura: | Tamanho: 3.3 KiB Depois Largura: | Altura: | Tamanho: 2.8 KiB |
|
Antes Largura: | Altura: | Tamanho: 783 B |
|
Depois Largura: | Altura: | Tamanho: 560 B |
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="25"
|
||||
height="25"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48+devel r"
|
||||
viewBox="0 0 25 25.000001"
|
||||
sodipodi:docname="speech_balloon_white.svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="22.4"
|
||||
inkscape:cx="25.186628"
|
||||
inkscape:cy="14.479999"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1855"
|
||||
inkscape:window-height="1056"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<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(-228.24219,-320.66798)">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 240.77627,324.02578 a 12.489309,7.9254426 0 0 0 -12.48944,7.92538 12.489309,7.9254426 0 0 0 5.26146,6.45637 c -0.17862,1.91196 -1.06119,3.95363 -3.14604,4.64437 2.54121,-0.11444 5.60026,-1.93057 7.47209,-3.40137 a 12.489309,7.9254426 0 0 0 2.90193,0.22616 12.489309,7.9254426 0 0 0 12.48928,-7.92553 12.489309,7.9254426 0 0 0 -12.48928,-7.92538 z"
|
||||
id="path4101"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Depois Largura: | Altura: | Tamanho: 2.3 KiB |
@@ -38,6 +38,10 @@ p.jsxc_center {
|
||||
min-width: 300px;
|
||||
}
|
||||
|
||||
#jsxc_dialog p {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#jsxc_dialog h3 {
|
||||
font-size: 120%;
|
||||
font-weight: bold;
|
||||
@@ -48,7 +52,11 @@ p.jsxc_center {
|
||||
#jsxc_dialog p input {
|
||||
margin-bottom: 5px;
|
||||
width: 60%;
|
||||
outline: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#jsxc_dialog p input[type="submit"] {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
#jsxc_dialog p label {
|
||||
@@ -63,7 +71,44 @@ p.jsxc_center {
|
||||
}
|
||||
|
||||
#jsxc_dialog p.jsxc_maxWidth {
|
||||
max-width: 500px;
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
#jsxc_dialog fieldset {
|
||||
border: 2px solid #ccc;
|
||||
}
|
||||
|
||||
#jsxc_dialog legend {
|
||||
padding: 0px 10px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#jsxc_dialog input {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#jsxc_dialog input:invalid {
|
||||
border:1px solid red;
|
||||
}
|
||||
|
||||
#jsxc_dialog .jsxc_fieldset {
|
||||
width: 280px;
|
||||
padding: 10px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
#jsxc_dialog .jsxc_fieldset label {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
#jsxc_dialog .jsxc_fieldset input[type="Number"] {
|
||||
display: inline-block;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
#jsxc_dialog input[readonly] {
|
||||
background-color: #efefef;
|
||||
}
|
||||
|
||||
/*############################
|
||||
@@ -76,8 +121,11 @@ li .jsxc_name {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
li .jsxc_name:hover {
|
||||
color: #FAFAFA;
|
||||
}
|
||||
|
||||
.jsxc_avatar, ul#jsxc_buddylist li:hover .jsxc_avatar {
|
||||
.jsxc_avatar,ul#jsxc_buddylist li:hover .jsxc_avatar {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
line-height: 25px;
|
||||
@@ -118,6 +166,7 @@ div#jsxc_roster {
|
||||
z-index: 80;
|
||||
margin-left: 10px;
|
||||
box-shadow: 0px 0px 7px #000000;
|
||||
background-color: #383C43;
|
||||
}
|
||||
|
||||
div#jsxc_roster .slimScrollDiv {
|
||||
@@ -150,10 +199,11 @@ div#jsxc_roster .jsxc_wait h3 {
|
||||
/** Input field for alias renaming */
|
||||
#jsxc_roster input {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 31px;
|
||||
top: 2px;
|
||||
width: 157px;
|
||||
height: 22px;
|
||||
height: 18px;
|
||||
margin-top: -11px;
|
||||
padding: 2px;
|
||||
border: 0px;
|
||||
background-image: none;
|
||||
@@ -162,11 +212,22 @@ div#jsxc_roster .jsxc_wait h3 {
|
||||
-moz-box-shadow: inset 0 0 5px #888;
|
||||
-webkit-box-shadow: inset 0 0 5px #888;
|
||||
box-shadow: inner 0 0 5px #888;
|
||||
outline: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#jsxc_roster .jsxc_expand input {
|
||||
left: 51px;
|
||||
width: 137px;
|
||||
}
|
||||
|
||||
div#jsxc_roster p {
|
||||
color: #939393;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
div#jsxc_roster p a {
|
||||
color: #b1b1b1;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
div#jsxc_roster>.jsxc_bottom {
|
||||
@@ -219,7 +280,7 @@ div#jsxc_roster>.jsxc_bottom li {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div#jsxc_roster>.jsxc_bottom li:hover:not(.jsxc_disabled) {
|
||||
div#jsxc_roster>.jsxc_bottom li:hover:not(.jsxc_disabled ) {
|
||||
color: #fff;
|
||||
background-color: #3F8FBA;
|
||||
}
|
||||
@@ -238,6 +299,7 @@ div#jsxc_roster>.jsxc_bottom ul li:last-child {
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
/** own avatar */
|
||||
#jsxc_avatar {
|
||||
float: left;
|
||||
margin: 0px 2px;
|
||||
@@ -311,61 +373,150 @@ ul#jsxc_buddylist li {
|
||||
line-height: 30px;
|
||||
padding-left: 3px;
|
||||
z-index: 85;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist .jsxc_name {
|
||||
padding-right: 30px;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist li.jsxc_expand {
|
||||
height: 54px;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist li.jsxc_expand .jsxc_avatar, ul#jsxc_buddylist li.jsxc_expand .jsxc_avatar img {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
}
|
||||
|
||||
#jsxc_buddylist .jsxc_control {
|
||||
position:absolute;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#jsxc_buddylist .jsxc_control:after {
|
||||
content: '▾';
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 15px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
text-align: center;
|
||||
margin-left: -8px;
|
||||
margin-top: -8px;
|
||||
border-radius: 8px;
|
||||
color: #c1c1c1;
|
||||
background-color: rgba(150, 150, 150, 0.5);
|
||||
opacity: 0.6;
|
||||
-webkit-transition: -webkit-transform 0.5s;
|
||||
transition: transform 0.5s;
|
||||
}
|
||||
|
||||
#jsxc_buddylist .jsxc_control:hover:after {
|
||||
color: #fff;
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
#jsxc_buddylist li.jsxc_expand .jsxc_control:after {
|
||||
/* content: '▴'; */
|
||||
-ms-transform:rotate(180deg); /* IE 9 */
|
||||
-webkit-transform:rotate(180deg);
|
||||
transform:rotate(180deg);
|
||||
}
|
||||
|
||||
#jsxc_buddylist .jsxc_options {
|
||||
height: 20px;
|
||||
float: left;
|
||||
border-radius:2px;
|
||||
background-color: rgba(150, 150, 150, 0.5);
|
||||
}
|
||||
#jsxc_buddylist .jsxc_options > div {
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
float: left;
|
||||
margin-right:0px 1px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
opacity: 0.6;
|
||||
cursor: pointer;
|
||||
}
|
||||
#jsxc_buddylist .jsxc_options > div:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
#jsxc_buddylist .jsxc_chaticon {
|
||||
background-image: url('img/speech_balloon_white.svg');
|
||||
background-size: 15px 15px;
|
||||
}
|
||||
#jsxc_buddylist .jsxc_videoicon {
|
||||
background-image: url('img/camera_icon_white.svg');
|
||||
background-size: 13px 13px;
|
||||
}
|
||||
#jsxc_buddylist .jsxc_vcardicon {
|
||||
font-size: 15px;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
font-family: serif;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist li:hover {
|
||||
color: #FAFAFA;
|
||||
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist li.jsxc_oneway {
|
||||
ul#jsxc_buddylist .jsxc_oneway {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist .jsxc_options {
|
||||
height: 30px;
|
||||
.jsxc_oneway .jsxc_avatar {
|
||||
-webkit-filter: grayscale(100%);
|
||||
-moz-filter: grayscale(100%);
|
||||
-ms-filter: grayscale(100%);
|
||||
-o-filter: grayscale(100%);
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
ul#jsxc_buddylist .jsxc_right {
|
||||
float:left;
|
||||
}
|
||||
ul#jsxc_buddylist .jsxc_right {
|
||||
float: right;
|
||||
overflow: hidden;
|
||||
transition: width 2s;
|
||||
width: 0px;
|
||||
-webkit-transition: width .5s; /* Safari */
|
||||
white-space: nowrap;
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist .jsxc_options div {
|
||||
line-height: 30px;
|
||||
height: 30px;
|
||||
width: 20px;
|
||||
cursor: pointer;
|
||||
opacity: 0.7;
|
||||
display: inline-block;
|
||||
ul#jsxc_buddylist .jsxc_right div {
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
font-size: 17px;
|
||||
overflow: hidden;
|
||||
font-size: 13px;
|
||||
line-height: 20px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist li[data-type="chat"]:hover .jsxc_options {
|
||||
width: 50px;
|
||||
ul#jsxc_buddylist li[data-type!="chat"] .jsxc_right {
|
||||
display: none;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist .jsxc_options div:hover {
|
||||
ul#jsxc_buddylist .jsxc_right div:hover {
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist .jsxc_rename {
|
||||
/* background-image: url('../img/edit.png'); */
|
||||
/* background-repeat: no-repeat; */
|
||||
/* background-position: center center; */
|
||||
/* background-size: 15px 15px; */
|
||||
transform: scaleX(-1);
|
||||
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist .jsxc_delete {
|
||||
/* text-transform: lowercase; */
|
||||
/* font-weight: bold; */
|
||||
/* vertical-align: middle; */
|
||||
/* font-size: 17px; */
|
||||
|
||||
|
||||
}
|
||||
|
||||
#jsxc_roster .jsxc_avatar {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
#jsxc_roster .jsxc_avatar img {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div#jsxc_toggleRoster {
|
||||
@@ -409,29 +560,32 @@ div#jsxc_windowList>ul>li {
|
||||
margin: 0px;
|
||||
display: block;
|
||||
float: right;
|
||||
width: 200px;
|
||||
width: 250px;
|
||||
background-color: #282323;
|
||||
height: 30px;
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
margin-right: 5px;
|
||||
box-shadow: 0px 0px 5px #000;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div#jsxc_windowList>ul>li.jsxc_min {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
/*############################
|
||||
*######### Window ###########
|
||||
*############################*/
|
||||
div.jsxc_bar {
|
||||
background-color: #282323;
|
||||
cursor: pointer;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
margin-left: 2px;
|
||||
line-height: 26px;
|
||||
padding: 2px;
|
||||
color: #939393;
|
||||
}
|
||||
|
||||
div.jsxc_bar:hover {
|
||||
color: #FAFAFA;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div.jsxc_cycle {
|
||||
@@ -453,64 +607,135 @@ div#jsxc_windowList>ul>li.jsxc_unreadMsg .jsxc_cycle {
|
||||
|
||||
/** Contains text area */
|
||||
div.jsxc_window {
|
||||
display: none;
|
||||
width: 200px;
|
||||
height: 255px;
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
height: auto;
|
||||
background-color: #A4A4A4;
|
||||
box-shadow: 0px 0px 5px #000;
|
||||
z-index: 80;
|
||||
cursor: default;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_tools {
|
||||
div.jsxc_window .jsxc_emoticons {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
position: absolute;
|
||||
top: 240px;
|
||||
right: 0px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons:after {
|
||||
content: ' ';
|
||||
background-image: url('img/smiley.png');
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
opacity: 0.3;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 200px;
|
||||
height: 23px;
|
||||
background-color: #282323;
|
||||
box-shadow: 0px 5px 5px -5px #000;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons:hover:after {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons ul {
|
||||
display: none;
|
||||
position: absolute;
|
||||
bottom: 33px;
|
||||
right: 3px;
|
||||
width: 210px;
|
||||
background-color: rgba(40, 35, 35, 0.8);
|
||||
padding: 3px;
|
||||
border-radius: 3px;
|
||||
z-index: 200;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons ul:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
border-left: 5px solid transparent;
|
||||
border-right: 5px solid transparent;
|
||||
border-top: 6px solid rgba(40, 35, 35, 0.8);
|
||||
display: block;
|
||||
width: 0;
|
||||
z-index: 1;
|
||||
right: 6px;
|
||||
bottom: -6px;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons li {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons img {
|
||||
cursor: pointer;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons img:hover {
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
|
||||
/** groups elements, which will be hidden, if the window is minimized. */
|
||||
.jsxc_window .jsxc_fade {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.jsxc_window .jsxc_gradient {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
height: 15px;
|
||||
z-index: 100;
|
||||
background: -moz-linear-gradient(top, rgba(164, 164, 164, 1) 0%,
|
||||
rgba(40, 35, 35, 0) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(164,
|
||||
164, 164, 1)), color-stop(100%, rgba(40, 35, 35, 0)));
|
||||
/* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, rgba(164, 164, 164, 1) 0%,
|
||||
rgba(40, 35, 35, 0) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, rgba(164, 164, 164, 1) 0%,
|
||||
rgba(40, 35, 35, 0) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, rgba(164, 164, 164, 1) 0%,
|
||||
rgba(40, 35, 35, 0) 100%); /* IE10+ */
|
||||
background: linear-gradient(to bottom, #a4a4a4 0%, rgba(40, 35, 35, 0)
|
||||
100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a4a4a4',
|
||||
endColorstr='#00282323', GradientType=0); /* IE6-9 */
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_avatar {
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_textarea {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
div.jsxc_window .slimScrollDiv {
|
||||
position: absolute;
|
||||
top: 22px;
|
||||
left: 0px;
|
||||
margin: 0px 0px 6px 0px;
|
||||
}
|
||||
|
||||
div.jsxc_chatmessage,input.jsxc_chatmessage {
|
||||
margin: 5px;
|
||||
border-radius: 5px !important;
|
||||
padding: 3px;
|
||||
width: 157px;
|
||||
div.jsxc_chatmessage {
|
||||
margin: 3px;
|
||||
padding: 4px;
|
||||
padding-right: 10px;
|
||||
max-width: 76%;
|
||||
word-wrap: break-word;
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
div.jsxc_chatmessage.jsxc_received {
|
||||
|
||||
}
|
||||
|
||||
div.jsxc_chatmessage.jsxc_received:before {
|
||||
content: '✓';
|
||||
position: absolute;
|
||||
bottom: 2px;
|
||||
left: 4px;
|
||||
font-size: 10px;
|
||||
line-height: 10px;
|
||||
color: green;
|
||||
outline: none;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
div.jsxc_chatmessage a {
|
||||
@@ -524,66 +749,131 @@ div.jsxc_chatmessage img {
|
||||
}
|
||||
|
||||
/** incoming message */
|
||||
div.jsxc_in,input.jsxc_in {
|
||||
text-align: left;
|
||||
margin-right: 30px;
|
||||
border: 1px solid blue;
|
||||
div.jsxc_in {
|
||||
float: left;
|
||||
position: relative;
|
||||
margin-left: 10px;
|
||||
background: #f1f7fd;
|
||||
border: solid 1px #a6b8c9;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
div.jsxc_in:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
border-style: solid;
|
||||
border-width: 5px 6px 5px 0;
|
||||
border-color: transparent #f1f7fd;
|
||||
display: block;
|
||||
width: 0;
|
||||
z-index: 1;
|
||||
left: -6px;
|
||||
bottom: 10px;
|
||||
}
|
||||
|
||||
div.jsxc_out.jsxc_received:before {
|
||||
content: '✓';
|
||||
position: absolute;
|
||||
bottom: 2px;
|
||||
right: 2px;
|
||||
font-size: 12px;
|
||||
line-height: 12px;
|
||||
color: green;
|
||||
}
|
||||
|
||||
/** outgoing message */
|
||||
div.jsxc_out,input.jsxc_out {
|
||||
text-align: right;
|
||||
margin-left: 30px;
|
||||
border: 1px solid green !important;
|
||||
div.jsxc_out {
|
||||
float: right;
|
||||
position: relative;
|
||||
margin-right: 10px;
|
||||
background: #e6ffd1;
|
||||
border: solid 1px #b4d89f;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
div.jsxc_out:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
border-style: solid;
|
||||
border-width: 5px 0 5px 6px;
|
||||
border-color: transparent #e6ffd1;
|
||||
display: block;
|
||||
width: 0;
|
||||
z-index: 1;
|
||||
right: -6px;
|
||||
bottom: 10px;
|
||||
}
|
||||
|
||||
/** system message */
|
||||
div.jsxc_sys {
|
||||
width: 182px;
|
||||
border: 1px solid black;
|
||||
width: auto;
|
||||
max-width: none;
|
||||
padding-right: 4px;
|
||||
box-sizing: border-box;
|
||||
margin-right: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.jsxc_window input.jsxc_textinput {
|
||||
position: absolute;
|
||||
top: 226px;
|
||||
left: 30px;
|
||||
width: 157px;
|
||||
height: 16px;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
margin: 0px;
|
||||
line-height: 16px;
|
||||
outline:none;
|
||||
}
|
||||
|
||||
.jsxc_window .jsxc_close {
|
||||
text-transform: uppercase;
|
||||
color: #939393;
|
||||
font-family: Arial;
|
||||
font-weight: bold;
|
||||
line-height: 17px;
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
padding: 3px;
|
||||
padding-right: 40px;
|
||||
outline: none;
|
||||
border-radius: 0px;
|
||||
box-sizing: border-box;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.jsxc_window .jsxc_close:hover {
|
||||
color: #FAFAFA;
|
||||
.jsxc_window ::-webkit-input-placeholder {
|
||||
color: #000;
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.jsxc_window ::-moz-placeholder {
|
||||
color: #000;
|
||||
opacity: 0.3;
|
||||
} /* firefox 19+ */
|
||||
.jsxc_window :-ms-input-placeholder {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
} /* ie */
|
||||
.jsxc_window input:-moz-placeholder {
|
||||
color: #000;
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_tools {
|
||||
height: 26px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.jsxc_min .jsxc_tools {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_tools > div {
|
||||
width: 17px;
|
||||
height: 26px;
|
||||
display: block;
|
||||
float: left;
|
||||
color: #939393;
|
||||
font-family: Arial;
|
||||
line-height: 26px;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.jsxc_settings {
|
||||
color: #939393;
|
||||
font-family: Arial;
|
||||
line-height: 17px;
|
||||
cursor: pointer;
|
||||
background-image: url('img/gear_grey.svg');
|
||||
background-size: 15px 15px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
display: block;
|
||||
float: left;
|
||||
overflow: visible;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
div.jsxc_settings:hover,div.jsxc_settings.hover {
|
||||
@@ -595,10 +885,10 @@ div.jsxc_settings ul {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
position: absolute;
|
||||
top: 23px;
|
||||
top: 30px;
|
||||
left: 0px;
|
||||
box-shadow: 0px 5px 5px -5px #000;
|
||||
z-index: 90;
|
||||
z-index: 110;
|
||||
overflow: visible;
|
||||
background-color: #282323;
|
||||
display: none;
|
||||
@@ -610,13 +900,14 @@ div.jsxc_settings li {
|
||||
padding-left: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.jsxc_settings li:first-child {
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
div.jsxc_settings li:hover:not(.jsxc_disabled){
|
||||
div.jsxc_settings li:hover:not(.jsxc_disabled ){
|
||||
color: #fff;
|
||||
background-color: #3F8FBA;
|
||||
}
|
||||
@@ -627,15 +918,14 @@ div.jsxc_settings li.jsxc_disabled {
|
||||
}
|
||||
|
||||
div.jsxc_transfer {
|
||||
padding: 3px;
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
background-image: url('img/padlock_open_grey.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-size: 15px 15px;
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
background-size: 12px 12px;
|
||||
}
|
||||
|
||||
div.jsxc_transfer:hover {
|
||||
background-image: url('img/padlock_open_white.svg');
|
||||
}
|
||||
|
||||
div.jsxc_transfer.jsxc_fin {
|
||||
@@ -650,6 +940,39 @@ div.jsxc_transfer.jsxc_enc.jsxc_trust {
|
||||
background-image: url('img/padlock_close_green.svg');
|
||||
}
|
||||
|
||||
#colorbox, #cboxWrapper {
|
||||
outline: none;
|
||||
.jsxc_window .jsxc_close {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.jsxc_window .jsxc_close:hover {
|
||||
color: #FAFAFA;
|
||||
}
|
||||
|
||||
#colorbox,#cboxWrapper {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/*############################
|
||||
*######### Other ############
|
||||
*############################*/
|
||||
ul.jsxc_vCard {
|
||||
min-width: 400px;
|
||||
}
|
||||
|
||||
ul.jsxc_vCard ul {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
ul.jsxc_vCard li {
|
||||
cursor: default !important;
|
||||
}
|
||||
|
||||
ul.jsxc_vCard strong {
|
||||
|
||||
}
|
||||
|
||||
img.jsxc_vCard {
|
||||
float: right;
|
||||
max-width: 200px;
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* jsxc v0.7.2 - 2014-05-28
|
||||
* jsxc v0.8.2 - 2014-08-20
|
||||
*
|
||||
* Copyright (c) 2014 Klaus Herberth <klaus@jsxc.org> <br>
|
||||
* Released under the MIT license
|
||||
@@ -7,7 +7,7 @@
|
||||
* Please see http://www.jsxc.org/
|
||||
*
|
||||
* @author Klaus Herberth <klaus@jsxc.org>
|
||||
* @version 0.7.2
|
||||
* @version 0.8.2
|
||||
*/
|
||||
|
||||
/* jsxc, Strophe, SDPUtil, getUserMediaWithConstraints, setupRTC, jQuery */
|
||||
@@ -172,6 +172,32 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Add "video" button to roster
|
||||
*
|
||||
* @private
|
||||
* @memberOf jsxc.webrtc
|
||||
* @param event
|
||||
* @param cid cid of roster item
|
||||
* @param data data wich belongs to cid
|
||||
* @param el the roster item
|
||||
*/
|
||||
onAddRosterItem: function(event, cid, data, el) {
|
||||
var self = jsxc.webrtc;
|
||||
var videoIcon = $('<div class="jsxc_video jsxc_disabled" title="' + jsxc.l.Start_video_call + '"></div>');
|
||||
|
||||
videoIcon.click(function() {
|
||||
self.startCall(data.jid);
|
||||
return false;
|
||||
});
|
||||
|
||||
el.find('.jsxc_options.jsxc_left').append(videoIcon);
|
||||
|
||||
el.on('extra.jsxc', function() {
|
||||
self.updateIcon(cid);
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Add "video" button to window menu.
|
||||
*
|
||||
@@ -193,27 +219,26 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
var div = $('<div>').addClass('jsxc_video');
|
||||
win.find('.jsxc_transfer:eq(1)').after(div);
|
||||
|
||||
self.updateWindow(win);
|
||||
self.updateIcon(jsxc.jidToCid(win.data('jid')));
|
||||
},
|
||||
|
||||
/**
|
||||
* Enable or disable "video" button and assign full jid.
|
||||
* Enable or disable "video" icon and assign full jid.
|
||||
*
|
||||
* @memberOf jsxc.webrtc
|
||||
* @param win jQuery window object
|
||||
* @param cid CSS conform jid
|
||||
*/
|
||||
updateWindow: function(win) {
|
||||
if (!win || win.length === 0) {
|
||||
return;
|
||||
}
|
||||
updateIcon: function(cid) {
|
||||
|
||||
var self = jsxc.webrtc;
|
||||
var jid = win.data('jid');
|
||||
var li = win.find('.jsxc_video');
|
||||
var win = jsxc.gui.getWindow(cid);
|
||||
var jid = win.data('jid') || jsxc.storage.getUserItem('buddy_' + cid).jid;
|
||||
|
||||
var el = win.find('.jsxc_video').add('#' + cid + ' .jsxc_video');
|
||||
|
||||
// only start video call to a full jid
|
||||
if (Strophe.getResourceFromJid(jid) === null) {
|
||||
var cid = jsxc.jidToCid(jid);
|
||||
|
||||
var res = jsxc.storage.getUserItem('buddy_' + cid).res;
|
||||
|
||||
if (Array.isArray(res) && res.length === 1) {
|
||||
@@ -221,19 +246,19 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
}
|
||||
}
|
||||
|
||||
li.off('click');
|
||||
el.off('click');
|
||||
|
||||
if (self.conn.caps.hasFeatureByJid(jid, self.reqVideoFeatures)) {
|
||||
li.click(function() {
|
||||
el.click(function() {
|
||||
self.startCall(jid);
|
||||
});
|
||||
li.removeClass('jsxc_disabled');
|
||||
el.removeClass('jsxc_disabled');
|
||||
|
||||
li.attr('title', jsxc.translate('%%Start video call%%'));
|
||||
el.attr('title', jsxc.translate('%%Start video call%%'));
|
||||
} else {
|
||||
li.addClass('jsxc_disabled');
|
||||
el.addClass('jsxc_disabled');
|
||||
|
||||
li.attr('title', jsxc.translate('%%Video call not possible.%%'));
|
||||
el.attr('title', jsxc.translate('%%Video call not possible.%%'));
|
||||
}
|
||||
},
|
||||
|
||||
@@ -250,7 +275,7 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
var bJid = Strophe.getBareJidFromJid(from);
|
||||
|
||||
if (self.chatJids[bJid] !== from) {
|
||||
self.updateWindow(jsxc.gui.getWindow(jsxc.jidToCid(bJid)));
|
||||
self.updateIcon(jsxc.jidToCid(bJid));
|
||||
self.chatJids[bJid] = from;
|
||||
}
|
||||
},
|
||||
@@ -312,11 +337,8 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
*/
|
||||
onCaps: function(event, jid) {
|
||||
var self = jsxc.webrtc;
|
||||
var win = jsxc.gui.getWindow(jsxc.jidToCid(jid));
|
||||
|
||||
if (win.length > 0) {
|
||||
self.updateWindow(win);
|
||||
}
|
||||
self.updateIcon(jsxc.jidToCid(jid));
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -799,13 +821,14 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
if (RTC !== null) {
|
||||
RTCPeerconnection = RTC.peerconnection;
|
||||
|
||||
$(document).on('add.roster.jsxc', jsxc.webrtc.onAddRosterItem);
|
||||
$(document).on('init.window.jsxc', jsxc.webrtc.initWindow);
|
||||
$(document).on('attached.jsxc', jsxc.webrtc.init);
|
||||
}
|
||||
});
|
||||
|
||||
$.extend(jsxc.l10n.en, {
|
||||
Please_allow_access_to_microphone_and_camera: 'Please allow access to microphone and camera.',
|
||||
Please_allow_access_to_microphone_and_camera: 'Please click the "Allow" button at the top, to allow access to microphone and camera.',
|
||||
Incoming_call: 'Incoming call',
|
||||
from: 'from',
|
||||
Do_you_want_to_accept_the_call_from: 'Do you want to accept the call from',
|
||||
@@ -826,7 +849,7 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
});
|
||||
|
||||
$.extend(jsxc.l10n.de, {
|
||||
Please_allow_access_to_microphone_and_camera: 'Bitte erlaube den Zugriff auf Kamera und Mikrofon.',
|
||||
Please_allow_access_to_microphone_and_camera: 'Bitte klick auf den "Zulassen" Button oben, um den Zugriff auf Kamera und Mikrofon zu erlauben.',
|
||||
Incoming_call: 'Eingehender Anruf',
|
||||
from: 'von',
|
||||
Do_you_want_to_accept_the_call_from: 'Möchtest Du den Anruf annehmen von',
|
||||
@@ -845,4 +868,25 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
Video_call_not_possible: 'Videoanruf nicht verfügbar',
|
||||
Start_video_call: 'Starte Videoanruf'
|
||||
});
|
||||
|
||||
$.extend(jsxc.l10n.es, {
|
||||
Please_allow_access_to_microphone_and_camera: 'Por favor, permitir el acceso al micrófono y la cámara.',
|
||||
Incoming_call: 'Llamada entrante',
|
||||
from: 'de',
|
||||
Do_you_want_to_accept_the_call_from: 'Desea aceptar la llamada de',
|
||||
Reject: 'Rechazar',
|
||||
Accept: 'Aceptar',
|
||||
hang_up: 'colgar',
|
||||
snapshot: 'instantánea',
|
||||
mute_my_audio: 'silenciar mi audio',
|
||||
pause_my_video: 'pausar mi vídeo',
|
||||
fullscreen: 'pantalla completa',
|
||||
Info: 'Info',
|
||||
Local_IP: 'IP local',
|
||||
Remote_IP: 'IP remota',
|
||||
Local_Fingerprint: 'Firma digital local',
|
||||
Remote_Fingerprint: 'Firma digital remota',
|
||||
Video_call_not_possible: 'Llamada de vídeo no es posible',
|
||||
Start_video_call: 'Iniciar llamada de vídeo'
|
||||
});
|
||||
}(jQuery));
|
||||
|
||||
@@ -115,17 +115,17 @@ div:fullscreen.jsxc_localvideo {
|
||||
|
||||
.jsxc_chatarea {
|
||||
position: relative;
|
||||
height: 255px;
|
||||
height: 270px;
|
||||
display: none;
|
||||
background-color: #A4A4A4;
|
||||
}
|
||||
|
||||
.jsxc_chatarea ul {
|
||||
.jsxc_chatarea > ul {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 0px;
|
||||
width: 200px;
|
||||
height: 255px;
|
||||
width: 250px;
|
||||
height: 270px;
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
margin: 0px 0px 0px -100px;
|
||||
@@ -153,18 +153,21 @@ div:fullscreen.jsxc_localvideo {
|
||||
}
|
||||
|
||||
div.jsxc_video {
|
||||
padding: 3px;
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
background-image: url('img/camera_icon_grey.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-size: 15px 15px;
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
}
|
||||
|
||||
div.jsxc_video:not(.jsxc_disabled):hover, #jsxc_buddylist .jsxc_options .jsxc_video {
|
||||
background-image: url('img/camera_icon_white.svg');
|
||||
}
|
||||
|
||||
div.jsxc_video.jsxc_disabled {
|
||||
opacity: 0.5;
|
||||
cursor: default;
|
||||
cursor: default !important;
|
||||
}
|
||||
|
||||
#jsxc_buddylist .jsxc_options .jsxc_video.jsxc_disabled {
|
||||
opacity: 0.2;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
Rotary-Phone6.mp3
|
||||
===
|
||||
Creator: David English
|
||||
Source: http://www.beepzoid.com/old-phones/
|
||||
License: unknown
|
||||
|
||||
Ping1.mp3
|
||||
===
|
||||
Creator: CameronMusic
|
||||
Source: https://soundcloud.com/freefilmandgamemusic/ping-1?in=freefilmandgamemusic/sets/free-notification-sounds-and
|
||||
License: cc 3.0, http://creativecommons.org/licenses/by/3.0/
|
||||
@@ -0,0 +1 @@
|
||||
{"url":"numb.viagenie.ca","username":"webrtc@live.com","credential":"muazkh","ttl":43200}
|
||||
@@ -0,0 +1,54 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>JSXC example application</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
|
||||
<link href="../lib/jquery-ui.min.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../lib/jquery.mCustomScrollbar.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../lib/jquery.colorbox.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../jsxc.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../jsxc.webrtc.css" media="all" rel="stylesheet" type="text/css" />
|
||||
|
||||
<style type="text/css">
|
||||
body, * {font-size: 13px; font-family: "Helvetica Neue",Helvetica,Arial,FreeSans,sans-serif;}
|
||||
fieldset {float: left;}
|
||||
</style>
|
||||
|
||||
<script src="../lib/jquery.min.js"></script>
|
||||
<script src="../lib/jquery.ui.min.js"></script>
|
||||
<script src="../lib/jquery.colorbox-min.js"></script>
|
||||
<script src="../lib/jquery.slimscroll.js"></script>
|
||||
<script src="../lib/jquery.fullscreen.js"></script>
|
||||
<script src="../lib/strophe.js"></script>
|
||||
<script src="../lib/strophe.muc.js"></script>
|
||||
<script src="../lib/strophe.disco.js"></script>
|
||||
<script src="../lib/strophe.caps.js"></script>
|
||||
<script src="../lib/strophe.vcard.js"></script>
|
||||
<script src="../lib/strophe.jingle/strophe.jingle.js"></script>
|
||||
<script src="../lib/strophe.jingle/strophe.jingle.session.js"></script>
|
||||
<script src="../lib/strophe.jingle/strophe.jingle.sdp.js"></script>
|
||||
<script src="../lib/strophe.jingle/strophe.jingle.adapter.js"></script>
|
||||
<script src="../lib/otr/build/dep/salsa20.js"></script>
|
||||
<script src="../lib/otr/build/dep/bigint.js"></script>
|
||||
<script src="../lib/otr/build/dep/crypto.js"></script>
|
||||
<script src="../lib/otr/build/dep/eventemitter.js"></script>
|
||||
<script src="../lib/otr/build/otr.js"></script>
|
||||
<script src="../jsxc.lib.js"></script>
|
||||
<script src="../jsxc.lib.webrtc.js"></script>
|
||||
|
||||
<script src="js/example.js"></script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<form id="form" method="post" action="login.html">
|
||||
<fieldset>
|
||||
<legend>Login</legend>
|
||||
<label for="username">Username:</label><input type="text" id="username" name="username" /><br />
|
||||
<label for="password">Password:</label><input type="password" id="password" name="password" /><br />
|
||||
<input type="submit" value="Log in" />
|
||||
</fieldset>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,33 @@
|
||||
$(function() {
|
||||
jsxc.init({
|
||||
loginForm: {
|
||||
form: '#form',
|
||||
jid: '#username',
|
||||
pass: '#password'
|
||||
},
|
||||
logoutElement: $('#logout'),
|
||||
checkFlash: false,
|
||||
rosterAppend: 'body',
|
||||
root: '/jsxc/',
|
||||
turnCredentialsPath: 'ajax/getturncredentials.json',
|
||||
displayRosterMinimized: function() {
|
||||
return true;
|
||||
},
|
||||
otr: {
|
||||
debug: true,
|
||||
SEND_WHITESPACE_TAG: true,
|
||||
WHITESPACE_START_AKE: true
|
||||
},
|
||||
loadSettings: function(username, password) {
|
||||
return {
|
||||
xmpp: {
|
||||
url: '/http-bind/',
|
||||
domain: 'localhost',
|
||||
resource: 'example',
|
||||
overwrite: true,
|
||||
onlogin: true
|
||||
}
|
||||
};
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,49 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>JSXC example application</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
|
||||
<link href="../lib/jquery-ui.min.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../lib/jquery.mCustomScrollbar.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../lib/jquery.colorbox.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../jsxc.css" media="all" rel="stylesheet" type="text/css" />
|
||||
<link href="../jsxc.webrtc.css" media="all" rel="stylesheet" type="text/css" />
|
||||
|
||||
<style type="text/css">
|
||||
body, * {font-size: 13px; font-family: "Helvetica Neue",Helvetica,Arial,FreeSans,sans-serif;}
|
||||
fieldset {float: left;}
|
||||
</style>
|
||||
|
||||
<script src="../lib/jquery.min.js"></script>
|
||||
<script src="../lib/jquery.ui.min.js"></script>
|
||||
<script src="../lib/jquery.colorbox-min.js"></script>
|
||||
<script src="../lib/jquery.slimscroll.js"></script>
|
||||
<script src="../lib/jquery.fullscreen.js"></script>
|
||||
<script src="../lib/strophe.js"></script>
|
||||
<script src="../lib/strophe.muc.js"></script>
|
||||
<script src="../lib/strophe.disco.js"></script>
|
||||
<script src="../lib/strophe.caps.js"></script>
|
||||
<script src="../lib/strophe.vcard.js"></script>
|
||||
<script src="../lib/strophe.jingle/strophe.jingle.js"></script>
|
||||
<script src="../lib/strophe.jingle/strophe.jingle.session.js"></script>
|
||||
<script src="../lib/strophe.jingle/strophe.jingle.sdp.js"></script>
|
||||
<script src="../lib/strophe.jingle/strophe.jingle.adapter.js"></script>
|
||||
<script src="../lib/otr/build/dep/salsa20.js"></script>
|
||||
<script src="../lib/otr/build/dep/bigint.js"></script>
|
||||
<script src="../lib/otr/build/dep/crypto.js"></script>
|
||||
<script src="../lib/otr/build/dep/eventemitter.js"></script>
|
||||
<script src="../lib/otr/build/otr.js"></script>
|
||||
<script src="../jsxc.lib.js"></script>
|
||||
<script src="../jsxc.lib.webrtc.js"></script>
|
||||
|
||||
<script src="js/example.js"></script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>You are logged in :-).</h1>
|
||||
|
||||
<a href="index.html" id="logout">Log out</a>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,97 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="535.00458"
|
||||
height="510.4368"
|
||||
id="svg3896"
|
||||
version="1.1"
|
||||
inkscape:version="0.48+devel r"
|
||||
sodipodi:docname="camera_icon_grey.svg">
|
||||
<defs
|
||||
id="defs3898" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.35"
|
||||
inkscape:cx="369.28572"
|
||||
inkscape:cy="50.436783"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="954"
|
||||
inkscape:window-height="711"
|
||||
inkscape:window-x="129"
|
||||
inkscape:window-y="144"
|
||||
inkscape:window-maximized="0" />
|
||||
id="svg2"
|
||||
width="20"
|
||||
height="20">
|
||||
<metadata
|
||||
id="metadata3901">
|
||||
id="metadata10">
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-5.7142771,-72.362177)">
|
||||
<rect
|
||||
style="fill:#808080;stroke:none;stroke-width:1.6172694;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect3904"
|
||||
width="290.51404"
|
||||
height="294.08438"
|
||||
x="86.054779"
|
||||
y="292.97778" />
|
||||
transform="matrix(0.03788594,0,0,0.03788594,-0.41340793,-2.6310716)">
|
||||
<path
|
||||
style="fill:#808080;stroke:none"
|
||||
d="m 292.28572,420.35915 229.57599,-101.39986 0,232.54576 -233.04644,-102.93271 z"
|
||||
id="path3906"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#808080;stroke:none"
|
||||
id="path3908"
|
||||
sodipodi:cx="242.85715"
|
||||
sodipodi:cy="315.21933"
|
||||
sodipodi:rx="117.14286"
|
||||
sodipodi:ry="117.14286"
|
||||
d="M 360.00001,315.21933 A 117.14286,117.14286 0 0 1 242.85715,432.36219 117.14286,117.14286 0 0 1 125.71429,315.21933 117.14286,117.14286 0 0 1 242.85715,198.07647 117.14286,117.14286 0 0 1 360.00001,315.21933 Z"
|
||||
transform="matrix(1.1334136,0,0,1.1663886,-136.76164,-155.82534)" />
|
||||
<a
|
||||
id="a3912"
|
||||
style="fill:#808080;stroke:none"
|
||||
transform="matrix(0.86859739,0,0,0.89386794,47.913668,10.526572)">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#808080;stroke:none"
|
||||
id="path3910"
|
||||
sodipodi:cx="242.85715"
|
||||
sodipodi:cy="315.21933"
|
||||
sodipodi:rx="117.14286"
|
||||
sodipodi:ry="117.14286"
|
||||
d="M 360.00001,315.21933 A 117.14286,117.14286 0 0 1 242.85715,432.36219 117.14286,117.14286 0 0 1 125.71429,315.21933 117.14286,117.14286 0 0 1 242.85715,198.07647 117.14286,117.14286 0 0 1 360.00001,315.21933 Z"
|
||||
transform="matrix(1.304878,0,0,1.304878,3.67247,-186.10345)" />
|
||||
</a>
|
||||
d="m 361.65148,313.51768 177.16074,-131.78516 0,302.22999 L 358.97338,350.18517 Z M 10.911922,182.40634 l 378.372678,0 0,302.65582 -378.372678,0 z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Antes Largura: | Altura: | Tamanho: 3.3 KiB Depois Largura: | Altura: | Tamanho: 1010 B |
@@ -13,8 +13,8 @@
|
||||
height="510.4368"
|
||||
id="svg3896"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="camera_icon.svg">
|
||||
inkscape:version="0.48+devel r"
|
||||
sodipodi:docname="camera_icon_white.svg">
|
||||
<defs
|
||||
id="defs3898" />
|
||||
<sodipodi:namedview
|
||||
@@ -24,9 +24,9 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.35"
|
||||
inkscape:cx="369.28572"
|
||||
inkscape:cy="50.436783"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="353.91934"
|
||||
inkscape:cy="233.8456"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
@@ -34,11 +34,11 @@
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="954"
|
||||
inkscape:window-height="711"
|
||||
inkscape:window-x="833"
|
||||
inkscape:window-y="106"
|
||||
inkscape:window-maximized="0" />
|
||||
inkscape:window-width="1855"
|
||||
inkscape:window-height="1056"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata3901">
|
||||
<rdf:RDF>
|
||||
@@ -57,41 +57,16 @@
|
||||
id="layer1"
|
||||
transform="translate(-5.7142771,-72.362177)">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:#ffffff;stroke-width:1.61726940000000008;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:1.6172694;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect3904"
|
||||
width="290.51404"
|
||||
height="294.08438"
|
||||
x="86.054779"
|
||||
y="292.97778" />
|
||||
width="378.37268"
|
||||
height="302.65582"
|
||||
x="10.911922"
|
||||
y="182.40634" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 292.28572,420.35915 229.57599,-101.39986 0,232.54576 -233.04644,-102.93271 z"
|
||||
d="m 361.65148,313.51768 177.16074,-131.78516 0,302.22999 -179.83884,-133.77734 z"
|
||||
id="path3906"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#ffffff;stroke:none"
|
||||
id="path3908"
|
||||
sodipodi:cx="242.85715"
|
||||
sodipodi:cy="315.21933"
|
||||
sodipodi:rx="117.14286"
|
||||
sodipodi:ry="117.14286"
|
||||
d="m 360.00001,315.21933 a 117.14286,117.14286 0 1 1 -234.28572,0 117.14286,117.14286 0 1 1 234.28572,0 z"
|
||||
transform="matrix(1.1334136,0,0,1.1663886,-136.76164,-155.82534)" />
|
||||
<a
|
||||
id="a3912"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.86859739,0,0,0.89386794,47.913668,10.526572)">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#ffffff;stroke:none"
|
||||
id="path3910"
|
||||
sodipodi:cx="242.85715"
|
||||
sodipodi:cy="315.21933"
|
||||
sodipodi:rx="117.14286"
|
||||
sodipodi:ry="117.14286"
|
||||
d="m 360.00001,315.21933 c 0,64.69622 -52.44665,117.14286 -117.14286,117.14286 -64.69622,0 -117.14286,-52.44664 -117.14286,-117.14286 0,-64.69622 52.44664,-117.14286 117.14286,-117.14286 64.69621,0 117.14286,52.44664 117.14286,117.14286 z"
|
||||
transform="matrix(1.304878,0,0,1.304878,3.67247,-186.10345)" />
|
||||
</a>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Antes Largura: | Altura: | Tamanho: 3.2 KiB Depois Largura: | Altura: | Tamanho: 2.1 KiB |
|
Depois Largura: | Altura: | Tamanho: 1.5 KiB |
@@ -14,7 +14,7 @@
|
||||
inkscape:version="0.48+devel r"
|
||||
width="15"
|
||||
height="15"
|
||||
sodipodi:docname="padlock_open-white.svg">
|
||||
sodipodi:docname="padlock_close_green.svg">
|
||||
<metadata
|
||||
id="metadata3047">
|
||||
<rdf:RDF>
|
||||
@@ -42,25 +42,45 @@
|
||||
inkscape:window-height="1056"
|
||||
id="namedview3043"
|
||||
showgrid="false"
|
||||
inkscape:zoom="44.500587"
|
||||
inkscape:cx="6.292871"
|
||||
inkscape:cy="6.4926565"
|
||||
inkscape:zoom="32"
|
||||
inkscape:cx="12.823367"
|
||||
inkscape:cy="8.9449238"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg3041"
|
||||
borderlayer="true" />
|
||||
<rect
|
||||
style="fill:#009800;stroke:#009800;stroke-width:0.92522794"
|
||||
style="fill:#44aa00;stroke:#44aa00;stroke-width:0.92522794"
|
||||
id="rect3051"
|
||||
width="10.232394"
|
||||
height="6.4687548"
|
||||
x="2.5534275"
|
||||
y="8.074255" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-color:currentColor;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:#009800;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.90384686;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="M 7.5078125,2.6797098 C 5.0260054,2.6797098 3.491603,3.472493 2.75,4.621116 2.008397,5.7697391 2.0878906,7.0238438 2.0878906,7.699241 l 1.9042969,0 c 0,-0.7329344 0.013699,-1.5125503 0.3574219,-2.0449218 0.3437231,-0.5323715 1.0433343,-1.0703125 3.1582031,-1.0703125 2.0264219,0 2.9669635,0.6265545 3.4326915,1.3827484 0.465728,0.7561939 0.400333,1.7142789 0.400333,1.7142789 0.04517,1.7732263 -0.06599,4.303173 0.0049,5.535784 l 0.05274,0.898438 0.898437,0 0.945445,-0.0031 0.01,-6.4361369 c 0,0 0.06201,-1.6621328 -0.685321,-2.8754827 C 11.819768,3.587152 10.078064,2.6797098 7.5078125,2.6797098 Z"
|
||||
id="path3848"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ssccssscccccccs" />
|
||||
style="fill:none;fill-opacity:1;stroke:#44aa00;stroke-width:2.08827519;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4101"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="7.6713805"
|
||||
sodipodi:cy="6.7928491"
|
||||
sodipodi:rx="4.534133"
|
||||
sodipodi:ry="4.5301714"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:end="0"
|
||||
d="M 3.1372476,6.7928489 A 4.534133,4.5301714 0 0 1 7.6713806,2.2626777 4.534133,4.5301714 0 0 1 12.205513,6.7928491"
|
||||
sodipodi:open="true" />
|
||||
<rect
|
||||
style="fill:#44aa00;fill-opacity:1;stroke:none;stroke-width:1.39526081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4153"
|
||||
width="2.0906768"
|
||||
height="1.0984892"
|
||||
x="2.0913804"
|
||||
y="6.7554431" />
|
||||
<rect
|
||||
y="6.7632556"
|
||||
x="11.157786"
|
||||
height="1.0984892"
|
||||
width="2.0906768"
|
||||
id="rect4155"
|
||||
style="fill:#44aa00;fill-opacity:1;stroke:none;stroke-width:1.39526081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</svg>
|
||||
|
||||
|
Antes Largura: | Altura: | Tamanho: 3.3 KiB Depois Largura: | Altura: | Tamanho: 2.7 KiB |
@@ -14,7 +14,7 @@
|
||||
inkscape:version="0.48+devel r"
|
||||
width="15"
|
||||
height="15"
|
||||
sodipodi:docname="padlock_open-white.svg">
|
||||
sodipodi:docname="padlock_close_grey.svg">
|
||||
<metadata
|
||||
id="metadata3047">
|
||||
<rdf:RDF>
|
||||
@@ -42,9 +42,9 @@
|
||||
inkscape:window-height="1056"
|
||||
id="namedview3043"
|
||||
showgrid="false"
|
||||
inkscape:zoom="44.500587"
|
||||
inkscape:cx="6.292871"
|
||||
inkscape:cy="6.4926565"
|
||||
inkscape:zoom="32"
|
||||
inkscape:cx="12.792117"
|
||||
inkscape:cy="8.9449238"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
@@ -57,10 +57,38 @@
|
||||
height="6.4687548"
|
||||
x="2.5534275"
|
||||
y="8.074255" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-color:currentColor;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.90384686;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="M 7.5078125,2.6797098 C 5.0260054,2.6797098 3.491603,3.472493 2.75,4.621116 2.008397,5.7697391 2.0878906,7.0238438 2.0878906,7.699241 l 1.9042969,0 c 0,-0.7329344 0.013699,-1.5125503 0.3574219,-2.0449218 0.3437231,-0.5323715 1.0433343,-1.0703125 3.1582031,-1.0703125 2.0264219,0 2.9669635,0.6265545 3.4326915,1.3827484 0.465728,0.7561939 0.400333,1.7142789 0.400333,1.7142789 0.04517,1.7732263 -0.06599,4.303173 0.0049,5.535784 l 0.05274,0.898438 0.898437,0 0.945445,-0.0031 0.01,-6.4361369 c 0,0 0.06201,-1.6621328 -0.685321,-2.8754827 C 11.819768,3.587152 10.078064,2.6797098 7.5078125,2.6797098 Z"
|
||||
id="path3848"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ssccssscccccccs" />
|
||||
<a
|
||||
id="a4157"
|
||||
style="fill:none;stroke:#808080">
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
d="M 3.1372476,6.7928489 A 4.534133,4.5301714 0 0 1 7.6713806,2.2626777 4.534133,4.5301714 0 0 1 12.205513,6.7928491"
|
||||
sodipodi:end="0"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:ry="4.5301714"
|
||||
sodipodi:rx="4.534133"
|
||||
sodipodi:cy="6.7928491"
|
||||
sodipodi:cx="7.6713805"
|
||||
sodipodi:type="arc"
|
||||
id="path4101"
|
||||
style="fill:none;fill-opacity:1;stroke:#808080;stroke-width:2.08827519;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</a>
|
||||
<g
|
||||
id="g4170"
|
||||
style="fill:#808080">
|
||||
<rect
|
||||
y="6.7554431"
|
||||
x="2.0913804"
|
||||
height="1.0984892"
|
||||
width="2.0906768"
|
||||
id="rect4153"
|
||||
style="fill:#808080;fill-opacity:1;stroke:none;stroke-width:1.39526081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#808080;fill-opacity:1;stroke:none;stroke-width:1.39526081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4155"
|
||||
width="2.0906768"
|
||||
height="1.0984892"
|
||||
x="11.157786"
|
||||
y="6.7632556" />
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Antes Largura: | Altura: | Tamanho: 3.3 KiB Depois Largura: | Altura: | Tamanho: 2.8 KiB |
@@ -14,7 +14,7 @@
|
||||
inkscape:version="0.48+devel r"
|
||||
width="15"
|
||||
height="15"
|
||||
sodipodi:docname="padlock_open-white.svg">
|
||||
sodipodi:docname="padlock_close_orange.svg">
|
||||
<metadata
|
||||
id="metadata3047">
|
||||
<rdf:RDF>
|
||||
@@ -42,25 +42,53 @@
|
||||
inkscape:window-height="1056"
|
||||
id="namedview3043"
|
||||
showgrid="false"
|
||||
inkscape:zoom="44.500587"
|
||||
inkscape:cx="6.292871"
|
||||
inkscape:cy="6.4926565"
|
||||
inkscape:zoom="32"
|
||||
inkscape:cx="12.792117"
|
||||
inkscape:cy="8.9449238"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg3041"
|
||||
borderlayer="true" />
|
||||
<rect
|
||||
style="fill:#ff9955;stroke:#ff9955;stroke-width:0.92522794"
|
||||
style="fill:#ff7f2a;stroke:#ff7f2a;stroke-width:0.92522794"
|
||||
id="rect3051"
|
||||
width="10.232394"
|
||||
height="6.4687548"
|
||||
x="2.5534275"
|
||||
y="8.074255" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-color:currentColor;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:#ff9955;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.90384686;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="M 7.5078125,2.6797098 C 5.0260054,2.6797098 3.491603,3.472493 2.75,4.621116 2.008397,5.7697391 2.0878906,7.0238438 2.0878906,7.699241 l 1.9042969,0 c 0,-0.7329344 0.013699,-1.5125503 0.3574219,-2.0449218 0.3437231,-0.5323715 1.0433343,-1.0703125 3.1582031,-1.0703125 2.0264219,0 2.9669635,0.6265545 3.4326915,1.3827484 0.465728,0.7561939 0.400333,1.7142789 0.400333,1.7142789 0.04517,1.7732263 -0.06599,4.303173 0.0049,5.535784 l 0.05274,0.898438 0.898437,0 0.945445,-0.0031 0.01,-6.4361369 c 0,0 0.06201,-1.6621328 -0.685321,-2.8754827 C 11.819768,3.587152 10.078064,2.6797098 7.5078125,2.6797098 Z"
|
||||
id="path3848"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ssccssscccccccs" />
|
||||
<a
|
||||
id="a4157"
|
||||
style="fill:none;stroke:#ff7f2a">
|
||||
<path
|
||||
sodipodi:open="true"
|
||||
d="M 3.1372476,6.7928489 A 4.534133,4.5301714 0 0 1 7.6713806,2.2626777 4.534133,4.5301714 0 0 1 12.205513,6.7928491"
|
||||
sodipodi:end="0"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:ry="4.5301714"
|
||||
sodipodi:rx="4.534133"
|
||||
sodipodi:cy="6.7928491"
|
||||
sodipodi:cx="7.6713805"
|
||||
sodipodi:type="arc"
|
||||
id="path4101"
|
||||
style="fill:none;fill-opacity:1;stroke:#ff7f2a;stroke-width:2.08827519;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</a>
|
||||
<g
|
||||
id="g4170"
|
||||
style="fill:#ff7f2a">
|
||||
<rect
|
||||
y="6.7554431"
|
||||
x="2.0913804"
|
||||
height="1.0984892"
|
||||
width="2.0906768"
|
||||
id="rect4153"
|
||||
style="fill:#ff7f2a;fill-opacity:1;stroke:none;stroke-width:1.39526081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ff7f2a;fill-opacity:1;stroke:none;stroke-width:1.39526081;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4155"
|
||||
width="2.0906768"
|
||||
height="1.0984892"
|
||||
x="11.157786"
|
||||
y="6.7632556" />
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Antes Largura: | Altura: | Tamanho: 3.3 KiB Depois Largura: | Altura: | Tamanho: 2.8 KiB |
|
Antes Largura: | Altura: | Tamanho: 783 B |
|
Depois Largura: | Altura: | Tamanho: 560 B |
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="25"
|
||||
height="25"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48+devel r"
|
||||
viewBox="0 0 25 25.000001"
|
||||
sodipodi:docname="speech_balloon_white.svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="22.4"
|
||||
inkscape:cx="25.186628"
|
||||
inkscape:cy="14.479999"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1855"
|
||||
inkscape:window-height="1056"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<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(-228.24219,-320.66798)">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 240.77627,324.02578 a 12.489309,7.9254426 0 0 0 -12.48944,7.92538 12.489309,7.9254426 0 0 0 5.26146,6.45637 c -0.17862,1.91196 -1.06119,3.95363 -3.14604,4.64437 2.54121,-0.11444 5.60026,-1.93057 7.47209,-3.40137 a 12.489309,7.9254426 0 0 0 2.90193,0.22616 12.489309,7.9254426 0 0 0 12.48928,-7.92553 12.489309,7.9254426 0 0 0 -12.48928,-7.92538 z"
|
||||
id="path4101"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Depois Largura: | Altura: | Tamanho: 2.3 KiB |
@@ -38,6 +38,10 @@ p.jsxc_center {
|
||||
min-width: 300px;
|
||||
}
|
||||
|
||||
#jsxc_dialog p {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#jsxc_dialog h3 {
|
||||
font-size: 120%;
|
||||
font-weight: bold;
|
||||
@@ -48,7 +52,11 @@ p.jsxc_center {
|
||||
#jsxc_dialog p input {
|
||||
margin-bottom: 5px;
|
||||
width: 60%;
|
||||
outline: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#jsxc_dialog p input[type="submit"] {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
#jsxc_dialog p label {
|
||||
@@ -63,7 +71,44 @@ p.jsxc_center {
|
||||
}
|
||||
|
||||
#jsxc_dialog p.jsxc_maxWidth {
|
||||
max-width: 500px;
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
#jsxc_dialog fieldset {
|
||||
border: 2px solid #ccc;
|
||||
}
|
||||
|
||||
#jsxc_dialog legend {
|
||||
padding: 0px 10px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#jsxc_dialog input {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#jsxc_dialog input:invalid {
|
||||
border:1px solid red;
|
||||
}
|
||||
|
||||
#jsxc_dialog .jsxc_fieldset {
|
||||
width: 280px;
|
||||
padding: 10px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
#jsxc_dialog .jsxc_fieldset label {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
#jsxc_dialog .jsxc_fieldset input[type="Number"] {
|
||||
display: inline-block;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
#jsxc_dialog input[readonly] {
|
||||
background-color: #efefef;
|
||||
}
|
||||
|
||||
/*############################
|
||||
@@ -76,8 +121,11 @@ li .jsxc_name {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
li .jsxc_name:hover {
|
||||
color: #FAFAFA;
|
||||
}
|
||||
|
||||
.jsxc_avatar, ul#jsxc_buddylist li:hover .jsxc_avatar {
|
||||
.jsxc_avatar,ul#jsxc_buddylist li:hover .jsxc_avatar {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
line-height: 25px;
|
||||
@@ -118,6 +166,7 @@ div#jsxc_roster {
|
||||
z-index: 80;
|
||||
margin-left: 10px;
|
||||
box-shadow: 0px 0px 7px #000000;
|
||||
background-color: #383C43;
|
||||
}
|
||||
|
||||
div#jsxc_roster .slimScrollDiv {
|
||||
@@ -150,10 +199,11 @@ div#jsxc_roster .jsxc_wait h3 {
|
||||
/** Input field for alias renaming */
|
||||
#jsxc_roster input {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 31px;
|
||||
top: 2px;
|
||||
width: 157px;
|
||||
height: 22px;
|
||||
height: 18px;
|
||||
margin-top: -11px;
|
||||
padding: 2px;
|
||||
border: 0px;
|
||||
background-image: none;
|
||||
@@ -162,11 +212,22 @@ div#jsxc_roster .jsxc_wait h3 {
|
||||
-moz-box-shadow: inset 0 0 5px #888;
|
||||
-webkit-box-shadow: inset 0 0 5px #888;
|
||||
box-shadow: inner 0 0 5px #888;
|
||||
outline: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#jsxc_roster .jsxc_expand input {
|
||||
left: 51px;
|
||||
width: 137px;
|
||||
}
|
||||
|
||||
div#jsxc_roster p {
|
||||
color: #939393;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
div#jsxc_roster p a {
|
||||
color: #b1b1b1;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
div#jsxc_roster>.jsxc_bottom {
|
||||
@@ -219,7 +280,7 @@ div#jsxc_roster>.jsxc_bottom li {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div#jsxc_roster>.jsxc_bottom li:hover:not(.jsxc_disabled) {
|
||||
div#jsxc_roster>.jsxc_bottom li:hover:not(.jsxc_disabled ) {
|
||||
color: #fff;
|
||||
background-color: #3F8FBA;
|
||||
}
|
||||
@@ -238,6 +299,7 @@ div#jsxc_roster>.jsxc_bottom ul li:last-child {
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
/** own avatar */
|
||||
#jsxc_avatar {
|
||||
float: left;
|
||||
margin: 0px 2px;
|
||||
@@ -311,61 +373,150 @@ ul#jsxc_buddylist li {
|
||||
line-height: 30px;
|
||||
padding-left: 3px;
|
||||
z-index: 85;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist .jsxc_name {
|
||||
padding-right: 30px;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist li.jsxc_expand {
|
||||
height: 54px;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist li.jsxc_expand .jsxc_avatar, ul#jsxc_buddylist li.jsxc_expand .jsxc_avatar img {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
}
|
||||
|
||||
#jsxc_buddylist .jsxc_control {
|
||||
position:absolute;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#jsxc_buddylist .jsxc_control:after {
|
||||
content: '▾';
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 15px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
text-align: center;
|
||||
margin-left: -8px;
|
||||
margin-top: -8px;
|
||||
border-radius: 8px;
|
||||
color: #c1c1c1;
|
||||
background-color: rgba(150, 150, 150, 0.5);
|
||||
opacity: 0.6;
|
||||
-webkit-transition: -webkit-transform 0.5s;
|
||||
transition: transform 0.5s;
|
||||
}
|
||||
|
||||
#jsxc_buddylist .jsxc_control:hover:after {
|
||||
color: #fff;
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
#jsxc_buddylist li.jsxc_expand .jsxc_control:after {
|
||||
/* content: '▴'; */
|
||||
-ms-transform:rotate(180deg); /* IE 9 */
|
||||
-webkit-transform:rotate(180deg);
|
||||
transform:rotate(180deg);
|
||||
}
|
||||
|
||||
#jsxc_buddylist .jsxc_options {
|
||||
height: 20px;
|
||||
float: left;
|
||||
border-radius:2px;
|
||||
background-color: rgba(150, 150, 150, 0.5);
|
||||
}
|
||||
#jsxc_buddylist .jsxc_options > div {
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
float: left;
|
||||
margin-right:0px 1px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
opacity: 0.6;
|
||||
cursor: pointer;
|
||||
}
|
||||
#jsxc_buddylist .jsxc_options > div:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
#jsxc_buddylist .jsxc_chaticon {
|
||||
background-image: url('img/speech_balloon_white.svg');
|
||||
background-size: 15px 15px;
|
||||
}
|
||||
#jsxc_buddylist .jsxc_videoicon {
|
||||
background-image: url('img/camera_icon_white.svg');
|
||||
background-size: 13px 13px;
|
||||
}
|
||||
#jsxc_buddylist .jsxc_vcardicon {
|
||||
font-size: 15px;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
font-family: serif;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist li:hover {
|
||||
color: #FAFAFA;
|
||||
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist li.jsxc_oneway {
|
||||
ul#jsxc_buddylist .jsxc_oneway {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist .jsxc_options {
|
||||
height: 30px;
|
||||
.jsxc_oneway .jsxc_avatar {
|
||||
-webkit-filter: grayscale(100%);
|
||||
-moz-filter: grayscale(100%);
|
||||
-ms-filter: grayscale(100%);
|
||||
-o-filter: grayscale(100%);
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
ul#jsxc_buddylist .jsxc_right {
|
||||
float:left;
|
||||
}
|
||||
ul#jsxc_buddylist .jsxc_right {
|
||||
float: right;
|
||||
overflow: hidden;
|
||||
transition: width 2s;
|
||||
width: 0px;
|
||||
-webkit-transition: width .5s; /* Safari */
|
||||
white-space: nowrap;
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist .jsxc_options div {
|
||||
line-height: 30px;
|
||||
height: 30px;
|
||||
width: 20px;
|
||||
cursor: pointer;
|
||||
opacity: 0.7;
|
||||
display: inline-block;
|
||||
ul#jsxc_buddylist .jsxc_right div {
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
font-size: 17px;
|
||||
overflow: hidden;
|
||||
font-size: 13px;
|
||||
line-height: 20px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist li[data-type="chat"]:hover .jsxc_options {
|
||||
width: 50px;
|
||||
ul#jsxc_buddylist li[data-type!="chat"] .jsxc_right {
|
||||
display: none;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist .jsxc_options div:hover {
|
||||
ul#jsxc_buddylist .jsxc_right div:hover {
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist .jsxc_rename {
|
||||
/* background-image: url('../img/edit.png'); */
|
||||
/* background-repeat: no-repeat; */
|
||||
/* background-position: center center; */
|
||||
/* background-size: 15px 15px; */
|
||||
transform: scaleX(-1);
|
||||
|
||||
}
|
||||
|
||||
ul#jsxc_buddylist .jsxc_delete {
|
||||
/* text-transform: lowercase; */
|
||||
/* font-weight: bold; */
|
||||
/* vertical-align: middle; */
|
||||
/* font-size: 17px; */
|
||||
|
||||
|
||||
}
|
||||
|
||||
#jsxc_roster .jsxc_avatar {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
#jsxc_roster .jsxc_avatar img {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div#jsxc_toggleRoster {
|
||||
@@ -409,29 +560,32 @@ div#jsxc_windowList>ul>li {
|
||||
margin: 0px;
|
||||
display: block;
|
||||
float: right;
|
||||
width: 200px;
|
||||
width: 250px;
|
||||
background-color: #282323;
|
||||
height: 30px;
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
margin-right: 5px;
|
||||
box-shadow: 0px 0px 5px #000;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div#jsxc_windowList>ul>li.jsxc_min {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
/*############################
|
||||
*######### Window ###########
|
||||
*############################*/
|
||||
div.jsxc_bar {
|
||||
background-color: #282323;
|
||||
cursor: pointer;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
margin-left: 2px;
|
||||
line-height: 26px;
|
||||
padding: 2px;
|
||||
color: #939393;
|
||||
}
|
||||
|
||||
div.jsxc_bar:hover {
|
||||
color: #FAFAFA;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div.jsxc_cycle {
|
||||
@@ -453,64 +607,135 @@ div#jsxc_windowList>ul>li.jsxc_unreadMsg .jsxc_cycle {
|
||||
|
||||
/** Contains text area */
|
||||
div.jsxc_window {
|
||||
display: none;
|
||||
width: 200px;
|
||||
height: 255px;
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
height: auto;
|
||||
background-color: #A4A4A4;
|
||||
box-shadow: 0px 0px 5px #000;
|
||||
z-index: 80;
|
||||
cursor: default;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_tools {
|
||||
div.jsxc_window .jsxc_emoticons {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
position: absolute;
|
||||
top: 240px;
|
||||
right: 0px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons:after {
|
||||
content: ' ';
|
||||
background-image: url('img/smiley.png');
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
opacity: 0.3;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 200px;
|
||||
height: 23px;
|
||||
background-color: #282323;
|
||||
box-shadow: 0px 5px 5px -5px #000;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons:hover:after {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons ul {
|
||||
display: none;
|
||||
position: absolute;
|
||||
bottom: 33px;
|
||||
right: 3px;
|
||||
width: 210px;
|
||||
background-color: rgba(40, 35, 35, 0.8);
|
||||
padding: 3px;
|
||||
border-radius: 3px;
|
||||
z-index: 200;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons ul:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
border-left: 5px solid transparent;
|
||||
border-right: 5px solid transparent;
|
||||
border-top: 6px solid rgba(40, 35, 35, 0.8);
|
||||
display: block;
|
||||
width: 0;
|
||||
z-index: 1;
|
||||
right: 6px;
|
||||
bottom: -6px;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons li {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons img {
|
||||
cursor: pointer;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_emoticons img:hover {
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
|
||||
/** groups elements, which will be hidden, if the window is minimized. */
|
||||
.jsxc_window .jsxc_fade {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.jsxc_window .jsxc_gradient {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
height: 15px;
|
||||
z-index: 100;
|
||||
background: -moz-linear-gradient(top, rgba(164, 164, 164, 1) 0%,
|
||||
rgba(40, 35, 35, 0) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(164,
|
||||
164, 164, 1)), color-stop(100%, rgba(40, 35, 35, 0)));
|
||||
/* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, rgba(164, 164, 164, 1) 0%,
|
||||
rgba(40, 35, 35, 0) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, rgba(164, 164, 164, 1) 0%,
|
||||
rgba(40, 35, 35, 0) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, rgba(164, 164, 164, 1) 0%,
|
||||
rgba(40, 35, 35, 0) 100%); /* IE10+ */
|
||||
background: linear-gradient(to bottom, #a4a4a4 0%, rgba(40, 35, 35, 0)
|
||||
100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a4a4a4',
|
||||
endColorstr='#00282323', GradientType=0); /* IE6-9 */
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_avatar {
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_textarea {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
div.jsxc_window .slimScrollDiv {
|
||||
position: absolute;
|
||||
top: 22px;
|
||||
left: 0px;
|
||||
margin: 0px 0px 6px 0px;
|
||||
}
|
||||
|
||||
div.jsxc_chatmessage,input.jsxc_chatmessage {
|
||||
margin: 5px;
|
||||
border-radius: 5px !important;
|
||||
padding: 3px;
|
||||
width: 157px;
|
||||
div.jsxc_chatmessage {
|
||||
margin: 3px;
|
||||
padding: 4px;
|
||||
padding-right: 10px;
|
||||
max-width: 76%;
|
||||
word-wrap: break-word;
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
div.jsxc_chatmessage.jsxc_received {
|
||||
|
||||
}
|
||||
|
||||
div.jsxc_chatmessage.jsxc_received:before {
|
||||
content: '✓';
|
||||
position: absolute;
|
||||
bottom: 2px;
|
||||
left: 4px;
|
||||
font-size: 10px;
|
||||
line-height: 10px;
|
||||
color: green;
|
||||
outline: none;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
div.jsxc_chatmessage a {
|
||||
@@ -524,66 +749,131 @@ div.jsxc_chatmessage img {
|
||||
}
|
||||
|
||||
/** incoming message */
|
||||
div.jsxc_in,input.jsxc_in {
|
||||
text-align: left;
|
||||
margin-right: 30px;
|
||||
border: 1px solid blue;
|
||||
div.jsxc_in {
|
||||
float: left;
|
||||
position: relative;
|
||||
margin-left: 10px;
|
||||
background: #f1f7fd;
|
||||
border: solid 1px #a6b8c9;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
div.jsxc_in:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
border-style: solid;
|
||||
border-width: 5px 6px 5px 0;
|
||||
border-color: transparent #f1f7fd;
|
||||
display: block;
|
||||
width: 0;
|
||||
z-index: 1;
|
||||
left: -6px;
|
||||
bottom: 10px;
|
||||
}
|
||||
|
||||
div.jsxc_out.jsxc_received:before {
|
||||
content: '✓';
|
||||
position: absolute;
|
||||
bottom: 2px;
|
||||
right: 2px;
|
||||
font-size: 12px;
|
||||
line-height: 12px;
|
||||
color: green;
|
||||
}
|
||||
|
||||
/** outgoing message */
|
||||
div.jsxc_out,input.jsxc_out {
|
||||
text-align: right;
|
||||
margin-left: 30px;
|
||||
border: 1px solid green !important;
|
||||
div.jsxc_out {
|
||||
float: right;
|
||||
position: relative;
|
||||
margin-right: 10px;
|
||||
background: #e6ffd1;
|
||||
border: solid 1px #b4d89f;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
div.jsxc_out:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
border-style: solid;
|
||||
border-width: 5px 0 5px 6px;
|
||||
border-color: transparent #e6ffd1;
|
||||
display: block;
|
||||
width: 0;
|
||||
z-index: 1;
|
||||
right: -6px;
|
||||
bottom: 10px;
|
||||
}
|
||||
|
||||
/** system message */
|
||||
div.jsxc_sys {
|
||||
width: 182px;
|
||||
border: 1px solid black;
|
||||
width: auto;
|
||||
max-width: none;
|
||||
padding-right: 4px;
|
||||
box-sizing: border-box;
|
||||
margin-right: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.jsxc_window input.jsxc_textinput {
|
||||
position: absolute;
|
||||
top: 226px;
|
||||
left: 30px;
|
||||
width: 157px;
|
||||
height: 16px;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
margin: 0px;
|
||||
line-height: 16px;
|
||||
outline:none;
|
||||
}
|
||||
|
||||
.jsxc_window .jsxc_close {
|
||||
text-transform: uppercase;
|
||||
color: #939393;
|
||||
font-family: Arial;
|
||||
font-weight: bold;
|
||||
line-height: 17px;
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
padding: 3px;
|
||||
padding-right: 40px;
|
||||
outline: none;
|
||||
border-radius: 0px;
|
||||
box-sizing: border-box;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.jsxc_window .jsxc_close:hover {
|
||||
color: #FAFAFA;
|
||||
.jsxc_window ::-webkit-input-placeholder {
|
||||
color: #000;
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.jsxc_window ::-moz-placeholder {
|
||||
color: #000;
|
||||
opacity: 0.3;
|
||||
} /* firefox 19+ */
|
||||
.jsxc_window :-ms-input-placeholder {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
} /* ie */
|
||||
.jsxc_window input:-moz-placeholder {
|
||||
color: #000;
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_tools {
|
||||
height: 26px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.jsxc_min .jsxc_tools {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.jsxc_window .jsxc_tools > div {
|
||||
width: 17px;
|
||||
height: 26px;
|
||||
display: block;
|
||||
float: left;
|
||||
color: #939393;
|
||||
font-family: Arial;
|
||||
line-height: 26px;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.jsxc_settings {
|
||||
color: #939393;
|
||||
font-family: Arial;
|
||||
line-height: 17px;
|
||||
cursor: pointer;
|
||||
background-image: url('img/gear_grey.svg');
|
||||
background-size: 15px 15px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
display: block;
|
||||
float: left;
|
||||
overflow: visible;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
div.jsxc_settings:hover,div.jsxc_settings.hover {
|
||||
@@ -595,10 +885,10 @@ div.jsxc_settings ul {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
position: absolute;
|
||||
top: 23px;
|
||||
top: 30px;
|
||||
left: 0px;
|
||||
box-shadow: 0px 5px 5px -5px #000;
|
||||
z-index: 90;
|
||||
z-index: 110;
|
||||
overflow: visible;
|
||||
background-color: #282323;
|
||||
display: none;
|
||||
@@ -610,13 +900,14 @@ div.jsxc_settings li {
|
||||
padding-left: 10px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.jsxc_settings li:first-child {
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
div.jsxc_settings li:hover:not(.jsxc_disabled){
|
||||
div.jsxc_settings li:hover:not(.jsxc_disabled ){
|
||||
color: #fff;
|
||||
background-color: #3F8FBA;
|
||||
}
|
||||
@@ -627,15 +918,14 @@ div.jsxc_settings li.jsxc_disabled {
|
||||
}
|
||||
|
||||
div.jsxc_transfer {
|
||||
padding: 3px;
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
background-image: url('img/padlock_open_grey.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-size: 15px 15px;
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
background-size: 12px 12px;
|
||||
}
|
||||
|
||||
div.jsxc_transfer:hover {
|
||||
background-image: url('img/padlock_open_white.svg');
|
||||
}
|
||||
|
||||
div.jsxc_transfer.jsxc_fin {
|
||||
@@ -650,6 +940,39 @@ div.jsxc_transfer.jsxc_enc.jsxc_trust {
|
||||
background-image: url('img/padlock_close_green.svg');
|
||||
}
|
||||
|
||||
#colorbox, #cboxWrapper {
|
||||
outline: none;
|
||||
.jsxc_window .jsxc_close {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.jsxc_window .jsxc_close:hover {
|
||||
color: #FAFAFA;
|
||||
}
|
||||
|
||||
#colorbox,#cboxWrapper {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/*############################
|
||||
*######### Other ############
|
||||
*############################*/
|
||||
ul.jsxc_vCard {
|
||||
min-width: 400px;
|
||||
}
|
||||
|
||||
ul.jsxc_vCard ul {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
ul.jsxc_vCard li {
|
||||
cursor: default !important;
|
||||
}
|
||||
|
||||
ul.jsxc_vCard strong {
|
||||
|
||||
}
|
||||
|
||||
img.jsxc_vCard {
|
||||
float: right;
|
||||
max-width: 200px;
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
@@ -160,6 +160,32 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Add "video" button to roster
|
||||
*
|
||||
* @private
|
||||
* @memberOf jsxc.webrtc
|
||||
* @param event
|
||||
* @param cid cid of roster item
|
||||
* @param data data wich belongs to cid
|
||||
* @param el the roster item
|
||||
*/
|
||||
onAddRosterItem: function(event, cid, data, el) {
|
||||
var self = jsxc.webrtc;
|
||||
var videoIcon = $('<div class="jsxc_video jsxc_disabled" title="' + jsxc.l.Start_video_call + '"></div>');
|
||||
|
||||
videoIcon.click(function() {
|
||||
self.startCall(data.jid);
|
||||
return false;
|
||||
});
|
||||
|
||||
el.find('.jsxc_options.jsxc_left').append(videoIcon);
|
||||
|
||||
el.on('extra.jsxc', function() {
|
||||
self.updateIcon(cid);
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Add "video" button to window menu.
|
||||
*
|
||||
@@ -181,27 +207,26 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
var div = $('<div>').addClass('jsxc_video');
|
||||
win.find('.jsxc_transfer:eq(1)').after(div);
|
||||
|
||||
self.updateWindow(win);
|
||||
self.updateIcon(jsxc.jidToCid(win.data('jid')));
|
||||
},
|
||||
|
||||
/**
|
||||
* Enable or disable "video" button and assign full jid.
|
||||
* Enable or disable "video" icon and assign full jid.
|
||||
*
|
||||
* @memberOf jsxc.webrtc
|
||||
* @param win jQuery window object
|
||||
* @param cid CSS conform jid
|
||||
*/
|
||||
updateWindow: function(win) {
|
||||
if (!win || win.length === 0) {
|
||||
return;
|
||||
}
|
||||
updateIcon: function(cid) {
|
||||
|
||||
var self = jsxc.webrtc;
|
||||
var jid = win.data('jid');
|
||||
var li = win.find('.jsxc_video');
|
||||
var win = jsxc.gui.getWindow(cid);
|
||||
var jid = win.data('jid') || jsxc.storage.getUserItem('buddy_' + cid).jid;
|
||||
|
||||
var el = win.find('.jsxc_video').add('#' + cid + ' .jsxc_video');
|
||||
|
||||
// only start video call to a full jid
|
||||
if (Strophe.getResourceFromJid(jid) === null) {
|
||||
var cid = jsxc.jidToCid(jid);
|
||||
|
||||
var res = jsxc.storage.getUserItem('buddy_' + cid).res;
|
||||
|
||||
if (Array.isArray(res) && res.length === 1) {
|
||||
@@ -209,19 +234,19 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
}
|
||||
}
|
||||
|
||||
li.off('click');
|
||||
el.off('click');
|
||||
|
||||
if (self.conn.caps.hasFeatureByJid(jid, self.reqVideoFeatures)) {
|
||||
li.click(function() {
|
||||
el.click(function() {
|
||||
self.startCall(jid);
|
||||
});
|
||||
li.removeClass('jsxc_disabled');
|
||||
el.removeClass('jsxc_disabled');
|
||||
|
||||
li.attr('title', jsxc.translate('%%Start video call%%'));
|
||||
el.attr('title', jsxc.translate('%%Start video call%%'));
|
||||
} else {
|
||||
li.addClass('jsxc_disabled');
|
||||
el.addClass('jsxc_disabled');
|
||||
|
||||
li.attr('title', jsxc.translate('%%Video call not possible.%%'));
|
||||
el.attr('title', jsxc.translate('%%Video call not possible.%%'));
|
||||
}
|
||||
},
|
||||
|
||||
@@ -238,7 +263,7 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
var bJid = Strophe.getBareJidFromJid(from);
|
||||
|
||||
if (self.chatJids[bJid] !== from) {
|
||||
self.updateWindow(jsxc.gui.getWindow(jsxc.jidToCid(bJid)));
|
||||
self.updateIcon(jsxc.jidToCid(bJid));
|
||||
self.chatJids[bJid] = from;
|
||||
}
|
||||
},
|
||||
@@ -300,11 +325,8 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
*/
|
||||
onCaps: function(event, jid) {
|
||||
var self = jsxc.webrtc;
|
||||
var win = jsxc.gui.getWindow(jsxc.jidToCid(jid));
|
||||
|
||||
if (win.length > 0) {
|
||||
self.updateWindow(win);
|
||||
}
|
||||
self.updateIcon(jsxc.jidToCid(jid));
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -787,13 +809,14 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
if (RTC !== null) {
|
||||
RTCPeerconnection = RTC.peerconnection;
|
||||
|
||||
$(document).on('add.roster.jsxc', jsxc.webrtc.onAddRosterItem);
|
||||
$(document).on('init.window.jsxc', jsxc.webrtc.initWindow);
|
||||
$(document).on('attached.jsxc', jsxc.webrtc.init);
|
||||
}
|
||||
});
|
||||
|
||||
$.extend(jsxc.l10n.en, {
|
||||
Please_allow_access_to_microphone_and_camera: 'Please allow access to microphone and camera.',
|
||||
Please_allow_access_to_microphone_and_camera: 'Please click the "Allow" button at the top, to allow access to microphone and camera.',
|
||||
Incoming_call: 'Incoming call',
|
||||
from: 'from',
|
||||
Do_you_want_to_accept_the_call_from: 'Do you want to accept the call from',
|
||||
@@ -814,7 +837,7 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
});
|
||||
|
||||
$.extend(jsxc.l10n.de, {
|
||||
Please_allow_access_to_microphone_and_camera: 'Bitte erlaube den Zugriff auf Kamera und Mikrofon.',
|
||||
Please_allow_access_to_microphone_and_camera: 'Bitte klick auf den "Zulassen" Button oben, um den Zugriff auf Kamera und Mikrofon zu erlauben.',
|
||||
Incoming_call: 'Eingehender Anruf',
|
||||
from: 'von',
|
||||
Do_you_want_to_accept_the_call_from: 'Möchtest Du den Anruf annehmen von',
|
||||
@@ -833,4 +856,25 @@ jsxc.gui.template.videoWindow = '<div class="jsxc_webrtc">\
|
||||
Video_call_not_possible: 'Videoanruf nicht verfügbar',
|
||||
Start_video_call: 'Starte Videoanruf'
|
||||
});
|
||||
|
||||
$.extend(jsxc.l10n.es, {
|
||||
Please_allow_access_to_microphone_and_camera: 'Por favor, permitir el acceso al micrófono y la cámara.',
|
||||
Incoming_call: 'Llamada entrante',
|
||||
from: 'de',
|
||||
Do_you_want_to_accept_the_call_from: 'Desea aceptar la llamada de',
|
||||
Reject: 'Rechazar',
|
||||
Accept: 'Aceptar',
|
||||
hang_up: 'colgar',
|
||||
snapshot: 'instantánea',
|
||||
mute_my_audio: 'silenciar mi audio',
|
||||
pause_my_video: 'pausar mi vídeo',
|
||||
fullscreen: 'pantalla completa',
|
||||
Info: 'Info',
|
||||
Local_IP: 'IP local',
|
||||
Remote_IP: 'IP remota',
|
||||
Local_Fingerprint: 'Firma digital local',
|
||||
Remote_Fingerprint: 'Firma digital remota',
|
||||
Video_call_not_possible: 'Llamada de vídeo no es posible',
|
||||
Start_video_call: 'Iniciar llamada de vídeo'
|
||||
});
|
||||
}(jQuery));
|
||||
|
||||
@@ -115,17 +115,17 @@ div:fullscreen.jsxc_localvideo {
|
||||
|
||||
.jsxc_chatarea {
|
||||
position: relative;
|
||||
height: 255px;
|
||||
height: 270px;
|
||||
display: none;
|
||||
background-color: #A4A4A4;
|
||||
}
|
||||
|
||||
.jsxc_chatarea ul {
|
||||
.jsxc_chatarea > ul {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 0px;
|
||||
width: 200px;
|
||||
height: 255px;
|
||||
width: 250px;
|
||||
height: 270px;
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
margin: 0px 0px 0px -100px;
|
||||
@@ -153,18 +153,21 @@ div:fullscreen.jsxc_localvideo {
|
||||
}
|
||||
|
||||
div.jsxc_video {
|
||||
padding: 3px;
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
background-image: url('img/camera_icon_grey.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-size: 15px 15px;
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
}
|
||||
|
||||
div.jsxc_video:not(.jsxc_disabled):hover, #jsxc_buddylist .jsxc_options .jsxc_video {
|
||||
background-image: url('img/camera_icon_white.svg');
|
||||
}
|
||||
|
||||
div.jsxc_video.jsxc_disabled {
|
||||
opacity: 0.5;
|
||||
cursor: default;
|
||||
cursor: default !important;
|
||||
}
|
||||
|
||||
#jsxc_buddylist .jsxc_options .jsxc_video.jsxc_disabled {
|
||||
opacity: 0.2;
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
/* Remove close button from firstrunwizard */
|
||||
#closeWizard {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/*
|
||||
Colorbox Core Style:
|
||||
The following CSS is consistent between example themes and should not be altered.
|
||||
*/
|
||||
#colorbox,#cboxOverlay,#cboxWrapper {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 9999;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#cboxWrapper {
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
#cboxOverlay {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#cboxMiddleLeft,#cboxBottomLeft {
|
||||
clear: left;
|
||||
}
|
||||
|
||||
#cboxContent {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#cboxLoadedContent {
|
||||
overflow: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
#cboxTitle {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#cboxLoadingOverlay,#cboxLoadingGraphic {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.cboxPhoto {
|
||||
float: left;
|
||||
margin: auto;
|
||||
border: 0;
|
||||
display: block;
|
||||
max-width: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
.cboxIframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
#colorbox,#cboxContent,#cboxLoadedContent {
|
||||
box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
-webkit-box-sizing: content-box;
|
||||
}
|
||||
|
||||
/*
|
||||
User Style:
|
||||
Change the following styles to modify the appearance of Colorbox. They are
|
||||
ordered & tabbed in a way that represents the nesting of the generated HTML.
|
||||
*/
|
||||
#cboxOverlay {
|
||||
background: #000;
|
||||
}
|
||||
|
||||
#colorbox {
|
||||
|
||||
}
|
||||
|
||||
#cboxContent {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.cboxIframe {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
#cboxError {
|
||||
padding: 50px;
|
||||
border: 0px solid #ccc;
|
||||
}
|
||||
|
||||
#cboxLoadedContent {
|
||||
border: 0px solid #555;
|
||||
background: #fff;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#cboxTitle {
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
left: 0;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
#cboxCurrent {
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
right: 0px;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
#cboxSlideshow {
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
right: 90px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#cboxPrevious:hover {
|
||||
background-position: bottom left;
|
||||
}
|
||||
|
||||
#cboxNext:hover {
|
||||
background-position: bottom right;
|
||||
}
|
||||
|
||||
#cboxLoadingOverlay {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
#cboxClose {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: 5px;
|
||||
display: block;
|
||||
opacity: 0.5;
|
||||
width: 19px !important;
|
||||
height: 19px;
|
||||
border: 0px;
|
||||
text-indent: -9999px;
|
||||
background-color: #fff;
|
||||
}
|
||||
#cboxClose:before {
|
||||
content: '×';
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
display: block;
|
||||
width: 19px;
|
||||
height: 19px;
|
||||
opacity: 0.5;
|
||||
text-indent: 0;
|
||||
text-align: center;
|
||||
line-height: 19px;
|
||||
font-size: 19px;
|
||||
}
|
||||
|
||||
#cboxClose:before:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#cboxClose:hover {
|
||||
background-position: right center !important;
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
/*
|
||||
The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
|
||||
when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
|
||||
See: http://jacklmoore.com/notes/ie-transparency-problems/
|
||||
*/
|
||||
.cboxIE #cboxTopLeft,.cboxIE #cboxTopCenter,.cboxIE #cboxTopRight,.cboxIE #cboxBottomLeft,.cboxIE #cboxBottomCenter,.cboxIE #cboxBottomRight,.cboxIE #cboxMiddleLeft,.cboxIE #cboxMiddleRight
|
||||
{
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,
|
||||
endColorstr=#00FFFFFF);
|
||||
}
|
||||
@@ -0,0 +1,241 @@
|
||||
/* basic scrollbar styling */
|
||||
/* vertical scrollbar */
|
||||
.mCSB_container {
|
||||
width: auto;
|
||||
margin-right: 30px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.mCSB_container.mCS_no_scrollbar {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.mCS_disabled .mCSB_container.mCS_no_scrollbar,.mCS_destroyed .mCSB_container.mCS_no_scrollbar
|
||||
{
|
||||
margin-right: 30px;
|
||||
}
|
||||
|
||||
.mCustomScrollBox .mCSB_scrollTools {
|
||||
width: 16px;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_draggerContainer {
|
||||
height: 100%;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_buttonUp+.mCSB_draggerContainer {
|
||||
padding-bottom: 40px;
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_draggerRail {
|
||||
width: 2px;
|
||||
height: 100%;
|
||||
margin: 0 auto;
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_dragger {
|
||||
cursor: pointer;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
|
||||
width: 4px;
|
||||
height: 100%;
|
||||
margin: 0 auto;
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown {
|
||||
height: 20px;
|
||||
overflow: hidden;
|
||||
margin: 0 auto;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_buttonDown {
|
||||
bottom: 0;
|
||||
margin-top: -40px;
|
||||
}
|
||||
/* horizontal scrollbar */
|
||||
.mCSB_horizontal .mCSB_container {
|
||||
height: auto;
|
||||
margin-right: 0;
|
||||
margin-bottom: 30px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.mCSB_horizontal .mCSB_container.mCS_no_scrollbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.mCS_disabled .mCSB_horizontal .mCSB_container.mCS_no_scrollbar,.mCS_destroyed .mCSB_horizontal .mCSB_container.mCS_no_scrollbar
|
||||
{
|
||||
margin-right: 0;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.mCSB_horizontal.mCustomScrollBox .mCSB_scrollTools {
|
||||
width: 100%;
|
||||
height: 16px;
|
||||
top: auto;
|
||||
right: auto;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.mCSB_horizontal .mCSB_scrollTools .mCSB_draggerContainer {
|
||||
height: 100%;
|
||||
width: auto;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.mCSB_horizontal .mCSB_scrollTools .mCSB_buttonLeft+.mCSB_draggerContainer
|
||||
{
|
||||
padding-bottom: 0;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.mCSB_horizontal .mCSB_scrollTools .mCSB_draggerRail {
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
margin: 7px 0;
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.mCSB_horizontal .mCSB_scrollTools .mCSB_dragger {
|
||||
width: 30px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.mCSB_horizontal .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
|
||||
width: 100%;
|
||||
height: 4px;
|
||||
margin: 6px auto;
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.mCSB_horizontal .mCSB_scrollTools .mCSB_buttonLeft,.mCSB_horizontal .mCSB_scrollTools .mCSB_buttonRight
|
||||
{
|
||||
width: 20px;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
margin: 0 auto;
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.mCSB_horizontal .mCSB_scrollTools .mCSB_buttonRight {
|
||||
right: 0;
|
||||
bottom: auto;
|
||||
margin-left: -40px;
|
||||
margin-top: -16px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
/* default scrollbar colors and backgrounds */
|
||||
.mCustomScrollBox .mCSB_scrollTools {
|
||||
opacity: 0.75;
|
||||
}
|
||||
|
||||
.mCustomScrollBox:hover .mCSB_scrollTools {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_draggerRail {
|
||||
background: #000; /* rgba fallback */
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
filter: "alpha(opacity=40)";
|
||||
-ms-filter: "alpha(opacity=40)"; /* old ie */
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
|
||||
background: #fff; /* rgba fallback */
|
||||
background: rgba(255, 255, 255, 0.75);
|
||||
filter: "alpha(opacity=75)";
|
||||
-ms-filter: "alpha(opacity=75)"; /* old ie */
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
|
||||
background: rgba(255, 255, 255, 0.85);
|
||||
filter: "alpha(opacity=85)";
|
||||
-ms-filter: "alpha(opacity=85)"; /* old ie */
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar
|
||||
{
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
filter: "alpha(opacity=90)";
|
||||
-ms-filter: "alpha(opacity=90)"; /* old ie */
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight
|
||||
{
|
||||
background-image: url(mCSB_buttons.png);
|
||||
background-repeat: no-repeat;
|
||||
opacity: 0.4;
|
||||
filter: "alpha(opacity=40)";
|
||||
-ms-filter: "alpha(opacity=40)"; /* old ie */
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_buttonUp {
|
||||
background-position: 0 0;
|
||||
/*
|
||||
sprites locations are 0 0/-16px 0/-32px 0/-48px 0 (light) and -80px 0/-96px 0/-112px 0/-128px 0 (dark)
|
||||
*/
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_buttonDown {
|
||||
background-position: 0 -20px;
|
||||
/*
|
||||
sprites locations are 0 -20px/-16px -20px/-32px -20px/-48px -20px (light) and -80px -20px/-96px -20px/-112px -20px/-128px -20px (dark)
|
||||
*/
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_buttonLeft {
|
||||
background-position: 0 -40px;
|
||||
/*
|
||||
sprites locations are 0 -40px/-20px -40px/-40px -40px/-60px -40px (light) and -80px -40px/-100px -40px/-120px -40px/-140px -40px (dark)
|
||||
*/
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_buttonRight {
|
||||
background-position: 0 -56px;
|
||||
/*
|
||||
sprites locations are 0 -56px/-20px -56px/-40px -56px/-60px -56px (light) and -80px -56px/-100px -56px/-120px -56px/-140px -56px (dark)
|
||||
*/
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_buttonUp:hover,.mCSB_scrollTools .mCSB_buttonDown:hover,.mCSB_scrollTools .mCSB_buttonLeft:hover,.mCSB_scrollTools .mCSB_buttonRight:hover
|
||||
{
|
||||
opacity: 0.75;
|
||||
filter: "alpha(opacity=75)";
|
||||
-ms-filter: "alpha(opacity=75)"; /* old ie */
|
||||
}
|
||||
|
||||
.mCSB_scrollTools .mCSB_buttonUp:active,.mCSB_scrollTools .mCSB_buttonDown:active,.mCSB_scrollTools .mCSB_buttonLeft:active,.mCSB_scrollTools .mCSB_buttonRight:active
|
||||
{
|
||||
opacity: 0.9;
|
||||
filter: "alpha(opacity=90)";
|
||||
-ms-filter: "alpha(opacity=90)"; /* old ie */
|
||||
}
|
||||
@@ -1,22 +1,23 @@
|
||||
{
|
||||
"name": "jsxc",
|
||||
"version": "0.7.2",
|
||||
"description": "Real-time chat app",
|
||||
"homepage": "http://www.jsxc.org/",
|
||||
"bugs": "https://github.com/sualko/jsxc/issues",
|
||||
"license": "MIT",
|
||||
"author": "Klaus Herberth <klaus@jsxc.org>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sualko/jsxc"
|
||||
},
|
||||
"devDependencies": {
|
||||
"grunt": "~0.4.4",
|
||||
"grunt-cli": "~0.1.13",
|
||||
"grunt-contrib-clean": "~0.5.0",
|
||||
"grunt-contrib-jshint": "~0.9.2",
|
||||
"grunt-contrib-copy": "~0.5.0",
|
||||
"grunt-banner": "~0.2.2",
|
||||
"grunt-text-replace": "~0.3.11"
|
||||
}
|
||||
"name": "jsxc",
|
||||
"version": "0.8.2",
|
||||
"description": "Real-time chat app",
|
||||
"homepage": "http://www.jsxc.org/",
|
||||
"bugs": "https://github.com/sualko/jsxc/issues",
|
||||
"license": "MIT",
|
||||
"author": "Klaus Herberth <klaus@jsxc.org>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sualko/jsxc"
|
||||
},
|
||||
"devDependencies": {
|
||||
"grunt": "~0.4.4",
|
||||
"grunt-banner": "~0.2.2",
|
||||
"grunt-cli": "~0.1.13",
|
||||
"grunt-contrib-clean": "~0.5.0",
|
||||
"grunt-contrib-copy": "~0.5.0",
|
||||
"grunt-contrib-jshint": "~0.9.2",
|
||||
"grunt-search": "^0.1.6",
|
||||
"grunt-text-replace": "~0.3.11"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
Rotary-Phone6.mp3
|
||||
===
|
||||
Creator: David English
|
||||
Source: http://www.beepzoid.com/old-phones/
|
||||
License: unknown
|
||||
|
||||
Ping1.mp3
|
||||
===
|
||||
Creator: CameronMusic
|
||||
Source: https://soundcloud.com/freefilmandgamemusic/ping-1?in=freefilmandgamemusic/sets/free-notification-sounds-and
|
||||
License: cc 3.0, http://creativecommons.org/licenses/by/3.0/
|
||||