~ubuntu-branches/ubuntu/saucy/lazarus/saucy

« back to all changes in this revision

Viewing changes to ide/w32versioninfo.pas

  • Committer: Package Import Robot
  • Author(s): Paul Gevers, Abou Al Montacir, Bart Martens, Paul Gevers
  • Date: 2013-06-08 14:12:17 UTC
  • mfrom: (1.1.9)
  • Revision ID: package-import@ubuntu.com-20130608141217-7k0cy9id8ifcnutc
Tags: 1.0.8+dfsg-1
[ Abou Al Montacir ]
* New upstream major release and multiple maintenace release offering many
  fixes and new features marking a new milestone for the Lazarus development
  and its stability level.
  - The detailed list of changes can be found here:
    http://wiki.lazarus.freepascal.org/Lazarus_1.0_release_notes
    http://wiki.lazarus.freepascal.org/Lazarus_1.0_fixes_branch
* LCL changes:
  - LCL is now a normal package.
      + Platform independent parts of the LCL are now in the package LCLBase
      + LCL is automatically recompiled when switching the target platform,
        unless pre-compiled binaries for this target are already installed.
      + No impact on existing projects.
      + Linker options needed by LCL are no more added to projects that do
        not use the LCL package.
  - Minor changes in LCL basic classes behaviour
      + TCustomForm.Create raises an exception if a form resource is not
        found.
      + TNotebook and TPage: a new implementation of these classes was added.
      + TDBNavigator: It is now possible to have focusable buttons by setting
        Options = [navFocusableButtons] and TabStop = True, useful for
        accessibility and for devices with neither mouse nor touch screen.
      + Names of TControlBorderSpacing.GetSideSpace and GetSpace were swapped
        and are now consistent. GetSideSpace = Around + GetSpace.
      + TForm.WindowState=wsFullscreen was added
      + TCanvas.TextFitInfo was added to calculate how many characters will
        fit into a specified Width. Useful for word-wrapping calculations.
      + TControl.GetColorResolvingParent and
        TControl.GetRGBColorResolvingParent were added, simplifying the work
        to obtain the final color of the control while resolving clDefault
        and the ParentColor.
      + LCLIntf.GetTextExtentExPoint now has a good default implementation
        which works in any platform not providing a specific implementation.
        However, Widgetset specific implementation is better, when available.
      + TTabControl was reorganized. Now it has the correct class hierarchy
        and inherits from TCustomTabControl as it should.
  - New unit in the LCL:
      + lazdialogs.pas: adds non-native versions of various native dialogs,
        for example TLazOpenDialog, TLazSaveDialog, TLazSelectDirectoryDialog.
        It is used by widgetsets which either do not have a native dialog, or
        do not wish to use it because it is limited. These dialogs can also be
        used by user applications directly.
      + lazdeviceapis.pas: offers an interface to more hardware devices such
        as the accelerometer, GPS, etc. See LazDeviceAPIs
      + lazcanvas.pas: provides a TFPImageCanvas descendent implementing
        drawing in a LCL-compatible way, but 100% in Pascal.
      + lazregions.pas. LazRegions is a wholly Pascal implementation of
        regions for canvas clipping, event clipping, finding in which control
        of a region tree one an event should reach, for drawing polygons, etc.
      + customdrawncontrols.pas, customdrawndrawers.pas,
        customdrawn_common.pas, customdrawn_android.pas and
        customdrawn_winxp.pas: are the Lazarus Custom Drawn Controls -controls
        which imitate the standard LCL ones, but with the difference that they
        are non-native and support skinning.
  - New APIs added to the LCL to improve support of accessibility software
    such as screen readers.
* IDE changes:
  - Many improvments.
  - The detailed list of changes can be found here:
    http://wiki.lazarus.freepascal.org/New_IDE_features_since#v1.0_.282012-08-29.29
    http://wiki.lazarus.freepascal.org/Lazarus_1.0_release_notes#IDE_Changes
* Debugger / Editor changes:
  - Added pascal sources and breakpoints to the disassembler
  - Added threads dialog.
