- Add Tunnel support if available.
- Add tunnel special options for developer. - Use of CPP for linphone enums to string. - Replace let colors with better quality. - Fix developer settings view.
|
|
@ -189,6 +189,10 @@ set(SOURCES
|
|||
src/components/timeline/TimelineModel.cpp
|
||||
src/components/timeline/TimelineListModel.cpp
|
||||
src/components/timeline/TimelineProxyModel.cpp
|
||||
src/components/tunnel/TunnelModel.cpp
|
||||
src/components/tunnel/TunnelConfigModel.cpp
|
||||
src/components/tunnel/TunnelConfigListModel.cpp
|
||||
src/components/tunnel/TunnelConfigProxyModel.cpp
|
||||
src/components/url-handlers/UrlHandlers.cpp
|
||||
src/utils/Constants.cpp
|
||||
src/utils/LinphoneEnums.cpp
|
||||
|
|
@ -291,6 +295,10 @@ set(HEADERS
|
|||
src/components/timeline/TimelineModel.hpp
|
||||
src/components/timeline/TimelineListModel.hpp
|
||||
src/components/timeline/TimelineProxyModel.hpp
|
||||
src/components/tunnel/TunnelModel.hpp
|
||||
src/components/tunnel/TunnelConfigModel.hpp
|
||||
src/components/tunnel/TunnelConfigListModel.hpp
|
||||
src/components/tunnel/TunnelConfigProxyModel.hpp
|
||||
src/components/url-handlers/UrlHandlers.hpp
|
||||
src/utils/Constants.hpp
|
||||
src/utils/LinphoneEnums.hpp
|
||||
|
|
|
|||
|
|
@ -2,9 +2,8 @@
|
|||
<svg
|
||||
width="8"
|
||||
height="8"
|
||||
viewBox="0 0 8 8"
|
||||
version="1.1"
|
||||
id="svg16"
|
||||
id="svg8"
|
||||
sodipodi:docname="led_green.svg"
|
||||
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
|
|
@ -12,9 +11,9 @@
|
|||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs20" />
|
||||
id="defs12" />
|
||||
<sodipodi:namedview
|
||||
id="namedview18"
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
|
|
@ -26,36 +25,23 @@
|
|||
inkscape:cx="3.9948454"
|
||||
inkscape:cy="4"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1043"
|
||||
inkscape:window-height="1131"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg16" />
|
||||
inkscape:current-layer="g6" />
|
||||
<g
|
||||
fill="none"
|
||||
fill-rule="evenodd"
|
||||
id="g14">
|
||||
<g
|
||||
id="g12">
|
||||
<g
|
||||
id="g10">
|
||||
<g
|
||||
id="g8">
|
||||
<g
|
||||
id="g6">
|
||||
<path
|
||||
fill="#9ECD1D"
|
||||
d="M4 8C1.79 8 0 6.21 0 4c0-2.209 1.79-4 4-4 2.209 0 4 1.791 4 4 0 2.21-1.791 4-4 4z"
|
||||
transform="translate(-32.000000, -327.000000) translate(0.000000, 200.000000) translate(0.000000, 90.000000) translate(32.000000, 37.000000)"
|
||||
id="path2" />
|
||||
<path
|
||||
stroke="#FFF"
|
||||
d="M4 .5c.966 0 1.841.392 2.475 1.025C7.108 2.16 7.5 3.034 7.5 4c0 .967-.392 1.842-1.025 2.475C5.84 7.108 4.966 7.5 4 7.5c-.967 0-1.842-.392-2.475-1.025C.892 5.842.5 4.967.5 4c0-.966.392-1.842 1.025-2.475C2.158.892 3.033.5 4 .5z"
|
||||
transform="translate(-32.000000, -327.000000) translate(0.000000, 200.000000) translate(0.000000, 90.000000) translate(32.000000, 37.000000)"
|
||||
id="path4" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
id="g6">
|
||||
<path
|
||||
d="m 3.9893579,7.0334297 a 3.018311,3.0309466 0 1 1 0,-6.06189295 3.018311,3.0309466 0 0 1 0,6.06189295 z"
|
||||
fill="#9ecd1d"
|
||||
id="path2"
|
||||
style="stroke-width:0.756155" />
|
||||
<path
|
||||
d="M4 .5a3.49 3.49 0 0 1 2.475 1.025A3.489 3.489 0 0 1 7.5 4c0 .967-.392 1.842-1.025 2.475A3.49 3.49 0 0 1 4 7.5a3.489 3.489 0 0 1-2.475-1.025A3.49 3.49 0 0 1 .5 4a3.49 3.49 0 0 1 1.025-2.475A3.489 3.489 0 0 1 4 .5z"
|
||||
stroke="#FFF"
|
||||
id="path4" />
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 1.5 KiB |
|
|
@ -2,9 +2,8 @@
|
|||
<svg
|
||||
width="8"
|
||||
height="8"
|
||||
viewBox="0 0 8 8"
|
||||
version="1.1"
|
||||
id="svg16"
|
||||
id="svg8"
|
||||
sodipodi:docname="led_orange.svg"
|
||||
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
|
|
@ -12,9 +11,9 @@
|
|||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs20" />
|
||||
id="defs12" />
|
||||
<sodipodi:namedview
|
||||
id="namedview18"
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
|
|
@ -26,36 +25,23 @@
|
|||
inkscape:cx="3.9948454"
|
||||
inkscape:cy="4"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1043"
|
||||
inkscape:window-height="1131"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg16" />
|
||||
inkscape:current-layer="g6" />
|
||||
<g
|
||||
fill="none"
|
||||
fill-rule="evenodd"
|
||||
id="g14">
|
||||
<g
|
||||
id="g12">
|
||||
<g
|
||||
id="g10">
|
||||
<g
|
||||
id="g8">
|
||||
<g
|
||||
id="g6">
|
||||
<path
|
||||
fill="#EFAE00"
|
||||
d="M4 8C1.79 8 0 6.21 0 4c0-2.209 1.79-4 4-4 2.209 0 4 1.791 4 4 0 2.21-1.791 4-4 4z"
|
||||
transform="translate(-32.000000, -389.000000) translate(0.000000, 200.000000) translate(0.000000, 150.000000) translate(32.000000, 39.000000)"
|
||||
id="path2" />
|
||||
<path
|
||||
stroke="#FFF"
|
||||
d="M4 .5c.966 0 1.841.392 2.475 1.025C7.108 2.16 7.5 3.034 7.5 4c0 .967-.392 1.842-1.025 2.475C5.84 7.108 4.966 7.5 4 7.5c-.967 0-1.842-.392-2.475-1.025C.892 5.842.5 4.967.5 4c0-.966.392-1.842 1.025-2.475C2.158.892 3.033.5 4 .5z"
|
||||
transform="translate(-32.000000, -389.000000) translate(0.000000, 200.000000) translate(0.000000, 150.000000) translate(32.000000, 39.000000)"
|
||||
id="path4" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
id="g6">
|
||||
<path
|
||||
d="m 4.0027226,7.0147204 a 3.0312671,3.0095913 0 1 1 0,-6.01918243 3.0312671,3.0095913 0 0 1 0,6.01918243 z"
|
||||
fill="#efae00"
|
||||
id="path2"
|
||||
style="stroke-width:0.755102" />
|
||||
<path
|
||||
d="M4 .5a3.49 3.49 0 0 1 2.475 1.025A3.489 3.489 0 0 1 7.5 4c0 .967-.392 1.842-1.025 2.475A3.49 3.49 0 0 1 4 7.5a3.489 3.489 0 0 1-2.475-1.025A3.49 3.49 0 0 1 .5 4a3.49 3.49 0 0 1 1.025-2.475A3.489 3.489 0 0 1 4 .5z"
|
||||
stroke="#FFF"
|
||||
id="path4" />
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 1.5 KiB |
|
|
@ -25,19 +25,20 @@
|
|||
inkscape:cx="3.9948454"
|
||||
inkscape:cy="4"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1043"
|
||||
inkscape:window-height="1131"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
inkscape:current-layer="g6" />
|
||||
<g
|
||||
fill="none"
|
||||
fill-rule="evenodd"
|
||||
id="g6">
|
||||
<path
|
||||
d="M4 8a4 4 0 1 1 0-8 4 4 0 0 1 0 8z"
|
||||
fill="#DC4100"
|
||||
id="path2" />
|
||||
d="m 4.0111984,7.0605044 a 3.0433256,3.053726 0 1 1 0,-6.10745189 3.0433256,3.053726 0 0 1 0,6.10745189 z"
|
||||
fill="#dc4100"
|
||||
id="path2"
|
||||
style="stroke-width:0.76213" />
|
||||
<path
|
||||
d="M4 .5a3.49 3.49 0 0 1 2.475 1.025A3.489 3.489 0 0 1 7.5 4c0 .967-.392 1.842-1.025 2.475A3.49 3.49 0 0 1 4 7.5a3.489 3.489 0 0 1-2.475-1.025A3.49 3.49 0 0 1 .5 4a3.49 3.49 0 0 1 1.025-2.475A3.489 3.489 0 0 1 4 .5z"
|
||||
stroke="#FFF"
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
|
|
@ -2,9 +2,8 @@
|
|||
<svg
|
||||
width="8"
|
||||
height="8"
|
||||
viewBox="0 0 8 8"
|
||||
version="1.1"
|
||||
id="svg16"
|
||||
id="svg8"
|
||||
sodipodi:docname="led_white.svg"
|
||||
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
|
|
@ -12,9 +11,9 @@
|
|||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs20" />
|
||||
id="defs12" />
|
||||
<sodipodi:namedview
|
||||
id="namedview18"
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
|
|
@ -26,36 +25,23 @@
|
|||
inkscape:cx="3.9948454"
|
||||
inkscape:cy="4"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1043"
|
||||
inkscape:window-height="1131"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg16" />
|
||||
inkscape:current-layer="g6" />
|
||||
<g
|
||||
fill="none"
|
||||
fill-rule="evenodd"
|
||||
id="g14">
|
||||
<g
|
||||
id="g12">
|
||||
<g
|
||||
id="g10">
|
||||
<g
|
||||
id="g8">
|
||||
<g
|
||||
id="g6">
|
||||
<path
|
||||
fill="#B1B1B1"
|
||||
d="M4 8C1.79 8 0 6.21 0 4c0-2.209 1.79-4 4-4 2.209 0 4 1.791 4 4 0 2.21-1.791 4-4 4z"
|
||||
transform="translate(-32.000000, -446.000000) translate(0.000000, 200.000000) translate(0.000000, 210.000000) translate(32.000000, 36.000000)"
|
||||
id="path2" />
|
||||
<path
|
||||
stroke="#FFF"
|
||||
d="M4 .5c.966 0 1.841.392 2.475 1.025C7.108 2.16 7.5 3.034 7.5 4c0 .967-.392 1.842-1.025 2.475C5.84 7.108 4.966 7.5 4 7.5c-.967 0-1.842-.392-2.475-1.025C.892 5.842.5 4.967.5 4c0-.966.392-1.842 1.025-2.475C2.158.892 3.033.5 4 .5z"
|
||||
transform="translate(-32.000000, -446.000000) translate(0.000000, 200.000000) translate(0.000000, 210.000000) translate(32.000000, 36.000000)"
|
||||
id="path4" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
id="g6">
|
||||
<path
|
||||
d="m 3.9971091,7.0474901 a 3.0473303,3.0364062 0 1 1 0,-6.07281224 3.0473303,3.0364062 0 0 1 0,6.07281224 z"
|
||||
fill="#b1b1b1"
|
||||
id="path2"
|
||||
style="stroke-width:0.760465" />
|
||||
<path
|
||||
d="M4 .5a3.49 3.49 0 0 1 2.475 1.025A3.489 3.489 0 0 1 7.5 4c0 .967-.392 1.842-1.025 2.475A3.49 3.49 0 0 1 4 7.5a3.489 3.489 0 0 1-2.475-1.025A3.49 3.49 0 0 1 .5 4a3.49 3.49 0 0 1 1.025-2.475A3.489 3.489 0 0 1 4 .5z"
|
||||
stroke="#FFF"
|
||||
id="path4" />
|
||||
</g>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 1.5 KiB |
|
|
@ -1610,6 +1610,24 @@ Klik her: <a href="%1">%1</a>
|
|||
<translation>Offline</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2312,6 +2330,119 @@ Klik her: <a href="%1">%1</a>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">ANNULLER</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2482,6 +2613,11 @@ Klik her: <a href="%1">%1</a>
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Avanceret</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1610,6 +1610,24 @@ Klicken Sie hier: <a href="%1">%1</a>
|
|||
<translation>Offline</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2312,6 +2330,119 @@ Klicken Sie hier: <a href="%1">%1</a>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">ABBRECHEN</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2482,6 +2613,11 @@ Klicken Sie hier: <a href="%1">%1</a>
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Erweitert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -756,7 +756,7 @@ Server URL not configured.</translation>
|
|||
<message>
|
||||
<source>missingConferenceURI</source>
|
||||
<extracomment>'You need to set the conference URI in your account settings to create a conference based chat room.' : Tooltip to warn the user that a setting is missing in its configuration.</extracomment>
|
||||
<translation type="unfinished">You need to set the conference URI in your account settings to create a conference based chat room.</translation>
|
||||
<translation>You need to set the conference URI in your account settings to create a conference based chat room.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
|
@ -1610,6 +1610,24 @@ Click here: <a href="%1">%1</a>
|
|||
<translation>Offline</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation>Enable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation>Disable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation>Auto</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2335,6 +2353,119 @@ Click here: <a href="%1">%1</a>
|
|||
<translation>Invalid conference URI</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation>Tunnel Status</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation>Domain</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation>Username</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation>SIP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation>Cancel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation>Set HTTP proxy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation>Host</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation>Port</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation>Username</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation>Password</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation>Apply</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation>Mode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation>Dual mode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation>Server</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation>Hostname</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation>Port</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation>Dual hostname URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation>Dual port</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation>Remote UDP mirror port</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation>Delay</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation>Add server</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation>Apply</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2505,6 +2636,11 @@ Click here: <a href="%1">%1</a>
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Advanced</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation>Tunnel</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1610,6 +1610,24 @@ Haga clic aquí: <a href="%1">%1 </a>
|
|||
<translation>Desconectado</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2312,6 +2330,119 @@ Haga clic aquí: <a href="%1">%1 </a>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">CANCELAR</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2482,6 +2613,11 @@ Haga clic aquí: <a href="%1">%1 </a>
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Avanzado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1610,6 +1610,24 @@ Cliquez ici : <a href="%1">%1</a>
|
|||
<translation>Hors-ligne</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2312,6 +2330,119 @@ Cliquez ici : <a href="%1">%1</a>
|
|||
<translation>URI de conférence invalide</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2482,6 +2613,11 @@ Cliquez ici : <a href="%1">%1</a>
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Avancés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1600,6 +1600,24 @@ Kattintson ide: <a href="%1">%1</a>
|
|||
<translation>Kapcsolat nélküli</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2302,6 +2320,119 @@ Kattintson ide: <a href="%1">%1</a>
|
|||
<translation>Érvénytelen konferencia URI-cím</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">Mégse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2472,6 +2603,11 @@ Kattintson ide: <a href="%1">%1</a>
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Haladó</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1610,6 +1610,24 @@ Clicca: <a href="%1">%1</a>
|
|||
<translation>Offline</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2312,6 +2330,119 @@ Clicca: <a href="%1">%1</a>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">ANNULLA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2482,6 +2613,11 @@ Clicca: <a href="%1">%1</a>
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Avanzate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1600,6 +1600,24 @@
|
|||
<translation>オフライン</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2302,6 +2320,119 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">キャンセル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2472,6 +2603,11 @@
|
|||
<source>uiAdvanced</source>
|
||||
<translation>詳細</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1620,6 +1620,24 @@ Spustelėkite čia: <a href="%1">%1</a>
|
|||
<translation>Atsijungęs</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2322,6 +2340,119 @@ Spustelėkite čia: <a href="%1">%1</a>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">ATSISAKYTI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2492,6 +2623,11 @@ Spustelėkite čia: <a href="%1">%1</a>
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Išplėstiniai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1610,6 +1610,24 @@ Clique aqui: <a href="%1">%1 </a>
|
|||
<translation>Offline</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2312,6 +2330,119 @@ Clique aqui: <a href="%1">%1 </a>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">CANCELAR</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2482,6 +2613,11 @@ Clique aqui: <a href="%1">%1 </a>
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Avançado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1620,6 +1620,24 @@
|
|||
<translation>Офлайн</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2322,6 +2340,119 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">ОТМЕНА</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2492,6 +2623,11 @@
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Дополнительные</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1610,6 +1610,24 @@ Klicka här: <a href="%1">%1</a>
|
|||
<translation>Frånkopplad</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2312,6 +2330,119 @@ Klicka här: <a href="%1">%1</a>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">AVBRYT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2482,6 +2613,11 @@ Klicka här: <a href="%1">%1</a>
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Avancerat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1600,6 +1600,24 @@ Buraya tıklayın: <a href="%1">%1</a>
|
|||
<translation>Çevrim dışı</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2302,6 +2320,119 @@ Buraya tıklayın: <a href="%1">%1</a>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">İPTAL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2472,6 +2603,11 @@ Buraya tıklayın: <a href="%1">%1</a>
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Gelişmiş</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1620,6 +1620,24 @@
|
|||
<translation>Не в мережі</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2322,6 +2340,119 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">СКАСУВАТИ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2492,6 +2623,11 @@
|
|||
<source>uiAdvanced</source>
|
||||
<translation>Додаткове</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -1600,6 +1600,24 @@
|
|||
<translation>离线</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeEnable</source>
|
||||
<extracomment>'Enable' : One word for button action to enable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeDisable</source>
|
||||
<extracomment>'Disable' : One word for button action to disable tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LinphoneEnums_TunnelModeAuto</source>
|
||||
<extracomment>'Auto' : One word for button action to set the auto tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsAdvanced</name>
|
||||
<message>
|
||||
|
|
@ -2302,6 +2320,119 @@
|
|||
<translation>无效的会议URI</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsTunnel</name>
|
||||
<message>
|
||||
<source>tunnelStatus</source>
|
||||
<extracomment>'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelDomain</source>
|
||||
<extracomment>'Domain' : Field title of a textfield to set domain.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelUsername</source>
|
||||
<extracomment>'Username' : Field title of a textfield to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelSIP</source>
|
||||
<extracomment>'SIP' : Field title of a switch to set SIP mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cancel</source>
|
||||
<extracomment>'Cancel' : Button to cancel the action.</extracomment>
|
||||
<translation type="unfinished">取消</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setHTTPProxy</source>
|
||||
<extracomment>'Set HTTP proxy' : Button to set the new proxy.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpHost</source>
|
||||
<extracomment>'Host' : Placeholder to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPort</source>
|
||||
<extracomment>'Port' : Placehoilder to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpUsername</source>
|
||||
<extracomment>'Username' : Placeholder to set username.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpPassword</source>
|
||||
<extracomment>'Password' : Placeholder to set password.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>proxyHttpApply</source>
|
||||
<extracomment>'Apply' : Button to set proxy from changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverMode</source>
|
||||
<extracomment>'Mode' : Field title on form to set tunnel mode.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualMode</source>
|
||||
<extracomment>'Dual mode' : Field title on form to set dual mode of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverTitle</source>
|
||||
<extracomment>'Server' : Title form to set a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverHostname</source>
|
||||
<extracomment>'Hostname' : Field title on form to set hostname.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverPort</source>
|
||||
<extracomment>'Port' : Field title on form to set port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualHostname</source>
|
||||
<extracomment>'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDualPort</source>
|
||||
<extracomment>'Dual port' : Field title on form to set the second port for the dual configuration.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverRemoteUDPMirrorPort</source>
|
||||
<extracomment>'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverDelay</source>
|
||||
<extracomment>'Delay' : Field title on form to set the delay of the tunnel.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelAddServer</source>
|
||||
<extracomment>'Add server' : Button for adding a server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelApply</source>
|
||||
<extracomment>'Apply' : Button to apply changes.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
<message>
|
||||
|
|
@ -2472,6 +2603,11 @@
|
|||
<source>uiAdvanced</source>
|
||||
<translation>先进</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>tunnelTab</source>
|
||||
<extracomment>'Tunnel' : Tab title for tunnel section in settings.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SmartSearchBar</name>
|
||||
|
|
|
|||
|
|
@ -534,6 +534,7 @@
|
|||
<file>ui/views/App/Settings/SettingsNetwork.qml</file>
|
||||
<file>ui/views/App/Settings/SettingsSipAccounts.js</file>
|
||||
<file>ui/views/App/Settings/SettingsSipAccounts.qml</file>
|
||||
<file>ui/views/App/Settings/SettingsTunnel.qml</file>
|
||||
<file>ui/views/App/Settings/SettingsUi.js</file>
|
||||
<file>ui/views/App/Settings/SettingsUi.qml</file>
|
||||
<file>ui/views/App/Settings/SettingsVideo.js</file>
|
||||
|
|
|
|||
|
|
@ -636,9 +636,12 @@ void App::registerTypes () {
|
|||
registerUncreatableType<HistoryModel>("HistoryModel");
|
||||
registerUncreatableType<LdapModel>("LdapModel");
|
||||
registerUncreatableType<SearchResultModel>("SearchResultModel");
|
||||
registerUncreatableType<SipAddressObserver>("SipAddressObserver");
|
||||
registerUncreatableType<SipAddressObserver>("SipAddressObserver");
|
||||
registerUncreatableType<VcardModel>("VcardModel");
|
||||
registerUncreatableType<TimelineModel>("TimelineModel");
|
||||
registerUncreatableType<TunnelModel>("TunnelModel");
|
||||
registerUncreatableType<TunnelConfigModel>("TunnelConfigModel");
|
||||
registerUncreatableType<TunnelConfigProxyModel>("TunnelConfigProxyModel");
|
||||
registerUncreatableType<ParticipantModel>("ParticipantModel");
|
||||
registerUncreatableType<ParticipantListModel>("ParticipantListModel");
|
||||
registerUncreatableType<ParticipantDeviceModel>("ParticipantDeviceModel");
|
||||
|
|
|
|||
|
|
@ -75,6 +75,10 @@
|
|||
#include "timeline/TimelineModel.hpp"
|
||||
#include "timeline/TimelineProxyModel.hpp"
|
||||
#include "timeline/TimelineListModel.hpp"
|
||||
#include "tunnel/TunnelModel.hpp"
|
||||
#include "tunnel/TunnelConfigModel.hpp"
|
||||
#include "tunnel/TunnelConfigListModel.hpp"
|
||||
#include "tunnel/TunnelConfigProxyModel.hpp"
|
||||
#include "url-handlers/UrlHandlers.hpp"
|
||||
|
||||
#include "other/colors/ColorModel.hpp"
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ public:
|
|||
CallEntry,
|
||||
NoticeEntry
|
||||
};
|
||||
Q_ENUM(EntryType);
|
||||
Q_ENUM(EntryType)
|
||||
|
||||
|
||||
//Q_PROPERTY(QString participants READ getParticipants NOTIFY participantsChanged);
|
||||
|
|
|
|||
|
|
@ -30,12 +30,14 @@
|
|||
#include "app/logger/Logger.hpp"
|
||||
#include "app/paths/Paths.hpp"
|
||||
#include "components/core/CoreManager.hpp"
|
||||
#include "components/tunnel/TunnelModel.hpp"
|
||||
#include "include/LinphoneApp/PluginNetworkHelper.hpp"
|
||||
#include "utils/Utils.hpp"
|
||||
#include "utils/Constants.hpp"
|
||||
#include "utils/MediastreamerUtils.hpp"
|
||||
#include "SettingsModel.hpp"
|
||||
|
||||
|
||||
// =============================================================================
|
||||
|
||||
using namespace std;
|
||||
|
|
@ -1144,6 +1146,16 @@ void SettingsModel::configureRlsUri (const shared_ptr<const linphone::ProxyConfi
|
|||
mConfig->setString("sip", "rls_uri", "");
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
bool SettingsModel::tunnelAvailable() const{
|
||||
return CoreManager::getInstance()->getCore()->tunnelAvailable();
|
||||
}
|
||||
|
||||
TunnelModel* SettingsModel::getTunnel() const{
|
||||
return new TunnelModel(CoreManager::getInstance()->getCore()->getTunnel());
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// UI.
|
||||
// =============================================================================
|
||||
|
|
@ -1343,6 +1355,13 @@ bool SettingsModel::getLogsEnabled (const shared_ptr<linphone::Config> &config)
|
|||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
bool SettingsModel::isDeveloperSettingsAvailable() const {
|
||||
#ifdef DEBUG
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
bool SettingsModel::getDeveloperSettingsEnabled () const {
|
||||
#ifdef DEBUG
|
||||
return !!mConfig->getInt(UiSection, "developer_settings", 0);
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
#include "components/contacts/ContactsImporterModel.hpp"
|
||||
|
||||
// =============================================================================
|
||||
class TunnelModel;
|
||||
|
||||
class SettingsModel : public QObject {
|
||||
Q_OBJECT
|
||||
|
|
@ -430,6 +431,9 @@ public:
|
|||
void configureRlsUri ();
|
||||
void configureRlsUri (const std::shared_ptr<const linphone::ProxyConfig> &proxyConfig);
|
||||
|
||||
Q_INVOKABLE bool tunnelAvailable() const;
|
||||
Q_INVOKABLE TunnelModel * getTunnel() const;
|
||||
|
||||
// UI. -----------------------------------------------------------------------
|
||||
|
||||
QFont getTextMessageFont() const;
|
||||
|
|
@ -480,7 +484,7 @@ public:
|
|||
static bool getLogsEnabled (const std::shared_ptr<linphone::Config> &config);
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Q_INVOKABLE bool isDeveloperSettingsAvailable() const;
|
||||
bool getDeveloperSettingsEnabled () const;
|
||||
void setDeveloperSettingsEnabled (bool status);
|
||||
|
||||
|
|
@ -490,7 +494,6 @@ public:
|
|||
|
||||
bool getIsInCall() const;
|
||||
|
||||
|
||||
bool isReadOnly(const std::string& section, const std::string& name) const;
|
||||
std::string getEntryFullName(const std::string& section, const std::string& name) const; // Return the full name of the entry : 'name/readonly' or 'name'
|
||||
|
||||
|
|
@ -611,7 +614,7 @@ signals:
|
|||
void dscpVideoChanged (int dscp);
|
||||
|
||||
void rlsUriEnabledChanged (bool status);
|
||||
|
||||
|
||||
// UI. -----------------------------------------------------------------------
|
||||
|
||||
void textMessageFontChanged(const QFont& font);
|
||||
|
|
|
|||
124
linphone-app/src/components/tunnel/TunnelConfigListModel.cpp
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <QQmlApplicationEngine>
|
||||
|
||||
#include "app/App.hpp"
|
||||
|
||||
#include "TunnelConfigListModel.hpp"
|
||||
#include "utils/Utils.hpp"
|
||||
|
||||
#include "components/Components.hpp"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
TunnelConfigListModel::TunnelConfigListModel (std::shared_ptr<linphone::Tunnel> tunnel, QObject *parent) : QAbstractListModel(parent) {
|
||||
std::list<std::shared_ptr<linphone::TunnelConfig>> tunnelConfigs = tunnel->getServers() ;
|
||||
for(auto config : tunnelConfigs){
|
||||
auto configModel = std::make_shared<TunnelConfigModel>(config);
|
||||
mList << configModel;
|
||||
}
|
||||
if( mList.size() == 0) {
|
||||
mList << std::make_shared<TunnelConfigModel>(linphone::Factory::get()->createTunnelConfig());
|
||||
}
|
||||
}
|
||||
|
||||
int TunnelConfigListModel::rowCount (const QModelIndex &index) const{
|
||||
return mList.count();
|
||||
}
|
||||
|
||||
int TunnelConfigListModel::count(){
|
||||
return mList.count();
|
||||
}
|
||||
|
||||
void TunnelConfigListModel::updateTunnelConfigs(std::shared_ptr<linphone::Tunnel> tunnel){
|
||||
std::list<std::shared_ptr<linphone::TunnelConfig>> tunnelConfigs = tunnel->getServers() ;
|
||||
beginResetModel();
|
||||
mList.clear();
|
||||
for(auto config : tunnelConfigs){
|
||||
mList << std::make_shared<TunnelConfigModel>(config);
|
||||
}
|
||||
endResetModel();
|
||||
emit layoutChanged();
|
||||
}
|
||||
|
||||
bool TunnelConfigListModel::apply(std::shared_ptr<linphone::Tunnel> tunnel){
|
||||
tunnel->cleanServers();
|
||||
for(auto config : mList){
|
||||
tunnel->addServer(config->getTunnelConfig());
|
||||
}
|
||||
updateTunnelConfigs(tunnel);
|
||||
return true;
|
||||
}
|
||||
|
||||
void TunnelConfigListModel::addTunnelConfig(){
|
||||
int row = rowCount();
|
||||
beginInsertRows(QModelIndex(),row,row);
|
||||
mList << std::make_shared<TunnelConfigModel>(linphone::Factory::get()->createTunnelConfig());
|
||||
endInsertRows();
|
||||
}
|
||||
|
||||
void TunnelConfigListModel::removeTunnelConfig(std::shared_ptr<linphone::Tunnel> tunnel, TunnelConfigModel * model){
|
||||
int row = 0;
|
||||
while(row < mList.size() && mList[row].get() != model)
|
||||
++row;
|
||||
if( row < mList.size()) {
|
||||
removeRow(row);
|
||||
tunnel->removeServer(model->getTunnelConfig());
|
||||
}
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> TunnelConfigListModel::roleNames () const {
|
||||
QHash<int, QByteArray> roles;
|
||||
roles[Qt::DisplayRole] = "$tunnelConfig";
|
||||
return roles;
|
||||
}
|
||||
|
||||
QVariant TunnelConfigListModel::data (const QModelIndex &index, int role) const {
|
||||
int row = index.row();
|
||||
|
||||
if (!index.isValid() || row < 0 || row >= mList.count())
|
||||
return QVariant();
|
||||
|
||||
if (role == Qt::DisplayRole)
|
||||
return QVariant::fromValue(mList[row].get());
|
||||
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
bool TunnelConfigListModel::removeRow (int row, const QModelIndex &parent){
|
||||
return removeRows(row, 1, parent);
|
||||
}
|
||||
|
||||
bool TunnelConfigListModel::removeRows (int row, int count, const QModelIndex &parent) {
|
||||
int limit = row + count - 1;
|
||||
|
||||
if (row < 0 || count < 0 || limit >= mList.count())
|
||||
return false;
|
||||
|
||||
beginRemoveRows(parent, row, limit);
|
||||
|
||||
for (int i = 0; i < count; ++i)
|
||||
mList.takeAt(row);
|
||||
|
||||
endRemoveRows();
|
||||
|
||||
return true;
|
||||
}
|
||||
62
linphone-app/src/components/tunnel/TunnelConfigListModel.hpp
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef TUNNEL_CONFIG_LIST_MODEL_H_
|
||||
#define TUNNEL_CONFIG_LIST_MODEL_H_
|
||||
|
||||
|
||||
#include <linphone++/linphone.hh>
|
||||
// =============================================================================
|
||||
#include <QObject>
|
||||
#include <QDateTime>
|
||||
#include <QString>
|
||||
#include <QAbstractListModel>
|
||||
|
||||
class TunnelConfigModel;
|
||||
|
||||
class TunnelConfigListModel : public QAbstractListModel {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TunnelConfigListModel (std::shared_ptr<linphone::Tunnel> tunnel, QObject *parent = nullptr);
|
||||
|
||||
int rowCount (const QModelIndex &index = QModelIndex()) const override;
|
||||
int count();
|
||||
|
||||
void updateTunnelConfigs(std::shared_ptr<linphone::Tunnel> tunnel);
|
||||
bool apply(std::shared_ptr<linphone::Tunnel> tunnel);
|
||||
void addTunnelConfig();
|
||||
void removeTunnelConfig(std::shared_ptr<linphone::Tunnel> tunnel, TunnelConfigModel * model);
|
||||
|
||||
virtual QHash<int, QByteArray> roleNames () const override;
|
||||
virtual QVariant data (const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
|
||||
|
||||
private:
|
||||
bool removeRow (int row, const QModelIndex &parent = QModelIndex());
|
||||
virtual bool removeRows (int row, int count, const QModelIndex &parent = QModelIndex()) override;
|
||||
|
||||
QList<std::shared_ptr<TunnelConfigModel>> mList;
|
||||
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE(std::shared_ptr<TunnelConfigListModel>)
|
||||
|
||||
#endif // TUNNEL_CONFIG_LIST_MODEL_H_
|
||||
96
linphone-app/src/components/tunnel/TunnelConfigModel.cpp
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <QQmlApplicationEngine>
|
||||
|
||||
#include "app/App.hpp"
|
||||
|
||||
#include "TunnelConfigModel.hpp"
|
||||
#include "utils/Utils.hpp"
|
||||
|
||||
#include "components/Components.hpp"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
using namespace std;
|
||||
|
||||
TunnelConfigModel::TunnelConfigModel (shared_ptr<linphone::TunnelConfig> tunnelConfig, QObject *parent) : QObject(parent) {
|
||||
mTunnelConfig = tunnelConfig;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
QString TunnelConfigModel::getHost() const{
|
||||
return Utils::coreStringToAppString(mTunnelConfig->getHost());
|
||||
}
|
||||
|
||||
QString TunnelConfigModel::getHost2() const{
|
||||
return Utils::coreStringToAppString(mTunnelConfig->getHost2());
|
||||
}
|
||||
|
||||
int TunnelConfigModel::getPort() const{
|
||||
return mTunnelConfig->getPort();
|
||||
}
|
||||
|
||||
int TunnelConfigModel::getPort2() const{
|
||||
return mTunnelConfig->getPort2();
|
||||
}
|
||||
|
||||
int TunnelConfigModel::getRemoteUdpMirrorPort() const{
|
||||
return mTunnelConfig->getRemoteUdpMirrorPort();
|
||||
}
|
||||
|
||||
int TunnelConfigModel::getDelay() const{
|
||||
return mTunnelConfig->getDelay();
|
||||
}
|
||||
|
||||
void TunnelConfigModel::setHost(const QString& host){
|
||||
mTunnelConfig->setHost(Utils::appStringToCoreString(host));
|
||||
emit hostChanged();
|
||||
}
|
||||
|
||||
void TunnelConfigModel::setHost2(const QString& host){
|
||||
mTunnelConfig->setHost2(Utils::appStringToCoreString(host));
|
||||
emit host2Changed();
|
||||
}
|
||||
|
||||
void TunnelConfigModel::setPort(const int& port){
|
||||
mTunnelConfig->setPort(port);
|
||||
emit portChanged();
|
||||
}
|
||||
|
||||
void TunnelConfigModel::setPort2(const int& port){
|
||||
mTunnelConfig->setPort2(port);
|
||||
emit port2Changed();
|
||||
}
|
||||
|
||||
void TunnelConfigModel::setRemoteUdpMirrorPort(const int& port){
|
||||
mTunnelConfig->setRemoteUdpMirrorPort(port);
|
||||
emit remoteUdpMirrorPortChanged();
|
||||
}
|
||||
|
||||
void TunnelConfigModel::setDelay(const int& delay){
|
||||
mTunnelConfig->setDelay(delay);
|
||||
emit delayChanged();
|
||||
}
|
||||
|
||||
std::shared_ptr<linphone::TunnelConfig> TunnelConfigModel::getTunnelConfig(){
|
||||
return mTunnelConfig;
|
||||
}
|
||||
75
linphone-app/src/components/tunnel/TunnelConfigModel.hpp
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef TUNNEL_CONFIG_MODEL_H_
|
||||
#define TUNNEL_CONFIG_MODEL_H_
|
||||
|
||||
|
||||
#include <linphone++/linphone.hh>
|
||||
// =============================================================================
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
class TunnelConfigModel : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TunnelConfigModel (std::shared_ptr<linphone::TunnelConfig> config, QObject *parent = nullptr);
|
||||
|
||||
Q_PROPERTY(QString host READ getHost WRITE setHost NOTIFY hostChanged)
|
||||
Q_PROPERTY(QString host2 READ getHost2 WRITE setHost2 NOTIFY host2Changed)
|
||||
Q_PROPERTY(int port READ getPort WRITE setPort NOTIFY portChanged)
|
||||
Q_PROPERTY(int port2 READ getPort2 WRITE setPort2 NOTIFY port2Changed)
|
||||
Q_PROPERTY(int remoteUdpMirrorPort READ getRemoteUdpMirrorPort WRITE setRemoteUdpMirrorPort NOTIFY remoteUdpMirrorPortChanged)
|
||||
Q_PROPERTY(int delay READ getDelay WRITE setDelay NOTIFY delayChanged)
|
||||
|
||||
QString getHost() const;
|
||||
QString getHost2() const;
|
||||
int getPort() const;
|
||||
int getPort2() const;
|
||||
int getRemoteUdpMirrorPort() const;
|
||||
int getDelay() const;
|
||||
|
||||
void setHost(const QString& host);
|
||||
void setHost2(const QString& host);
|
||||
void setPort(const int& port);
|
||||
void setPort2(const int& port);
|
||||
void setRemoteUdpMirrorPort(const int& port);
|
||||
void setDelay(const int& delay);
|
||||
|
||||
std::shared_ptr<linphone::TunnelConfig> getTunnelConfig();
|
||||
|
||||
signals:
|
||||
void hostChanged();
|
||||
void host2Changed();
|
||||
void portChanged();
|
||||
void port2Changed();
|
||||
void remoteUdpMirrorPortChanged();
|
||||
void delayChanged();
|
||||
|
||||
private:
|
||||
|
||||
std::shared_ptr<linphone::TunnelConfig> mTunnelConfig;
|
||||
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE(std::shared_ptr<TunnelConfigModel>)
|
||||
|
||||
#endif // TUNNEL_CONFIG_MODEL
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <QQmlApplicationEngine>
|
||||
|
||||
#include "app/App.hpp"
|
||||
|
||||
#include "TunnelConfigProxyModel.hpp"
|
||||
#include "utils/Utils.hpp"
|
||||
|
||||
#include "components/Components.hpp"
|
||||
#include "TunnelConfigListModel.hpp"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
TunnelConfigProxyModel::TunnelConfigProxyModel (QObject *parent) : QSortFilterProxyModel(parent){
|
||||
}
|
||||
|
||||
bool TunnelConfigProxyModel::filterAcceptsRow (
|
||||
int sourceRow,
|
||||
const QModelIndex &sourceParent
|
||||
) const {
|
||||
Q_UNUSED(sourceRow)
|
||||
Q_UNUSED(sourceParent)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TunnelConfigProxyModel::lessThan (const QModelIndex &left, const QModelIndex &right) const {
|
||||
const TunnelConfigModel *deviceA = sourceModel()->data(left).value<TunnelConfigModel *>();
|
||||
const TunnelConfigModel *deviceB = sourceModel()->data(right).value<TunnelConfigModel *>();
|
||||
|
||||
return deviceA->getHost() > deviceB->getHost();
|
||||
}
|
||||
//---------------------------------------------------------------------------------
|
||||
|
||||
void TunnelConfigProxyModel::setTunnel(TunnelModel * tunnel){
|
||||
setSourceModel(tunnel->getTunnelConfigs().get());
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef TUNNEL_CONFIG_PROXY_MODEL_H_
|
||||
#define TUNNEL_CONFIG_PROXY_MODEL_H_
|
||||
|
||||
|
||||
#include <linphone++/linphone.hh>
|
||||
// =============================================================================
|
||||
#include <QObject>
|
||||
#include <QDateTime>
|
||||
#include <QString>
|
||||
#include <QSortFilterProxyModel>
|
||||
|
||||
class TunnelConfigListModel;
|
||||
class TunnelModel;
|
||||
|
||||
class TunnelConfigProxyModel : public QSortFilterProxyModel {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TunnelConfigProxyModel (QObject *parent = nullptr);
|
||||
|
||||
void setTunnel(TunnelModel * tunnel);
|
||||
|
||||
protected:
|
||||
virtual bool filterAcceptsRow (int sourceRow, const QModelIndex &sourceParent) const override;
|
||||
virtual bool lessThan (const QModelIndex &left, const QModelIndex &right) const override;
|
||||
|
||||
std::shared_ptr<TunnelConfigListModel> mTunnelConfigs;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
128
linphone-app/src/components/tunnel/TunnelModel.cpp
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <QQmlApplicationEngine>
|
||||
|
||||
#include "app/App.hpp"
|
||||
|
||||
#include "TunnelModel.hpp"
|
||||
#include "utils/Utils.hpp"
|
||||
|
||||
#include "components/Components.hpp"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
using namespace std;
|
||||
|
||||
TunnelModel::TunnelModel (shared_ptr<linphone::Tunnel> tunnel, QObject *parent) : QObject(parent) {
|
||||
App::getInstance()->getEngine()->setObjectOwnership(this, QQmlEngine::CppOwnership);// Avoid QML to destroy it when passing by Q_INVOKABLE
|
||||
mTunnel = tunnel;
|
||||
if(mTunnel){
|
||||
mTunnelConfigs = std::make_shared<TunnelConfigListModel>(mTunnel);
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
QString TunnelModel::getDomain() const{
|
||||
return Utils::coreStringToAppString(mTunnel->getDomain());
|
||||
}
|
||||
|
||||
QString TunnelModel::getUsername() const{
|
||||
return Utils::coreStringToAppString(mTunnel->getUsername());
|
||||
}
|
||||
|
||||
bool TunnelModel::getDualModeEnabled() const{
|
||||
return mTunnel->dualModeEnabled();
|
||||
}
|
||||
|
||||
LinphoneEnums::TunnelMode TunnelModel::getMode() const{
|
||||
return LinphoneEnums::fromLinphone(mTunnel->getMode());
|
||||
}
|
||||
|
||||
bool TunnelModel::getSipEnabled() const{
|
||||
return mTunnel->sipEnabled();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
void TunnelModel::setDomain(const QString& data){
|
||||
mTunnel->setDomain(Utils::appStringToCoreString(data));
|
||||
emit domainChanged();
|
||||
}
|
||||
|
||||
void TunnelModel::setUsername(const QString& data){
|
||||
mTunnel->setUsername(Utils::appStringToCoreString(data));
|
||||
emit usernameChanged();
|
||||
}
|
||||
|
||||
void TunnelModel::setDualModeEnabled(const bool& data){
|
||||
mTunnel->enableDualMode(data);
|
||||
emit dualModeEnabledChanged();
|
||||
}
|
||||
|
||||
void TunnelModel::setMode(const LinphoneEnums::TunnelMode& data){
|
||||
mTunnel->setMode(LinphoneEnums::toLinphone(data));
|
||||
emit modeChanged();
|
||||
}
|
||||
|
||||
void TunnelModel::setSipEnabled(const bool& data){
|
||||
mTunnel->enableSip(data);
|
||||
emit sipEnabledChanged();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
std::shared_ptr<linphone::Tunnel> TunnelModel::getTunnel(){
|
||||
return mTunnel;
|
||||
}
|
||||
|
||||
TunnelConfigProxyModel * TunnelModel::getTunnelProxyConfigs(){
|
||||
TunnelConfigProxyModel * configs = new TunnelConfigProxyModel();
|
||||
configs->setTunnel(this);
|
||||
return configs;
|
||||
}
|
||||
|
||||
std::shared_ptr<TunnelConfigListModel> TunnelModel::getTunnelConfigs(){
|
||||
return mTunnelConfigs;
|
||||
}
|
||||
|
||||
bool TunnelModel::apply(){
|
||||
return mTunnelConfigs->apply(mTunnel);
|
||||
}
|
||||
|
||||
void TunnelModel::addTunnelConfig(){
|
||||
mTunnelConfigs->addTunnelConfig();
|
||||
}
|
||||
|
||||
void TunnelModel::removeTunnelConfig(TunnelConfigModel * model){
|
||||
mTunnelConfigs->removeTunnelConfig(mTunnel, model);
|
||||
}
|
||||
|
||||
bool TunnelModel::getActivated()const{
|
||||
if(mTunnel)
|
||||
return mTunnel->getActivated();
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
void TunnelModel::setHttpProxy(const QString& host, int port, const QString& username, const QString& passwd){
|
||||
mTunnel->setHttpProxy(Utils::appStringToCoreString(host), port, Utils::appStringToCoreString(username), Utils::appStringToCoreString(passwd));
|
||||
}
|
||||
85
linphone-app/src/components/tunnel/TunnelModel.hpp
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef TUNNEL_MODEL_H_
|
||||
#define TUNNEL_MODEL_H_
|
||||
|
||||
#include "utils/LinphoneEnums.hpp"
|
||||
|
||||
#include <linphone++/linphone.hh>
|
||||
// =============================================================================
|
||||
#include <QObject>
|
||||
#include <QDateTime>
|
||||
#include <QString>
|
||||
|
||||
class TunnelConfigListModel;
|
||||
class TunnelConfigProxyModel;
|
||||
class TunnelConfigModel;
|
||||
|
||||
class TunnelModel : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TunnelModel (std::shared_ptr<linphone::Tunnel> linphoneTunnel, QObject *parent = nullptr);
|
||||
|
||||
|
||||
Q_PROPERTY(QString domain READ getDomain WRITE setDomain NOTIFY domainChanged)
|
||||
Q_PROPERTY(QString username READ getUsername WRITE setUsername NOTIFY usernameChanged)
|
||||
Q_PROPERTY(bool dualModeEnabled READ getDualModeEnabled WRITE setDualModeEnabled NOTIFY dualModeEnabledChanged)
|
||||
Q_PROPERTY(LinphoneEnums::TunnelMode mode READ getMode WRITE setMode NOTIFY modeChanged)
|
||||
Q_PROPERTY(bool sipEnabled READ getSipEnabled WRITE setSipEnabled NOTIFY sipEnabledChanged)
|
||||
|
||||
QString getDomain() const;
|
||||
QString getUsername() const;
|
||||
bool getDualModeEnabled() const;
|
||||
LinphoneEnums::TunnelMode getMode() const;
|
||||
bool getSipEnabled() const;
|
||||
|
||||
void setDomain(const QString& data);
|
||||
void setUsername(const QString& data);
|
||||
void setDualModeEnabled(const bool& data);
|
||||
void setMode(const LinphoneEnums::TunnelMode& data);
|
||||
void setSipEnabled(const bool& data);
|
||||
|
||||
std::shared_ptr<linphone::Tunnel> getTunnel();
|
||||
Q_INVOKABLE TunnelConfigProxyModel * getTunnelProxyConfigs();
|
||||
std::shared_ptr<TunnelConfigListModel> getTunnelConfigs();
|
||||
Q_INVOKABLE bool apply();
|
||||
Q_INVOKABLE void addTunnelConfig();
|
||||
Q_INVOKABLE void removeTunnelConfig(TunnelConfigModel * model);
|
||||
Q_INVOKABLE bool getActivated()const;
|
||||
Q_INVOKABLE void setHttpProxy(const QString& host, int port, const QString& username, const QString& passwd);
|
||||
|
||||
signals:
|
||||
void domainChanged();
|
||||
void usernameChanged();
|
||||
void sipAddressChanged();
|
||||
void dualModeEnabledChanged();
|
||||
void modeChanged();
|
||||
void sipEnabledChanged();
|
||||
private:
|
||||
|
||||
std::shared_ptr<linphone::Tunnel> mTunnel;
|
||||
std::shared_ptr<TunnelConfigListModel> mTunnelConfigs;
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE(std::shared_ptr<TunnelModel>);
|
||||
|
||||
#endif // TUNNEL_MODEL_H_
|
||||
|
|
@ -65,4 +65,11 @@ linphone::Call::Status LinphoneEnums::toLinphone(const LinphoneEnums::CallStatus
|
|||
}
|
||||
LinphoneEnums::CallStatus LinphoneEnums::fromLinphone(const linphone::Call::Status& data){
|
||||
return static_cast<LinphoneEnums::CallStatus>(data);
|
||||
}
|
||||
}
|
||||
|
||||
linphone::Tunnel::Mode LinphoneEnums::toLinphone(const LinphoneEnums::TunnelMode& data){
|
||||
return static_cast<linphone::Tunnel::Mode>(data);
|
||||
}
|
||||
LinphoneEnums::TunnelMode LinphoneEnums::fromLinphone(const linphone::Tunnel::Mode& data){
|
||||
return static_cast<LinphoneEnums::TunnelMode>(data);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,13 +106,21 @@ enum CallStatus {
|
|||
CallStatusEarlyAborted = int(linphone::Call::Status::EarlyAborted),
|
||||
CallStatusAcceptedElsewhere = int(linphone::Call::Status::AcceptedElsewhere),
|
||||
CallStatusDeclinedElsewhere = int(linphone::Call::Status::DeclinedElsewhere)
|
||||
};
|
||||
};
|
||||
Q_ENUM_NS(CallStatus)
|
||||
|
||||
linphone::Call::Status toLinphone(const LinphoneEnums::CallStatus& capability);
|
||||
LinphoneEnums::CallStatus fromLinphone(const linphone::Call::Status& capability);
|
||||
|
||||
enum TunnelMode {
|
||||
TunnelModeDisable = int(linphone::Tunnel::Mode::Disable),
|
||||
TunnelModeEnable= int(linphone::Tunnel::Mode::Enable),
|
||||
TunnelModeAuto = int(linphone::Tunnel::Mode::Auto)
|
||||
};
|
||||
Q_ENUM_NS(TunnelMode)
|
||||
|
||||
linphone::Tunnel::Mode toLinphone(const LinphoneEnums::TunnelMode& mode);
|
||||
LinphoneEnums::TunnelMode fromLinphone(const linphone::Tunnel::Mode& mode);
|
||||
}
|
||||
|
||||
Q_DECLARE_METATYPE(LinphoneEnums::MediaEncryption)
|
||||
|
|
@ -120,5 +128,6 @@ Q_DECLARE_METATYPE(LinphoneEnums::FriendCapability)
|
|||
Q_DECLARE_METATYPE(LinphoneEnums::EventLogType)
|
||||
Q_DECLARE_METATYPE(LinphoneEnums::ChatMessageState)
|
||||
Q_DECLARE_METATYPE(LinphoneEnums::CallStatus)
|
||||
Q_DECLARE_METATYPE(LinphoneEnums::TunnelMode)
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -97,6 +97,22 @@ QString Utils::getDisplayName(const QString& address){
|
|||
return getDisplayName(interpretUrl(address));
|
||||
}
|
||||
|
||||
QString Utils::toString(const LinphoneEnums::TunnelMode& mode){
|
||||
switch(mode){
|
||||
case LinphoneEnums::TunnelMode::TunnelModeEnable :
|
||||
//: 'Enable' : One word for button action to enable tunnel mode.
|
||||
return QObject::tr("LinphoneEnums_TunnelModeEnable");
|
||||
case LinphoneEnums::TunnelMode::TunnelModeDisable :
|
||||
//: 'Disable' : One word for button action to disable tunnel mode.
|
||||
return QObject::tr("LinphoneEnums_TunnelModeDisable");
|
||||
case LinphoneEnums::TunnelMode::TunnelModeAuto :
|
||||
//: 'Auto' : One word for button action to set the auto tunnel mode.
|
||||
return QObject::tr("LinphoneEnums_TunnelModeAuto");
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
QImage Utils::getImage(const QString &pUri) {
|
||||
QImage image(pUri);
|
||||
if(image.isNull()){// Try to determine format from headers instead of using suffix
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ public:
|
|||
Q_INVOKABLE static QString toTimeString(QDateTime date);
|
||||
Q_INVOKABLE static QString toDateString(QDateTime date);
|
||||
Q_INVOKABLE static QString getDisplayName(const QString& address);
|
||||
Q_INVOKABLE static QString toString(const LinphoneEnums::TunnelMode& mode);
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
static inline QString coreStringToAppString (const std::string &str) {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ Column {
|
|||
property int orientation: Qt.Horizontal
|
||||
property bool addButton : false
|
||||
signal addButtonClicked;
|
||||
property bool removeButton : false
|
||||
signal removeButtonClicked;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
|
@ -43,6 +45,14 @@ Column {
|
|||
scale:0.8
|
||||
onClicked:addButtonClicked()
|
||||
}
|
||||
ActionButton {
|
||||
visible:removeButton
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
icon: 'delete'
|
||||
iconSize:38
|
||||
scale:0.8
|
||||
onClicked:removeButtonClicked()
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
|
|
|
|||
|
|
@ -319,7 +319,7 @@ TabContainer {
|
|||
|
||||
Form {
|
||||
title: qsTr('developerSettingsTitle')
|
||||
visible: SettingsModel.developerSettingsEnabled
|
||||
visible: SettingsModel.isDeveloperSettingsAvailable()
|
||||
width: parent.width
|
||||
|
||||
FormLine {
|
||||
|
|
|
|||
286
linphone-app/ui/views/App/Settings/SettingsTunnel.qml
Normal file
|
|
@ -0,0 +1,286 @@
|
|||
import QtQuick 2.7
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
import Common 1.0
|
||||
import Linphone 1.0
|
||||
import LinphoneEnums 1.0
|
||||
import Utils 1.0
|
||||
import UtilsCpp 1.0
|
||||
|
||||
import App.Styles 1.0
|
||||
|
||||
// =============================================================================
|
||||
|
||||
TabContainer {
|
||||
Column {
|
||||
spacing: SettingsWindowStyle.forms.spacing
|
||||
width: parent.width
|
||||
Form{
|
||||
width: view.width
|
||||
FormLine {
|
||||
FormGroup {
|
||||
//: 'Tunnel Status' : Field title to introduce the status of the tunnel (activated or not)
|
||||
label: qsTr('tunnelStatus')
|
||||
RowLayout{
|
||||
Icon{
|
||||
Layout.preferredWidth: 20
|
||||
icon: 'led_orange'
|
||||
iconSize: 20
|
||||
function update(){
|
||||
if( view.tunnelModel.getActivated())
|
||||
icon = 'led_green'
|
||||
else
|
||||
icon = 'led_red'
|
||||
}
|
||||
onVisibleChanged: if(visible){
|
||||
icon = 'led_orange'
|
||||
tunnelStatusTimer.start()
|
||||
}else{
|
||||
tunnelStatusTimer.stop()
|
||||
icon = 'led_orange'
|
||||
}
|
||||
Timer{
|
||||
id: tunnelStatusTimer
|
||||
interval: 1000
|
||||
onTriggered: parent.update()
|
||||
repeat: true
|
||||
}
|
||||
}
|
||||
Item{
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//---------------- DEVELOPER SETTINGS FOR TUNNEL
|
||||
FormLine {
|
||||
visible: SettingsModel.developerSettingsEnabled
|
||||
FormGroup {
|
||||
//: 'Domain' : Field title of a textfield to set domain.
|
||||
label: qsTr('tunnelDomain')
|
||||
TextField {
|
||||
text: view.tunnelModel.domain
|
||||
onEditingFinished: view.tunnelModel.domain = text
|
||||
}
|
||||
}
|
||||
}
|
||||
FormLine {
|
||||
visible: SettingsModel.developerSettingsEnabled
|
||||
FormGroup {
|
||||
//: 'Username' : Field title of a textfield to set username.
|
||||
label: qsTr('tunnelUsername')
|
||||
TextField {
|
||||
text: view.tunnelModel.username
|
||||
onEditingFinished: view.tunnelModel.username = text
|
||||
}
|
||||
}
|
||||
}
|
||||
FormLine {
|
||||
visible: SettingsModel.developerSettingsEnabled
|
||||
FormGroup {
|
||||
//: 'SIP' : Field title of a switch to set SIP mode.
|
||||
label: qsTr('tunnelSIP')
|
||||
Switch {
|
||||
checked: view.tunnelModel.sipEnabled
|
||||
onClicked: view.tunnelModel.sipEnabled = !checked
|
||||
}
|
||||
}
|
||||
|
||||
TextButtonA{
|
||||
//: 'Cancel' : Button to cancel the action.
|
||||
text: (proxyHttpOptions.showProxyOptions? qsTr('cancel'):
|
||||
//: 'Set HTTP proxy' : Button to set the new proxy.
|
||||
qsTr('setHTTPProxy'))
|
||||
onClicked:{
|
||||
proxyHttpOptions.showProxyOptions = !proxyHttpOptions.showProxyOptions
|
||||
}
|
||||
Layout.preferredWidth: 100
|
||||
}
|
||||
}
|
||||
FormLine{
|
||||
visible: SettingsModel.developerSettingsEnabled
|
||||
RowLayout{
|
||||
id: proxyHttpOptions
|
||||
property bool showProxyOptions : false
|
||||
|
||||
TextField {
|
||||
id: proxyHttpHost
|
||||
visible: parent.showProxyOptions
|
||||
//: 'Host' : Placeholder to set hostname.
|
||||
placeholderText: qsTr('proxyHttpHost')
|
||||
}
|
||||
NumericField{
|
||||
id: proxyHttpPort
|
||||
visible: parent.showProxyOptions
|
||||
//: 'Port' : Placehoilder to set port.
|
||||
placeholderText: qsTr('proxyHttpPort')
|
||||
Layout.preferredWidth: 100
|
||||
maxValue: 65535
|
||||
}
|
||||
TextField {
|
||||
id: proxyHttpUsername
|
||||
visible: parent.showProxyOptions
|
||||
//: 'Username' : Placeholder to set username.
|
||||
placeholderText: qsTr('proxyHttpUsername')
|
||||
}
|
||||
PasswordField {
|
||||
id: proxyHttpPassword
|
||||
visible: parent.showProxyOptions
|
||||
//: 'Password' : Placeholder to set password.
|
||||
placeholderText: qsTr('proxyHttpPassword')
|
||||
onVisibleChanged: if(!visible) text=''
|
||||
}
|
||||
TextButtonB{
|
||||
visible: parent.showProxyOptions
|
||||
//: 'Apply' : Button to set proxy from changes.
|
||||
text: qsTr('proxyHttpApply')
|
||||
onClicked: {
|
||||
view.tunnelModel.setHttpProxy(proxyHttpHost.text, proxyHttpPort.text, proxyHttpUsername.text, proxyHttpPassword.text)
|
||||
parent.showProxyOptions = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//---------------- USER SETTINGS FOR TUNNEL
|
||||
FormLine {
|
||||
FormGroup {
|
||||
//: 'Mode' : Field title on form to set tunnel mode.
|
||||
label: qsTr('serverMode')
|
||||
ExclusiveButtons {
|
||||
id: mode
|
||||
property var modes: [ [LinphoneEnums.TunnelModeDisable],
|
||||
[LinphoneEnums.TunnelModeEnable],
|
||||
[LinphoneEnums.TunnelModeAuto]
|
||||
]
|
||||
texts: modes.map(value => UtilsCpp.toString(value[0]) )
|
||||
onClicked: view.tunnelModel.mode = modes[button][0]
|
||||
Binding {
|
||||
property: 'selectedButton'
|
||||
target: mode
|
||||
value: {
|
||||
var toFound = view.tunnelModel.mode
|
||||
return Number(Utils.findIndex(mode.modes, function (value) {
|
||||
return toFound == value[0]
|
||||
}))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
FormLine {
|
||||
FormGroup {
|
||||
//: 'Dual mode' : Field title on form to set dual mode of the tunnel.
|
||||
label: qsTr('serverDualMode')
|
||||
Switch {
|
||||
checked: view.tunnelModel.dualModeEnabled
|
||||
onClicked: view.tunnelModel.dualModeEnabled = !checked
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
Repeater {
|
||||
id: view
|
||||
property TunnelModel tunnelModel : SettingsModel.getTunnel()
|
||||
property TunnelConfigProxyModel tunnelConfigProxyModel: tunnelModel.getTunnelProxyConfigs()
|
||||
|
||||
width: parent.width
|
||||
model: tunnelConfigProxyModel
|
||||
delegate:
|
||||
Form {
|
||||
//: 'Server' : Title form to set a server
|
||||
title: qsTr('serverTitle')+' : '+modelData.host+(view.tunnelModel.dualModeEnabled?' / '+modelData.host2:'')
|
||||
width: view.width
|
||||
removeButton: SettingsModel.developerSettingsEnabled
|
||||
onRemoveButtonClicked: {view.tunnelModel.removeTunnelConfig(modelData)}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
//: 'Hostname' : Field title on form to set hostname.
|
||||
label: qsTr('serverHostname')
|
||||
TextField {
|
||||
text: modelData.host
|
||||
onEditingFinished: modelData.host = text
|
||||
}
|
||||
}
|
||||
}
|
||||
FormLine {
|
||||
FormGroup {
|
||||
//: 'Port' : Field title on form to set port.
|
||||
label: qsTr('serverPort')
|
||||
NumericField {
|
||||
text: modelData.port
|
||||
onEditingFinished: modelData.port = text
|
||||
maxValue: 65535
|
||||
}
|
||||
}
|
||||
}
|
||||
FormLine {
|
||||
visible: view.tunnelModel.dualModeEnabled
|
||||
FormGroup {
|
||||
//: 'Dual hostname URL' : Field title on form to set the second hostname for dual configuration.
|
||||
label: qsTr('serverDualHostname')
|
||||
TextField {
|
||||
text: modelData.host2
|
||||
onEditingFinished: modelData.host2 = text
|
||||
}
|
||||
}
|
||||
}
|
||||
FormLine {
|
||||
visible: view.tunnelModel.dualModeEnabled
|
||||
FormGroup {
|
||||
//: 'Dual port' : Field title on form to set the second port for the dual configuration.
|
||||
label: qsTr('serverDualPort')
|
||||
NumericField {
|
||||
text: modelData.port2
|
||||
onEditingFinished: modelData.port2 = text
|
||||
maxValue: 65535
|
||||
}
|
||||
}
|
||||
}
|
||||
//------------------------- DEVELOPER SETTINGS FOR SERVER
|
||||
FormLine {
|
||||
visible: SettingsModel.developerSettingsEnabled
|
||||
FormGroup {
|
||||
//: 'Remote UDP mirror port' : Field title on form to set the remote UDP mirror port.
|
||||
label: qsTr('serverRemoteUDPMirrorPort')
|
||||
NumericField {
|
||||
text: modelData.remoteUdpMirrorPort
|
||||
onEditingFinished: modelData.remoteUdpMirrorPort = text
|
||||
maxValue: 65535
|
||||
}
|
||||
}
|
||||
}
|
||||
FormLine {
|
||||
visible: SettingsModel.developerSettingsEnabled
|
||||
FormGroup {
|
||||
//: 'Delay' : Field title on form to set the delay of the tunnel.
|
||||
label: qsTr('serverDelay')
|
||||
NumericField {
|
||||
text: modelData.delay
|
||||
onEditingFinished: modelData.delay = text
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RowLayout{
|
||||
width: parent.width
|
||||
TextButtonB {
|
||||
visible: SettingsModel.developerSettingsEnabled
|
||||
//: 'Add server' : Button for adding a server
|
||||
text: qsTr('tunnelAddServer')
|
||||
onClicked: {view.tunnelModel.addTunnelConfig()}
|
||||
}
|
||||
Item{
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
TextButtonB {
|
||||
//: 'Apply' : Button to apply changes.
|
||||
text: qsTr('tunnelApply')
|
||||
onClicked: view.tunnelModel.apply()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -12,152 +12,151 @@ import App.Styles 1.0
|
|||
// =============================================================================
|
||||
|
||||
ApplicationWindow {
|
||||
id: window
|
||||
|
||||
minimumHeight: SettingsWindowStyle.height
|
||||
minimumWidth: SettingsWindowStyle.width
|
||||
|
||||
title: qsTr('settingsTitle')
|
||||
|
||||
onClosing: SettingsModel.settingsWindowClosing()
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Shortcut {
|
||||
sequence: StandardKey.Close
|
||||
onActivated: window.hide()
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: SettingsWindowStyle.color
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: 0
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Navigation bar.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: 0
|
||||
|
||||
TabBar {
|
||||
id: tabBar
|
||||
|
||||
onCurrentIndexChanged: SettingsModel.onSettingsTabChanged(currentIndex)
|
||||
|
||||
TabButton {
|
||||
iconName: 'settings_sip_accounts'
|
||||
text: qsTr('sipAccountsTab')
|
||||
width: implicitWidth
|
||||
//onClicked: SettingsModel.settingsButtonClicked("sip")
|
||||
id: window
|
||||
|
||||
minimumHeight: SettingsWindowStyle.height
|
||||
minimumWidth: SettingsWindowStyle.width
|
||||
|
||||
title: qsTr('settingsTitle')
|
||||
|
||||
onClosing: SettingsModel.settingsWindowClosing()
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Shortcut {
|
||||
sequence: StandardKey.Close
|
||||
onActivated: window.hide()
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: SettingsWindowStyle.color
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: 0
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Navigation bar.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: 0
|
||||
|
||||
TabBar {
|
||||
id: tabBar
|
||||
|
||||
onCurrentIndexChanged: SettingsModel.onSettingsTabChanged(currentIndex)
|
||||
|
||||
TabButton {
|
||||
iconName: 'settings_sip_accounts'
|
||||
text: qsTr('sipAccountsTab')
|
||||
width: implicitWidth
|
||||
}
|
||||
|
||||
TabButton {
|
||||
iconName: 'settings_audio'
|
||||
text: qsTr('audioTab')
|
||||
width: implicitWidth
|
||||
}
|
||||
|
||||
TabButton {
|
||||
enabled: SettingsModel.videoSupported
|
||||
iconName: 'settings_video'
|
||||
text: qsTr('videoTab')
|
||||
width: implicitWidth
|
||||
}
|
||||
|
||||
TabButton {
|
||||
iconName: 'settings_call'
|
||||
text: qsTr('callsAndChatTab')
|
||||
width: implicitWidth
|
||||
}
|
||||
|
||||
TabButton {
|
||||
enabled: SettingsModel.showNetworkSettings || SettingsModel.developerSettingsEnabled
|
||||
iconName: 'settings_network'
|
||||
text: qsTr('networkTab')
|
||||
width: implicitWidth
|
||||
}
|
||||
|
||||
TabButton {
|
||||
enabled: SettingsModel.tunnelAvailable
|
||||
iconName: 'settings_network'
|
||||
//: 'Tunnel' : Tab title for tunnel section in settings.
|
||||
text: qsTr('tunnelTab')
|
||||
width: implicitWidth
|
||||
}
|
||||
|
||||
TabButton {
|
||||
iconName: 'settings_advanced'
|
||||
text: qsTr('uiTab')
|
||||
width: implicitWidth
|
||||
}
|
||||
|
||||
TabButton {
|
||||
iconName: 'settings_advanced'
|
||||
text: qsTr('uiAdvanced')
|
||||
width: implicitWidth
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: TabButtonStyle.text.height
|
||||
|
||||
color: TabButtonStyle.backgroundColor.normal
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
|
||||
onClicked: konami.forceActiveFocus()
|
||||
cursorShape: Qt.ArrowCursor
|
||||
|
||||
Konami {
|
||||
id: konami
|
||||
onTriggered: SettingsModel.developerSettingsEnabled = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Content.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
StackLayout {
|
||||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
|
||||
currentIndex: tabBar.currentIndex
|
||||
SettingsSipAccounts {}
|
||||
SettingsAudio {}
|
||||
SettingsVideo {}
|
||||
SettingsCallsChat {}
|
||||
SettingsNetwork {}
|
||||
SettingsTunnel {}
|
||||
SettingsUi {}
|
||||
SettingsAdvanced {}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Buttons.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
TextButtonB {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
Layout.topMargin: SettingsWindowStyle.validButton.topMargin
|
||||
Layout.bottomMargin: SettingsWindowStyle.validButton.bottomMargin
|
||||
Layout.rightMargin: SettingsWindowStyle.validButton.rightMargin
|
||||
|
||||
text: qsTr('validButton')
|
||||
|
||||
onClicked: window.close()
|
||||
}
|
||||
}
|
||||
|
||||
TabButton {
|
||||
iconName: 'settings_audio'
|
||||
text: qsTr('audioTab')
|
||||
width: implicitWidth
|
||||
//onClicked: SettingsModel.accessAudioSettings()
|
||||
//onClicked: SettingsModel.settingsButtonClicked("audio")
|
||||
}
|
||||
|
||||
TabButton {
|
||||
enabled: SettingsModel.videoSupported
|
||||
iconName: 'settings_video'
|
||||
text: qsTr('videoTab')
|
||||
width: implicitWidth
|
||||
//onClicked: SettingsModel.accessVideoSettings()
|
||||
//onClicked: SettingsModel.settingsButtonClicked("video")
|
||||
}
|
||||
|
||||
TabButton {
|
||||
iconName: 'settings_call'
|
||||
text: qsTr('callsAndChatTab')
|
||||
width: implicitWidth
|
||||
//onClicked: SettingsModel.settingsButtonClicked("call")
|
||||
}
|
||||
|
||||
TabButton {
|
||||
enabled: SettingsModel.showNetworkSettings || SettingsModel.developerSettingsEnabled
|
||||
iconName: 'settings_network'
|
||||
text: qsTr('networkTab')
|
||||
width: implicitWidth
|
||||
//onClicked: SettingsModel.settingsButtonClicked("network")
|
||||
}
|
||||
|
||||
TabButton {
|
||||
iconName: 'settings_advanced'
|
||||
text: qsTr('uiTab')
|
||||
width: implicitWidth
|
||||
//onClicked: SettingsModel.settingsButtonClicked("ui")
|
||||
}
|
||||
|
||||
TabButton {
|
||||
iconName: 'settings_advanced'
|
||||
text: qsTr('uiAdvanced')
|
||||
width: implicitWidth
|
||||
//onClicked: SettingsModel.settingsButtonClicked("advanced")
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: TabButtonStyle.text.height
|
||||
|
||||
color: TabButtonStyle.backgroundColor.normal
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
|
||||
onClicked: konami.forceActiveFocus()
|
||||
cursorShape: Qt.ArrowCursor
|
||||
|
||||
Konami {
|
||||
id: konami
|
||||
onTriggered: SettingsModel.developerSettingsEnabled = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Content.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
StackLayout {
|
||||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
|
||||
currentIndex: tabBar.currentIndex
|
||||
|
||||
SettingsSipAccounts {}
|
||||
SettingsAudio {}
|
||||
SettingsVideo {}
|
||||
SettingsCallsChat {}
|
||||
SettingsNetwork {}
|
||||
SettingsUi {}
|
||||
SettingsAdvanced {}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Buttons.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
TextButtonB {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
Layout.topMargin: SettingsWindowStyle.validButton.topMargin
|
||||
Layout.bottomMargin: SettingsWindowStyle.validButton.bottomMargin
|
||||
Layout.rightMargin: SettingsWindowStyle.validButton.rightMargin
|
||||
|
||||
text: qsTr('validButton')
|
||||
|
||||
onClicked: window.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||