summaryrefslogtreecommitdiff
path: root/uui
diff options
context:
space:
mode:
Diffstat (limited to 'uui')
-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>