Changeset 25 for trunk/NewView/MainForm.pas
- Timestamp:
- Aug 1, 2006, 8:51:54 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NewView/MainForm.pas
r18 r25 16 16 // library 17 17 ACLString, SharedMemoryUnit, ACLLanguageUnit, GenericThread, 18 CmdLineParameterUnit, 19 18 20 // custom components 19 21 SplitBar, Outline2, RichTextView, Coolbar2, … … 862 864 T: TTopic; 863 865 ResourceIDs: TList; 864 Level: longint;865 866 ImageOffsets: TList; 866 867 ImageOffset: longint; … … 1900 1901 TotalTopics: longint; 1901 1902 TotalTopicIndex: longint; 1902 1903 Topic: TTopic;1904 1903 begin 1905 1904 PrintSingle := nil; … … 2218 2217 var 2219 2218 i: integer; 2219 tmpCmdLine: String; 2220 tmpSplittedCmdLine : TStringList; 2221 tmpRc : Integer; 2222 tmpWindowPosition : TWindowPosition; 2220 2223 Begin 2221 2224 with InformationForm.InformationMemo do 2222 2225 begin 2226 tmpCmdLine := nativeOS2GetCmdLineParameter; 2227 tmpSplittedCmdLine := TStringList.Create; 2228 2223 2229 Lines.Clear; 2224 Lines.Add( ParameterCountLabel2225 + IntToStr( ParamCount ));2226 for i := 1 to ParamCountdo2230 Lines.Add(ParameterCountLabel +IntToStr(tmpSplittedCmdLine.count)); 2231 tmpRc := splitCmdLineParameter(tmpCmdLine, tmpSplittedCmdLine); 2232 for i := 0 to tmpSplittedCmdLine.Count -1 do 2227 2233 Lines.Add( ' ' 2228 2234 + IntToStr( i ) 2229 2235 + ' [' 2230 + ParamStr( i )2236 + tmpSplittedCmdLine[i] 2231 2237 + ']' ); 2238 2239 tmpSplittedCmdLine.Destroy; 2240 Lines.Add(''); 2241 Lines.Add('parsed infos:'); 2242 Lines.Add('getShowUsageFlag: ' + boolToStr(CmdLineParameters.getShowUsageFlag)); 2243 Lines.Add('getSearchTextFlag: ' + boolToStr(CmdLineParameters.getSearchTextFlag)); 2244 Lines.Add('getSearchText: ' + CmdLineParameters.getSearchText); 2245 Lines.Add('getGlobalSearchTextFlag: ' + boolToStr(CmdLineParameters.getGlobalSearchTextFlag)); 2246 Lines.Add('getGlobalSearchText: ' + CmdLineParameters.getGlobalSearchText); 2247 Lines.Add('getLanguage: ' + CmdLineParameters.getLanguage); 2248 Lines.Add('getHelpManagerFlag: ' + boolToStr(CmdLineParameters.getHelpManagerFlag)); 2249 Lines.Add('getHelpManagerFlag: ' + boolToStr(CmdLineParameters.getHelpManagerFlag)); 2250 Lines.Add('getHelpManagerWindow: ' + intToStr(CmdLineParameters.getHelpManagerWindow)); 2251 Lines.Add('getWindowPositionFlag: ' + boolToStr(CmdLineParameters.getWindowPositionFlag)); 2252 2253 tmpWindowPosition := CmdLineParameters.getWindowPosition; 2254 Lines.Add('getWindowPosition: '); 2255 Lines.Add(' left: ' + intToStr(tmpWindowPosition.left)); 2256 Lines.Add(' bottom: ' + intToStr(tmpWindowPosition.bottom)); 2257 Lines.Add(' width: ' + intToStr(tmpWindowPosition.width)); 2258 Lines.Add(' height: ' + intToStr(tmpWindowPosition.height)); 2259 Lines.Add('getOwnerWindow: ' + intToStr(CmdLineParameters.getOwnerWindow)); 2260 Lines.Add('getWindowTitle: ' + CmdLineParameters.getWindowTitle); 2261 Lines.Add('getFileNames: ' + CmdLineParameters.getFileNames); 2262 Lines.Add('getTopics: ' + CmdLineParameters.getTopics); 2263 2232 2264 end; 2233 2265 … … 2350 2382 FileIndex: longint; 2351 2383 HelpFile: THelpFile; 2352 Dummy: TNode;2353 2384 Begin 2354 2385 EnableControls; … … 2357 2388 begin 2358 2389 // not really feasible to load contents here, as we rely 2359 // on it for many things 2390 // on it for many things 2360 2391 ContentsOutline.Focus; 2361 2392 end; … … 3619 3650 Settings.MRUList.Destroy; 3620 3651 3621 Parameters.FilenamesParam.Destroy; 3652 // TODO rbri maybe we have to do this 3653 // Parameters.FilenamesParam.Destroy; 3622 3654 3623 3655 if g_CurrentLanguageFile <> nil then … … 3763 3795 3764 3796 Procedure TMainForm.MainFormOnCreate (Sender: TObject); 3797 var 3798 tmpCmdLine: String; 3799 tmpSplittedCmdLine : TStringList; 3800 tmpRc : Integer; 3765 3801 Begin 3766 3802 ProfileEvent( 'MainFormOnCreate' ); … … 3774 3810 GlobalFilelist := TGlobalFilelist.Create; 3775 3811 3776 ParseCommandLineParameters; 3777 3812 // parse parameters into Parameters object 3813 tmpCmdLine := nativeOS2GetCmdLineParameter; 3814 tmpSplittedCmdLine := TStringList.Create; 3815 tmpRc := splitCmdLineParameter(tmpCmdLine, tmpSplittedCmdLine); 3816 CmdLineParameters := TCmdLineParameters.Create; 3817 CmdLineParameters.parseCmdLine(tmpSplittedCmdLine); 3818 tmpSplittedCmdLine.destroy; 3778 3819 RegisterForLanguages( OnLanguageEvent ); 3779 3820 … … 3849 3890 ProfileEvent( 'Loading language' ); 3850 3891 3851 if Parameters.Language <> '' then3852 LoadAutoLanguage( 'newview', Parameters.Language )3892 if CmdLineParameters.getLanguage <> '' then 3893 LoadAutoLanguage( 'newview', CmdLineParameters.getLanguage ) 3853 3894 else 3854 3895 LoadDefaultLanguage( 'newview' ); … … 3881 3922 ProfileEvent( 'OnCreate done' ); 3882 3923 3883 if Parameters.SetPositionthen3924 if CmdLineParameters.getWindowPositionFlag then 3884 3925 begin 3885 3926 SmartSetWindowPos( self, 3886 Parameters.Position.Left,3887 Parameters.Position.Bottom,3888 Parameters.Position.Width,3889 Parameters.Position.Height,3927 CmdLineParameters.getWindowPosition.Left, 3928 CmdLineParameters.getWindowPosition.Bottom, 3929 CmdLineParameters.getWindowPosition.Width, 3930 CmdLineParameters.getWindowPosition.Height, 3890 3931 false ); 3891 3932 end; … … 3973 4014 Procedure TMainForm.ClearHelpManager; 3974 4015 Begin 3975 if not Parameters.IsHelpManagerthen4016 if not CmdLineParameters.getHelpManagerFlag then 3976 4017 exit; 3977 4018 … … 3979 4020 PostHelpManagerMessage( NHM_FORGET_VIEWER, 0, 0 ); 3980 4021 3981 Parameters.IsHelpManager := false;4022 CmdLineParameters.setHelpManagerFlag(false); 3982 4023 3983 4024 HelpManagerWindows.Clear; … … 3990 4031 ProfileEvent( 'MainFormOnShow' ); 3991 4032 3992 if Parameters.OwnerWindow <> NULLHANDLE then4033 if CmdLineParameters.getOwnerWindow <> NULLHANDLE then 3993 4034 begin 3994 4035 ProfileEvent( 'Setting owner: ' 3995 + IntToStr( Parameters.OwnerWindow ) );4036 + IntToStr( CmdLineParameters.getOwnerWindow ) ); 3996 4037 WinSetOwner( Frame.Handle, 3997 Parameters.OwnerWindow );3998 3999 end; 4000 4001 if Parameters.IsHelpManagerthen4038 CmdLineParameters.getOwnerWindow ); 4039 4040 end; 4041 4042 if CmdLineParameters.getHelpManagerFlag then 4002 4043 begin 4003 4044 ProfileEvent( ' Help Manager Title: ' … … 4104 4145 ProfileEvent( 'WMOpened: SetLayout' ); 4105 4146 4106 if Parameters.IsHelpManagerthen4147 if CmdLineParameters.getHelpManagerFlag then 4107 4148 FShowLeftPanel := Settings.ShowLeftPanel_Help 4108 4149 else … … 4123 4164 Update; 4124 4165 4125 if not Parameters.IsHelpManagerthen4166 if not CmdLineParameters.getHelpManagerFlag then 4126 4167 begin 4127 4168 ProfileEvent( 'Check environment vars' ); 4128 4169 CheckEnvironmentVars; 4129 4170 4130 if Parameters.ShowUsageFlag then4171 if CmdLineParameters.getShowUsageFlag then 4131 4172 begin 4132 4173 ProfileEvent( 'Showing usage' ); … … 4136 4177 end; 4137 4178 4138 HelpManagerWindows.Add( pointer( Parameters.HelpManagerWindow ) );4139 4140 if Parameters.FilenamesParam.Length> 0 then4179 HelpManagerWindows.Add( pointer( CmdLineParameters.getHelpManagerWindow ) ); 4180 4181 if length(CmdLineParameters.getFileNames) > 0 then 4141 4182 begin 4142 4183 // open specified files 4143 4184 Filenames := TStringList.Create; 4144 4185 4145 AStringToList( Parameters.FilenamesParam, Filenames, '+' ); 4186 // TODO rbri remove type conversion 4187 StringToList(cmdLineParameters.getFileNames, Filenames, '+' ); 4146 4188 4147 4189 ProfileEvent( 'Call OpenFiles' ); 4148 4190 4149 4191 OpenFirstTopic := true; 4150 if ( Parameters.TopicParam<> '' )4151 or Parameters.SearchFlag then4192 if ( CmdLineParameters.getTopics <> '' ) 4193 or CmdLineParameters.getSearchTextFlag then 4152 4194 // if we're going to search, don't open first topic 4153 4195 OpenFirstTopic := false; 4154 4196 4155 if Parameters.IsHelpManagerthen4197 if CmdLineParameters.getHelpManagerFlag then 4156 4198 // don't open first topic if we're online help 4157 4199 // in case we are wanting to show a specific topic … … 4160 4202 4161 4203 OpenFiles( Filenames, 4162 Parameters.WindowTitle,4204 CmdLineParameters.getWindowTitle, 4163 4205 OpenFirstTopic ); 4164 4206 4165 4207 Filenames.Destroy; 4166 4208 4167 if Parameters.TopicParam<> '' then4209 if CmdLineParameters.getTopics <> '' then 4168 4210 begin 4169 4211 // search in contents only! 4170 4212 ProfileEvent( 'Do startup topic search' ); 4171 4213 4172 StartupTopicSearch( Parameters.TopicParam);4214 StartupTopicSearch( CmdLineParameters.getTopics ); 4173 4215 end 4174 else if Parameters.SearchFlag then4216 else if CmdLineParameters.getSearchTextFlag then 4175 4217 begin 4176 4218 // search in specified files … … 4178 4220 DisplaySearch; 4179 4221 4180 SearchFor( Parameters.SearchText );4222 SearchFor( CmdLineParameters.getSearchText ); 4181 4223 end; 4182 4224 end; 4183 4225 4184 if Parameters.GlobalSearchFlag then4226 if CmdLineParameters.getGlobalSearchTextFlag then 4185 4227 begin 4186 4228 // Global search 4187 ProfileEvent( 'Do global search: ' + Parameters.GlobalSearchText );4188 DoGlobalSearch( Parameters.GlobalSearchText );4189 end; 4190 4191 if ( Parameters.FilenamesParam.Length= 0 )4192 and ( not Parameters.GlobalSearchFlag ) then4229 ProfileEvent( 'Do global search: ' + CmdLineParameters.getGlobalSearchText ); 4230 DoGlobalSearch( CmdLineParameters.getGlobalSearchText ); 4231 end; 4232 4233 if ( length(CmdLineParameters.getFileNames) = 0 ) 4234 and ( not CmdLineParameters.getGlobalSearchTextFlag ) then 4193 4235 begin 4194 4236 // user hasn't requested any particular file … … 4213 4255 ProfileEvent( 'Open finished' ); 4214 4256 4215 if Parameters.IsHelpManagerthen4257 if CmdLineParameters.getHelpManagerFlag then 4216 4258 begin 4217 4259 // Tell helpmanager(s) our window handle … … 4757 4799 begin 4758 4800 SearchResultsListBox.Items.Add( NoSearchMatchesMsg 4759 + ': ' 4801 + ': ' 4760 4802 + SearchText ); 4761 4803 RefreshWindows( Windows ); // update to remove old highlights … … 6663 6705 FirstContentsNode ); 6664 6706 6665 if Parameters.IsHelpManagerthen6707 if CmdLineParameters.getHelpManagerFlag then 6666 6708 ShowLeftPanel := Settings.ShowLeftPanel_Help 6667 6709 else
Note:
See TracChangeset
for help on using the changeset viewer.