Code Viewer

./WindowHandlers/PrefAdvanced_handler.js File Size: 15.03 KB

  1. /*
  2. *
  3. *      PrefAdvanced.xml : PrefAdvanced
  4. *     
  5. */
  6.  
  7. var gSelectedOverlayLvIndex = -1;
  8. var bEditOverlayText = false;
  9. var sOverlayTextToEdit;
  10.  
  11. function OnPrefAdvancedEvent_CtrlClicked(pPlusWnd, sControlId) {
  12.         switch (sControlId) {
  13.                 case 'BtnSave' :
  14.                         var xml = createXml();
  15.                         xml.load(MsgPlus.ScriptFilesPath+'\\ScriptInfo.xml');
  16.                         var oNode = xml.selectSingleNode('/ScriptInfo/BuildInfo/Debug');
  17.                         oNode.text = (pPlusWnd.Button_IsChecked('_cDebug')?1:0);
  18.                         _debug.enabled = pPlusWnd.Button_IsChecked('_cDebug');
  19.                         xml.save(MsgPlus.ScriptFilesPath+'\\ScriptInfo.xml');
  20.                        
  21.                         Preferences_Save('PrefAdvanced');
  22.                 case 'BtnBack' :
  23.                         Preferences_ShowChild('PrefDashboard');
  24.                         break;
  25.                 case 'cAltSending' :
  26.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('tAltSending'), pPlusWnd.Button_IsChecked(sControlId));
  27.                         if (pPlusWnd.Button_IsChecked(sControlId) == true) _win32.SetFocus(pPlusWnd.GetControlHandle('tAltSending'));
  28.                         break;
  29.                 case 'cEditProgram' :
  30.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('tEditProgram'), !pPlusWnd.Button_IsChecked(sControlId));
  31.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('BtnBrowse'), !pPlusWnd.Button_IsChecked(sControlId));
  32.                         if (pPlusWnd.Button_IsChecked(sControlId) == false) _win32.SetFocus(pPlusWnd.GetControlHandle('BtnBrowse'));
  33.                         break;
  34.                 case 'BtnOlAdd' :
  35.                         bEditOverlayText = false;
  36.  
  37.                         var o = objChildWindows['PrefOlAddEdit'];
  38.                         // Translations
  39.                         o.SendControlMessage('cCondition', _win32._const._CB_RESETCONTENT, 0, 0);
  40.                         for (var i = 0; i < 3; ++i)
  41.                                 o.Combo_AddItem('cCondition', _lang.text['FtpOverlayCondition_' + i], i);
  42.                         o.SendControlMessage('cPosition', _win32._const._CB_RESETCONTENT, 0, 0);
  43.                         for (var i = 0; i < 5; ++i)
  44.                                 o.Combo_AddItem('cPosition', _lang.text['OverlayPosition_' + i], i);
  45.                         // Font
  46.                         var f = objOverlay[o.Handle] = new Font(objOverlayDefaultFont);
  47.                         o.RichEdit_SetCharFormat('tOverlayFont', false, 1 * (f.Weight > 400), 1 * f.Italic,
  48.                                 1 * f.Underline, 1 * f.StrikeOut, f.Height, f.ColorRef, f.FaceName);
  49.                         o.RichEdit_SetCharFormat('lblTitlePreview', false, 1 * (f.Weight > 400), 1 * f.Italic,
  50.                                 1 * f.Underline, 1 * f.StrikeOut, f.Height, f.ColorRef, f.FaceName);
  51.                         // Settings
  52.                         objOverlayColors[o.Handle] = undefined;
  53.                         o.Combo_SetCurSel('cCondition', 0);
  54.                         o.SetControlText('tOverlay', '');
  55.                         o.Combo_SetCurSel('cPosition', 0);
  56.                         o.Button_SetCheckState('cTransparentBack', false);
  57.                         OnPrefOlAddEditEvent_CtrlClicked(o, 'cTransparentBack');
  58.                         o.Button_SetCheckState('radAllContacts', true);
  59.                         o.SetControlText('tOverlayFont', f.FaceName);
  60.  
  61.                         Preferences_ShowChild('PrefOlAddEdit');
  62.                         break;
  63.                 case 'BtnOlEdit' :
  64.                         bEditOverlayText = true;
  65.                         sOverlayTextToEdit = pPlusWnd.LstView_GetItemText('LvOverlayRules', gSelectedOverlayLvIndex, 2);
  66.  
  67.                         PrefOlAddEdit_PopulateDropDowns(objChildWindows['PrefOlAddEdit']);
  68.                         Preferences_ShowChild('PrefOlAddEdit');
  69.  
  70.                         var oSubkeys = {};
  71.                         Registry_EnumKeys(HKCU, RegistryInit() +'\\Overlay\\'+sOverlayTextToEdit+'\\', oSubkeys);
  72.  
  73.                         var o = objChildWindows['PrefOlAddEdit'];
  74.                         // Translations
  75.                         o.SendControlMessage('cCondition', _win32._const._CB_RESETCONTENT, 0, 0);
  76.                         for (var i = 0; i < 3; ++i)
  77.                                 o.Combo_AddItem('cCondition', _lang.text['FtpOverlayCondition_' + i], i);
  78.                         o.SendControlMessage('cPosition', _win32._const._CB_RESETCONTENT, 0, 0);
  79.                         for (var i = 0; i < 5; ++i)
  80.                                 o.Combo_AddItem('cPosition', _lang.text['OverlayPosition_' + i], i);
  81.                         // Font
  82.                         var f = objOverlay[o.Handle] = new Font({
  83.                                 Height :        oSubkeys['lHeight']+3,
  84.                                 Weight :        oSubkeys['lWeight'],
  85.                                 Italic :        oSubkeys['lItalic'],
  86.                                 Underline :     oSubkeys['lUnderline'],
  87.                                 StrikeOut :     oSubkeys['lStrikeOut'],
  88.                                 FaceName :      oSubkeys['sFaceName'],
  89.                                 ColorRef :      oSubkeys['lColorRef']
  90.                         });
  91.                         o.RichEdit_SetCharFormat('tOverlayFont', false, 1 * (f.Weight > 400), 1 * f.Italic,
  92.                                 1 * f.Underline, 1 * f.StrikeOut, f.Height, f.ColorRef, f.FaceName);
  93.                         o.RichEdit_SetCharFormat('lblTitlePreview', false, 1 * (f.Weight > 400), 1 * f.Italic,
  94.                                 1 * f.Underline, 1 * f.StrikeOut, f.Height, f.ColorRef, f.FaceName);
  95.                         // Settings
  96.                         if(typeof oSubkeys['lBackColorRef'] === 'number')
  97.                                 objOverlayColors[o.Handle] = oSubkeys['lBackColorRef'];
  98.                         o.Combo_SetCurSel('cCondition', oSubkeys['cCondition']);
  99.                         o.SetControlText('tOverlay', oSubkeys['tOverlay']);
  100.                         o.Combo_SetCurSel('cPosition', oSubkeys['cPosition']);
  101.                         o.Button_SetCheckState('cTransparentBack', oSubkeys['cTransparentBack']);
  102.                         OnPrefOlAddEditEvent_CtrlClicked(o, 'cTransparentBack');
  103.                         o.Button_SetCheckState('radAllContacts', oSubkeys['radAllContacts']);
  104.                         o.Button_SetCheckState('radSelectedContacts', oSubkeys['radSelectedContacts']);
  105.                         o.SetControlText('tOverlayFont', f.FaceName);
  106.                         break;
  107.                 case 'BtnOlDisable':
  108.                         pPlusWnd.LstView_SetItemText('LvOverlayRules', gSelectedOverlayLvIndex, 3, 0);
  109.                         Registry_SetKeyValue(HKCU, RegistryInit() +'\\Overlay\\'+pPlusWnd.LstView_GetItemText('LvOverlayRules', gSelectedOverlayLvIndex, 2), 'bEnabled', 0, REG_DWORD);
  110.                         PrefAdvanced_SwapButtons(pPlusWnd, 'LvOverlayRules', gSelectedOverlayLvIndex);
  111.                         pPlusWnd.LstView_SetItemIcon('LvOverlayRules', gSelectedOverlayLvIndex, 0, true);
  112.                         break;
  113.                 case 'BtnOlEnable':
  114.                         pPlusWnd.LstView_SetItemText('LvOverlayRules', gSelectedOverlayLvIndex, 3, 1);
  115.                         Registry_SetKeyValue(HKCU, RegistryInit() +'\\Overlay\\'+pPlusWnd.LstView_GetItemText('LvOverlayRules', gSelectedOverlayLvIndex, 2), 'bEnabled', 1, REG_DWORD);
  116.                         PrefAdvanced_SwapButtons(pPlusWnd, 'LvOverlayRules', gSelectedOverlayLvIndex);
  117.                         pPlusWnd.LstView_SetItemIcon('LvOverlayRules', gSelectedOverlayLvIndex, 1, true);
  118.                         break;
  119.                 case 'BtnOlDelete':
  120.                         Registry_DeleteTree(HKCU, RegistryInit() +'\\Overlay\\'+pPlusWnd.LstView_GetItemText('LvOverlayRules', gSelectedOverlayLvIndex, 2));
  121.                         LoadOverlayTextRules(pPlusWnd, 'LvOverlayRules');
  122.                         break;
  123.         }
  124. }
  125.  
  126. function OnPrefAdvancedEvent_LstViewClicked(pPlusWnd, sControlId, nItemIdx) {
  127.         if (sControlId === 'LvOverlayRules') {
  128.                 gSelectedOverlayLvIndex = nItemIdx;
  129.                 _win32.EnableWindow(pPlusWnd.GetControlHandle('BtnOlEdit'), (nItemIdx!==-1));
  130.                 _win32.EnableWindow(pPlusWnd.GetControlHandle('BtnOlDelete'), (nItemIdx!==-1));
  131.                 if (nItemIdx === -1) {
  132.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('BtnOlDisable'), false);
  133.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('BtnOlEnable'), false);
  134.                 } else {
  135.                         PrefAdvanced_SwapButtons(pPlusWnd, sControlId, nItemIdx);
  136.                 }
  137.         }
  138. }
  139.  
  140. function PrefOlAddEdit_PopulateDropDowns(tWnd) {
  141.         tWnd.SendControlMessage('cCondition', _win32._const._CB_RESETCONTENT, 0, 0);
  142.         for (var i = 0; i < 3; ++i)
  143.                 tWnd.Combo_AddItem('cCondition', _lang.text['FtpOverlayCondition_' + i], i);
  144.         tWnd.SendControlMessage('cPosition', _win32._const._CB_RESETCONTENT, 0, 0);
  145.         for (var i = 0; i < 5; ++i)
  146.                 tWnd.Combo_AddItem('cPosition', _lang.text['OverlayPosition_' + i], i);
  147. }
  148.  
  149. function PrefAdvanced_SwapButtons(o, s, i) {
  150.         if (parseFloat(o.LstView_GetItemText(s, i, 3)) === 0) {
  151.                 _win32.EnableWindow(o.GetControlHandle('BtnOlDisable'), false);
  152.                 _win32.EnableWindow(o.GetControlHandle('BtnOlEnable'), true);
  153.                
  154.                 _win32.ShowWindow(o.GetControlHandle('BtnOlDisable'), _win32._const._SW_HIDE);
  155.                 _win32.ShowWindow(o.GetControlHandle('BtnOlEnable'), _win32._const._SW_SHOW);
  156.         } else {
  157.                 _win32.EnableWindow(o.GetControlHandle('BtnOlDisable'), true);
  158.                 _win32.EnableWindow(o.GetControlHandle('BtnOlEnable'), false)
  159.                
  160.                 _win32.ShowWindow(o.GetControlHandle('BtnOlDisable'), _win32._const._SW_SHOW);
  161.                 _win32.ShowWindow(o.GetControlHandle('BtnOlEnable'), _win32._const._SW_HIDE);
  162.         }
  163. }

Version

  • 5.0.0070_20100325_publicbeta1

Developers

Project Details

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

User Count

  • 162