diff options
Diffstat (limited to 'protocols/Gadu-Gadu/src/options.cpp')
-rw-r--r-- | protocols/Gadu-Gadu/src/options.cpp | 55 |
1 files changed, 54 insertions, 1 deletions
diff --git a/protocols/Gadu-Gadu/src/options.cpp b/protocols/Gadu-Gadu/src/options.cpp index 9918d46bba..5abcd75209 100644 --- a/protocols/Gadu-Gadu/src/options.cpp +++ b/protocols/Gadu-Gadu/src/options.cpp @@ -13,11 +13,64 @@ GaduOptions::GaduOptions(PROTO_INTERFACE *proto) : forwardPort(proto, "ForwardPort", 1550), forwardHost(proto, "ForwardHost", L""), serverHosts(proto, "ServerHosts", GG_KEYDEF_SERVERHOSTS) +{} + +GaduOptionsDlgConference::GaduOptionsDlgConference(GaduProto *proto) : + GaduDlgBase(proto, IDD_OPT_GG_CONFERENCE), + cmbPolicyForAllChatParticipants(this, IDC_GC_POLICY_TOTAL), + edtNumberOfAllChatParticipants(this, IDC_GC_COUNT_TOTAL_SPIN), + cmbPolicyForUnknownChatParticipants(this, IDC_GC_POLICY_UNKNOWN), + edtNumberOfUnknownChatParticipants(this, IDC_GC_COUNT_UNKNOWN_SPIN), + cmbDefaultChatPolicy(this, IDC_GC_POLICY_DEFAULT) { + CreateLink(cmbPolicyForAllChatParticipants, GG_KEY_GC_POLICY_TOTAL, DBVT_WORD, GG_KEYDEF_GC_POLICY_TOTAL); + CreateLink(edtNumberOfAllChatParticipants, GG_KEY_GC_COUNT_TOTAL, DBVT_WORD, GG_KEYDEF_GC_COUNT_TOTAL); + + CreateLink(cmbPolicyForUnknownChatParticipants, GG_KEY_GC_POLICY_UNKNOWN, DBVT_WORD, GG_KEYDEF_GC_POLICY_UNKNOWN); + CreateLink(edtNumberOfUnknownChatParticipants, GG_KEY_GC_COUNT_UNKNOWN, DBVT_WORD, GG_KEYDEF_GC_COUNT_UNKNOWN); + + CreateLink(cmbDefaultChatPolicy, GG_KEY_GC_POLICY_DEFAULT, DBVT_WORD, GG_KEYDEF_GC_POLICY_DEFAULT); +} + +void GaduOptionsDlgConference::OnInitDialog() +{ + cmbPolicyForAllChatParticipants.AddString(TranslateT("Allow"), 0L); + cmbPolicyForAllChatParticipants.AddString(TranslateT("Ask"), 1L); + cmbPolicyForAllChatParticipants.AddString(TranslateT("Ignore"), 2L); + int listIndex = m_proto->getWord(GG_KEY_GC_POLICY_TOTAL, GG_KEYDEF_GC_POLICY_TOTAL); + cmbPolicyForAllChatParticipants.SetCurSel(listIndex); + + edtNumberOfAllChatParticipants.SetRange(250U); + + cmbPolicyForUnknownChatParticipants.AddString(TranslateT("Allow"), 0L); + cmbPolicyForUnknownChatParticipants.AddString(TranslateT("Ask"), 1L); + cmbPolicyForUnknownChatParticipants.AddString(TranslateT("Ignore"), 2L); + listIndex = m_proto->getWord(GG_KEY_GC_POLICY_UNKNOWN, GG_KEYDEF_GC_POLICY_UNKNOWN); + cmbPolicyForUnknownChatParticipants.SetCurSel(listIndex); + + edtNumberOfUnknownChatParticipants.SetRange(250U); + + cmbDefaultChatPolicy.AddString(TranslateT("Allow"), 0L); + cmbDefaultChatPolicy.AddString(TranslateT("Ask"), 1L); + cmbDefaultChatPolicy.AddString(TranslateT("Ignore"), 2L); + listIndex = m_proto->getWord(GG_KEY_GC_POLICY_DEFAULT, GG_KEYDEF_GC_POLICY_DEFAULT); + cmbDefaultChatPolicy.SetCurSel(listIndex); +} + +void GaduOptionsDlgConference::OnApply() +{ + int selectionIndex = cmbPolicyForAllChatParticipants.GetCurSel(); + m_proto->setWord(GG_KEY_GC_POLICY_TOTAL, cmbPolicyForAllChatParticipants.GetItemData(selectionIndex)); + + selectionIndex = cmbPolicyForUnknownChatParticipants.GetCurSel(); + m_proto->setWord(GG_KEY_GC_POLICY_UNKNOWN, cmbPolicyForUnknownChatParticipants.GetItemData(selectionIndex)); + + selectionIndex = cmbDefaultChatPolicy.GetCurSel(); + m_proto->setWord(GG_KEY_GC_POLICY_DEFAULT, cmbDefaultChatPolicy.GetItemData(selectionIndex)); } -GaduOptionsDlgAdvanced::GaduOptionsDlgAdvanced(GaduProto * proto) : +GaduOptionsDlgAdvanced::GaduOptionsDlgAdvanced(GaduProto *proto) : GaduDlgBase(proto, IDD_OPT_GG_ADVANCED), chkAutoReconnect(this, IDC_ARECONNECT), chkKeepConnectionAlive(this, IDC_KEEPALIVE), |