summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2016-05-02 23:20:11 +0200
committerStephan Bergmann <sbergman@redhat.com>2016-05-02 23:20:11 +0200
commitf88554edd46d2dc8d6c8eaba74c89ccd3e537104 (patch)
tree77aed52fc5025f3c7994873b475f322d0c1d4955
parentedd4370f5ba49a26a526995b6a28f623d68041ce (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.cxx38
-rw-r--r--uui/source/logindlg.hxx5
-rw-r--r--uui/uiconfig/ui/logindialog.ui28
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>