From 1122464b10e7bb2cf44954390ded491c002c2c86 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 6 Mar 2014 15:25:03 +0000 Subject: convert password dialog to .ui Change-Id: I29e58d3992f43c5ee469484d0587843b06663bf1 --- uui/source/passworddlg.cxx | 137 ++++++++++----------------------------------- 1 file changed, 31 insertions(+), 106 deletions(-) (limited to 'uui/source/passworddlg.cxx') diff --git a/uui/source/passworddlg.cxx b/uui/source/passworddlg.cxx index 83dd4cb5238b..6d6bc023071d 100644 --- a/uui/source/passworddlg.cxx +++ b/uui/source/passworddlg.cxx @@ -23,43 +23,23 @@ #include - using namespace ::com::sun::star; - - - -static void lcl_Move( Window &rWin, long nOffset ) +PasswordDialog::PasswordDialog(Window* _pParent, + task::PasswordRequestMode nDlgMode, ResMgr * pResMgr, + OUString& aDocURL, bool bOpenToModify, bool bIsSimplePasswordRequest) + : ModalDialog(_pParent, "PasswordDialog", "uui/ui/password.ui") + , nMinLen(1) + , aPasswdMismatch(ResId(STR_PASSWORD_MISMATCH, *pResMgr)) + , nDialogMode(nDlgMode) + , pResourceMgr(pResMgr) { - Point aTmp( rWin.GetPosPixel() ); - aTmp.Y() += nOffset; - rWin.SetPosPixel( aTmp ); -} - - + get(m_pFTPassword, "newpassFT"); + get(m_pEDPassword, "newpassEntry"); + get(m_pFTConfirmPassword, "confirmpassFT"); + get(m_pEDConfirmPassword, "confirmpassEntry"); + get(m_pOKBtn, "ok"); -PasswordDialog::PasswordDialog( - Window* _pParent, - task::PasswordRequestMode nDlgMode, - ResMgr * pResMgr, - OUString& aDocURL, - bool bOpenToModify, - bool bIsSimplePasswordRequest ) - - :ModalDialog( _pParent, ResId( DLG_UUI_PASSWORD, *pResMgr ) ) - ,aFTPassword( this, ResId( FT_PASSWORD, *pResMgr )) - ,aEDPassword( this, ResId( ED_PASSWORD, *pResMgr )) - ,aFTConfirmPassword( this, ResId( FT_CONFIRM_PASSWORD, *pResMgr )) - ,aEDConfirmPassword( this, ResId( ED_CONFIRM_PASSWORD, *pResMgr )) - ,aOKBtn ( this, ResId( BTN_PASSWORD_OK, *pResMgr )) - ,aCancelBtn ( this, ResId( BTN_PASSWORD_CANCEL, *pResMgr )) - ,aHelpBtn ( this, ResId( BTN_PASSWORD_HELP, *pResMgr )) - ,aFixedLine1( this, ResId( FL_FIXED_LINE_1, *pResMgr )) - ,nMinLen(1) - ,aPasswdMismatch( ResId( STR_PASSWORD_MISMATCH, *pResMgr )) - ,nDialogMode( nDlgMode ) - ,pResourceMgr ( pResMgr ) -{ if( nDialogMode == task::PasswordRequestMode_PASSWORD_REENTER ) { const sal_uInt16 nOpenToModifyErrStrId = bOpenToModify ? STR_ERROR_PASSWORD_TO_MODIFY_WRONG : STR_ERROR_PASSWORD_TO_OPEN_WRONG; @@ -71,101 +51,46 @@ PasswordDialog::PasswordDialog( // default settings for enter password or reenter passwd... OUString aTitle(ResId(STR_TITLE_ENTER_PASSWORD, *pResourceMgr).toString()); - aFTConfirmPassword.Hide(); - aEDConfirmPassword.Hide(); - aFTConfirmPassword.Enable( false ); - aEDConfirmPassword.Enable( false ); + m_pFTConfirmPassword->Hide(); + m_pEDConfirmPassword->Hide(); + m_pFTConfirmPassword->Enable( false ); + m_pEDConfirmPassword->Enable( false ); // settings for create password if (nDialogMode == task::PasswordRequestMode_PASSWORD_CREATE) { aTitle = ResId(STR_TITLE_CREATE_PASSWORD, *pResourceMgr).toString(); - aFTConfirmPassword.SetText(ResId(STR_CONFIRM_SIMPLE_PASSWORD, *pResourceMgr).toString()); - - aFTConfirmPassword.Show(); - aEDConfirmPassword.Show(); - aFTConfirmPassword.Enable( true ); - aEDConfirmPassword.Enable( true ); - } - else - { - // shrink dialog by size of hidden controls and move rest up accordingly - - long nDelta = aFixedLine1.GetPosPixel().Y() - aFTConfirmPassword.GetPosPixel().Y(); - - lcl_Move( aFixedLine1, -nDelta ); - lcl_Move( aOKBtn, -nDelta ); - lcl_Move( aCancelBtn, -nDelta ); - lcl_Move( aHelpBtn, -nDelta ); + m_pFTConfirmPassword->SetText(ResId(STR_CONFIRM_SIMPLE_PASSWORD, *pResourceMgr).toString()); - Size aNewDlgSize = GetSizePixel(); - aNewDlgSize.Height() -= nDelta; - SetSizePixel( aNewDlgSize ); + m_pFTConfirmPassword->Show(); + m_pEDConfirmPassword->Show(); + m_pFTConfirmPassword->Enable( true ); + m_pEDConfirmPassword->Enable( true ); } SetText( aTitle ); sal_uInt16 nStrId = bOpenToModify ? STR_ENTER_PASSWORD_TO_MODIFY : STR_ENTER_PASSWORD_TO_OPEN; - aFTPassword.SetText(ResId(nStrId, *pResourceMgr).toString()); - aFTPassword.SetText( aFTPassword.GetText() + aDocURL ); + m_pFTPassword->SetText(ResId(nStrId, *pResourceMgr).toString()); + m_pFTPassword->SetText( m_pFTPassword->GetText() + aDocURL ); if (bIsSimplePasswordRequest) { DBG_ASSERT( aDocURL.isEmpty(), "A simple password request should not have a document URL! Use document password request instead." ); - aFTPassword.SetText(ResId(STR_ENTER_SIMPLE_PASSWORD, *pResourceMgr).toString()); + m_pFTPassword->SetText(ResId(STR_ENTER_SIMPLE_PASSWORD, *pResourceMgr).toString()); } - FreeResource(); - - aOKBtn.SetClickHdl( LINK( this, PasswordDialog, OKHdl_Impl ) ); - - - - // move controls down by extra height needed for aFTPassword - // (usually only needed if a URL was provided) - - - long nLabelWidth = aFTPassword.GetSizePixel().Width(); - long nLabelHeight = aFTPassword.GetSizePixel().Height(); - long nTextWidth = aFTPassword.GetCtrlTextWidth( aFTPassword.GetText() ); - long nTextHeight = aFTPassword.GetTextHeight(); - - Rectangle aLabelRect( aFTPassword.GetPosPixel(), aFTPassword.GetSizePixel() ); - Rectangle aRect = aFTPassword.GetTextRect( aLabelRect, aFTPassword.GetText() ); - - long nNewLabelHeight = 0; - for( nNewLabelHeight = ( nTextWidth / nLabelWidth + 1 ) * nTextHeight; - nNewLabelHeight < aRect.GetHeight(); - nNewLabelHeight += nTextHeight ) {} ; - - long nDelta = nNewLabelHeight - nLabelHeight; - - Size aNewDlgSize = GetSizePixel(); - aNewDlgSize.Height() += nDelta; - SetSizePixel( aNewDlgSize ); - - Size aNewLabelSize = aFTPassword.GetSizePixel(); - aNewLabelSize.Height() = nNewLabelHeight; - aFTPassword.SetPosSizePixel( aFTPassword.GetPosPixel(), aNewLabelSize ); - - lcl_Move( aEDPassword, nDelta ); - lcl_Move( aFTConfirmPassword, nDelta ); - lcl_Move( aEDConfirmPassword, nDelta ); - lcl_Move( aFixedLine1, nDelta ); - lcl_Move( aOKBtn, nDelta ); - lcl_Move( aCancelBtn, nDelta ); - lcl_Move( aHelpBtn, nDelta ); + m_pOKBtn->SetClickHdl( LINK( this, PasswordDialog, OKHdl_Impl ) ); } - IMPL_LINK_NOARG(PasswordDialog, OKHdl_Impl) { - bool bEDPasswdValid = aEDPassword.GetText().getLength() >= nMinLen; - bool bPasswdMismatch = aEDConfirmPassword.GetText() != aEDPassword.GetText(); - bool bValid = (!aEDConfirmPassword.IsVisible() && bEDPasswdValid) || - (aEDConfirmPassword.IsVisible() && bEDPasswdValid && !bPasswdMismatch); + bool bEDPasswdValid = m_pEDPassword->GetText().getLength() >= nMinLen; + bool bPasswdMismatch = m_pEDConfirmPassword->GetText() != m_pEDPassword->GetText(); + bool bValid = (!m_pEDConfirmPassword->IsVisible() && bEDPasswdValid) || + (m_pEDConfirmPassword->IsVisible() && bEDPasswdValid && !bPasswdMismatch); - if (aEDConfirmPassword.IsVisible() && bPasswdMismatch) + if (m_pEDConfirmPassword->IsVisible() && bPasswdMismatch) { ErrorBox aErrorBox( this, WB_OK, aPasswdMismatch ); aErrorBox.Execute(); -- cgit