Code Viewer

./WindowHandlers/PrefOverlay_handler.js File Size: 10.94 KB

  1. /*
  2. *
  3. *      PrefAdvanced.xml : PrefOlAddEdit
  4. *     
  5. */
  6.  
  7. var objOverlayColors = {};
  8.  
  9. function OnPrefOlAddEditEvent_CtrlClicked(pPlusWnd, sControlId) {
  10.         switch (sControlId) {
  11.                 case 'BtnSave':
  12.                         if (bEditOverlayText === false) {
  13.                                 var NewOverlay = 1;
  14.                                 while (Registry_KeyExist(HKCU, RegistryInit() + '\\Overlay\\Overlay ' + NewOverlay) === true) { ++NewOverlay; }
  15.                                
  16.                                 var tmp_reg_location = RegistryInit() + '\\Overlay\\Overlay ' + NewOverlay;
  17.                         } else {
  18.                                 var tmp_reg_location = RegistryInit() + '\\Overlay\\'+sOverlayTextToEdit;                     
  19.                         }
  20.                        
  21.                         var o = pPlusWnd;
  22.                         Registry_CreateKey(HKCU, tmp_reg_location);
  23.                        
  24.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'cCondition', o.Combo_GetCurSel('cCondition'), REG_DWORD);
  25.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'tOverlay', o.GetControlText('tOverlay'), REG_SZ);
  26.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'cPosition', o.Combo_GetCurSel('cPosition'), REG_DWORD);
  27.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'cTransparentBack', o.Button_IsChecked('cTransparentBack'), REG_DWORD);
  28.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'radAllContacts', o.Button_IsChecked('radAllContacts'), REG_DWORD);
  29.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'radSelectedContacts', o.Button_IsChecked('radSelectedContacts'), REG_DWORD);
  30.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'bEnabled', 1, REG_DWORD);
  31.                        
  32.                         o = objOverlay[pPlusWnd.Handle];
  33.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'sFaceName', o.FaceName, REG_SZ);
  34.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'lWeight', 1 * o.Weight, REG_DWORD);
  35.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'lItalic', 1 * o.Italic, REG_DWORD);
  36.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'lUnderline', 1 * o.Underline, REG_DWORD);
  37.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'lStrikeOut', 1 * o.StrikeOut, REG_DWORD);
  38.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'lHeight', Math.abs(o.Height)-3, REG_DWORD);
  39.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'lColorRef', o.ColorRef, REG_DWORD);
  40.                         Registry_SetKeyValue(HKCU, tmp_reg_location, 'lBackColorRef', objOverlayColors[pPlusWnd.Handle], REG_DWORD);
  41.                        
  42.                        
  43.                         LoadOverlayTextRules(objChildWindows['PrefAdvanced'], 'LvOverlayRules');
  44.                         Preferences_ShowChild('PrefAdvanced');
  45.                         break;
  46.                 case 'BtnBack':
  47.                         Preferences_ShowChild('PrefAdvanced');
  48.                         break;
  49.                 case 'BtnOverlayFont':
  50.                         if (Overlay_ChooseFont(pPlusWnd)) {
  51.                                 var o = objOverlay[pPlusWnd.Handle];
  52.                                 pPlusWnd.RichEdit_SetCharFormat('tOverlayFont', false, 1 * (o.Weight > 400), 1 * o.Italic,
  53.                                         1 * o.Underline, 1 * o.StrikeOut, o.Height, o.ColorRef, o.FaceName);
  54.                                 pPlusWnd.RichEdit_SetCharFormat('lblTitlePreview', false, 1 * (o.Weight > 400), 1 * o.Italic,
  55.                                         1 * o.Underline, 1 * o.StrikeOut, o.Height, o.ColorRef, o.FaceName);
  56.                                 pPlusWnd.SetControlText('tOverlayFont', o.FaceName);
  57.                                 pPlusWnd.SetControlText('lblTitlePreview', pPlusWnd.GetControlText('tOverlay'));                               
  58.                         }                     
  59.                         break;
  60.                 case 'BtnOverlayBackColour':
  61.                         var hWnd = pPlusWnd.Handle;
  62.                         if (typeof objOverlayColors[hWnd] !== 'number') objOverlayColors[hWnd] = false;
  63.                         var clrColor = ChooseColor(pPlusWnd.Handle, objOverlayColors[hWnd]);
  64.                         if (clrColor !== false) {
  65.                                 objOverlayColors[hWnd] = clrColor;
  66.                                 if (!pPlusWnd.Button_IsChecked('cTransparentBack'))
  67.                                         pPlusWnd.SendControlMessage('tOverlayFont', _win32._const._EM_SETBKGNDCOLOR, 0, clrColor);
  68.                         }
  69.                         break;
  70.                 case 'cTransparentBack':
  71.                         var hWnd = pPlusWnd.Handle;
  72.                         var bState = pPlusWnd.Button_IsChecked(sControlId);
  73.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('BtnOverlayBackColour'), !bState);
  74.                         if (!bState && typeof objOverlayColors[hWnd] === 'number')
  75.                                 pPlusWnd.SendControlMessage('tOverlayFont', _win32._const._EM_SETBKGNDCOLOR, 0, objOverlayColors[hWnd]);
  76.                         else pPlusWnd.SendControlMessage('tOverlayFont', _win32._const._EM_SETBKGNDCOLOR, 1, 0);
  77.                         break;
  78.                 case 'radAllContacts': case 'radSelectedContacts':
  79.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('BtnSelectContacts'), pPlusWnd.Button_IsChecked('radSelectedContacts'));
  80.                         break;
  81.                 case 'BtnSelectContacts':
  82.                         var e, Contact, nIndex = 0, tWnd = objChildWindows['PrefOlSelectContacts'];
  83.                         tWnd.SendControlMessage('LvContacts', _win32._const._LVM_DELETEALLITEMS, 0, 0);
  84.                         for (e = new Enumerator(Messenger.MyContacts); !e.atEnd(); e.moveNext()) {
  85.                                 Contact = e.item();
  86.                                 nIndex = tWnd.LstView_AddItem('LvContacts', Contact.Name);
  87.                                 tWnd.LstView_SetItemText('LvContacts', nIndex, 1, Contact.Email);
  88.                                 if (Contact.Blocked) {
  89.                                         if (Contact.Status > 1) tWnd.LstView_SetItemIcon('LvContacts', nIndex, 'blocked', true);
  90.                                         else tWnd.LstView_SetItemIcon('LvContacts', nIndex, 'blocked-offline', true);
  91.                                 } else tWnd.LstView_SetItemIcon('LvContacts', nIndex, oStatus[Contact.Status], true);
  92.                         }
  93.                         Preferences_ShowChild('PrefOlSelectContacts');
  94.                         break;
  95.                 case 'lnkTags':
  96.                         _win32.MessageBoxW(pPlusWnd.Handle, _lang.text['MsgBoxTags'], _lang.text['MsgBoxTagsOverlay_Title'], 32);
  97.                         break;
  98.         }
  99. }
  100.  
  101. function OnPrefOlAddEditEvent_Destroyed(pPlusWnd, nExitCode) {
  102.         objOverlayFont = {};
  103.         objOverlayColors = {};
  104. }
  105.  
  106. function OnPrefOlAddEditEvent_EditTextChanged(pPlusWnd, sControlId) {
  107.         switch (sControlId) {
  108.                 case 'tOverlay':
  109.                         pPlusWnd.SetControlText('lblTitlePreview', pPlusWnd.GetControlText(sControlId));
  110.                         break;
  111.         }
  112. }
  113.  
  114. function OnPrefOlSelectContactsEvent_CtrlClicked(pPlusWnd, sControlId) {
  115.         switch (sControlId) {
  116.                 case 'BtnBack' :
  117.                         Preferences_ShowChild('PrefOlAddEdit');
  118.                         break;
  119.         }
  120. }

Version

  • 5.0.0070_20100325_publicbeta1

Developers

Project Details

  • Folders8
  • Files122
  • Total Lines11,867
  • Repository Version70

User Count

  • 162