From 7637054838aa71374dc02c32566dcd5d3ded2d0d Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 2 Apr 2018 14:12:53 +0100 Subject: weld SvxPasswordDialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I2e51f1a0a96eb042a4460bb9591b63a169eb6de2 Reviewed-on: https://gerrit.libreoffice.org/52258 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- basctl/source/basicide/moduldl2.cxx | 6 +-- include/svx/passwd.hxx | 48 +++++++----------- svx/source/dialog/passwd.cxx | 99 ++++++++++++++++--------------------- svx/uiconfig/ui/passwd.ui | 35 ++++++++----- 4 files changed, 86 insertions(+), 102 deletions(-) diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx index a1a11613ca19..2722a2dfd187 100644 --- a/basctl/source/basicide/moduldl2.cxx +++ b/basctl/source/basicide/moduldl2.cxx @@ -668,10 +668,10 @@ IMPL_LINK( LibPage, ButtonHdl, Button *, pButton, void ) bool const bProtected = xPasswd->isLibraryPasswordProtected( aLibName ); // change password dialog - VclPtrInstance< SvxPasswordDialog > pDlg( this, true, !bProtected ); - pDlg->SetCheckPasswordHdl( LINK( this, LibPage, CheckPasswordHdl ) ); + SvxPasswordDialog aDlg(GetFrameWeld(), true, !bProtected); + aDlg.SetCheckPasswordHdl(LINK(this, LibPage, CheckPasswordHdl)); - if ( pDlg->Execute() == RET_OK ) + if (aDlg.run() == RET_OK) { bool const bNewProtected = xPasswd->isLibraryPasswordProtected( aLibName ); diff --git a/include/svx/passwd.hxx b/include/svx/passwd.hxx index 2ddbb6373f56..227d1288f813 100644 --- a/include/svx/passwd.hxx +++ b/include/svx/passwd.hxx @@ -19,49 +19,39 @@ #ifndef INCLUDED_SVX_PASSWD_HXX #define INCLUDED_SVX_PASSWD_HXX -#include - -#include - -#include - -#include +#include #include // class SvxPasswordDialog ----------------------------------------------- -class SVX_DLLPUBLIC SvxPasswordDialog : public SfxModalDialog +class SVX_DLLPUBLIC SvxPasswordDialog : public weld::GenericDialogController { private: - VclPtr m_pOldFL; - VclPtr m_pOldPasswdFT; - VclPtr m_pOldPasswdED; - VclPtr m_pNewPasswdED; - VclPtr m_pRepeatPasswdED; - VclPtr m_pOKBtn; + OUString m_aOldPasswdErrStr; + OUString m_aRepeatPasswdErrStr; + Link m_aCheckPasswordHdl; + bool m_bEmpty; - OUString aOldPasswdErrStr; - OUString aRepeatPasswdErrStr; + std::unique_ptr m_xOldFL; + std::unique_ptr m_xOldPasswdFT; + std::unique_ptr m_xOldPasswdED; + std::unique_ptr m_xNewPasswdED; + std::unique_ptr m_xRepeatPasswdED; + std::unique_ptr m_xOKBtn; - Link aCheckPasswordHdl; - - bool bEmpty; - - DECL_LINK(ButtonHdl, Button*, void); - DECL_LINK(EditModifyHdl, Edit&, void); + DECL_LINK(ButtonHdl, weld::Button&, void); + DECL_LINK(EditModifyHdl, weld::Entry&, void); public: - SvxPasswordDialog( vcl::Window* pParent, bool bAllowEmptyPasswords, bool bDisableOldPassword ); - virtual ~SvxPasswordDialog() override; - virtual void dispose() override; + SvxPasswordDialog(weld::Window* pParent, bool bAllowEmptyPasswords, bool bDisableOldPassword); + virtual ~SvxPasswordDialog() override; - OUString GetOldPassword() const { return m_pOldPasswdED->GetText(); } - OUString GetNewPassword() const { return m_pNewPasswdED->GetText(); } + OUString GetOldPassword() const { return m_xOldPasswdED->get_text(); } + OUString GetNewPassword() const { return m_xNewPasswdED->get_text(); } - void SetCheckPasswordHdl( const Link& rLink ) { aCheckPasswordHdl = rLink; } + void SetCheckPasswordHdl( const Link& rLink ) { m_aCheckPasswordHdl = rLink; } }; - #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svx/source/dialog/passwd.cxx b/svx/source/dialog/passwd.cxx index 641624fd236e..45b6a1f284fb 100644 --- a/svx/source/dialog/passwd.cxx +++ b/svx/source/dialog/passwd.cxx @@ -24,93 +24,78 @@ #include #include -IMPL_LINK_NOARG(SvxPasswordDialog, ButtonHdl, Button*, void) +IMPL_LINK_NOARG(SvxPasswordDialog, ButtonHdl, weld::Button&, void) { bool bOK = true; - if ( m_pNewPasswdED->GetText() != m_pRepeatPasswdED->GetText() ) + if (m_xNewPasswdED->get_text() != m_xRepeatPasswdED->get_text()) { - std::unique_ptr xBox(Application::CreateMessageDialog(GetFrameWeld(), + std::unique_ptr xBox(Application::CreateMessageDialog(m_xDialog.get(), VclMessageType::Warning, VclButtonsType::Ok, - aRepeatPasswdErrStr)); + m_aRepeatPasswdErrStr)); xBox->run(); - m_pNewPasswdED->SetText( "" ); - m_pRepeatPasswdED->SetText( "" ); - m_pNewPasswdED->GrabFocus(); + m_xNewPasswdED->set_text(""); + m_xRepeatPasswdED->set_text(""); + m_xNewPasswdED->grab_focus(); bOK = false; } - if ( bOK && aCheckPasswordHdl.IsSet() && !aCheckPasswordHdl.Call( this ) ) + if (bOK && m_aCheckPasswordHdl.IsSet() && !m_aCheckPasswordHdl.Call(this)) { - std::unique_ptr xBox(Application::CreateMessageDialog(GetFrameWeld(), + std::unique_ptr xBox(Application::CreateMessageDialog(m_xDialog.get(), VclMessageType::Warning, VclButtonsType::Ok, - aOldPasswdErrStr)); + m_aOldPasswdErrStr)); xBox->run(); - m_pOldPasswdED->SetText( "" ); - m_pOldPasswdED->GrabFocus(); + m_xOldPasswdED->set_text(""); + m_xOldPasswdED->grab_focus(); bOK = false; } - if ( bOK ) - EndDialog( RET_OK ); + if (bOK) + m_xDialog->response(RET_OK); } -IMPL_LINK_NOARG(SvxPasswordDialog, EditModifyHdl, Edit&, void) +IMPL_LINK_NOARG(SvxPasswordDialog, EditModifyHdl, weld::Entry&, void) { - if ( !bEmpty ) + if (!m_bEmpty) { - OUString aPasswd = comphelper::string::strip(m_pRepeatPasswdED->GetText(), ' '); - if ( aPasswd.isEmpty() && m_pOKBtn->IsEnabled() ) - m_pOKBtn->Disable(); - else if ( !aPasswd.isEmpty() && !m_pOKBtn->IsEnabled() ) - m_pOKBtn->Enable(); + OUString aPasswd = comphelper::string::strip(m_xRepeatPasswdED->get_text(), ' '); + if (aPasswd.isEmpty() && m_xOKBtn->get_sensitive()) + m_xOKBtn->set_sensitive(false); + else if (!aPasswd.isEmpty() && !m_xOKBtn->get_sensitive()) + m_xOKBtn->set_sensitive(true); } - else if ( !m_pOKBtn->IsEnabled() ) - m_pOKBtn->Enable(); + else if (!m_xOKBtn->get_sensitive()) + m_xOKBtn->set_sensitive(true); } - -SvxPasswordDialog::SvxPasswordDialog(vcl::Window* pParent, bool bAllowEmptyPasswords, bool bDisableOldPassword) - : SfxModalDialog(pParent, "PasswordDialog", "svx/ui/passwd.ui") - , aOldPasswdErrStr(SvxResId(RID_SVXSTR_ERR_OLD_PASSWD)) - , aRepeatPasswdErrStr(SvxResId(RID_SVXSTR_ERR_REPEAT_PASSWD )) - , bEmpty(bAllowEmptyPasswords) +SvxPasswordDialog::SvxPasswordDialog(weld::Window* pParent, bool bAllowEmptyPasswords, bool bDisableOldPassword) + : GenericDialogController(pParent, "svx/ui/passwd.ui", "PasswordDialog") + , m_aOldPasswdErrStr(SvxResId(RID_SVXSTR_ERR_OLD_PASSWD)) + , m_aRepeatPasswdErrStr(SvxResId(RID_SVXSTR_ERR_REPEAT_PASSWD )) + , m_bEmpty(bAllowEmptyPasswords) + , m_xOldFL(m_xBuilder->weld_label("oldpass")) + , m_xOldPasswdFT(m_xBuilder->weld_label("oldpassL")) + , m_xOldPasswdED(m_xBuilder->weld_entry("oldpassEntry")) + , m_xNewPasswdED(m_xBuilder->weld_entry("newpassEntry")) + , m_xRepeatPasswdED(m_xBuilder->weld_entry("confirmpassEntry")) + , m_xOKBtn(m_xBuilder->weld_button("ok")) { - get(m_pOldFL, "oldpass"); - get(m_pOldPasswdFT, "oldpassL"); - get(m_pOldPasswdED, "oldpassEntry"); - get(m_pNewPasswdED, "newpassEntry"); - get(m_pRepeatPasswdED, "confirmpassEntry"); - get(m_pOKBtn, "ok"); - - m_pOKBtn->SetClickHdl( LINK( this, SvxPasswordDialog, ButtonHdl ) ); - m_pRepeatPasswdED->SetModifyHdl( LINK( this, SvxPasswordDialog, EditModifyHdl ) ); - EditModifyHdl( *m_pRepeatPasswdED ); + m_xOKBtn->connect_clicked(LINK(this, SvxPasswordDialog, ButtonHdl)); + m_xRepeatPasswdED->connect_changed(LINK(this, SvxPasswordDialog, EditModifyHdl)); + EditModifyHdl(*m_xRepeatPasswdED); - if ( bDisableOldPassword ) + if (bDisableOldPassword) { - m_pOldFL->Disable(); - m_pOldPasswdFT->Disable(); - m_pOldPasswdED->Disable(); - m_pNewPasswdED->GrabFocus(); + m_xOldFL->set_sensitive(false); + m_xOldPasswdFT->set_sensitive(false); + m_xOldPasswdED->set_sensitive(false); + m_xNewPasswdED->grab_focus(); } } SvxPasswordDialog::~SvxPasswordDialog() { - disposeOnce(); -} - -void SvxPasswordDialog::dispose() -{ - m_pOldFL.clear(); - m_pOldPasswdFT.clear(); - m_pOldPasswdED.clear(); - m_pNewPasswdED.clear(); - m_pRepeatPasswdED.clear(); - m_pOKBtn.clear(); - SfxModalDialog::dispose(); } - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svx/uiconfig/ui/passwd.ui b/svx/uiconfig/ui/passwd.ui index ad45d317b0c5..b1367463462a 100644 --- a/svx/uiconfig/ui/passwd.ui +++ b/svx/uiconfig/ui/passwd.ui @@ -1,5 +1,5 @@ - + @@ -7,23 +7,23 @@ 6 Change Password True + 0 + 0 dialog False + vertical 12 False - vertical - start + end - - gtk-ok + + gtk-cancel True True - True - True True True @@ -34,10 +34,12 @@ - - gtk-cancel + + gtk-ok True True + True + True True True @@ -59,6 +61,7 @@ False True 2 + True @@ -100,10 +103,10 @@ True False - 1 _Password: True oldpassEntry + 1 False @@ -117,6 +120,7 @@ True True False + password False @@ -172,6 +176,7 @@ True True False + password 1 @@ -184,6 +189,7 @@ True True False + password 1 @@ -194,10 +200,10 @@ True False - 1 Pa_ssword: True newpassEntry + 1 0 @@ -208,10 +214,10 @@ True False - 1 Confi_rm: True confirmpassEntry + 1 0 @@ -249,10 +255,13 @@ - ok cancel + ok help + + + -- cgit