| 1 | Unit WebBrowserUnit;
|
|---|
| 2 |
|
|---|
| 3 | // NewView - a new OS/2 Help Viewer
|
|---|
| 4 | // Copyright 2003 Aaron Lawrence (aaronl at consultant dot com)
|
|---|
| 5 | // This software is released under the Gnu Public License - see readme.txt
|
|---|
| 6 |
|
|---|
| 7 | Interface
|
|---|
| 8 |
|
|---|
| 9 | // Code for running the default browser.
|
|---|
| 10 | // Doesn't implement DDE!
|
|---|
| 11 |
|
|---|
| 12 | procedure LaunchURL( const URL: string );
|
|---|
| 13 |
|
|---|
| 14 | Implementation
|
|---|
| 15 |
|
|---|
| 16 | uses
|
|---|
| 17 | PMSHL, OS2Def,
|
|---|
| 18 | ACLFileUtility, ACLUtility, ACLDialogs, SysUtils, RunProgramUnit;
|
|---|
| 19 |
|
|---|
| 20 | function GetDefaultBrowserPath: string;
|
|---|
| 21 | begin
|
|---|
| 22 | Result := GetUserProfileString( 'WPURLDEFAULTSETTINGS',
|
|---|
| 23 | 'DefaultBrowserExe',
|
|---|
| 24 | '' );
|
|---|
| 25 | if Result = '' then
|
|---|
| 26 | begin
|
|---|
| 27 | // try Web Explorer
|
|---|
| 28 | SearchPath( 'PATH', 'explore.exe', Result );
|
|---|
| 29 | end;
|
|---|
| 30 | end;
|
|---|
| 31 |
|
|---|
| 32 | function GetDefaultBrowserWorkingDir: string;
|
|---|
| 33 | begin
|
|---|
| 34 | Result := GetUserProfileString( 'WPURLDEFAULTSETTINGS',
|
|---|
| 35 | 'DefaultWorkingDir',
|
|---|
| 36 | '' );
|
|---|
| 37 | if Result = '' then
|
|---|
| 38 | begin
|
|---|
| 39 | Result := ExtractFilePath( GetDefaultBrowserPath );
|
|---|
| 40 | end;
|
|---|
| 41 |
|
|---|
| 42 | end;
|
|---|
| 43 |
|
|---|
| 44 | procedure LaunchURL( const URL: string );
|
|---|
| 45 | var
|
|---|
| 46 | BrowserPath: string;
|
|---|
| 47 | BrowserWorkingDir: string;
|
|---|
| 48 | begin
|
|---|
| 49 | BrowserPath := GetDefaultBrowserPath;
|
|---|
| 50 | BrowserWorkingDir := GetDefaultBrowserWorkingDir;
|
|---|
| 51 | if BrowserPath = '' then
|
|---|
| 52 | begin
|
|---|
| 53 | DoErrorDlg( 'Error',
|
|---|
| 54 | 'You don''t have a default browser configured.' );
|
|---|
| 55 | exit;
|
|---|
| 56 | end;
|
|---|
| 57 |
|
|---|
| 58 | if not FileExists( BrowserPath ) then
|
|---|
| 59 | begin
|
|---|
| 60 | DoErrorDlg( 'Error',
|
|---|
| 61 | 'Browser program doesn''t exist: '
|
|---|
| 62 | + BrowserPath );
|
|---|
| 63 | exit;
|
|---|
| 64 | end;
|
|---|
| 65 |
|
|---|
| 66 | ChDir( RemoveSlash( BrowserWorkingDir ) );
|
|---|
| 67 |
|
|---|
| 68 | LaunchProgram( BrowserPath,
|
|---|
| 69 | URL,
|
|---|
| 70 | BrowserWorkingDir );
|
|---|
| 71 | end;
|
|---|
| 72 |
|
|---|
| 73 | Initialization
|
|---|
| 74 | End.
|
|---|