* Components changes:
  - TAChart: many fixes and new features
  - CodeTool: support Delphi style generics and new syntax extensions.
  - AggPas: removed to honor free licencing. (Closes: Bug#708695)
[Bart Martens]
* New debian/watch file fixing issues with upstream RC release.
[Abou Al Montacir]
* Avoid changing files in .pc hidden directory, these are used by quilt for
  internal purpose and could lead to surprises during build.
[Paul Gevers]
* Updated get-orig-source target and it compinion script orig-tar.sh so that they
  repack the source file, allowing bug 708695 to be fixed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
interface
38
38
 
39
39
uses
40
 
  Classes, SysUtils, Process, LCLProc, Controls, Forms, FileUtil,
41
 
  CodeToolManager, LazConf, Laz_XMLCfg,
42
 
  {$IFDEF NewXMLCfg}
43
 
  laz2_DOM,
44
 
  {$ELSE}
45
 
  Laz_DOM,
46
 
  {$ENDIF}
47
 
  IDEProcs, ProjectIntf,
 
40
  Classes, SysUtils, Process, LCLProc, Controls, Forms, FileUtil, laz2_DOM,
 
41
  Laz2_XMLCfg, CodeToolManager, LazConf, IDEProcs, ProjectIntf, CompOptsIntf,
48
42
  ProjectResourcesIntf, resource, versionresource, versiontypes;
49
43
 
50
44
type
101
95
    constructor Create; override;
102
96
    destructor Destroy; override;
103
97
 
104
 
    procedure DoAfterBuild(AResources: TAbstractProjectResources;
105
 
      AReason: TCompileReason; SaveToTestDir: boolean); override;
 
98
    procedure DoAfterBuild({%H-}AResources: TAbstractProjectResources;
 
99
      AReason: TCompileReason; {%H-}SaveToTestDir: boolean); override;
106
100
    function UpdateResources(AResources: TAbstractProjectResources;
107
 
      const MainFilename: string): boolean; override;
 
101
      const {%H-}MainFilename: string): boolean; override;
108
102
    procedure WriteToProjectFile(AConfig: {TXMLConfig}TObject; Path: string); override;
109
103
    procedure ReadFromProjectFile(AConfig: {TXMLConfig}TObject; Path: string); override;
110
104
 
187
181
    exit;
188
182
  fLanguages := TStringList.Create;
189
183
  fHexLanguages := TStringList.Create;
190
 
  fLanguages.Add('Arabic');
 
184
  fLanguages.Add('Arabic - Saudi Arabia');
191
185
  fHexLanguages.Add('0401');
192
186
  fLanguages.Add('Bulgarian');
193
187
  fHexLanguages.Add('0402');
194
188
  fLanguages.Add('Catalan');
195
189
  fHexLanguages.Add('0403');
196
 
  fLanguages.Add('Traditional Chinese');
 
190
  fLanguages.Add('Chinese - Taiwan');
197
191
  fHexLanguages.Add('0404');
198
192
  fLanguages.Add('Czech');
199
193
  fHexLanguages.Add('0405');
200
194
  fLanguages.Add('Danish');
201
195
  fHexLanguages.Add('0406');
202
 
  fLanguages.Add('German');
 
196
  fLanguages.Add('German - Germany');
203
197
  fHexLanguages.Add('0407');
204
198
  fLanguages.Add('Greek');
205
199
  fHexLanguages.Add('0408');
206
 
  fLanguages.Add('U.S. English');
 
200
  fLanguages.Add('English - United States');
207
201
  fHexLanguages.Add('0409');
208
 
  fLanguages.Add('Castillian Spanish');
 
202
  fLanguages.Add('Spanish - Spain (Traditional)');
209
203
  fHexLanguages.Add('040A');
210
204
  fLanguages.Add('Finnish');
211
205
  fHexLanguages.Add('040B');
212
 
  fLanguages.Add('French');
 
206
  fLanguages.Add('French - France');
213
207
  fHexLanguages.Add('040C');
214
208
  fLanguages.Add('Hebrew');
215
209
  fHexLanguages.Add('040D');
217
211
  fHexLanguages.Add('040E');
218
212
  fLanguages.Add('Icelandic');
219
213
  fHexLanguages.Add('040F');
220
 
  fLanguages.Add('Italian');
 
214
  fLanguages.Add('Italian - Italy');
221
215
  fHexLanguages.Add('0410');
222
216
  fLanguages.Add('Japanese');
223
217
  fHexLanguages.Add('0411');
224
218
  fLanguages.Add('Korean');
225
219
  fHexLanguages.Add('0412');
226
 
  fLanguages.Add('Dutch');
 
220
  fLanguages.Add('Dutch - Netherlands');
227
221
  fHexLanguages.Add('0413');
228
222
  fLanguages.Add('Norwegian - Bokmal');
229
223
  fHexLanguages.Add('0414');
230
 
  fLanguages.Add('Swiss Italian');
 
224
  fLanguages.Add('Italian - Switzerland');
231
225
  fHexLanguages.Add('0810');
232
 
  fLanguages.Add('Belgian Dutch');
 
226
  fLanguages.Add('Dutch - Belgium');
233
227
  fHexLanguages.Add('0813');
234
228
  fLanguages.Add('Norwegian - Nynorsk');
235
229
  fHexLanguages.Add('0814');
236
230
  fLanguages.Add('Polish');
237
231
  fHexLanguages.Add('0415');
