From b2c91edc9646daa331de71d589e4fec6bdef4945 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 11 Jul 2018 17:09:17 +0300 Subject: GUI change: - methods OnInitDialog, OnApply & OnClose of CDlgBase now return true if successful. return of false prevents a dialog from being loaded or left respectively; - massive code cleaning considering the 'virtual' attribute of overridden methods; - also fixes #1476 (Don't close "Create new account" window if user not set account name) --- protocols/SkypeWeb/src/skype_dialogs.cpp | 6 ++++-- protocols/SkypeWeb/src/skype_dialogs.h | 8 +++----- protocols/SkypeWeb/src/skype_options.cpp | 7 ++++--- protocols/SkypeWeb/src/skype_options.h | 4 ++-- 4 files changed, 13 insertions(+), 12 deletions(-) (limited to 'protocols/SkypeWeb/src') diff --git a/protocols/SkypeWeb/src/skype_dialogs.cpp b/protocols/SkypeWeb/src/skype_dialogs.cpp index 231b1025d6..2e1a6aefdc 100644 --- a/protocols/SkypeWeb/src/skype_dialogs.cpp +++ b/protocols/SkypeWeb/src/skype_dialogs.cpp @@ -37,11 +37,12 @@ CSkypeInviteDlg::CSkypeInviteDlg(CSkypeProto *proto) : m_ok.OnClick = Callback(this, &CSkypeInviteDlg::btnOk_OnOk); } -void CSkypeInviteDlg::OnInitDialog() +bool CSkypeInviteDlg::OnInitDialog() { for (auto &hContact : m_proto->AccContacts()) if (!m_proto->isChatRoom(hContact)) m_combo.AddString(Clist_GetContactDisplayName(hContact), hContact); + return true; } void CSkypeInviteDlg::btnOk_OnOk(CCtrlButton*) @@ -64,13 +65,14 @@ CSkypeGCCreateDlg::~CSkypeGCCreateDlg() m_ContactsList.destroy(); } -void CSkypeGCCreateDlg::OnInitDialog() +bool CSkypeGCCreateDlg::OnInitDialog() { SetWindowLongPtr(m_clc.GetHwnd(), GWL_STYLE, GetWindowLongPtr(m_clc.GetHwnd(), GWL_STYLE) | CLS_CHECKBOXES | CLS_HIDEEMPTYGROUPS | CLS_USEGROUPS | CLS_GREYALTERNATE); m_clc.SendMsg(CLM_SETEXSTYLE, CLS_EX_DISABLEDRAGDROP | CLS_EX_TRACKSELECT, 0); ResetListOptions(&m_clc); + return true; } void CSkypeGCCreateDlg::btnOk_OnOk(CCtrlButton*) diff --git a/protocols/SkypeWeb/src/skype_dialogs.h b/protocols/SkypeWeb/src/skype_dialogs.h index 7b2fc0c2e2..e13f48dccf 100644 --- a/protocols/SkypeWeb/src/skype_dialogs.h +++ b/protocols/SkypeWeb/src/skype_dialogs.h @@ -29,8 +29,8 @@ private: CCtrlCombo m_combo; protected: - - void OnInitDialog(); + bool OnInitDialog() override; + void btnOk_OnOk(CCtrlButton*); public: @@ -48,15 +48,13 @@ private: CCtrlClc m_clc; protected: + bool OnInitDialog() override; - void OnInitDialog(); void btnOk_OnOk(CCtrlButton*); void FilterList(CCtrlClc*); void ResetListOptions(CCtrlClc*); - public: - LIST m_ContactsList; CSkypeGCCreateDlg(CSkypeProto *proto); diff --git a/protocols/SkypeWeb/src/skype_options.cpp b/protocols/SkypeWeb/src/skype_options.cpp index cf92dfd198..7e689c427f 100644 --- a/protocols/SkypeWeb/src/skype_options.cpp +++ b/protocols/SkypeWeb/src/skype_options.cpp @@ -38,7 +38,7 @@ CSkypeOptionsMain::CSkypeOptionsMain(CSkypeProto *proto, int idDialog) m_usehostname.OnChange = Callback(this, &CSkypeOptionsMain::OnUsehostnameCheck); } -void CSkypeOptionsMain::OnInitDialog() +bool CSkypeOptionsMain::OnInitDialog() { CSkypeDlgBase::OnInitDialog(); @@ -48,10 +48,10 @@ void CSkypeOptionsMain::OnInitDialog() m_skypename.SendMsg(EM_LIMITTEXT, 32, 0); m_password.SendMsg(EM_LIMITTEXT, 128, 0); m_group.SendMsg(EM_LIMITTEXT, 64, 0); + return true; } - -void CSkypeOptionsMain::OnApply() +bool CSkypeOptionsMain::OnApply() { ptrA szNewSkypename(m_skypename.GetTextA()), szOldSkypename(m_proto->getStringA(SKYPE_SETTINGS_ID)); @@ -64,6 +64,7 @@ void CSkypeOptionsMain::OnApply() ptrW group(m_group.GetText()); if (mir_wstrlen(group) > 0 && !Clist_GroupExists(group)) Clist_GroupCreate(0, group); + return true; } ///////////////////////////////////////////////////////////////////////////////// diff --git a/protocols/SkypeWeb/src/skype_options.h b/protocols/SkypeWeb/src/skype_options.h index 6856e01e3b..59df858290 100644 --- a/protocols/SkypeWeb/src/skype_options.h +++ b/protocols/SkypeWeb/src/skype_options.h @@ -34,8 +34,8 @@ private: protected: CSkypeOptionsMain(CSkypeProto *proto, int idDialog); - void OnInitDialog(); - void OnApply(); + bool OnInitDialog() override; + bool OnApply() override; void OnUsehostnameCheck(CCtrlCheck*); public: -- cgit v1.2.3