summaryrefslogtreecommitdiff
path: root/sc/source/ui/miscdlgs/retypepassdlg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/miscdlgs/retypepassdlg.cxx')
-rw-r--r--sc/source/ui/miscdlgs/retypepassdlg.cxx116
1 files changed, 48 insertions, 68 deletions
diff --git a/sc/source/ui/miscdlgs/retypepassdlg.cxx b/sc/source/ui/miscdlgs/retypepassdlg.cxx
index cea2f2716e86..14b51656b01b 100644
--- a/sc/source/ui/miscdlgs/retypepassdlg.cxx
+++ b/sc/source/ui/miscdlgs/retypepassdlg.cxx
@@ -287,11 +287,11 @@ IMPL_LINK( ScRetypePassDlg, RetypeBtnHdl, Button*, pBtn, void )
// What the ... !?
return;
- ScopedVclPtrInstance< ScRetypePassInputDlg > aDlg(this, pProtected);
- if (aDlg->Execute() == RET_OK)
+ ScRetypePassInputDlg aDlg(GetFrameWeld(), pProtected);
+ if (aDlg.run() == RET_OK)
{
// OK is pressed. Update the protected item.
- if (aDlg->IsRemovePassword())
+ if (aDlg.IsRemovePassword())
{
// Remove password from this item.
pProtected->setPassword(OUString());
@@ -299,7 +299,7 @@ IMPL_LINK( ScRetypePassDlg, RetypeBtnHdl, Button*, pBtn, void )
else
{
// Set a new password.
- OUString aNewPass = aDlg->GetNewPassword();
+ OUString aNewPass = aDlg.GetNewPassword();
pProtected->setPassword(aNewPass);
}
@@ -308,131 +308,111 @@ IMPL_LINK( ScRetypePassDlg, RetypeBtnHdl, Button*, pBtn, void )
}
}
-ScRetypePassInputDlg::ScRetypePassInputDlg(vcl::Window* pParent, ScPassHashProtectable* pProtected)
- : ModalDialog(pParent, "RetypePasswordDialog",
- "modules/scalc/ui/retypepassworddialog.ui")
- , mpProtected(pProtected)
+ScRetypePassInputDlg::ScRetypePassInputDlg(weld::Window* pParent, ScPassHashProtectable* pProtected)
+ : GenericDialogController(pParent, "modules/scalc/ui/retypepassworddialog.ui", "RetypePasswordDialog")
+ , m_pProtected(pProtected)
+ , m_xBtnOk(m_xBuilder->weld_button("ok"))
+ , m_xBtnRetypePassword(m_xBuilder->weld_radio_button("retypepassword"))
+ , m_xPasswordGrid(m_xBuilder->weld_widget("passwordgrid"))
+ , m_xPassword1Edit(m_xBuilder->weld_entry("newpassEntry"))
+ , m_xPassword2Edit(m_xBuilder->weld_entry("confirmpassEntry"))
+ , m_xBtnMatchOldPass(m_xBuilder->weld_check_button("mustmatch"))
+ , m_xBtnRemovePassword(m_xBuilder->weld_radio_button("removepassword"))
{
- get(m_pBtnOk, "ok");
- get(m_pBtnRetypePassword, "retypepassword");
- get(m_pBtnRemovePassword, "removepassword");
- get(m_pPasswordGrid, "passwordgrid");
- get(m_pPassword1Edit, "newpassEntry");
- get(m_pPassword2Edit, "confirmpassEntry");
- get(m_pBtnMatchOldPass, "mustmatch");
-
Init();
}
ScRetypePassInputDlg::~ScRetypePassInputDlg()
{
- disposeOnce();
-}
-
-void ScRetypePassInputDlg::dispose()
-{
- m_pBtnOk.clear();
- m_pBtnRetypePassword.clear();
- m_pPasswordGrid.clear();
- m_pPassword1Edit.clear();
- m_pPassword2Edit.clear();
- m_pBtnMatchOldPass.clear();
- m_pBtnRemovePassword.clear();
- ModalDialog::dispose();
}
bool ScRetypePassInputDlg::IsRemovePassword() const
{
- return m_pBtnRemovePassword->IsChecked();
+ return m_xBtnRemovePassword->get_active();
}
OUString ScRetypePassInputDlg::GetNewPassword() const
{
- return m_pPassword1Edit->GetText();
+ return m_xPassword1Edit->get_text();
}
void ScRetypePassInputDlg::Init()
{
- Link<Button*,void> aLink = LINK( this, ScRetypePassInputDlg, OKHdl );
- m_pBtnOk->SetClickHdl(aLink);
- aLink = LINK( this, ScRetypePassInputDlg, RadioBtnHdl );
- m_pBtnRetypePassword->SetClickHdl(aLink);
- m_pBtnRemovePassword->SetClickHdl(aLink);
- aLink = LINK( this, ScRetypePassInputDlg, CheckBoxHdl );
- m_pBtnMatchOldPass->SetClickHdl(aLink);
- Link<Edit&,void> aLink2 = LINK( this, ScRetypePassInputDlg, PasswordModifyHdl );
- m_pPassword1Edit->SetModifyHdl(aLink2);
- m_pPassword2Edit->SetModifyHdl(aLink2);
-
- m_pBtnOk->Disable();
- m_pBtnRetypePassword->Check();
- m_pBtnMatchOldPass->Check();
- m_pPassword1Edit->GrabFocus();
+ m_xBtnOk->connect_clicked(LINK(this, ScRetypePassInputDlg, OKHdl));
+ m_xBtnRetypePassword->connect_toggled(LINK(this, ScRetypePassInputDlg, RadioBtnHdl));
+ m_xBtnRemovePassword->connect_toggled(LINK(this, ScRetypePassInputDlg, RadioBtnHdl));
+ m_xBtnMatchOldPass->connect_toggled(LINK(this, ScRetypePassInputDlg, CheckBoxHdl));
+ Link<weld::Entry&,void> aLink2 = LINK( this, ScRetypePassInputDlg, PasswordModifyHdl );
+ m_xPassword1Edit->connect_changed(aLink2);
+ m_xPassword2Edit->connect_changed(aLink2);
+
+ m_xBtnOk->set_sensitive(false);
+ m_xBtnRetypePassword->set_active(true);
+ m_xBtnMatchOldPass->set_active(true);
+ m_xPassword1Edit->grab_focus();
}
void ScRetypePassInputDlg::CheckPasswordInput()
{
- OUString aPass1 = m_pPassword1Edit->GetText();
- OUString aPass2 = m_pPassword2Edit->GetText();
+ OUString aPass1 = m_xPassword1Edit->get_text();
+ OUString aPass2 = m_xPassword2Edit->get_text();
if (aPass1.isEmpty() || aPass2.isEmpty())
{
// Empty password is not allowed.
- m_pBtnOk->Disable();
+ m_xBtnOk->set_sensitive(false);
return;
}
if (aPass1 != aPass2)
{
// The two passwords differ.
- m_pBtnOk->Disable();
+ m_xBtnOk->set_sensitive(false);
return;
}
- if (!m_pBtnMatchOldPass->IsChecked())
+ if (!m_xBtnMatchOldPass->get_active())
{
- m_pBtnOk->Enable();
+ m_xBtnOk->set_sensitive(true);
return;
}
- if (!mpProtected)
+ if (!m_pProtected)
{
// This should never happen!
- m_pBtnOk->Disable();
+ m_xBtnOk->set_sensitive(false);
return;
}
- bool bPassGood = mpProtected->verifyPassword(aPass1);
- m_pBtnOk->Enable(bPassGood);
+ bool bPassGood = m_pProtected->verifyPassword(aPass1);
+ m_xBtnOk->set_sensitive(bPassGood);
}
-IMPL_LINK_NOARG(ScRetypePassInputDlg, OKHdl, Button*, void)
+IMPL_LINK_NOARG(ScRetypePassInputDlg, OKHdl, weld::Button&, void)
{
- EndDialog(RET_OK);
+ m_xDialog->response(RET_OK);
}
-IMPL_LINK( ScRetypePassInputDlg, RadioBtnHdl, Button*, pBtn, void )
+IMPL_LINK_NOARG(ScRetypePassInputDlg, RadioBtnHdl, weld::ToggleButton&, void)
{
- if (pBtn == m_pBtnRetypePassword)
+ if (m_xBtnRetypePassword->get_active())
{
- m_pBtnRemovePassword->Check(false);
- m_pPasswordGrid->Enable();
+ m_xPasswordGrid->set_sensitive(true);
CheckPasswordInput();
}
- else if (pBtn == m_pBtnRemovePassword)
+ else
{
- m_pBtnRetypePassword->Check(false);
- m_pPasswordGrid->Disable();
- m_pBtnOk->Enable();
+ m_xPasswordGrid->set_sensitive(false);
+ m_xBtnOk->set_sensitive(false);
}
}
-IMPL_LINK_NOARG(ScRetypePassInputDlg, CheckBoxHdl, Button*, void)
+IMPL_LINK_NOARG(ScRetypePassInputDlg, CheckBoxHdl, weld::ToggleButton&, void)
{
CheckPasswordInput();
}
-IMPL_LINK_NOARG(ScRetypePassInputDlg, PasswordModifyHdl, Edit&, void)
+IMPL_LINK_NOARG(ScRetypePassInputDlg, PasswordModifyHdl, weld::Entry&, void)
{
CheckPasswordInput();
}