238
 
  fLanguages.Add('Portugese (Brazil)');
 
232
  fLanguages.Add('Portuguese - Brazil');
239
233
  fHexLanguages.Add('0416');
240
 
  fLanguages.Add('Rhaeto-Romantic');
 
234
  fLanguages.Add('Rhaeto-Romanic');
241
235
  fHexLanguages.Add('0417');
242
236
  fLanguages.Add('Romanian');
243
237
  fHexLanguages.Add('0418');
244
238
  fLanguages.Add('Russian');
245
239
  fHexLanguages.Add('0419');
246
 
  fLanguages.Add('Croato-Serbian (Latin)');
 
240
  fLanguages.Add('Croatian');
247
241
  fHexLanguages.Add('041A');
248
242
  fLanguages.Add('Slovak');
249
243
  fHexLanguages.Add('041B');
257
251
  fHexLanguages.Add('041F');
258
252
  fLanguages.Add('Urdu');
259
253
  fHexLanguages.Add('0420');
260
 
  fLanguages.Add('Bahasa');
 
254
  fLanguages.Add('Indonesian');
261
255
  fHexLanguages.Add('0421');
262
 
  fLanguages.Add('Simplified Chinese');
 
256
  fLanguages.Add('Ukrainian');
 
257
  fHexLanguages.Add('0422');
 
258
  fLanguages.Add('Lithuanian');
 
259
  fHexLanguages.Add('0427');
 
260
  fLanguages.Add('Chinese - People''s Republic of China');
263
261
  fHexLanguages.Add('0804');
264
 
  fLanguages.Add('Swiss German');
 
262
  fLanguages.Add('German - Switzerland');
265
263
  fHexLanguages.Add('0807');
266
 
  fLanguages.Add('U.K. English');
 
264
  fLanguages.Add('English - United Kingdom');
267
265
  fHexLanguages.Add('0809');
268
 
  fLanguages.Add('Mexican Spanish');
 
266
  fLanguages.Add('Spanish - Mexico');
269
267
  fHexLanguages.Add('080A');
270
 
  fLanguages.Add('Belgian French');
 
268
  fLanguages.Add('French - Belgium');
271
269
  fHexLanguages.Add('080C');
272
 
  fLanguages.Add('Canadian French');
 
270
  fLanguages.Add('French - Canada');
273
271
  fHexLanguages.Add('0C0C');
274
 
  fLanguages.Add('Swiss French');
 
272
  fLanguages.Add('French - Switzerland');
275
273
  fHexLanguages.Add('100C');
276
 
  fLanguages.Add('Portugese (Portugal)');
 
274
  fLanguages.Add('Portuguese - Portugal');
277
275
  fHexLanguages.Add('0816');
278
 
  fLanguages.Add('Sebro-Croatian (Cyrillic)');
 
276
  fLanguages.Add('Serbian (Cyrillic)');
 
277
  fHexLanguages.Add('0C1A');
 
278
  fLanguages.Add('Serbian (Latin)');
279
279
  fHexLanguages.Add('081A');
280
280
end;
281
281
 
449
449
    if Assigned(Node) then
450
450
    begin
451
451
      StringTable.Clear;
452
 
      for i := 0 to Node.Attributes.{$IFDEF NewXMLCfg}Length{$ELSE}Count{$ENDIF} - 1 do
 
452
      for i := 0 to Node.Attributes.Length - 1 do
453
453
        StringTable[Node.Attributes[i].NodeName] := Node.Attributes[i].NodeValue;
454
454
      StringTable.AddRequired;
455
455
    end
696
696
 
697
697
procedure TProjectVersionStringTable.AddRequired;
698
698
const
699
 
  RequiredFields: array[0..6] of String = (
 
699
  RequiredFields: array[0..9] of String = (
 
700
    'Comments',
700
701
    'CompanyName',
701
702
    'FileDescription',
702
703
    'FileVersion',
703
704
    'InternalName',
 
705
    'LegalCopyright',
 
706
    'LegalTrademarks',
704
707
    'OriginalFilename',
705
708
    'ProductName',
706
709
    'ProductVersion'
743
746
function TProjectVersionStringTable.IsRequired(const aKey: string): Boolean;
744
747
begin
745
748
  Result :=
 
749
    (aKey = 'Comments') or
746
750
    (aKey = 'CompanyName') or
747
751
    (aKey = 'FileDescription') or
748
752
    (aKey = 'FileVersion') or
749
753
    (aKey = 'InternalName') or
 
754
    (aKey = 'LegalCopyright') or
 
755
    (aKey = 'LegalTrademarks') or
750
756
    (aKey = 'OriginalFilename') or
751
757
    (aKey = 'ProductName') or
752
758
    (aKey = 'ProductVersion');