/*
*
* PrefAdvanced.xml : PrefAdvanced
*
*/
var gSelectedOverlayLvIndex = -1;
var bEditOverlayText = false;
var sOverlayTextToEdit;
function OnPrefAdvancedEvent_CtrlClicked(pPlusWnd, sControlId) {
switch (sControlId) {
case 'BtnSave' :
var xml = createXml();
xml.load(MsgPlus.ScriptFilesPath+'\\ScriptInfo.xml');
var oNode = xml.selectSingleNode('/ScriptInfo/BuildInfo/Debug');
oNode.text = (pPlusWnd.Button_IsChecked('_cDebug')?1:0);
_debug.enabled = pPlusWnd.Button_IsChecked('_cDebug');
xml.save(MsgPlus.ScriptFilesPath+'\\ScriptInfo.xml');
Preferences_Save('PrefAdvanced');
case 'BtnBack' :
Preferences_ShowChild('PrefDashboard');
break;
case 'cAltSending' :
_win32.EnableWindow(pPlusWnd.GetControlHandle('tAltSending'), pPlusWnd.Button_IsChecked(sControlId));
if (pPlusWnd.Button_IsChecked(sControlId) == true) _win32.SetFocus(pPlusWnd.GetControlHandle('tAltSending'));
break;
case 'cEditProgram' :
_win32.EnableWindow(pPlusWnd.GetControlHandle('tEditProgram'), !pPlusWnd.Button_IsChecked(sControlId));
_win32.EnableWindow(pPlusWnd.GetControlHandle('BtnBrowse'), !pPlusWnd.Button_IsChecked(sControlId));
if (pPlusWnd.Button_IsChecked(sControlId) == false) _win32.SetFocus(pPlusWnd.GetControlHandle('BtnBrowse'));
break;
case 'BtnOlAdd' :
bEditOverlayText = false;
var o = objChildWindows['PrefOlAddEdit'];
// Translations
o.SendControlMessage('cCondition', _win32._const._CB_RESETCONTENT, 0, 0);
for (var i = 0; i < 3; ++i)
o.Combo_AddItem('cCondition', _lang.text['FtpOverlayCondition_' + i], i);
o.SendControlMessage('cPosition', _win32._const._CB_RESETCONTENT, 0, 0);
for (var i = 0; i < 5; ++i)
o.Combo_AddItem('cPosition', _lang.text['OverlayPosition_' + i], i);
// Font
var f = objOverlay[o.Handle] = new Font(objOverlayDefaultFont);
o.RichEdit_SetCharFormat('tOverlayFont', false, 1 * (f.Weight > 400), 1 * f.Italic,
1 * f.Underline, 1 * f.StrikeOut, f.Height, f.ColorRef, f.FaceName);
o.RichEdit_SetCharFormat('lblTitlePreview', false, 1 * (f.Weight > 400), 1 * f.Italic,
1 * f.Underline, 1 * f.StrikeOut, f.Height, f.ColorRef, f.FaceName);
// Settings
objOverlayColors[o.Handle] = undefined;
o.Combo_SetCurSel('cCondition', 0);
o.SetControlText('tOverlay', '');
o.Combo_SetCurSel('cPosition', 0);
o.Button_SetCheckState('cTransparentBack', false);
OnPrefOlAddEditEvent_CtrlClicked(o, 'cTransparentBack');
o.Button_SetCheckState('radAllContacts', true);
o.SetControlText('tOverlayFont', f.FaceName);
Preferences_ShowChild('PrefOlAddEdit');
break;
case 'BtnOlEdit' :
bEditOverlayText = true;
sOverlayTextToEdit = pPlusWnd.LstView_GetItemText('LvOverlayRules', gSelectedOverlayLvIndex, 2);
PrefOlAddEdit_PopulateDropDowns(objChildWindows['PrefOlAddEdit']);
Preferences_ShowChild('PrefOlAddEdit');
var oSubkeys = {};
Registry_EnumKeys(HKCU, RegistryInit() +'\\Overlay\\'+sOverlayTextToEdit+'\\', oSubkeys);
var o = objChildWindows['PrefOlAddEdit'];
// Translations
o.SendControlMessage('cCondition', _win32._const._CB_RESETCONTENT, 0, 0);
for (var i = 0; i < 3; ++i)
o.Combo_AddItem('cCondition', _lang.text['FtpOverlayCondition_' + i], i);
o.SendControlMessage('cPosition', _win32._const._CB_RESETCONTENT, 0, 0);
for (var i = 0; i < 5; ++i)
o.Combo_AddItem('cPosition', _lang.text['OverlayPosition_' + i], i);
// Font
var f = objOverlay[o.Handle] = new Font({
Height : oSubkeys['lHeight']+3,
Weight : oSubkeys['lWeight'],
Italic : oSubkeys['lItalic'],
Underline : oSubkeys['lUnderline'],
StrikeOut : oSubkeys['lStrikeOut'],
FaceName : oSubkeys['sFaceName'],
ColorRef : oSubkeys['lColorRef']
});
o.RichEdit_SetCharFormat('tOverlayFont', false, 1 * (f.Weight > 400), 1 * f.Italic,
1 * f.Underline, 1 * f.StrikeOut, f.Height, f.ColorRef, f.FaceName);
o.RichEdit_SetCharFormat('lblTitlePreview', false, 1 * (f.Weight > 400), 1 * f.Italic,
1 * f.Underline, 1 * f.StrikeOut, f.Height, f.ColorRef, f.FaceName);
// Settings
if(typeof oSubkeys['lBackColorRef'] === 'number')
objOverlayColors[o.Handle] = oSubkeys['lBackColorRef'];
o.Combo_SetCurSel('cCondition', oSubkeys['cCondition']);
o.SetControlText('tOverlay', oSubkeys['tOverlay']);
o.Combo_SetCurSel('cPosition', oSubkeys['cPosition']);
o.Button_SetCheckState('cTransparentBack', oSubkeys['cTransparentBack']);
OnPrefOlAddEditEvent_CtrlClicked(o, 'cTransparentBack');
o.Button_SetCheckState('radAllContacts', oSubkeys['radAllContacts']);
o.Button_SetCheckState('radSelectedContacts', oSubkeys['radSelectedContacts']);
o.SetControlText('tOverlayFont', f.FaceName);
break;
case 'BtnOlDisable':
pPlusWnd.LstView_SetItemText('LvOverlayRules', gSelectedOverlayLvIndex, 3, 0);
Registry_SetKeyValue(HKCU, RegistryInit() +'\\Overlay\\'+pPlusWnd.LstView_GetItemText('LvOverlayRules', gSelectedOverlayLvIndex, 2), 'bEnabled', 0, REG_DWORD);
PrefAdvanced_SwapButtons(pPlusWnd, 'LvOverlayRules', gSelectedOverlayLvIndex);
pPlusWnd.LstView_SetItemIcon('LvOverlayRules', gSelectedOverlayLvIndex, 0, true);
break;
case 'BtnOlEnable':
pPlusWnd.LstView_SetItemText('LvOverlayRules', gSelectedOverlayLvIndex, 3, 1);
Registry_SetKeyValue(HKCU, RegistryInit() +'\\Overlay\\'+pPlusWnd.LstView_GetItemText('LvOverlayRules', gSelectedOverlayLvIndex, 2), 'bEnabled', 1, REG_DWORD);
PrefAdvanced_SwapButtons(pPlusWnd, 'LvOverlayRules', gSelectedOverlayLvIndex);
pPlusWnd.LstView_SetItemIcon('LvOverlayRules', gSelectedOverlayLvIndex, 1, true);
break;
case 'BtnOlDelete':
Registry_DeleteTree(HKCU, RegistryInit() +'\\Overlay\\'+pPlusWnd.LstView_GetItemText('LvOverlayRules', gSelectedOverlayLvIndex, 2));
LoadOverlayTextRules(pPlusWnd, 'LvOverlayRules');
break;
}
}
function OnPrefAdvancedEvent_LstViewClicked(pPlusWnd, sControlId, nItemIdx) {
if (sControlId === 'LvOverlayRules') {
gSelectedOverlayLvIndex = nItemIdx;
_win32.EnableWindow(pPlusWnd.GetControlHandle('BtnOlEdit'), (nItemIdx!==-1));
_win32.EnableWindow(pPlusWnd.GetControlHandle('BtnOlDelete'), (nItemIdx!==-1));
if (nItemIdx === -1) {
_win32.EnableWindow(pPlusWnd.GetControlHandle('BtnOlDisable'), false);
_win32.EnableWindow(pPlusWnd.GetControlHandle('BtnOlEnable'), false);
} else {
PrefAdvanced_SwapButtons(pPlusWnd, sControlId, nItemIdx);
}
}
}
function PrefOlAddEdit_PopulateDropDowns(tWnd) {
tWnd.SendControlMessage('cCondition', _win32._const._CB_RESETCONTENT, 0, 0);
for (var i = 0; i < 3; ++i)
tWnd.Combo_AddItem('cCondition', _lang.text['FtpOverlayCondition_' + i], i);
tWnd.SendControlMessage('cPosition', _win32._const._CB_RESETCONTENT, 0, 0);
for (var i = 0; i < 5; ++i)
tWnd.Combo_AddItem('cPosition', _lang.text['OverlayPosition_' + i], i);
}
function PrefAdvanced_SwapButtons(o, s, i) {
if (parseFloat(o.LstView_GetItemText(s, i, 3)) === 0) {
_win32.EnableWindow(o.GetControlHandle('BtnOlDisable'), false);
_win32.EnableWindow(o.GetControlHandle('BtnOlEnable'), true);
_win32.ShowWindow(o.GetControlHandle('BtnOlDisable'), _win32._const._SW_HIDE);
_win32.ShowWindow(o.GetControlHandle('BtnOlEnable'), _win32._const._SW_SHOW);
} else {
_win32.EnableWindow(o.GetControlHandle('BtnOlDisable'), true);
_win32.EnableWindow(o.GetControlHandle('BtnOlEnable'), false);
_win32.ShowWindow(o.GetControlHandle('BtnOlDisable'), _win32._const._SW_SHOW);
_win32.ShowWindow(o.GetControlHandle('BtnOlEnable'), _win32._const._SW_HIDE);
}
}