summaryrefslogtreecommitdiff
path: root/protocols/Gadu-Gadu/src/options.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Gadu-Gadu/src/options.cpp')
-rw-r--r--protocols/Gadu-Gadu/src/options.cpp55
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),