diff --git a/converter/convertdelphi.pas b/converter/convertdelphi.pas index a208984789..7da2a839bc 100644 --- a/converter/convertdelphi.pas +++ b/converter/convertdelphi.pas @@ -452,9 +452,6 @@ begin end; function TConvertDelphiUnit.CopyAndLoadFile: TModalResult; -var -// CurEncoding: String; - Changed: Boolean; begin IDEMessagesWindow.AddMsg(Format(lisConvDelphiConvertingFile, [fOrigUnitFilename]), '', -1); @@ -475,12 +472,11 @@ begin [lbfCheckIfText,lbfUpdateFromDisk],true); if Result<>mrOk then exit; // Change encoding to UTF-8 -{ CurEncoding:=GuessEncoding(fPascalBuffer.Source); //fPascalBuffer.DiskEncoding; - if CurEncoding<>EncodingUTF8 then begin - fPascalBuffer.Source:=ConvertEncoding(fPascalBuffer.Source, CurEncoding, EncodingUTF8); - fPascalBuffer.DiskEncoding:=EncodingUTF8; - fPascalBuffer.MemEncoding:=EncodingUTF8; - end; } + if fPascalBuffer.DiskEncoding<>EncodingUTF8 then begin + IDEMessagesWindow.AddMsg(Format(lisConvDelphiChangedEncodingToUTF8, + [fPascalBuffer.DiskEncoding]), '', -1); + fPascalBuffer.DiskEncoding:=EncodingUTF8; // Takes effect when buffer is saved. + end; // Create a shared link for codetools. Assert(fCTLink=Nil, 'fCTLink should be Nil in CopyAndLoadFile'); fCTLink:=TCodeToolLink.Create(fPascalBuffer); @@ -499,8 +495,6 @@ var LfmFilename: string; // Lazarus .LFM file name. DFMConverter: TDFMConverter; TempLFMBuffer: TCodeBuffer; -// CurEncoding: String; - Changed: Boolean; begin Result:=mrOK; fLFMBuffer:=nil; @@ -538,23 +532,13 @@ begin DFMConverter.Free; end; // Change encoding to UTF-8 - if fSettings.FixEncoding then begin - Result:=LoadCodeBuffer(TempLFMBuffer,LfmFilename, - [lbfCheckIfText,lbfUpdateFromDisk],true); - // Note: EnUnicode is meant to be a temporary solution. - // LCL has other functions for char encoding. - TempLFMBuffer.Source:=EnUnicode(TempLFMBuffer.Source, Changed); - if Changed then - IDEMessagesWindow.AddMsg(lisConvDelphiChangedEncodingToUTF8, '', -1); -// TempLFMBuffer.SaveToFile(ChangeFileExt(TempLFMBuffer.Filename, '_utf8.lfm')); + Result:=LoadCodeBuffer(TempLFMBuffer,LfmFilename, + [lbfCheckIfText,lbfUpdateFromDisk],true); + if TempLFMBuffer.DiskEncoding<>EncodingUTF8 then begin + IDEMessagesWindow.AddMsg(Format(lisConvDelphiChangedEncodingToUTF8, + [TempLFMBuffer.DiskEncoding]), '', -1); + TempLFMBuffer.DiskEncoding:=EncodingUTF8; TempLFMBuffer.Save; -{ CurEncoding:=GuessEncoding(TempLFMBuffer.Source); - if CurEncoding<>EncodingUTF8 then begin - ShowMessage('Encoding = ' + CurEncoding); - TempLFMBuffer.Source:=ConvertEncoding(TempLFMBuffer.Source, CurEncoding, EncodingUTF8); - TempLFMBuffer.DiskEncoding:=EncodingUTF8; - TempLFMBuffer.MemEncoding:=EncodingUTF8; - end; } end; // Read form file code in. if not fSettings.SameDfmFile then begin diff --git a/converter/missingpropertiesdlg.pas b/converter/missingpropertiesdlg.pas index ae273bcb85..dc35fc6e54 100644 --- a/converter/missingpropertiesdlg.pas +++ b/converter/missingpropertiesdlg.pas @@ -129,98 +129,11 @@ type destructor Destroy; override; end; - function EnUnicode(const TS: UTF8String; var Changed: Boolean): UTF8String; implementation {$R *.lfm} -{******************************************************************************* -Function UTFEnc(S:ansiString):WideChar; -S - string like '#1234' or like '1234'. -It process only first 4-5 symbols. (Some kind of protection) -Result - One Unicode symbol. -If S isn't an unicode function will return symbol #0000. -*******************************************************************************} -function UTFEnc(S: ansistring): WideChar; -var X: word; //word - to be sure that it will return Unicode symbol. Not ASCII. -begin - if (S[1]='#')and(Length(S)=5)then - X:=StrToIntDef(Copy(S,2,4),0) - else - X:=StrToIntDef(Copy(S,1,4),0); - Result:=WideChar(X); -end; - -{******************************************************************************* -function EnUnicode(TS:UTF8String):UTF8String; -TS:UTF8String - Processing string like <