summaryrefslogtreecommitdiff
path: root/protocols/JabberG/src
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/JabberG/src')
-rw-r--r--protocols/JabberG/src/jabber_chat.cpp2
-rw-r--r--protocols/JabberG/src/jabber_form.cpp393
2 files changed, 191 insertions, 204 deletions
diff --git a/protocols/JabberG/src/jabber_chat.cpp b/protocols/JabberG/src/jabber_chat.cpp
index abc5ac5dcf..8fadba06dc 100644
--- a/protocols/JabberG/src/jabber_chat.cpp
+++ b/protocols/JabberG/src/jabber_chat.cpp
@@ -699,7 +699,7 @@ class CGroupchatInviteDlg : public CJabberDlgBase
}
public:
- CGroupchatInviteDlg(CJabberProto *ppro, TCHAR *room) :
+ CGroupchatInviteDlg(CJabberProto *ppro, const TCHAR *room) :
CSuper(ppro, IDD_GROUPCHAT_INVITE, NULL),
m_newJids(1),
m_btnInvite(this, IDC_INVITE),
diff --git a/protocols/JabberG/src/jabber_form.cpp b/protocols/JabberG/src/jabber_form.cpp
index 69f79832f8..90d06a099a 100644
--- a/protocols/JabberG/src/jabber_form.cpp
+++ b/protocols/JabberG/src/jabber_form.cpp
@@ -224,7 +224,7 @@ static TJabberFormControlType JabberFormTypeNameToId(const TCHAR *type)
return JFORM_CTYPE_FIXED;
if (!_tcscmp(type, _T("hidden")))
return JFORM_CTYPE_HIDDEN;
- // else
+
return JFORM_CTYPE_TEXT_SINGLE;
}
@@ -252,40 +252,34 @@ void JabberFormLayoutSingleControl(TJabberFormControlInfo *item, TJabberFormLayo
int height = layout_info->ctrlHeight;
if ((item->type == JFORM_CTYPE_LIST_MULTI) || (item->type == JFORM_CTYPE_TEXT_MULTI)) height *= 3;
SetRect(&rcCtrl, indent, rcLabel.bottom, layout_info->width, rcLabel.bottom + height);
- } else
- if (item->type == JFORM_CTYPE_BOOLEAN)
- {
- SetRect(&rcCtrl, 0, 0, layout_info->width-20, 0);
+ }
+ else if (item->type == JFORM_CTYPE_BOOLEAN) {
+ SetRect(&rcCtrl, 0, 0, layout_info->width - 20, 0);
HDC hdc = GetDC(item->hCtrl);
HFONT hfntSave = (HFONT)SelectObject(hdc, (HFONT)SendMessage(item->hCtrl, WM_GETFONT, 0, 0));
- DrawText(hdc, labelStr, -1, &rcCtrl, DT_CALCRECT|DT_RIGHT|DT_WORDBREAK);
+ DrawText(hdc, labelStr, -1, &rcCtrl, DT_CALCRECT | DT_RIGHT | DT_WORDBREAK);
SelectObject(hdc, hfntSave);
ReleaseDC(item->hCtrl, hdc);
rcCtrl.right += 20;
- } else
- if (item->type == JFORM_CTYPE_FIXED)
- {
+ }
+ else if (item->type == JFORM_CTYPE_FIXED) {
SetRect(&rcCtrl, 0, 0, layout_info->width, 0);
HDC hdc = GetDC(item->hCtrl);
HFONT hfntSave = (HFONT)SelectObject(hdc, (HFONT)SendMessage(item->hCtrl, WM_GETFONT, 0, 0));
- DrawText(hdc, valueStr, -1, &rcCtrl, DT_CALCRECT|DT_EDITCONTROL);
+ DrawText(hdc, valueStr, -1, &rcCtrl, DT_CALCRECT | DT_EDITCONTROL);
rcCtrl.right += 20;
SelectObject(hdc, hfntSave);
ReleaseDC(item->hCtrl, hdc);
- } else
- {
- SetRect(&rcCtrl, rcLabel.right+5, 0, layout_info->width, layout_info->ctrlHeight);
+ }
+ else {
+ SetRect(&rcCtrl, rcLabel.right + 5, 0, layout_info->width, layout_info->ctrlHeight);
rcLabel.bottom = rcCtrl.bottom;
}
if (item->hLabel)
- SetWindowPos(item->hLabel, 0,
- 0, 0, rcLabel.right-rcLabel.left, rcLabel.bottom-rcLabel.top,
- SWP_NOZORDER|SWP_NOMOVE);
+ SetWindowPos(item->hLabel, 0, 0, 0, rcLabel.right - rcLabel.left, rcLabel.bottom - rcLabel.top, SWP_NOZORDER | SWP_NOMOVE);
if (item->hCtrl)
- SetWindowPos(item->hCtrl, 0,
- 0, 0, rcCtrl.right-rcCtrl.left, rcCtrl.bottom-rcCtrl.top,
- SWP_NOZORDER|SWP_NOMOVE);
+ SetWindowPos(item->hCtrl, 0, 0, 0, rcCtrl.right - rcCtrl.left, rcCtrl.bottom - rcCtrl.top, SWP_NOZORDER | SWP_NOMOVE);
item->ptLabel.x = rcLabel.left;
item->ptLabel.y = rcLabel.top;
@@ -302,8 +296,7 @@ void JabberFormLayoutSingleControl(TJabberFormControlInfo *item, TJabberFormLayo
TJabberFormControlInfo *JabberFormAppendControl(HWND hwndStatic, TJabberFormLayoutInfo *layout_info, TJabberFormControlType type, const TCHAR *labelStr, const TCHAR *valueStr)
{
TJabberFormControlList *controls = (TJabberFormControlList *)GetWindowLongPtr(hwndStatic, GWLP_USERDATA);
- if (!controls)
- {
+ if (!controls) {
controls = new TJabberFormControlList(5);
SetWindowLongPtr(hwndStatic, GWLP_USERDATA, (LONG_PTR)controls);
}
@@ -312,82 +305,72 @@ TJabberFormControlInfo *JabberFormAppendControl(HWND hwndStatic, TJabberFormLayo
item->type = type;
item->hLabel = item->hCtrl = NULL;
- switch (type)
- {
- case JFORM_CTYPE_TEXT_PRIVATE:
- {
- item->hLabel = JabberFormCreateLabel();
- item->hCtrl = CreateWindowEx(WS_EX_CLIENTEDGE, _T("edit"), valueStr,
- WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_LEFT|ES_AUTOHSCROLL|ES_PASSWORD,
- 0, 0, 0, 0,
- hwndStatic, (HMENU) layout_info->id, hInst, NULL);
- ++layout_info->id;
- break;
- }
- case JFORM_CTYPE_TEXT_MULTI:
- {
- item->hLabel = JabberFormCreateLabel();
- item->hCtrl = CreateWindowEx(WS_EX_CLIENTEDGE, _T("edit"), valueStr,
- WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_VSCROLL|ES_LEFT|ES_MULTILINE|ES_AUTOVSCROLL|ES_WANTRETURN,
- 0, 0, 0, 0,
- hwndStatic, (HMENU) layout_info->id, hInst, NULL);
- mir_subclassWindow(item->hCtrl, JabberFormMultiLineWndProc);
- ++layout_info->id;
- break;
- }
- case JFORM_CTYPE_BOOLEAN:
- {
- item->hCtrl = CreateWindowEx(0, _T("button"), labelStr,
- WS_CHILD|WS_VISIBLE|WS_TABSTOP|BS_AUTOCHECKBOX|BS_MULTILINE,
- 0, 0, 0, 0,
- hwndStatic, (HMENU) layout_info->id, hInst, NULL);
- if (valueStr && !_tcscmp(valueStr, _T("1")))
- SendMessage(item->hCtrl, BM_SETCHECK, 1, 0);
- ++layout_info->id;
- break;
- }
- case JFORM_CTYPE_LIST_SINGLE:
- {
- item->hLabel = JabberFormCreateLabel();
- item->hCtrl = CreateWindowExA(WS_EX_CLIENTEDGE, "combobox", NULL,
- WS_CHILD|WS_VISIBLE|WS_TABSTOP|CBS_DROPDOWNLIST,
- 0, 0, 0, 0,
- hwndStatic, (HMENU) layout_info->id, hInst, NULL);
- ++layout_info->id;
- break;
- }
- case JFORM_CTYPE_LIST_MULTI:
- {
- item->hLabel = JabberFormCreateLabel();
- item->hCtrl = CreateWindowExA(WS_EX_CLIENTEDGE, "listbox",
- NULL, WS_CHILD|WS_VISIBLE|WS_TABSTOP|LBS_MULTIPLESEL,
- 0, 0, 0, 0,
- hwndStatic, (HMENU) layout_info->id, hInst, NULL);
- ++layout_info->id;
- break;
- }
- case JFORM_CTYPE_FIXED:
- {
- item->hCtrl = CreateWindow(_T("edit"), valueStr,
- WS_CHILD|WS_VISIBLE|ES_MULTILINE|ES_READONLY|ES_AUTOHSCROLL,
- 0, 0, 0, 0,
- hwndStatic, (HMENU)-1, hInst, NULL);
- break;
- }
- case JFORM_CTYPE_HIDDEN:
- {
- break;
- }
- case JFORM_CTYPE_TEXT_SINGLE:
- {
- item->hLabel = labelStr ? (JabberFormCreateLabel()) : NULL;
- item->hCtrl = CreateWindowEx(WS_EX_CLIENTEDGE, _T("edit"), valueStr,
- WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_LEFT|ES_AUTOHSCROLL,
- 0, 0, 0, 0,
- hwndStatic, (HMENU) layout_info->id, hInst, NULL);
- ++layout_info->id;
- break;
- }
+ switch (type) {
+ case JFORM_CTYPE_TEXT_PRIVATE:
+ item->hLabel = JabberFormCreateLabel();
+ item->hCtrl = CreateWindowEx(WS_EX_CLIENTEDGE, _T("edit"), valueStr,
+ WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_LEFT | ES_AUTOHSCROLL | ES_PASSWORD,
+ 0, 0, 0, 0,
+ hwndStatic, (HMENU)layout_info->id, hInst, NULL);
+ ++layout_info->id;
+ break;
+
+ case JFORM_CTYPE_TEXT_MULTI:
+ item->hLabel = JabberFormCreateLabel();
+ item->hCtrl = CreateWindowEx(WS_EX_CLIENTEDGE, _T("edit"), valueStr,
+ WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN,
+ 0, 0, 0, 0,
+ hwndStatic, (HMENU)layout_info->id, hInst, NULL);
+ mir_subclassWindow(item->hCtrl, JabberFormMultiLineWndProc);
+ ++layout_info->id;
+ break;
+
+ case JFORM_CTYPE_BOOLEAN:
+ item->hCtrl = CreateWindowEx(0, _T("button"), labelStr,
+ WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_AUTOCHECKBOX | BS_MULTILINE,
+ 0, 0, 0, 0,
+ hwndStatic, (HMENU)layout_info->id, hInst, NULL);
+ if (valueStr && !_tcscmp(valueStr, _T("1")))
+ SendMessage(item->hCtrl, BM_SETCHECK, 1, 0);
+ ++layout_info->id;
+ break;
+
+ case JFORM_CTYPE_LIST_SINGLE:
+ item->hLabel = JabberFormCreateLabel();
+ item->hCtrl = CreateWindowExA(WS_EX_CLIENTEDGE, "combobox", NULL,
+ WS_CHILD | WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST,
+ 0, 0, 0, 0,
+ hwndStatic, (HMENU)layout_info->id, hInst, NULL);
+ ++layout_info->id;
+ break;
+
+ case JFORM_CTYPE_LIST_MULTI:
+ item->hLabel = JabberFormCreateLabel();
+ item->hCtrl = CreateWindowExA(WS_EX_CLIENTEDGE, "listbox",
+ NULL, WS_CHILD | WS_VISIBLE | WS_TABSTOP | LBS_MULTIPLESEL,
+ 0, 0, 0, 0,
+ hwndStatic, (HMENU)layout_info->id, hInst, NULL);
+ ++layout_info->id;
+ break;
+
+ case JFORM_CTYPE_FIXED:
+ item->hCtrl = CreateWindow(_T("edit"), valueStr,
+ WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_READONLY | ES_AUTOHSCROLL,
+ 0, 0, 0, 0,
+ hwndStatic, (HMENU)-1, hInst, NULL);
+ break;
+
+ case JFORM_CTYPE_HIDDEN:
+ break;
+
+ case JFORM_CTYPE_TEXT_SINGLE:
+ item->hLabel = labelStr ? (JabberFormCreateLabel()) : NULL;
+ item->hCtrl = CreateWindowEx(WS_EX_CLIENTEDGE, _T("edit"), valueStr,
+ WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_LEFT | ES_AUTOHSCROLL,
+ 0, 0, 0, 0,
+ hwndStatic, (HMENU)layout_info->id, hInst, NULL);
+ ++layout_info->id;
+ break;
}
HFONT hFont = (HFONT)SendMessage(GetParent(hwndStatic), WM_GETFONT, 0, 0);
@@ -400,11 +383,10 @@ TJabberFormControlInfo *JabberFormAppendControl(HWND hwndStatic, TJabberFormLayo
return item;
}
-void JabberFormAddListItem(TJabberFormControlInfo *item, TCHAR *text, bool selected)
+void JabberFormAddListItem(TJabberFormControlInfo *item, const TCHAR *text, bool selected)
{
DWORD dwIndex;
- switch (item->type)
- {
+ switch (item->type) {
case JFORM_CTYPE_LIST_MULTI:
dwIndex = SendMessage(item->hCtrl, LB_ADDSTRING, 0, (LPARAM)text);
if (selected) SendMessage(item->hCtrl, LB_SETSEL, TRUE, dwIndex);
@@ -421,16 +403,15 @@ void JabberFormLayoutControls(HWND hwndStatic, TJabberFormLayoutInfo *layout_inf
TJabberFormControlList *controls = (TJabberFormControlList *)GetWindowLongPtr(hwndStatic, GWLP_USERDATA);
if (!controls) return;
- for (int i=0; i < controls->getCount(); i++)
- {
+ for (int i = 0; i < controls->getCount(); i++) {
if ((*controls)[i]->hLabel)
SetWindowPos((*controls)[i]->hLabel, 0,
- layout_info->offset+(*controls)[i]->ptLabel.x, layout_info->y_pos+(*controls)[i]->ptLabel.y, 0, 0,
- SWP_NOZORDER|SWP_NOSIZE);
+ layout_info->offset + (*controls)[i]->ptLabel.x, layout_info->y_pos + (*controls)[i]->ptLabel.y, 0, 0,
+ SWP_NOZORDER | SWP_NOSIZE);
if ((*controls)[i]->hCtrl)
SetWindowPos((*controls)[i]->hCtrl, 0,
- layout_info->offset+(*controls)[i]->ptCtrl.x, layout_info->y_pos+(*controls)[i]->ptCtrl.y, 0, 0,
- SWP_NOZORDER|SWP_NOSIZE);
+ layout_info->offset + (*controls)[i]->ptCtrl.x, layout_info->y_pos + (*controls)[i]->ptCtrl.y, 0, 0,
+ SWP_NOZORDER | SWP_NOSIZE);
layout_info->y_pos += (*controls)[i]->szBlock.cy;
layout_info->y_pos += layout_info->y_spacing;
@@ -450,7 +431,7 @@ HJFORMLAYOUT JabberFormCreateLayout(HWND hwndStatic)
layout_info->id = 0;
layout_info->width = frameRect.right - frameRect.left - 20 - 10;
layout_info->y_spacing = 5;
- layout_info->maxLabelWidth = layout_info->width*2/5;
+ layout_info->maxLabelWidth = layout_info->width * 2 / 5;
layout_info->offset = 10;
layout_info->y_pos = 14;
return layout_info;
@@ -462,12 +443,12 @@ void JabberFormCreateUI(HWND hwndStatic, HXML xNode, int *formHeight, BOOL bComp
HXML v, vs;
- int i, j, k;
const TCHAR *label, *typeName, *varStr, *str, *valueText;
- TCHAR *labelStr, *valueStr, *p;
+ TCHAR *labelStr, *valueStr;
RECT frameRect;
- if (xNode == NULL || xmlGetName(xNode) == NULL || lstrcmp(xmlGetName(xNode), _T("x")) || hwndStatic == NULL) return;
+ if (xNode == NULL || xmlGetName(xNode) == NULL || lstrcmp(xmlGetName(xNode), _T("x")) || hwndStatic == NULL)
+ return;
GetClientRect(hwndStatic, &frameRect);
@@ -478,99 +459,110 @@ void JabberFormCreateUI(HWND hwndStatic, HXML xNode, int *formHeight, BOOL bComp
layout_info.width = frameRect.right - frameRect.left - 20;
if (!bCompact) layout_info.width -= 10;
layout_info.y_spacing = bCompact ? 1 : 5;
- layout_info.maxLabelWidth = layout_info.width*2/5;
+ layout_info.maxLabelWidth = layout_info.width * 2 / 5;
layout_info.offset = 10;
layout_info.y_pos = bCompact ? 0 : 14;
- for (i=0; ; i++) {
- HXML n = xmlGetChild(xNode ,i);
+ for (int i = 0;; i++) {
+ HXML n = xmlGetChild(xNode, i);
if (!n)
break;
- if (xmlGetName(n)) {
- if (!lstrcmp(xmlGetName(n), _T("field"))) {
- varStr = xmlGetAttrValue(n, _T("var"));
- if ((typeName = xmlGetAttrValue(n, _T("type"))) != NULL) {
- if ((label = xmlGetAttrValue(n, _T("label"))) != NULL)
- labelStr = mir_tstrdup(label);
- else
- labelStr = mir_tstrdup(varStr);
-
- TJabberFormControlType type = JabberFormTypeNameToId(typeName);
-
- if ((v = xmlGetChild(n, "value")) != NULL) {
- valueText = xmlGetText(v);
- if (type != JFORM_CTYPE_TEXT_MULTI)
- valueStr = mir_tstrdup(valueText);
- else {
- size_t size = 1;
- for (j=0; ; j++) {
- v = xmlGetChild(n,j);
- if (!v)
- break;
- if (xmlGetName(v) && !lstrcmp(xmlGetName(v), _T("value")) && xmlGetText(v))
- size += _tcslen(xmlGetText(v)) + 2;
- }
- valueStr = (TCHAR*)mir_alloc(sizeof(TCHAR)*size);
- valueStr[0] = '\0';
- for (j=0; ; j++) {
- v = xmlGetChild(n,j);
- if (!v)
- break;
- if (xmlGetName(v) && !lstrcmp(xmlGetName(v), _T("value")) && xmlGetText(v)) {
- if (valueStr[0])
- _tcscat(valueStr, _T("\r\n"));
- _tcscat(valueStr, xmlGetText(v));
- } }
- }
+ if (lstrcmp(xmlGetName(n), _T("field")))
+ continue;
+
+ varStr = xmlGetAttrValue(n, _T("var"));
+ if ((typeName = xmlGetAttrValue(n, _T("type"))) == NULL)
+ continue;
+
+ if ((label = xmlGetAttrValue(n, _T("label"))) != NULL)
+ labelStr = mir_tstrdup(label);
+ else
+ labelStr = mir_tstrdup(varStr);
+
+ TJabberFormControlType type = JabberFormTypeNameToId(typeName);
+
+ if ((v = xmlGetChild(n, "value")) != NULL) {
+ valueText = xmlGetText(v);
+ if (type != JFORM_CTYPE_TEXT_MULTI)
+ valueStr = mir_tstrdup(valueText);
+ else {
+ size_t size = 1;
+ for (int j = 0;; j++) {
+ v = xmlGetChild(n, j);
+ if (!v)
+ break;
+ if (xmlGetName(v) && !lstrcmp(xmlGetName(v), _T("value")) && xmlGetText(v))
+ size += _tcslen(xmlGetText(v)) + 2;
+ }
+ valueStr = (TCHAR*)mir_alloc(sizeof(TCHAR)*size);
+ valueStr[0] = '\0';
+ for (int j = 0;; j++) {
+ v = xmlGetChild(n, j);
+ if (!v)
+ break;
+ if (xmlGetName(v) && !lstrcmp(xmlGetName(v), _T("value")) && xmlGetText(v)) {
+ if (valueStr[0])
+ _tcscat(valueStr, _T("\r\n"));
+ _tcscat(valueStr, xmlGetText(v));
}
- else valueText = valueStr = NULL;
+ }
+ }
+ }
+ else valueText = valueStr = NULL;
- TJabberFormControlInfo *item = JabberFormAppendControl(hwndStatic, &layout_info, type, labelStr, valueStr);
+ TJabberFormControlInfo *item = JabberFormAppendControl(hwndStatic, &layout_info, type, labelStr, valueStr);
- mir_free(labelStr);
- mir_free(valueStr);
+ mir_free(labelStr);
+ mir_free(valueStr);
- if (type == JFORM_CTYPE_LIST_SINGLE) {
- for (j=0; ; j++) {
- HXML o = xmlGetChild(n,j);
- if (o == NULL)
- break;
- if (xmlGetName(o) && !lstrcmp(xmlGetName(o), _T("option"))) {
- if ((v = xmlGetChild(o , "value")) != NULL && xmlGetText(v)) {
- if ((str = xmlGetAttrValue(o, _T("label"))) == NULL)
- str = xmlGetText(v);
- if ((p = mir_tstrdup(str)) != NULL) {
- bool selected = false;
- if (valueText != NULL && !_tcscmp(valueText, xmlGetText(v)))
- selected = true;
- JabberFormAddListItem(item, p, selected);
- mir_free(p);
- } } } }
+ if (type == JFORM_CTYPE_LIST_SINGLE) {
+ for (int j = 0;; j++) {
+ HXML o = xmlGetChild(n, j);
+ if (o == NULL)
+ break;
+
+ if (lstrcmp(xmlGetName(o), _T("option")))
+ continue;
+ if ((v = xmlGetChild(o, "value")) == NULL || xmlGetText(v) == NULL)
+ continue;
+ if ((str = xmlGetAttrValue(o, _T("label"))) == NULL)
+ str = xmlGetText(v);
+ if (str == NULL)
+ continue;
+
+ bool selected = !lstrcmp(valueText, xmlGetText(v));
+ JabberFormAddListItem(item, str, selected);
+ }
+ }
+ else if (type == JFORM_CTYPE_LIST_MULTI) {
+ for (int j = 0;; j++) {
+ HXML o = xmlGetChild(n, j);
+ if (o == NULL)
+ break;
+
+ if (lstrcmp(xmlGetName(o), _T("option")))
+ continue;
+ if ((v = xmlGetChild(o, "value")) == NULL || xmlGetText(v) == NULL)
+ continue;
+ if ((str = xmlGetAttrValue(o, _T("label"))) == NULL)
+ str = xmlGetText(v);
+ if (str == NULL)
+ continue;
+
+ bool selected = false;
+ for (int k = 0;; k++) {
+ vs = xmlGetChild(n, k);
+ if (!vs)
+ break;
+ if (!lstrcmp(xmlGetName(vs), _T("value")) && !lstrcmp(xmlGetText(vs), xmlGetText(v))) {
+ selected = true;
+ break;
}
- else if (type == JFORM_CTYPE_LIST_MULTI) {
- for (j=0; ; j++) {
- HXML o = xmlGetChild(n,j);
- if (o == NULL)
- break;
- if (xmlGetName(o) && !lstrcmp(xmlGetName(o), _T("option"))) {
- if ((v = xmlGetChild(o , "value")) != NULL && xmlGetText(v)) {
- if ((str = xmlGetAttrValue(o, _T("label"))) == NULL)
- str = xmlGetText(v);
- if ((p = mir_tstrdup(str)) != NULL) {
- bool selected = false;
- for (k=0; ; k++) {
- vs = xmlGetChild(n,k);
- if (!vs)
- break;
- if (!lstrcmp(xmlGetName(vs), _T("value")) && xmlGetText(vs) && !_tcscmp(xmlGetText(vs), xmlGetText(v)))
- {
- selected = true;
- break;
- }
- }
- JabberFormAddListItem(item, p, selected);
- mir_free(p);
- } } } } } } } } }
+ }
+ JabberFormAddListItem(item, str, selected);
+ }
+ }
+ }
JabberFormLayoutControls(hwndStatic, &layout_info, formHeight);
}
@@ -720,7 +712,7 @@ struct JABBER_FORM_INFO
static INT_PTR CALLBACK JabberFormDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
- JABBER_FORM_INFO *jfi;
+ JABBER_FORM_INFO *jfi = (JABBER_FORM_INFO*)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
switch (msg) {
case WM_INITDIALOG:
@@ -731,7 +723,7 @@ static INT_PTR CALLBACK JabberFormDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam,
// lParam is (JABBER_FORM_INFO *)
TranslateDialogDefault(hwndDlg);
ShowWindow(GetDlgItem(hwndDlg, IDC_FRAME_TEXT), SW_HIDE);
- jfi = (JABBER_FORM_INFO *) lParam;
+ jfi = (JABBER_FORM_INFO*)lParam;
if (jfi != NULL) {
// Set dialog title
if (jfi->xNode != NULL && (n = xmlGetChild(jfi->xNode , "title")) != NULL && xmlGetText(n) != NULL)
@@ -741,9 +733,8 @@ static INT_PTR CALLBACK JabberFormDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam,
// Set instruction field
if (jfi->xNode != NULL && (n = xmlGetChild(jfi->xNode , "instructions")) != NULL && xmlGetText(n) != NULL)
JabberFormSetInstruction(hwndDlg, xmlGetText(n));
- else
- {
- if (jfi->xNode != NULL && (n = xmlGetChild(jfi->xNode , "title")) != NULL && xmlGetText(n) != NULL)
+ else {
+ if (jfi->xNode != NULL && (n = xmlGetChild(jfi->xNode, "title")) != NULL && xmlGetText(n) != NULL)
JabberFormSetInstruction(hwndDlg, xmlGetText(n));
else if (jfi->defTitle != NULL)
JabberFormSetInstruction(hwndDlg, TranslateTS(jfi->defTitle));
@@ -752,7 +743,6 @@ static INT_PTR CALLBACK JabberFormDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam,
// Create form
if (jfi->xNode != NULL) {
RECT rect;
-
GetClientRect(GetDlgItem(hwndDlg, IDC_FRAME), &(jfi->frameRect));
GetClientRect(GetDlgItem(hwndDlg, IDC_VSCROLL), &rect);
jfi->frameRect.right -= (rect.right - rect.left);
@@ -805,7 +795,6 @@ static INT_PTR CALLBACK JabberFormDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam,
break;
case WM_VSCROLL:
- jfi = (JABBER_FORM_INFO *) GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
if (jfi != NULL) {
int pos = jfi->curPos;
switch (LOWORD(wParam)) {
@@ -840,7 +829,6 @@ static INT_PTR CALLBACK JabberFormDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam,
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDC_SUBMIT:
- jfi = (JABBER_FORM_INFO *) GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
if (jfi != NULL) {
HXML n = JabberFormGetData(GetDlgItem(hwndDlg, IDC_FRAME), jfi->xNode);
(jfi->ppro->*(jfi->pfnSubmit))(n, jfi->userdata);
@@ -860,7 +848,6 @@ static INT_PTR CALLBACK JabberFormDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam,
case WM_DESTROY:
JabberFormDestroyUI(GetDlgItem(hwndDlg, IDC_FRAME));
- jfi = (JABBER_FORM_INFO *) GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
delete jfi;
break;
}
@@ -893,4 +880,4 @@ JABBER_FORM_INFO::~JABBER_FORM_INFO()
{
xi.destroyNode(xNode);
mir_free(userdata);
-} \ No newline at end of file
+}