Changeset 301
- Timestamp:
- Jul 8, 2008, 5:43:16 PM (17 years ago)
- Location:
- branches/2.19_branch/NewView
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.19_branch/NewView/VersionUnit.pas
r299 r301 17 17 18 18 const 19 Version = 'V2.19. 2'; // $SS_REQUIRE_NEW_VERSION$20 BldLevelVersion = '2.19. 2'; // Embedded for IBM BLDLEVEL tool19 Version = 'V2.19.3'; // $SS_REQUIRE_NEW_VERSION$ 20 BldLevelVersion = '2.19.3'; // Embedded for IBM BLDLEVEL tool 21 21 CopyrightMsg = 'Copyright 2005 Aaron Lawrence; 2006-2008 Ronald Brill'; 22 22 LicenseMsg = 'Licensed under the GNU Public License'; -
branches/2.19_branch/NewView/WebBrowserUnit.pas
r108 r301 21 21 SysUtils, 22 22 RunProgramUnit, 23 FileUtilsUnit; 23 FileUtilsUnit, 24 StringUtilsUnit, 25 DebugUnit; 24 26 25 27 const 26 PROFILE_KEY_WPURLDEFAULTSETTINGS = 'WPURLDEFAULTSETTINGS'; 28 PROFILE_APPLICATION_WPURLDEFAULTSETTINGS = 'WPURLDEFAULTSETTINGS'; 29 // Browser 30 PROFILE_KEY_DEFAULT_BROWSER_EXE = 'DefaultBrowserExe'; 31 PROFILE_KEY_DEFAULT_WORKING_DIR = 'DefaultWorkingDir'; 32 PROFILE_KEY_DEFAULT_PARAMETERS = 'DefaultParameters'; 33 34 PROFILE_KEY_DEFAULT_MAIL_EXE = 'DefaultMailExe'; 35 PROFILE_KEY_DEFAULT_MAIL_WORKING_DIR = 'DefaultMailWorkingDir'; 36 PROFILE_KEY_DEFAULT_MAIL_PARAMETERS = 'DefaultMailParameters'; 37 38 PROFILE_KEY_DEFAULT_NEWS_EXE = 'DefaultNewsExe'; 39 PROFILE_KEY_DEFAULT_NEWS_WORKING_DIR = 'DefaultNewsWorkingDir'; 40 PROFILE_KEY_DEFAULT_NEWS_PARAMETERS = 'DefaultNewsParameters'; 41 42 PROFILE_KEY_DEFAULT_FTP_EXE = 'DefaultFTPExe'; 43 PROFILE_KEY_DEFAULT_FTP_WORKING_DIR = 'DefaultFTPWorkingDir'; 44 PROFILE_KEY_DEFAULT_FTP_PARAMETERS = 'DefaultFTPParameters'; 27 45 28 46 29 Function GetDefaultBrowser Path: String;47 Function GetDefaultBrowserExe : String; 30 48 begin 31 Result := GetUserProfileString(PROFILE_ KEY_WPURLDEFAULTSETTINGS, 'DefaultBrowserExe', '');49 Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_BROWSER_EXE, ''); 32 50 if Result = '' then 33 51 begin … … 40 58 Function GetDefaultBrowserWorkingDir : String; 41 59 begin 42 Result := GetUserProfileString(PROFILE_ KEY_WPURLDEFAULTSETTINGS, 'DefaultWorkingDir', '');60 Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_WORKING_DIR, ''); 43 61 if Result = '' then 44 62 begin 45 Result := ExtractFilePath(GetDefaultBrowser Path);63 Result := ExtractFilePath(GetDefaultBrowserExe); 46 64 end; 47 65 end; … … 50 68 Function GetDefaultParameters : String; 51 69 begin 52 Result := GetUserProfileString(PROFILE_ KEY_WPURLDEFAULTSETTINGS, 'DefaultParameters', '');70 Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_PARAMETERS, ''); 53 71 end; 54 72 73 74 Function GetDefaultMailExe : String; 75 begin 76 Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_MAIL_EXE, ''); 77 end; 78 79 80 Function GetDefaultMailWorkingDir : String; 81 begin 82 Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_MAIL_WORKING_DIR, ''); 83 if Result = '' then 84 begin 85 Result := ExtractFilePath(GetDefaultMailExe); 86 end; 87 end; 88 89 90 Function GetDefaultMailParameters : String; 91 begin 92 Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_MAIL_PARAMETERS, ''); 93 end; 94 95 96 Function GetDefaultNewsExe : String; 97 begin 98 Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_NEWS_EXE, ''); 99 end; 100 101 102 Function GetDefaultNewsWorkingDir : String; 103 begin 104 Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_NEWS_WORKING_DIR, ''); 105 if Result = '' then 106 begin 107 Result := ExtractFilePath(GetDefaultNewsExe); 108 end; 109 end; 110 111 112 Function GetDefaultNewsParameters : String; 113 begin 114 Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_NEWS_PARAMETERS, ''); 115 end; 116 117 118 Function GetDefaultFtpExe : String; 119 begin 120 Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_FTP_EXE, ''); 121 end; 122 123 124 Function GetDefaultFtpWorkingDir : String; 125 begin 126 Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_FTP_WORKING_DIR, ''); 127 if Result = '' then 128 begin 129 Result := ExtractFilePath(GetDefaultFtpExe); 130 end; 131 end; 132 133 134 Function GetDefaultFtpParameters : String; 135 begin 136 Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_FTP_PARAMETERS, ''); 137 end; 55 138 56 139 57 140 Procedure LaunchURL(const aURL: String); 58 141 var 59 tmpBrowserPath : String; 60 tmpBrowserWorkingDir : String; 61 tmpBrowserParameters : String; 142 tmpExe : String; 143 tmpAlternativeExe : String; 144 tmpWorkingDir : String; 145 tmpParameters : String; 62 146 begin 63 tmpBrowserPath := GetDefaultBrowserPath; 64 tmpBrowserWorkingDir := GetDefaultBrowserWorkingDir; 65 tmpBrowserParameters := GetDefaultParameters; 147 // default is to start the browser 148 tmpExe := GetDefaultBrowserExe; 149 tmpWorkingDir := GetDefaultBrowserWorkingDir; 150 tmpParameters := GetDefaultParameters; 66 151 67 if tmpBrowserPath = '' then 152 if not FileExists(tmpExe) then 153 begin 154 raise Exception.Create('Browser program doesn''t exist: ' + tmpExe); 155 end; 156 157 if tmpExe = '' then 68 158 begin 69 159 raise Exception.Create('You don''t have a default browser configured.'); 70 160 end; 71 161 72 if not FileExists(tmpBrowserPath) then162 if StrStartsWithIgnoringCase(aURL, '"ftp') then 73 163 begin 74 raise Exception.Create('Browser program doesn''t exist: ' + tmpBrowserPath); 164 tmpAlternativeExe := GetDefaultFtpExe; 165 if tmpAlternativeExe <> '' then 166 begin 167 tmpExe := tmpAlternativeExe; 168 tmpWorkingDir := GetDefaultFtpWorkingDir; 169 tmpParameters := GetDefaultFtpParameters; 170 end 171 end 172 else if StrStartsWithIgnoringCase(aURL, '"mailto') then 173 begin 174 tmpAlternativeExe := GetDefaultMailExe; 175 if tmpAlternativeExe <> '' then 176 begin 177 tmpExe := tmpAlternativeExe; 178 tmpWorkingDir := GetDefaultMailWorkingDir; 179 tmpParameters := GetDefaultMailParameters; 180 end 181 end 182 else if StrStartsWithIgnoringCase(aURL, '"news') then 183 begin 184 tmpAlternativeExe := GetDefaultNewsExe; 185 if tmpAlternativeExe <> '' then 186 begin 187 tmpExe := tmpAlternativeExe; 188 tmpWorkingDir := GetDefaultNewsWorkingDir; 189 tmpParameters := GetDefaultNewsParameters; 190 end 75 191 end; 76 192 77 ChDir(RemoveRightDirectorySeparator(tmpBrowserWorkingDir)); 78 79 LaunchProgram(tmpBrowserPath, tmpBrowserParameters + ' ' + aURL, tmpBrowserWorkingDir); 193 ChDir(RemoveRightDirectorySeparator(tmpWorkingDir)); 194 LaunchProgram(tmpExe, tmpParameters + ' ' + aURL, tmpWorkingDir); 80 195 end; 81 196
Note:
See TracChangeset
for help on using the changeset viewer.