mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-04-21 22:48:31 +00:00
Fix : Camera freeze on Mac
LDAP quickfixes: - Fix break lines in tooltips - Add timeout field - Remove sip scheme customization - Change LDPA settings layout - Remove 'sip_scheme' option and better URI normalization. The normalization is done when not having domain : it will be set after linphone_core_interpret_url - Add anonymous bind (no bindDN and no password) - Add multiple results for one contact (it allows to have one contact for each phone numbers for example) - Add error message when using ldaps
This commit is contained in:
parent
fc5bc239ce
commit
8aa04c2821
5 changed files with 81 additions and 72 deletions
|
|
@ -1444,7 +1444,7 @@ Click here: <a href="%1">%1</a>
|
||||||
<message>
|
<message>
|
||||||
<source>bindDNTooltip</source>
|
<source>bindDNTooltip</source>
|
||||||
<translatorcomment>'Bind DN' can be a keyword. Check LDAP documentations</translatorcomment>
|
<translatorcomment>'Bind DN' can be a keyword. Check LDAP documentations</translatorcomment>
|
||||||
<translation>The bind DN is the credential that is used to authenticate against an LDAP.\n eg: cn=ausername,ou=people,dc=bc,dc=com</translation>
|
<translation>The bind DN is the credential that is used to authenticate against an LDAP.<br> eg: cn=ausername,ou=people,dc=bc,dc=com</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>passwordLabel</source>
|
<source>passwordLabel</source>
|
||||||
|
|
@ -1456,7 +1456,7 @@ Click here: <a href="%1">%1</a>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>useTLSTooltip</source>
|
<source>useTLSTooltip</source>
|
||||||
<translation>Encrypt transactions by LDAP over TLS(StartTLS). You must use \'ldap\' scheme. \'ldaps\' for LDAP over SSL is non-standardized and deprecated.\nStartTLS in an extension to the LDAP protocol which uses the TLS protocol to encrypt communication. \nIt works by establishing a normal - i.e. unsecured - connection with the LDAP server before a handshake negotiation between the server and the web services is carried out. Here, the server sends its certificate to prove its identity before the secure connection is established.</translation>
|
<translation>Encrypt transactions by LDAP over TLS(StartTLS). You must use \'ldap\' scheme. \'ldaps\' for LDAP over SSL is non-standardized and deprecated.<br>StartTLS in an extension to the LDAP protocol which uses the TLS protocol to encrypt communication. <br>It works by establishing a normal - i.e. unsecured - connection with the LDAP server before a handshake negotiation between the server and the web services is carried out. Here, the server sends its certificate to prove its identity before the secure connection is established.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>useSalLabel</source>
|
<source>useSalLabel</source>
|
||||||
|
|
@ -1495,18 +1495,18 @@ Click here: <a href="%1">%1</a>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>baseObjectLabel</source>
|
<source>baseObjectLabel</source>
|
||||||
<translatorcomment>'Base Object' can be a keyword. Check LDAP documentations</translatorcomment>
|
<translatorcomment>'Base Object'/'Search Base' can be a keyword. Check LDAP documentations</translatorcomment>
|
||||||
<translation>Base Object</translation>
|
<translation>Search Base</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>baseObjectPlaceholder</source>
|
<source>baseObjectPlaceholder</source>
|
||||||
<translatorcomment>'Base Object' can be a keyword. Check LDAP documentations</translatorcomment>
|
<translatorcomment>'Base Object'/'Search Base' can be a keyword. Check LDAP documentations</translatorcomment>
|
||||||
<translation>Base Object</translation>
|
<translation>Search Base</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>baseObjectTooltip</source>
|
<source>baseObjectTooltip</source>
|
||||||
<translatorcomment>'Base Object'and 'Base DN' can be keywords. Check LDAP documentations</translatorcomment>
|
<translatorcomment>'Base Object', 'Search Base' and 'Base DN' can be keywords. Check LDAP documentations</translatorcomment>
|
||||||
<translation>Base Object is a specification for LDAP Search Scopes that specifies that the Search Request should only be performed against the entry specified as the search base DN.\n\nNo entries below it will be considered.</translation>
|
<translation>Base Object/Search Base is a specification for LDAP Search Scopes that specifies that the Search Request should only be performed against the entry specified as the search base DN.<br>No entries above it will be considered.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>filterLabel</source>
|
<source>filterLabel</source>
|
||||||
|
|
@ -1514,7 +1514,7 @@ Click here: <a href="%1">%1</a>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>filterTooltip</source>
|
<source>filterTooltip</source>
|
||||||
<translation>The search is base on this filter to search friends. Default value : (sn=%s)</translation>
|
<translation>The search is base on this filter to search contacts.<br>Default value : (sn=%s)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>maxResultsLabel</source>
|
<source>maxResultsLabel</source>
|
||||||
|
|
@ -1534,7 +1534,7 @@ Click here: <a href="%1">%1</a>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>nameAttributesTooltip</source>
|
<source>nameAttributesTooltip</source>
|
||||||
<translation>Check these attributes To build Name Friend, separated by a comma and the first is the highest priority. The default value is: sn</translation>
|
<translation>Check these attributes To build Name Contact, separated by a comma and the first is the highest priority.<br>The default value is: sn</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>sipAttributesLabel</source>
|
<source>sipAttributesLabel</source>
|
||||||
|
|
@ -1543,15 +1543,7 @@ Click here: <a href="%1">%1</a>
|
||||||
<message>
|
<message>
|
||||||
<source>sipAttributesTooltip</source>
|
<source>sipAttributesTooltip</source>
|
||||||
<translatorcomment>Default values : (mobile,telephoneNumber,homePhone,sn) are keywords.</translatorcomment>
|
<translatorcomment>Default values : (mobile,telephoneNumber,homePhone,sn) are keywords.</translatorcomment>
|
||||||
<translation>Check these attributes to build the SIP username in address of Friend. Attributes are separated by a comma and the first is the highest priority. The default value is: mobile,telephoneNumber,homePhone,sn</translation>
|
<translation>Check these attributes to build the SIP username in address of Contact. Attributes are separated by a comma and the first is the highest priority.<br>The default value is: mobile,telephoneNumber,homePhone,sn</translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>schemeLabel</source>
|
|
||||||
<translation>Scheme</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>schemeTooltip</source>
|
|
||||||
<translation>Add the scheme to the sip address(scheme:username@domain). The default value is sip</translation>
|
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>domainLabel</source>
|
<source>domainLabel</source>
|
||||||
|
|
@ -1559,7 +1551,7 @@ Click here: <a href="%1">%1</a>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>domainTooltip</source>
|
<source>domainTooltip</source>
|
||||||
<translation>Add the domain to the sip address(scheme:username@domain). The default value is sip.linphone.org</translation>
|
<translation>Add the domain to the sip address(sip:username@domain).<br>The default value is sip.linphone.org</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>miscLabel</source>
|
<source>miscLabel</source>
|
||||||
|
|
@ -1574,6 +1566,14 @@ Click here: <a href="%1">%1</a>
|
||||||
<source>debugTooltip</source>
|
<source>debugTooltip</source>
|
||||||
<translation>Get verbose logs in Linphone log file when doing transactions (useful to debug TLS connections).</translation>
|
<translation>Get verbose logs in Linphone log file when doing transactions (useful to debug TLS connections).</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>timeoutLabel</source>
|
||||||
|
<translation>Timeout</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>timeoutTooltip</source>
|
||||||
|
<translation>The connection and search timeout in seconds. It must be positive.<br>Default is 5s.</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsNetwork</name>
|
<name>SettingsNetwork</name>
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ using namespace std;
|
||||||
LdapModel::LdapModel (const int& id,QObject *parent ) : QObject(parent), mId(id){
|
LdapModel::LdapModel (const int& id,QObject *parent ) : QObject(parent), mId(id){
|
||||||
mIsValid = false;
|
mIsValid = false;
|
||||||
mMaxResults = 50;
|
mMaxResults = 50;
|
||||||
|
mTimeout = 5;
|
||||||
mDebug = false;
|
mDebug = false;
|
||||||
mVerifyServerCertificates = -1;
|
mVerifyServerCertificates = -1;
|
||||||
mUseTls = true;
|
mUseTls = true;
|
||||||
|
|
@ -53,13 +54,13 @@ void LdapModel::init(){
|
||||||
bool LdapModel::isValid(){
|
bool LdapModel::isValid(){
|
||||||
bool valid = mServerFieldError==""
|
bool valid = mServerFieldError==""
|
||||||
&& mMaxResultsFieldError==""
|
&& mMaxResultsFieldError==""
|
||||||
|
&& mTimeoutFieldError==""
|
||||||
&& mPasswordFieldError==""
|
&& mPasswordFieldError==""
|
||||||
&& mBindDnFieldError==""
|
&& mBindDnFieldError==""
|
||||||
&& mBaseObjectFieldError==""
|
&& mBaseObjectFieldError==""
|
||||||
&& mFilterFieldError==""
|
&& mFilterFieldError==""
|
||||||
&& mNameAttributesFieldError==""
|
&& mNameAttributesFieldError==""
|
||||||
&& mSipAttributesFieldError==""
|
&& mSipAttributesFieldError==""
|
||||||
&& mSipSchemeFieldError==""
|
|
||||||
&& mSipDomainFieldError=="";
|
&& mSipDomainFieldError=="";
|
||||||
if( valid != mIsValid){
|
if( valid != mIsValid){
|
||||||
mIsValid = valid;
|
mIsValid = valid;
|
||||||
|
|
@ -131,13 +132,13 @@ void LdapModel::set(){
|
||||||
mConfig["use_tls"] = (mUseTls?"1":"0");
|
mConfig["use_tls"] = (mUseTls?"1":"0");
|
||||||
mConfig["server"] = mServer;
|
mConfig["server"] = mServer;
|
||||||
mConfig["max_results"] = mMaxResults;
|
mConfig["max_results"] = mMaxResults;
|
||||||
|
mConfig["timeout"] = mTimeout;
|
||||||
mConfig["password"] = mPassword;
|
mConfig["password"] = mPassword;
|
||||||
mConfig["bind_dn"] = mBindDn;
|
mConfig["bind_dn"] = mBindDn;
|
||||||
mConfig["base_object"] = mBaseObject;
|
mConfig["base_object"] = mBaseObject;
|
||||||
mConfig["filter"] = mFilter;
|
mConfig["filter"] = mFilter;
|
||||||
mConfig["name_attribute"] = mNameAttributes;
|
mConfig["name_attribute"] = mNameAttributes;
|
||||||
mConfig["sip_attribute"] = mSipAttributes;
|
mConfig["sip_attribute"] = mSipAttributes;
|
||||||
mConfig["sip_scheme"] = mSipScheme;
|
|
||||||
mConfig["sip_domain"] = mSipDomain;
|
mConfig["sip_domain"] = mSipDomain;
|
||||||
mConfig["debug"] = (mDebug?"1":"0");
|
mConfig["debug"] = (mDebug?"1":"0");
|
||||||
mConfig["verify_server_certificates"] = mVerifyServerCertificates;
|
mConfig["verify_server_certificates"] = mVerifyServerCertificates;
|
||||||
|
|
@ -149,26 +150,26 @@ void LdapModel::unset(){
|
||||||
mUseTls = mConfig["use_tls"].toString() == "1";
|
mUseTls = mConfig["use_tls"].toString() == "1";
|
||||||
mUseSal = mConfig["use_sal"].toString() == "1";
|
mUseSal = mConfig["use_sal"].toString() == "1";
|
||||||
mMaxResults = mConfig["max_results"].toInt();
|
mMaxResults = mConfig["max_results"].toInt();
|
||||||
|
mTimeout = mConfig["timeout"].toInt();
|
||||||
mPassword = mConfig["password"].toString();
|
mPassword = mConfig["password"].toString();
|
||||||
mBindDn = mConfig["bind_dn"].toString();
|
mBindDn = mConfig["bind_dn"].toString();
|
||||||
mBaseObject = mConfig["base_object"].toString();
|
mBaseObject = mConfig["base_object"].toString();
|
||||||
mFilter = mConfig["filter"].toString();
|
mFilter = mConfig["filter"].toString();
|
||||||
mNameAttributes = mConfig["name_attribute"].toString();
|
mNameAttributes = mConfig["name_attribute"].toString();
|
||||||
mSipAttributes = mConfig["sip_attribute"].toString();
|
mSipAttributes = mConfig["sip_attribute"].toString();
|
||||||
mSipScheme = mConfig["sip_scheme"].toString();
|
|
||||||
mSipDomain = mConfig["sip_domain"].toString();
|
mSipDomain = mConfig["sip_domain"].toString();
|
||||||
mDebug = mConfig["debug"].toString() == "1";
|
mDebug = mConfig["debug"].toString() == "1";
|
||||||
mVerifyServerCertificates = mConfig["verify_server_certificates"].toInt();
|
mVerifyServerCertificates = mConfig["verify_server_certificates"].toInt();
|
||||||
|
|
||||||
testServerField();
|
testServerField();
|
||||||
testMaxResultsField();
|
testMaxResultsField();
|
||||||
|
testTimeoutField();
|
||||||
testPasswordField();
|
testPasswordField();
|
||||||
testBindDnField();
|
testBindDnField();
|
||||||
testBaseObjectField();
|
testBaseObjectField();
|
||||||
testFilterField();
|
testFilterField();
|
||||||
testNameAttributesField();
|
testNameAttributesField();
|
||||||
testSipAttributesField();
|
testSipAttributesField();
|
||||||
testSipSchemeField();
|
|
||||||
testSipDomainField();
|
testSipDomainField();
|
||||||
isValid();
|
isValid();
|
||||||
}
|
}
|
||||||
|
|
@ -199,7 +200,9 @@ void LdapModel::testServerField(){
|
||||||
if(!url.isValid())
|
if(!url.isValid())
|
||||||
valid = "Server is not an URL";
|
valid = "Server is not an URL";
|
||||||
else if(url.scheme().left(4) != "ldap")
|
else if(url.scheme().left(4) != "ldap")
|
||||||
valid = "URL must begin by a ldap scheme";
|
valid = "URL must begin by a ldap scheme.";
|
||||||
|
else if(url.scheme() == "ldaps")
|
||||||
|
valid = "ldaps is not supported.";
|
||||||
else
|
else
|
||||||
valid = "";
|
valid = "";
|
||||||
}
|
}
|
||||||
|
|
@ -228,6 +231,24 @@ void LdapModel::testMaxResultsField(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LdapModel::setTimeout(const int& data){
|
||||||
|
mTimeout = data;
|
||||||
|
testTimeoutField();
|
||||||
|
emit timeoutChanged();
|
||||||
|
}
|
||||||
|
void LdapModel::testTimeoutField(){
|
||||||
|
QString valid;
|
||||||
|
if(mTimeout < 0)
|
||||||
|
valid = "Timeout must be positive in seconds.";
|
||||||
|
else
|
||||||
|
valid = "";
|
||||||
|
if( valid != mTimeoutFieldError){
|
||||||
|
mTimeoutFieldError = valid;
|
||||||
|
emit timeoutFieldErrorChanged();
|
||||||
|
isValid();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void LdapModel::setPassword(const QString& data){
|
void LdapModel::setPassword(const QString& data){
|
||||||
mPassword = data;
|
mPassword = data;
|
||||||
testPasswordField();
|
testPasswordField();
|
||||||
|
|
@ -249,10 +270,6 @@ void LdapModel::setBindDn(const QString& data){
|
||||||
}
|
}
|
||||||
void LdapModel::testBindDnField(){
|
void LdapModel::testBindDnField(){
|
||||||
QString valid;
|
QString valid;
|
||||||
if(mBindDn == "")
|
|
||||||
valid = "Bind DN must not be empty";
|
|
||||||
else
|
|
||||||
valid = "";
|
|
||||||
if( valid != mBindDnFieldError){
|
if( valid != mBindDnFieldError){
|
||||||
mBindDnFieldError = valid;
|
mBindDnFieldError = valid;
|
||||||
emit bindDnFieldErrorChanged();
|
emit bindDnFieldErrorChanged();
|
||||||
|
|
@ -268,7 +285,7 @@ void LdapModel::setBaseObject(const QString& data){
|
||||||
void LdapModel::testBaseObjectField(){
|
void LdapModel::testBaseObjectField(){
|
||||||
QString valid;
|
QString valid;
|
||||||
if(mBaseObject == "")
|
if(mBaseObject == "")
|
||||||
valid = "Base Object must not be empty";
|
valid = "Search Base must not be empty";
|
||||||
else
|
else
|
||||||
valid = "";
|
valid = "";
|
||||||
if( valid != mBaseObjectFieldError){
|
if( valid != mBaseObjectFieldError){
|
||||||
|
|
@ -320,20 +337,6 @@ void LdapModel::testSipAttributesField(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LdapModel::setSipScheme(const QString& data){
|
|
||||||
mSipScheme = data;
|
|
||||||
testSipSchemeField();
|
|
||||||
emit sipSchemeChanged();
|
|
||||||
}
|
|
||||||
void LdapModel::testSipSchemeField(){
|
|
||||||
QString valid = "";
|
|
||||||
if( valid != mSipSchemeFieldError){
|
|
||||||
mSipSchemeFieldError = valid;
|
|
||||||
emit sipSchemeFieldErrorChanged();
|
|
||||||
isValid();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LdapModel::setSipDomain(const QString& data){
|
void LdapModel::setSipDomain(const QString& data){
|
||||||
mSipDomain = data;
|
mSipDomain = data;
|
||||||
testSipDomainField();
|
testSipDomainField();
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,10 @@ class LdapModel : public QObject {
|
||||||
Q_PROPERTY(int maxResults MEMBER mMaxResults WRITE setMaxResults NOTIFY maxResultsChanged)
|
Q_PROPERTY(int maxResults MEMBER mMaxResults WRITE setMaxResults NOTIFY maxResultsChanged)
|
||||||
Q_PROPERTY(QString maxResultsFieldError MEMBER mMaxResultsFieldError NOTIFY maxResultsFieldErrorChanged)
|
Q_PROPERTY(QString maxResultsFieldError MEMBER mMaxResultsFieldError NOTIFY maxResultsFieldErrorChanged)
|
||||||
|
|
||||||
|
Q_PROPERTY(int timeout MEMBER mTimeout WRITE setTimeout NOTIFY timeoutChanged)
|
||||||
|
Q_PROPERTY(QString timeoutFieldError MEMBER mTimeoutFieldError NOTIFY timeoutFieldErrorChanged)
|
||||||
|
|
||||||
|
|
||||||
Q_PROPERTY(QString password MEMBER mPassword WRITE setPassword NOTIFY passwordChanged)
|
Q_PROPERTY(QString password MEMBER mPassword WRITE setPassword NOTIFY passwordChanged)
|
||||||
Q_PROPERTY(QString passwordFieldError MEMBER mPasswordFieldError NOTIFY passwordFieldErrorChanged)
|
Q_PROPERTY(QString passwordFieldError MEMBER mPasswordFieldError NOTIFY passwordFieldErrorChanged)
|
||||||
|
|
||||||
|
|
@ -63,9 +67,6 @@ class LdapModel : public QObject {
|
||||||
Q_PROPERTY(QString sipAttributes MEMBER mSipAttributes WRITE setSipAttributes NOTIFY sipAttributesChanged)
|
Q_PROPERTY(QString sipAttributes MEMBER mSipAttributes WRITE setSipAttributes NOTIFY sipAttributesChanged)
|
||||||
Q_PROPERTY(QString sipAttributesFieldError MEMBER mSipAttributesFieldError NOTIFY sipAttributesFieldErrorChanged)
|
Q_PROPERTY(QString sipAttributesFieldError MEMBER mSipAttributesFieldError NOTIFY sipAttributesFieldErrorChanged)
|
||||||
|
|
||||||
Q_PROPERTY(QString sipScheme MEMBER mSipScheme WRITE setSipScheme NOTIFY sipSchemeChanged)
|
|
||||||
Q_PROPERTY(QString sipSchemeFieldError MEMBER mSipSchemeFieldError NOTIFY sipSchemeFieldErrorChanged)
|
|
||||||
|
|
||||||
Q_PROPERTY(QString sipDomain MEMBER mSipDomain WRITE setSipDomain NOTIFY sipDomainChanged)
|
Q_PROPERTY(QString sipDomain MEMBER mSipDomain WRITE setSipDomain NOTIFY sipDomainChanged)
|
||||||
Q_PROPERTY(QString sipDomainFieldError MEMBER mSipDomainFieldError NOTIFY sipDomainFieldErrorChanged)
|
Q_PROPERTY(QString sipDomainFieldError MEMBER mSipDomainFieldError NOTIFY sipDomainFieldErrorChanged)
|
||||||
|
|
||||||
|
|
@ -95,7 +96,12 @@ public:
|
||||||
QString mMaxResultsFieldError;
|
QString mMaxResultsFieldError;
|
||||||
void setMaxResults(const int& data);
|
void setMaxResults(const int& data);
|
||||||
void testMaxResultsField();
|
void testMaxResultsField();
|
||||||
|
|
||||||
|
int mTimeout;
|
||||||
|
QString mTimeoutFieldError;
|
||||||
|
void setTimeout(const int& data);
|
||||||
|
void testTimeoutField();
|
||||||
|
|
||||||
QString mPassword;
|
QString mPassword;
|
||||||
QString mPasswordFieldError;
|
QString mPasswordFieldError;
|
||||||
void setPassword(const QString& data);
|
void setPassword(const QString& data);
|
||||||
|
|
@ -126,11 +132,6 @@ public:
|
||||||
void setSipAttributes(const QString& data);
|
void setSipAttributes(const QString& data);
|
||||||
void testSipAttributesField();
|
void testSipAttributesField();
|
||||||
|
|
||||||
QString mSipScheme;
|
|
||||||
QString mSipSchemeFieldError;
|
|
||||||
void setSipScheme(const QString& data);
|
|
||||||
void testSipSchemeField();
|
|
||||||
|
|
||||||
QString mSipDomain;
|
QString mSipDomain;
|
||||||
QString mSipDomainFieldError;
|
QString mSipDomainFieldError;
|
||||||
void setSipDomain(const QString& data);
|
void setSipDomain(const QString& data);
|
||||||
|
|
@ -163,13 +164,13 @@ signals:
|
||||||
void useSalChanged();
|
void useSalChanged();
|
||||||
void isServerValidChanged();
|
void isServerValidChanged();
|
||||||
void maxResultsChanged();
|
void maxResultsChanged();
|
||||||
|
void timeoutChanged();
|
||||||
void passwordChanged();
|
void passwordChanged();
|
||||||
void bindDnChanged();
|
void bindDnChanged();
|
||||||
void baseObjectChanged();
|
void baseObjectChanged();
|
||||||
void filterChanged();
|
void filterChanged();
|
||||||
void nameAttributesChanged();
|
void nameAttributesChanged();
|
||||||
void sipAttributesChanged();
|
void sipAttributesChanged();
|
||||||
void sipSchemeChanged();
|
|
||||||
void sipDomainChanged();
|
void sipDomainChanged();
|
||||||
void debugChanged();
|
void debugChanged();
|
||||||
void verifyServerCertificatesChanged();
|
void verifyServerCertificatesChanged();
|
||||||
|
|
@ -177,13 +178,13 @@ signals:
|
||||||
|
|
||||||
void serverFieldErrorChanged();
|
void serverFieldErrorChanged();
|
||||||
void maxResultsFieldErrorChanged();
|
void maxResultsFieldErrorChanged();
|
||||||
|
void timeoutFieldErrorChanged();
|
||||||
void passwordFieldErrorChanged();
|
void passwordFieldErrorChanged();
|
||||||
void bindDnFieldErrorChanged();
|
void bindDnFieldErrorChanged();
|
||||||
void baseObjectFieldErrorChanged();
|
void baseObjectFieldErrorChanged();
|
||||||
void filterFieldErrorChanged();
|
void filterFieldErrorChanged();
|
||||||
void nameAttributesFieldErrorChanged();
|
void nameAttributesFieldErrorChanged();
|
||||||
void sipAttributesFieldErrorChanged();
|
void sipAttributesFieldErrorChanged();
|
||||||
void sipSchemeFieldErrorChanged();
|
|
||||||
void sipDomainFieldErrorChanged();
|
void sipDomainFieldErrorChanged();
|
||||||
|
|
||||||
void enabledChanged();
|
void enabledChanged();
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,7 @@ DialogPlus {
|
||||||
|
|
||||||
FormLine {
|
FormLine {
|
||||||
FormGroup {
|
FormGroup {
|
||||||
|
id:passwordGroup
|
||||||
label: qsTr('passwordLabel')//'Password'
|
label: qsTr('passwordLabel')//'Password'
|
||||||
PasswordField {
|
PasswordField {
|
||||||
id:password
|
id:password
|
||||||
|
|
@ -115,6 +116,7 @@ DialogPlus {
|
||||||
}
|
}
|
||||||
FormLine {
|
FormLine {
|
||||||
id:useRow
|
id:useRow
|
||||||
|
width:passwordGroup.width
|
||||||
FormGroup {
|
FormGroup {
|
||||||
label: qsTr('useTLSLabel')//'Use TLS'
|
label: qsTr('useTLSLabel')//'Use TLS'
|
||||||
Switch {
|
Switch {
|
||||||
|
|
@ -194,6 +196,7 @@ DialogPlus {
|
||||||
|
|
||||||
FormLine {
|
FormLine {
|
||||||
FormGroup {
|
FormGroup {
|
||||||
|
id:filterGroup
|
||||||
label: qsTr('filterLabel')//'Filter'
|
label: qsTr('filterLabel')//'Filter'
|
||||||
TextField {
|
TextField {
|
||||||
id:filter
|
id:filter
|
||||||
|
|
@ -208,7 +211,10 @@ DialogPlus {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
FormLine {
|
FormLine {
|
||||||
|
id:connectionRow
|
||||||
|
width:filterGroup.width
|
||||||
FormGroup {
|
FormGroup {
|
||||||
label: qsTr('maxResultsLabel')//'Max Results'
|
label: qsTr('maxResultsLabel')//'Max Results'
|
||||||
|
|
||||||
|
|
@ -218,10 +224,24 @@ DialogPlus {
|
||||||
error : ldapData.maxResultsFieldError
|
error : ldapData.maxResultsFieldError
|
||||||
onTextChanged: ldapData.maxResults = text
|
onTextChanged: ldapData.maxResults = text
|
||||||
TooltipArea{
|
TooltipArea{
|
||||||
|
tooltipParent:connectionRow
|
||||||
text : qsTr('maxResultsTooltip')//'The max results when requesting searches'
|
text : qsTr('maxResultsTooltip')//'The max results when requesting searches'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
FormGroup {
|
||||||
|
label: qsTr('timeoutLabel')
|
||||||
|
NumericField {
|
||||||
|
id:timeout
|
||||||
|
text:ldapData.timeout
|
||||||
|
error : ldapData.timeoutFieldError
|
||||||
|
onTextChanged: ldapData.timeout = text
|
||||||
|
TooltipArea{
|
||||||
|
tooltipParent:connectionRow
|
||||||
|
text : qsTr('timeoutTooltip')//'The connection and search timeout in seconds. Default is 5'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
@ -262,21 +282,6 @@ DialogPlus {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FormLine {
|
|
||||||
FormGroup {
|
|
||||||
label: qsTr('schemeLabel')//'Scheme'
|
|
||||||
TextField {
|
|
||||||
id:scheme
|
|
||||||
placeholderText :'sip'
|
|
||||||
text:ldapData.sipScheme
|
|
||||||
error : ldapData.sipSchemeFieldError
|
|
||||||
onTextChanged: ldapData.sipScheme = text
|
|
||||||
TooltipArea{
|
|
||||||
text : qsTr('schemeTooltip')//'Add the scheme to the sip address(scheme:username@domain). The default value is sip'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
FormLine {
|
FormLine {
|
||||||
FormGroup {
|
FormGroup {
|
||||||
label: qsTr('domainLabel')//'Domain'
|
label: qsTr('domainLabel')//'Domain'
|
||||||
|
|
@ -287,7 +292,7 @@ DialogPlus {
|
||||||
error : ldapData.sipDomainFieldError
|
error : ldapData.sipDomainFieldError
|
||||||
onTextChanged: ldapData.sipDomain = text
|
onTextChanged: ldapData.sipDomain = text
|
||||||
TooltipArea{
|
TooltipArea{
|
||||||
text : qsTr('domainTooltip')//'Add the domain to the sip address(scheme:username@domain). The default value is sip.linphone.org'
|
text : qsTr('domainTooltip')//'Add the domain to the sip address(username@domain). The default value is sip.linphone.org'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit eacd44cc787cdcd3f68e75da303fabc57ce4416e
|
Subproject commit 21339c9493940a981a4231ae047f174b2aa9aca4
|
||||||
Loading…
Add table
Reference in a new issue