diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2016-05-02 23:20:11 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2016-05-02 23:20:11 +0200 |
commit | f88554edd46d2dc8d6c8eaba74c89ccd3e537104 (patch) | |
tree | 77aed52fc5025f3c7994873b475f322d0c1d4955 | |
parent | edd4370f5ba49a26a526995b6a28f623d68041ce (diff) |
Related tdf#98644: In login dialog, give a hint that the password was wrong
...by changing the dialog text from "Enter user name and password for..." to "Wrong
user name and password for..." when an old password is already given.
Change-Id: Ie167c5ea263e9f75e0269c528dc88b69270208f3
-rw-r--r-- | uui/source/logindlg.cxx | 38 | ||||
-rw-r--r-- | uui/source/logindlg.hxx | 5 | ||||
-rw-r--r-- | uui/uiconfig/ui/logindialog.ui | 28 |
3 files changed, 58 insertions, 13 deletions
diff --git a/uui/source/logindlg.cxx b/uui/source/logindlg.cxx index 8cf4e58d2699..740c847df5fd 100644 --- a/uui/source/logindlg.cxx +++ b/uui/source/logindlg.cxx @@ -61,6 +61,12 @@ void LoginDialog::dispose() ModalDialog::dispose(); } +void LoginDialog::SetPassword( const OUString& rNew ) +{ + m_pPasswordED->SetText( rNew ); + SetRequest(); +} + void LoginDialog::HideControls_Impl( sal_uInt16 nFlags ) { if ( ( nFlags & LF_NO_PATH ) == LF_NO_PATH ) @@ -128,6 +134,23 @@ void LoginDialog::EnableUseSysCredsControls_Impl( bool bUseSysCredsEnabled ) m_pAccountED->Enable( !bUseSysCredsEnabled ); } +void LoginDialog::SetRequest() +{ + bool oldPwd = !m_pPasswordED->GetText().isEmpty(); + OUString aRequest; + if (m_pAccountFT->IsVisible() && !m_realm.isEmpty()) + { + aRequest = get<FixedText>(oldPwd ? "wrongloginrealm" : "loginrealm") + ->GetText(); + aRequest = aRequest.replaceAll("%2", m_realm); + } + else + aRequest = get<FixedText>(oldPwd ? "wrongrequestinfo" : "requestinfo") + ->GetText(); + aRequest = aRequest.replaceAll("%1", m_server); + m_pRequestInfo->SetText(aRequest); +} + IMPL_LINK_NOARG_TYPED(LoginDialog, OKHdl_Impl, Button*, void) { // trim the strings @@ -165,7 +188,8 @@ IMPL_LINK_NOARG_TYPED(LoginDialog, UseSysCredsHdl_Impl, Button*, void) LoginDialog::LoginDialog(vcl::Window* pParent, sal_uInt16 nFlags, const OUString& rServer, const OUString& rRealm) - : ModalDialog(pParent, "LoginDialog", "uui/ui/logindialog.ui") + : ModalDialog(pParent, "LoginDialog", "uui/ui/logindialog.ui"), + m_server(rServer), m_realm(rRealm) { get(m_pErrorFT, "errorft"); get(m_pErrorInfo, "errorinfo"); @@ -183,20 +207,10 @@ LoginDialog::LoginDialog(vcl::Window* pParent, sal_uInt16 nFlags, get(m_pUseSysCredsCB, "syscreds"); get(m_pOKBtn, "ok"); - OUString aRequest; - if ((nFlags & LF_NO_ACCOUNT) != 0 && !rRealm.isEmpty()) - { - aRequest = get<FixedText>("loginrealm")->GetText(); - aRequest = aRequest.replaceAll("%2", rRealm); - } - else - aRequest = m_pRequestInfo->GetText(); - if ( !( ( nFlags & LF_NO_USESYSCREDS ) == LF_NO_USESYSCREDS ) ) EnableUseSysCredsControls_Impl( m_pUseSysCredsCB->IsChecked() ); - aRequest = aRequest.replaceAll("%1", rServer); - m_pRequestInfo->SetText(aRequest); + SetRequest(); m_pPathED->SetMaxTextLen( _MAX_PATH ); m_pNameED->SetMaxTextLen( _MAX_PATH ); diff --git a/uui/source/logindlg.hxx b/uui/source/logindlg.hxx index 567c401e350e..e5e7d98b6b83 100644 --- a/uui/source/logindlg.hxx +++ b/uui/source/logindlg.hxx @@ -55,9 +55,12 @@ class LoginDialog : public ModalDialog VclPtr<CheckBox> m_pSavePasswdBtn; VclPtr<CheckBox> m_pUseSysCredsCB; VclPtr<OKButton> m_pOKBtn; + OUString m_server; + OUString m_realm; void HideControls_Impl( sal_uInt16 nFlags ); void EnableUseSysCredsControls_Impl( bool bUseSysCredsEnabled ); + void SetRequest(); DECL_LINK_TYPED(OKHdl_Impl, Button*, void); DECL_LINK_TYPED(PathHdl_Impl, Button*, void); @@ -72,7 +75,7 @@ public: OUString GetName() const { return m_pNameED->GetText(); } void SetName( const OUString& rNewName ) { m_pNameED->SetText( rNewName ); } OUString GetPassword() const { return m_pPasswordED->GetText(); } - void SetPassword( const OUString& rNew ) { m_pPasswordED->SetText( rNew ); } + void SetPassword( const OUString& rNew ); OUString GetAccount() const { return m_pAccountED->GetText(); } bool IsSavePassword() const { return m_pSavePasswdBtn->IsChecked(); } void SetSavePassword( bool bSave ) { m_pSavePasswdBtn->Check( bSave ); } diff --git a/uui/uiconfig/ui/logindialog.ui b/uui/uiconfig/ui/logindialog.ui index ca47ea5066ed..806d8f582fd3 100644 --- a/uui/uiconfig/ui/logindialog.ui +++ b/uui/uiconfig/ui/logindialog.ui @@ -251,6 +251,34 @@ </packing> </child> <child> + <object class="GtkLabel" id="wrongloginrealm"> + <property name="can_focus">False</property> + <property name="no_show_all">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Wrong user name and password for: +“%2” on %1</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="wrongrequestinfo"> + <property name="can_focus">False</property> + <property name="no_show_all">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Wrong user name and password for: +%1</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + <property name="width">2</property> + </packing> + </child> + <child> <object class="GtkLabel" id="requestinfo"> <property name="visible">True</property> <property name="can_focus">False</property> |