/*
*
* PrefAdvanced.xml : PrefOlAddEdit
*
*/
var objOverlayColors = {};
function OnPrefOlAddEditEvent_CtrlClicked(pPlusWnd, sControlId) {
switch (sControlId) {
case 'BtnSave':
if (bEditOverlayText === false) {
var NewOverlay = 1;
while (Registry_KeyExist(HKCU, RegistryInit() + '\\Overlay\\Overlay ' + NewOverlay) === true) { ++NewOverlay; }
var tmp_reg_location = RegistryInit() + '\\Overlay\\Overlay ' + NewOverlay;
} else {
var tmp_reg_location = RegistryInit() + '\\Overlay\\'+sOverlayTextToEdit;
}
var o = pPlusWnd;
Registry_CreateKey(HKCU, tmp_reg_location);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'cCondition', o.Combo_GetCurSel('cCondition'), REG_DWORD);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'tOverlay', o.GetControlText('tOverlay'), REG_SZ);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'cPosition', o.Combo_GetCurSel('cPosition'), REG_DWORD);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'cTransparentBack', o.Button_IsChecked('cTransparentBack'), REG_DWORD);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'radAllContacts', o.Button_IsChecked('radAllContacts'), REG_DWORD);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'radSelectedContacts', o.Button_IsChecked('radSelectedContacts'), REG_DWORD);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'bEnabled', 1, REG_DWORD);
o = objOverlay[pPlusWnd.Handle];
Registry_SetKeyValue(HKCU, tmp_reg_location, 'sFaceName', o.FaceName, REG_SZ);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'lWeight', 1 * o.Weight, REG_DWORD);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'lItalic', 1 * o.Italic, REG_DWORD);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'lUnderline', 1 * o.Underline, REG_DWORD);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'lStrikeOut', 1 * o.StrikeOut, REG_DWORD);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'lHeight', Math.abs(o.Height)-3, REG_DWORD);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'lColorRef', o.ColorRef, REG_DWORD);
Registry_SetKeyValue(HKCU, tmp_reg_location, 'lBackColorRef', objOverlayColors[pPlusWnd.Handle], REG_DWORD);
LoadOverlayTextRules(objChildWindows['PrefAdvanced'], 'LvOverlayRules');
Preferences_ShowChild('PrefAdvanced');
break;
case 'BtnBack':
Preferences_ShowChild('PrefAdvanced');
break;
case 'BtnOverlayFont':
if (Overlay_ChooseFont(pPlusWnd)) {
var o = objOverlay[pPlusWnd.Handle];
pPlusWnd.RichEdit_SetCharFormat('tOverlayFont', false, 1 * (o.Weight > 400), 1 * o.Italic,
1 * o.Underline, 1 * o.StrikeOut, o.Height, o.ColorRef, o.FaceName);
pPlusWnd.RichEdit_SetCharFormat('lblTitlePreview', false, 1 * (o.Weight > 400), 1 * o.Italic,
1 * o.Underline, 1 * o.StrikeOut, o.Height, o.ColorRef, o.FaceName);
pPlusWnd.SetControlText('tOverlayFont', o.FaceName);
pPlusWnd.SetControlText('lblTitlePreview', pPlusWnd.GetControlText('tOverlay'));
}
break;
case 'BtnOverlayBackColour':
var hWnd = pPlusWnd.Handle;
if (typeof objOverlayColors[hWnd] !== 'number') objOverlayColors[hWnd] = false;
var clrColor = ChooseColor(pPlusWnd.Handle, objOverlayColors[hWnd]);
if (clrColor !== false) {
objOverlayColors[hWnd] = clrColor;
if (!pPlusWnd.Button_IsChecked('cTransparentBack'))
pPlusWnd.SendControlMessage('tOverlayFont', _win32._const._EM_SETBKGNDCOLOR, 0, clrColor);
}
break;
case 'cTransparentBack':
var hWnd = pPlusWnd.Handle;
var bState = pPlusWnd.Button_IsChecked(sControlId);
_win32.EnableWindow(pPlusWnd.GetControlHandle('BtnOverlayBackColour'), !bState);
if (!bState && typeof objOverlayColors[hWnd] === 'number')
pPlusWnd.SendControlMessage('tOverlayFont', _win32._const._EM_SETBKGNDCOLOR, 0, objOverlayColors[hWnd]);
else pPlusWnd.SendControlMessage('tOverlayFont', _win32._const._EM_SETBKGNDCOLOR, 1, 0);
break;
case 'radAllContacts': case 'radSelectedContacts':
_win32.EnableWindow(pPlusWnd.GetControlHandle('BtnSelectContacts'), pPlusWnd.Button_IsChecked('radSelectedContacts'));
break;
case 'BtnSelectContacts':
var e, Contact, nIndex = 0, tWnd = objChildWindows['PrefOlSelectContacts'];
tWnd.SendControlMessage('LvContacts', _win32._const._LVM_DELETEALLITEMS, 0, 0);
for (e = new Enumerator(Messenger.MyContacts); !e.atEnd(); e.moveNext()) {
Contact = e.item();
nIndex = tWnd.LstView_AddItem('LvContacts', Contact.Name);
tWnd.LstView_SetItemText('LvContacts', nIndex, 1, Contact.Email);
if (Contact.Blocked) {
if (Contact.Status > 1) tWnd.LstView_SetItemIcon('LvContacts', nIndex, 'blocked', true);
else tWnd.LstView_SetItemIcon('LvContacts', nIndex, 'blocked-offline', true);
} else tWnd.LstView_SetItemIcon('LvContacts', nIndex, oStatus[Contact.Status], true);
}
Preferences_ShowChild('PrefOlSelectContacts');
break;
case 'lnkTags':
_win32.MessageBoxW(pPlusWnd.Handle, _lang.text['MsgBoxTags'], _lang.text['MsgBoxTagsOverlay_Title'], 32);
break;
}
}
function OnPrefOlAddEditEvent_Destroyed(pPlusWnd, nExitCode) {
objOverlayFont = {};
objOverlayColors = {};
}
function OnPrefOlAddEditEvent_EditTextChanged(pPlusWnd, sControlId) {
switch (sControlId) {
case 'tOverlay':
pPlusWnd.SetControlText('lblTitlePreview', pPlusWnd.GetControlText(sControlId));
break;
}
}
function OnPrefOlSelectContactsEvent_CtrlClicked(pPlusWnd, sControlId) {
switch (sControlId) {
case 'BtnBack' :
Preferences_ShowChild('PrefOlAddEdit');
break;
}
}