Code Viewer

./menu.js File Size: 10.74 KB

  1. /*
  2. * -----
  3. * Screenshot Sender - menu.js
  4. * -----
  5. * Menu handler for Screenshot Sender
  6. * -----
  7. */
  8.  
  9. /*
  10.         Name:   OnGetScriptMenu
  11.         Purpose:        The OnGetScriptMenu event is fired when some of the Messenger Plus! menus are
  12.                         displayed. It allows scripts to return their own menu to be added to Messenger Plus!'s one.
  13.         Parameters:     nLocation - A number specifying the location of the menu that triggered the event. You can
  14.                                         use this parameter to display a different menu depending on what the current
  15.                                         user is currently doing. It can be one of the following values:
  16.                                                 1 - Contact List
  17.                                                 2 - Chat Window
  18.         Return:         An XML data string defining the script's menu.
  19. */
  20. function OnGetScriptMenu(nLocation) {
  21.         _debug.getfuncname(arguments);
  22.         if (CheckVersion(4.60) == false)
  23.                 return false;
  24.        
  25.         var bEnabled = (Messenger.MyStatus > STATUS_INVISIBLE);
  26.         var bSignedIn = (Messenger.MyStatus >= STATUS_INVISIBLE);
  27.        
  28.         var oMenu = new ScriptMenu();
  29.                
  30.         with (oMenu) {
  31.                 if (nLocation === 2) {
  32.                         AddSubMenu(_lang.text['MenuActiveWindow']);
  33.                                 AddItem('/ssactive', _lang.text['SubMenuSendActiveWindow'], bEnabled);
  34.                                 AddItem('/sssactive', _lang.text['SubMenuSaveActiveWindow'], bSignedIn);
  35.                                 AddSeperator();
  36.                                 AddItem('/ssactive ' + objPreferences['tTimeDelay'], _lang.text['SubMenuSendActiveWindowDelay'], bEnabled);
  37.                                 AddItem('/sssactive ' + objPreferences['tTimeDelay'], _lang.text['SubMenuSaveActiveWindowDelay'], bSignedIn);
  38.                         CloseSubMenu();
  39.                         AddSubMenu(_lang.text['MenuFullscreen']);
  40.                                 AddItem('/ssfullscreen', _lang.text['SubMenuSendFullscreen'], bEnabled);
  41.                                 AddItem('/sssfullscreen', _lang.text['SubMenuSaveFullscreen'], bSignedIn);
  42.                                 AddSeperator();
  43.                                 AddItem('/ssfullscreen ' + objPreferences['tTimeDelay'], _lang.text['SubMenuSendFullscreenDelay'], bEnabled);
  44.                                 AddItem('/sssfullscreen ' + objPreferences['tTimeDelay'], _lang.text['SubMenuSaveFullscreenDelay'], bSignedIn);
  45.                         CloseSubMenu();
  46.                         AddSubMenu(_lang.text['MenuSelectArea']);
  47.                                 AddItem('/ssselect', _lang.text['SubMenuSendSelectArea'], bEnabled);
  48.                                 AddItem('/sssselect', _lang.text['SubMenuSaveSelectArea'], bSignedIn);
  49.                                 AddSeperator();
  50.                                 AddItem('/ssselect ' + objPreferences['tTimeDelay'], _lang.text['SubMenuSendSelectAreaDelay'], bEnabled);
  51.                                 AddItem('/sssselect ' + objPreferences['tTimeDelay'], _lang.text['SubMenuSaveSelectAreaDelay'], bSignedIn);
  52.                         CloseSubMenu();
  53.                         AddSubMenu(_lang.text['MenuClipboard']);
  54.                                 AddItem('/ssclipboard', _lang.text['SubMenuSendClipboard'], bEnabled);
  55.                                 AddItem('/sssclipboard', _lang.text['SubMenuSaveClipboard'], bSignedIn);
  56.                         CloseSubMenu();
  57.                         AddSubMenu(_lang.text['MenuPointClickCapture']);
  58.                                 AddItem('/sspcc', _lang.text['SubMenuSendPointClickCapture'], bEnabled);
  59.                                 AddItem('/ssspcc', _lang.text['SubMenuSavePointClickCapture'], bSignedIn);
  60.                         CloseSubMenu();
  61.                         if (SelectedMonitor(0, 0, 0, 0, true) > 1) {
  62.                                 AddSubMenu(_lang.text['MenuSelectedMonitor']);
  63.                                         AddItem('/ssmonitor', _lang.text['SubMenuSendSelectedMonitor'], bEnabled);
  64.                                         AddItem('/sssmonitor', _lang.text['SubMenuSaveSelectedMonitor'], bSignedIn);
  65.                                 CloseSubMenu();
  66.                         }
  67.                         AddSubMenu(_lang.text['MenuByWindowTitle']);
  68.                                 AddItem('/sswindow', _lang.text['SubMenuSendWindowByTitle'], bEnabled);
  69.                                 AddItem('/ssswindow', _lang.text['SubMenuSaveWindowByTitle'], bSignedIn);
  70.                         CloseSubMenu();
  71.                         AddSeperator();
  72.                 }
  73.                
  74.                 if (IsTimerActive == true) {
  75.                         AddItem('CancelTimer', _lang.text['MenuCancelTimer'], bEnabled);
  76.                         AddSeperator();
  77.                 }
  78.                
  79.                 AddItem('OpenDirectory', _lang.text['MenuOpenDirectory'], bSignedIn);
  80.                 AddItem('ScreenshotViewer', _lang.text['MenuScreenshotViewer'], bSignedIn);
  81.                
  82.                 if (nLocation === 2 && SessionImages.Images.length > 0) {
  83.                         AddItem('RecentImages', _lang.text['MenuRecentImages'], bEnabled);
  84.                         AddSeperator();
  85.                 }
  86.                
  87.                 AddItem('Preferences', _lang.text['MenuPreferences'], bSignedIn)
  88.                 AddSeperator();
  89.                 AddItem('About', _lang.text['MenuAbout'], bSignedIn)
  90.         }
  91.        
  92.         return oMenu.ExportMenu();
  93. }
  94.  
  95. /*
  96.         Name:   OnEvent_MenuClicked
  97.         Purpose:        The OnEvent_MenuClicked event is fired when an item of a script menu is selected by the current user.
  98.         Parameters:     sMenuId - Identifier of the menu item that was selected by the current user.
  99.                         nLocation - A number specifying the location of the menu that triggered the event. You can use this parameter
  100.                                         to display a different menu depending on what the current user is currently doing. It can be one of
  101.                                         the following values:
  102.                                                 1 - Contact List
  103.                                                 2 - Chat Window
  104.                         oChatWnd - If Location is 2, this parameter is the ChatWnd object attached to the chat window where the menu was
  105.                                         displayed. Else, this parameter is undefined.
  106.         Return:         None
  107. */
  108. function OnEvent_MenuClicked(sMenuId, nLocation, oChatWnd) {
  109.         _debug.getfuncname(arguments);
  110.         switch (sMenuId) {
  111.                 case 'About' : OpenAbout(); break;
  112.                 case 'Preferences' : OpenPreferences(); break;
  113.                 case 'ScreenshotViewer' : LaunchScreenshotViewer();     break;
  114.                 case 'OpenDirectory' : _win32.ShellExecuteW(0, 'open', objPreferences['tSaveDirectory'], '', '', 1); break;
  115.                 case 'RecentImages' : RecentImages(oChatWnd); break;
  116.                 case 'CancelTimer' :
  117.                         delete objCWindows[objWindows['Countdown'].Handle];
  118.                         CloseWindow('Countdown');
  119.                         IsTimerActive = false;
  120.                         MsgPlus.CancelTimer('Countdown');
  121.                         break;
  122.                 default:
  123.                         OnEvent_ChatWndSendMessage(oChatWnd, sMenuId);
  124.                         break;
  125.         }
  126. }
  127.  

Version

  • 5.0.0070_20100325_publicbeta1

Developers

Project Details

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

User Count

  • 162