Code Viewer

./preferences.js File Size: 8.41 KB

  1. /*
  2. * -----
  3. * Screenshot Sender - preferences.js
  4. * -----
  5. * Read/Write/Update Preferences for Screenshot Sender
  6. * -----
  7. */
  8.  
  9. /*
  10.         Name:   RegistryInit
  11.         Purpose:        Create a string containing the location in the registry for Screenshot Sender
  12.         Parameters:     None
  13.         Return: Screenshot Sender registry location
  14. */
  15. function RegistryInit() {
  16.         return MsgPlus.ScriptRegPath.substr(5) + Messenger.MyUserId;
  17. }
  18.  
  19. /*
  20.         Name:   UpdatePreferences
  21.         Purpose:        Updates the stored preferences in the registry
  22.         Parameters:     None
  23.         Return: None
  24. */
  25. function UpdatePreferences() {
  26.         _debug.getfuncname(arguments);
  27.         for (var i in objPreferences) {
  28.                 if (i === 'tSaveDirectory' || i === 'tFtpPassword') {
  29.                         Registry_SetKeyValue(HKCU, RegistryInit(), i, encode(objPreferences[i]), REG_BINARY);
  30.                 } else {
  31.                         Registry_SetKeyValue(HKCU, RegistryInit(), i, objPreferences[i], (typeof objPreferences[i] === TYPE_STRING ? REG_SZ : REG_DWORD));
  32.                 }
  33.         }
  34. }
  35.  
  36. /*
  37.         Name:   CreateDefaultSettings
  38.         Purpose:        Create default settings for a first time user
  39.         Parameters:     None
  40.         Return: None
  41. */
  42. function CreateDefaultSettings() {
  43.         _debug.getfuncname(arguments);
  44.         Registry_CreateKey(HKCU, MsgPlus.ScriptRegPath.substr(5));
  45.         Registry_CreateKey(HKCU, RegistryInit());
  46.         if (Registry_KeyExist(HKCU, RegistryInit() + '\\Hotkeys') == false) Registry_CreateKey(HKCU, RegistryInit() + '\\Hotkeys');
  47.         if (Registry_KeyExist(HKCU, RegistryInit() + '\\Overlay') == false) Registry_CreateKey(HKCU, RegistryInit() + '\\Overlay');
  48.         CreateDefaultSetting_Key('tFilename', 'screenshot_!#', REG_SZ);
  49.         var sSave = Interop.Allocate(512);
  50.         _win32.SHGetSpecialFolderPathW(0, sSave, _win32._const._CLSID_PERSONAL, false);
  51.        
  52.         /* General */
  53.                 CreateDefaultSetting_Key('tSaveDirectory', encode(sSave.ReadString(0) + '\\My Screenshots\\' + Messenger.MyEmail + '\\'), REG_BINARY);
  54.                 CreateDefaultSetting_Key('lFileNumber', 0, REG_DWORD);
  55.                 CreateDefaultSetting_Key('sldrQuality', 75, REG_DWORD);
  56.                 CreateDefaultSetting_Key('cPreviews', 1, REG_DWORD);
  57.                 CreateDefaultSetting_Key('cDeleteSessionImages', 0, REG_DWORD);
  58.                 CreateDefaultSetting_Key('cFileType', 1, REG_DWORD);
  59.                 CreateDefaultSetting_Key('tTimeDelay', 5, REG_DWORD);
  60.                 CreateDefaultSetting_Key('cShowSaveConfirm', 0, REG_DWORD);
  61.                 CreateDefaultSetting_Key('cCountdownPos', 0, REG_DWORD);
  62.                 CreateDefaultSetting_Key('cOverrideCtrlV', (Messenger.Version !== 14 ? 1 : 0), REG_DWORD);
  63.        
  64.         /* Ftp */
  65.                 CreateDefaultSetting_Key('tFtpLogin', '', REG_SZ);
  66.                 CreateDefaultSetting_Key('tFtpServer', '', REG_SZ);
  67.                 CreateDefaultSetting_Key('tFtpPassword', '', REG_BINARY);
  68.                 CreateDefaultSetting_Key('tFtpDirectory', '', REG_SZ);
  69.                 CreateDefaultSetting_Key('tFtpPort', 21, REG_DWORD);
  70.                 CreateDefaultSetting_Key('cUploadFilesWhenIdle', 0, REG_DWORD);
  71.                
  72.         /* Language */
  73.                 CreateDefaultSetting_Key('cLanguage', 'en', REG_SZ);
  74.                 CreateDefaultSetting_Key('cSameLanguage', 1, REG_DWORD);
  75.        
  76.         /* Advanced */
  77.                 CreateDefaultSetting_Key('cEditProgram', 1, REG_DWORD);
  78.                 CreateDefaultSetting_Key('tEditProgram', 'rundll32.exe shell32.dll, OpenAs_RunDLL %1', REG_SZ);
  79.        
  80.         /* Hotkeys */
  81.                 CreateDefaultSetting_Key('cPrntScrn', 0, REG_DWORD);       
  82. }
  83.  
  84. function CreateDefaultSetting_Key(Key, Value, Type) {
  85.         if (Registry_KeyValueExist(HKCU, RegistryInit(), Key) === false) {
  86.                 _debug.getfuncname(arguments);
  87.                 Registry_SetKeyValue(HKCU, RegistryInit(), Key, Value, Type);
  88.         }
  89. }
  90.  
  91. /*
  92.         Name:   LoadPreferences
  93.         Purpose:        Load the preferences to our object
  94.         Parameters:     None
  95.         Return: None
  96. */
  97. function LoadPreferences() {
  98.         _debug.getfuncname(arguments);
  99.         CreateDefaultSettings();
  100.         Registry_EnumKeys(HKCU, RegistryInit(), objPreferences);
  101.        
  102.         /* Initialize language object */
  103.         _lang.load(objPreferences['cLanguage']);
  104.        
  105.         objPreferences['tSaveDirectory'] = decode(objPreferences['tSaveDirectory']);
  106.         if (objPreferences['tFtpPassword'] !== '')
  107.                 objPreferences['tFtpPassword'] = decode(objPreferences['tFtpPassword']);
  108.                
  109.         MakeFolder(objPreferences['tSaveDirectory']);
  110. }
  111.  
  112. /*
  113.         Name:   MakeFolder
  114.         Purpose:        Recursively creates a directory structure starting at the root
  115.         Parameters:     sPath - Directory structure to create
  116.         Return: None
  117. */
  118. function MakeFolder(sPath) {
  119.         _debug.getfuncname(arguments);
  120.         _win32.SHCreateDirectoryExW(0, sPath, 0);
  121. }

Version

  • 5.0.0070_20100325_publicbeta1

Developers

Project Details

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

User Count

  • 162