Changeset 301


Ignore:
Timestamp:
Jul 8, 2008, 5:43:16 PM (17 years ago)
Author:
RBRi
Message:

IAI support added

Location:
branches/2.19_branch/NewView
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2.19_branch/NewView/VersionUnit.pas

    r299 r301  
    1717
    1818const
    19   Version =        'V2.19.2'; // $SS_REQUIRE_NEW_VERSION$
    20   BldLevelVersion = '2.19.2'; // Embedded for IBM BLDLEVEL tool
     19  Version =        'V2.19.3'; // $SS_REQUIRE_NEW_VERSION$
     20  BldLevelVersion = '2.19.3'; // Embedded for IBM BLDLEVEL tool
    2121  CopyrightMsg = 'Copyright 2005 Aaron Lawrence; 2006-2008 Ronald Brill';
    2222  LicenseMsg   = 'Licensed under the GNU Public License';
  • branches/2.19_branch/NewView/WebBrowserUnit.pas

    r108 r301  
    2121  SysUtils,
    2222  RunProgramUnit,
    23   FileUtilsUnit;
     23  FileUtilsUnit,
     24  StringUtilsUnit,
     25  DebugUnit;
    2426
    2527const
    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';
    2745
    2846
    29   Function GetDefaultBrowserPath : String;
     47  Function GetDefaultBrowserExe : String;
    3048  begin
    31     Result := GetUserProfileString(PROFILE_KEY_WPURLDEFAULTSETTINGS, 'DefaultBrowserExe', '');
     49    Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_BROWSER_EXE, '');
    3250    if Result = '' then
    3351    begin
     
    4058  Function GetDefaultBrowserWorkingDir : String;
    4159  begin
    42     Result := GetUserProfileString(PROFILE_KEY_WPURLDEFAULTSETTINGS, 'DefaultWorkingDir', '');
     60    Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_WORKING_DIR, '');
    4361    if Result = '' then
    4462    begin
    45       Result := ExtractFilePath(GetDefaultBrowserPath);
     63      Result := ExtractFilePath(GetDefaultBrowserExe);
    4664    end;
    4765  end;
     
    5068  Function GetDefaultParameters : String;
    5169  begin
    52     Result := GetUserProfileString(PROFILE_KEY_WPURLDEFAULTSETTINGS, 'DefaultParameters', '');
     70    Result := GetUserProfileString(PROFILE_APPLICATION_WPURLDEFAULTSETTINGS, PROFILE_KEY_DEFAULT_PARAMETERS, '');
    5371  end;
    5472
     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;
    55138
    56139
    57140  Procedure LaunchURL(const aURL: String);
    58141  var
    59     tmpBrowserPath : String;
    60     tmpBrowserWorkingDir : String;
    61     tmpBrowserParameters : String;
     142    tmpExe : String;
     143    tmpAlternativeExe : String;
     144    tmpWorkingDir : String;
     145    tmpParameters : String;
    62146  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;
    66151
    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
    68158    begin
    69159      raise Exception.Create('You don''t have a default browser configured.');
    70160    end;
    71161
    72     if not FileExists(tmpBrowserPath) then
     162    if StrStartsWithIgnoringCase(aURL, '"ftp') then
    73163    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
    75191    end;
    76192
    77     ChDir(RemoveRightDirectorySeparator(tmpBrowserWorkingDir));
    78 
    79     LaunchProgram(tmpBrowserPath, tmpBrowserParameters + ' ' + aURL, tmpBrowserWorkingDir);
     193    ChDir(RemoveRightDirectorySeparator(tmpWorkingDir));
     194    LaunchProgram(tmpExe, tmpParameters + ' ' + aURL, tmpWorkingDir);
    80195  end;
    81196
Note: See TracChangeset for help on using the changeset viewer.