Code Viewer

./WindowHandlers/Preview_handler.js File Size: 14.27 KB

  1. /*
  2. *
  3. *      Preview.xml
  4. *     
  5. */
  6.  
  7. function OnPreviewEvent_CtrlClicked(pPlusWnd, sControlId) {
  8.         if (sControlId.match(/^BaseBtn/) ) {
  9.                 return false; // Check to see if these are the control box controls
  10.         }
  11.        
  12.         switch (sControlId) {
  13.                 case 'lnkSaveImageAs' :
  14.                         var sImage = SaveFileAs();
  15.                         if (sImage == false) return false;
  16.                         _win32.ShowWindow(pPlusWnd.Handle, _win32._const._SW_HIDE);
  17.                         pPlusWnd.ImageElmt_SetImageFile('ImgPreview', 'pixel.png');
  18.                         SessionImages.MoveTempImage(objChatWnds[pPlusWnd.Handle].Image, sImage);
  19.                         CloseWindow('Preview');
  20.                         break;
  21.                 case 'lnkSaveImage' :
  22.                         var sImage = SessionImages.CreateImagePath();
  23.                         _win32.ShowWindow(pPlusWnd.Handle, _win32._const._SW_HIDE);
  24.                         pPlusWnd.ImageElmt_SetImageFile('ImgPreview', 'pixel.png');
  25.                         SessionImages.MoveTempImage(objChatWnds[pPlusWnd.Handle].Image, sImage);
  26.                         CloseWindow('Preview');
  27.                         break;
  28.                 case 'lnkSendImage' :
  29.                         _win32.ShowWindow(pPlusWnd.Handle, _win32._const._SW_HIDE);
  30.                         pPlusWnd.ImageElmt_SetImageFile('ImgPreview', 'pixel.png');
  31.                         var sImage = (IsRecentImages ? objChatWnds[pPlusWnd.Handle].Image :
  32.                                 SessionImages.MoveTempImage(objChatWnds[pPlusWnd.Handle].Image, SessionImages.CreateImagePath()));
  33.                                
  34.                         try {
  35.                                 if (objChatWnds[pPlusWnd.Handle].ChatWnd.Contacts.Count === 1) {
  36.                                         oChatWnd_SendFile(objChatWnds[pPlusWnd.Handle].ChatWnd, sImage);
  37.                                 } else {
  38.                                         var WndContactSelector = ContactSelector(objChatWnds[pPlusWnd.Handle].ChatWnd.Contacts);
  39.                                         objChatWnds[WndContactSelector.Handle] = {};
  40.                                         objChatWnds[WndContactSelector.Handle].Image = sImage;
  41.                                 }
  42.                         } catch (err) {
  43.                                 var WndContactSelector = ContactSelector(Messenger.MyContacts);
  44.                                 objChatWnds[WndContactSelector.Handle] = {};
  45.                                 if (objChatWnds[pPlusWnd.Handle].IsViewer == true) objChatWnds[WndContactSelector.Handle].Image = sImage;
  46.                                 else objChatWnds[WndContactSelector.Handle].Image = sImage;
  47.                         }
  48.                         CloseWindow('Preview');
  49.                         break;
  50.                 case 'lnkUploadImage' :
  51.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('lnkUploadImage'), false);
  52.                         Ftp_UploadFile(objChatWnds[pPlusWnd.Handle].Image, true, objChatWnds[pPlusWnd.Handle].ChatWnd);
  53.                         break;
  54.                 case 'lnkEditImage' :
  55.                         new ActiveXObject('WScript.Shell').run(sReplace(objPreferences['tEditProgram'], [objChatWnds[pPlusWnd.Handle].Image] ) );
  56.                         pPlusWnd.ImageElmt_SetImageFile('ImgPreview', 'pixel.png');
  57.                         _win32.ShowWindow(pPlusWnd.GetControlHandle('lnkEditImage'), _win32._const._SW_HIDE);
  58.                         _win32.ShowWindow(pPlusWnd.GetControlHandle('lnkRefreshImage'), _win32._const._SW_SHOW);
  59.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('lnkSendImage'), false);
  60.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('lnkSaveImageAs'), false);
  61.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('lnkUploadImage'), false);
  62.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('lnkCopyImage'), false);
  63.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('lblJpgQuality'), false);
  64.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('sldrQuality'), false);
  65.                         _win32.ShowWindow(pPlusWnd.GetControlHandle('lblImageName'), _win32._const._SW_HIDE);
  66.                         _win32.ShowWindow(pPlusWnd.GetControlHandle('lblImageSize'), _win32._const._SW_HIDE);
  67.                         _win32.ShowWindow(pPlusWnd.GetControlHandle('lblImageDimensions'), _win32._const._SW_HIDE);
  68.                         _win32.ShowWindow(pPlusWnd.GetControlHandle('lblImageCreated'), _win32._const._SW_HIDE);
  69.                         pPlusWnd.ImageElmt_SetImageFile('ImgJpg', 'jpg_disabled.png');
  70.                         break;
  71.                 case 'lnkRefreshImage' :
  72.                         var oGdip = new Gdip();
  73.                         oGdip.Initialize();
  74.                                 pPlusWnd.ImageElmt_SetImageFile('ImgPreview', '\\'+objChatWnds[pPlusWnd.Handle].Image);
  75.                                 _win32.ShowWindow(pPlusWnd.GetControlHandle('lnkRefreshImage'), _win32._const._SW_HIDE);
  76.                                 _win32.ShowWindow(pPlusWnd.GetControlHandle('lnkEditImage'), _win32._const._SW_SHOW);
  77.                                 _win32.EnableWindow(pPlusWnd.GetControlHandle('lnkSendImage'), true);
  78.                                 _win32.EnableWindow(pPlusWnd.GetControlHandle('lnkSaveImageAs'), true);
  79.                                 _win32.EnableWindow(pPlusWnd.GetControlHandle('lnkUploadImage'), true);
  80.                                 _win32.EnableWindow(pPlusWnd.GetControlHandle('lnkCopyImage'), true);
  81.                                 pPlusWnd.SetControlText('lblImageSize', _lang.text['ScreenshotViewer_Size'] +' '+oGdip.FormatFileSize(oGdip.GetImageSizeInBytes(objChatWnds[pPlusWnd.Handle].Image) ) );
  82.                                 pPlusWnd.SetControlText('lblImageDimensions', _lang.text['ScreenshotViewer_Dimensions'] +' '+oGdip.GetImageDimensions(objChatWnds[pPlusWnd.Handle].Image) );
  83.                                 pPlusWnd.SetControlText('lblImageCreated', _lang.text['ScreenshotViewer_DateCreated'] +' '+oGdip.GetDateCreated(objChatWnds[pPlusWnd.Handle].Image) );
  84.                                 _win32.ShowWindow(pPlusWnd.GetControlHandle('lblImageName'), _win32._const._SW_SHOW);
  85.                                 _win32.ShowWindow(pPlusWnd.GetControlHandle('lblImageSize'), _win32._const._SW_SHOW);
  86.                                 _win32.ShowWindow(pPlusWnd.GetControlHandle('lblImageDimensions'), _win32._const._SW_SHOW);
  87.                                 _win32.ShowWindow(pPlusWnd.GetControlHandle('lblImageCreated'), _win32._const._SW_SHOW);
  88.                         oGdip.Uninitialize();         
  89.                         break;
  90.                 case 'lnkCopyImage' :
  91.                         var oGdip = new Gdip();
  92.                         oGdip.Clipboard_SetData(objPictures[pPlusWnd.GetControlText('lblImageName') ].Picture);
  93.                         oGdip = null;
  94.                         _win32.EnableWindow(pPlusWnd.GetControlHandle('lnkCopyImage'), false);
  95.                         break;
  96.         }
  97. }
  98.  
  99. function OnPreviewEvent_Destroyed(pPlusWnd, nExitCode) {
  100.         try {
  101.                 _win32.DeleteObject(objPictures[pPlusWnd.GetControlText('lblImageName') ].Picture);
  102.                 delete objPictures[pPlusWnd.GetControlText('lblImageName') ];
  103.         } catch (err) { }
  104.         if(IsRecentImages === false) {
  105.                 pPlusWnd.ImageElmt_SetImageFile('ImgPreview', 'pixel.png');
  106.                 _win32.DeleteFileW(objChatWnds[pPlusWnd.Handle].Image);
  107.         }
  108.         IsRecentImages = false;
  109.         if (nExitCode !== 6) {
  110.                 CloseWindow(pPlusWnd.WindowId);
  111.                 return false;
  112.         }
  113. }
  114.  
  115. function OnPreviewEvent_MessageNotification(pPlusWnd, nMessage, wParam, lParam) {
  116.         switch (nMessage) {
  117.                 case _win32._const._WM_NOTIFY:
  118.                         try {
  119.                                 var NMHDR = Interop.Allocate(12);
  120.                                 _win32.RtlMoveMemory(NMHDR.DataPtr, lParam, 12);
  121.                                 if (NMHDR.ReadDWORD(0) === pPlusWnd.GetControlHandle('sldrQuality') ) {
  122.                                         if (NMHDR.ReadDWORD(8) === _win32._const._NM_RELEASEDCAPTURE) {
  123.                                                 var oGdip = new Gdip();
  124.                                                 var sImage = objChatWnds[pPlusWnd.Handle].Image;
  125.                                                
  126.                                                 oGdip.Initialize();
  127.                                                         pPlusWnd.ImageElmt_SetImageFile('ImgPreview', 'pixel.png');
  128.                                                        
  129.                                                         if (oGdip.UpdateQuality(objPictures[pPlusWnd.GetControlText('lblImageName') ].Picture, sImage, pPlusWnd.SendControlMessage('sldrQuality', 0x400 /* TBM_GETPOS */, 0, 0) ) === false) {
  130.                                                                 //Error
  131.                                                         }
  132.                                                 pPlusWnd.ImageElmt_SetImageFile('ImgPreview', '\\'+sImage);
  133.                                                 pPlusWnd.SetControlText('lblImageSize', _lang.text['ScreenshotViewer_Size'] +' '+oGdip.FormatFileSize(oGdip.GetImageSizeInBytes(sImage) ) );
  134.                                                 oGdip.Uninitialize();
  135.                                         }
  136.                                 }
  137.                         } catch (err) {
  138.                                
  139.                         }
  140.                         break;
  141.                 case _win32._const._WM_SIZE:
  142.                         if (wParam === _win32._const._SIZE_MAXIMIZED) {
  143.                                 _win32.ShowWindow(pPlusWnd.GetControlHandle('BaseBtnMinimise'), _win32._const._SW_SHOW);
  144.                                 _win32.ShowWindow(pPlusWnd.GetControlHandle('BaseBtnMaximise'), _win32._const._SW_SHOW);
  145.                                 _win32.ShowWindow(pPlusWnd.GetControlHandle('BaseBtnCancel'), _win32._const._SW_SHOW);
  146.                         }
  147.         }
  148. }

Version

  • 5.0.0070_20100325_publicbeta1

Developers

Project Details

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

User Count

  • 162