[fpc-pascal] 0.9.22 released
Mattias Gaertner
nc-gaertnma at netcologne.de
Fri Mar 30 11:57:54 CEST 2007
The Lazarus team is glad to announce the 0.9.22 release. This release
is based on fpc 2.0.4.
This release can be downloaded from the sourceforge download page:
http://sourceforge.net/project/showfiles.php?group_id=89339
Detailed list of changes:
LazDaemon: a package providing components and IDE items to easily
create windows services and linux daemons from Michael Van Canneyt
Large improvements in LCL interfaces for
carbon, gtk, gtk2, qt, wince and win32
converted iso translations to utf-8 and removed all non utf-8
translations Updated translations:
brazilian: Antônio Galvão
finnish: from Seppo Suutarla
german: from Joerg Braun
indonesian: from Zaenal Mutaqin
italian: from Mario Bonati
japanese: from Haruyuki Fujimaki
polish: from Pawel
russian: from Maxim Ganetsky
slovak: from OI and helix84
spanish: from Jean Solis
All interfaces:
implementing setting global cursors (Screen.Cursor), loading custom
cursors (from .cur files or from resources) and handling
changing cursor while drag operation (DragCursor).
Added shapes (as .cur and .lrs files) for
missed system cursors (crDrag, crNoDrag, crMultyDrag, ...)
gtk interface:
omitting TComboBoxBox LM_CHANGED events during popup
using default when gdk does not know the physical screen size,
fixing crash on some laptops
added menu items short cut labels, popup sub menu of menu bar
font for TListBox items from sergkam
gtk2 interface:
fixed compilation for non X based display
gtk2: improved synedit speed
carbon interface:
Improved fonts, key handling, modal forms, Carbon TTimer
from Tom Gregorovic and Giulio Bernardi
Removed fpcmacosall.pas, it is now part of FPC.
win32 interface:
Fixed openfiledialogs on windows 98 and earlier
Use GetWindowLongW and SetWindowLongW for UnicodeEnabledOS (bug 8403)
made LCLIntf.Rectangle and TCanvas.Rectangle compatible
with Windows.Rectangle winapi function (bug 8342)
Do not show designer windows in the taskbar
Fixed focus after restoring a minimized window (bug 7946)
Qt interface: Message box implementation by Philip Hess
wince interface: several improvements from Roozbeh
Added TTimer.
Error dialogs now appear.
Events are now working.
Reverted all changes to make X button close the application:
In wince X button should just minimize application, you have
to manually add a feature to exit program.
components:
TAChart: from Philippe Martinole and Luis Rodrigues (bug 8269)
trayicon: added support for qt
added tootip and popup menu support for qt from Felipe
h2paswizard:
added tool to automatically add named types for implicit types
multiple C header files can now be merged into one unit
SimpleIDEIntf: for easy testing IDE plugins outside IDE
IDE printing package from Darius
macosx installer: include gtk2 widgetset, based on X for now
rpm: using relative paths for desktop menu item,
supporting more distributions
lazbuild: implemented overriding global compiler filename
codetools:
local variable assignment completion: checking for Self and Result
implemented include directives with sub paths
code completion: implemented adding method declaration for
method body at cursor (reverse class completion)
added heuristic to scan the Makefile.fpc files of the FPC sources
for better finding sources of FPC units
added MacPAS mode specials: IFC, ELSEC, ELIFC, ENDC,
defined identifier, undefined identifier,
SETC, SETC name := value, out as parameter name,
property as parameter name
LCL: lots of test programs
LCL: Form.RestoredLeft/Top is now read from Left/Top
while the form is in wsNormal state.
LCL: added property TCustomListBox.Count for Delphi compatability
LCL: FileListBox mask defaults to '*' on windows too,
so directories without . in the name can be found too.
LCL: TCustomComboBox: do not fire OnSelect
if ItemIndex is changed to -1
LCL: added TPointerToPointerTree.Remove
LCL: TSpeedButton: moving glyph right, down when down
LCL: TBitmap: freeing savestream on setting handle,
added faster function to set handles: TBitmap.SetHandles
LCL: published Borderspacing for DB controls (bug 8472)
LCL: fixed FileUtil.FileIsExecutable to return false
for directories (bug 8454)
IDE: don't save existing unit to the test directory,
even if it is part of the project (bug 8271)
IDE: added file browse button in edit tool dialog (bug 8353)
from David Guadagnini
IDE: when adding a package for dragging a component onto a form,
try the unit owner of the class first, before the package
IDE: fixed check of FPC source directory,
it doesn't require the compile sources anymore
IDE: check if debugger path name is an executable
to prevent problems like bug 8454
LCL: made TPopupMenu.Popup virtual (Delphi compatible, #8395)
LCL: Added canvas gradientfill based on patch from David Guadagnini
IDE: formeditor patch from Yury Sidorov
show Exception message text is displayed when exception occurs
in component's constructor.
fixed AV when destroying component when its creation failed.
LCL: published dragging related properties for TDBxxx components
LCL: published TListbox.OnDragDrop and OnDragOver
IDEIntf: improve checkgroup editor (patch from Salvatore Coppola)
LCL: checkbox, radiobutton have ParentColor true by default (bug 8284)
LCL: enable descendant grids to override DrawCellGrid
LCL: made TGraphicControl.OnPaint proteced,
TShape.OnPaint and TPaintPox.OnPaint public
and fixed firing TShape.OnPaint (bug 8246)
LCL: TTreeView: DisplayXXX functions now contain scrolledleft
LCL: TCanvas.CreateBrush now uses TRANSPARENT and OPAQUE
depending on Brush.Style=bsSolid
LCL: implement calling TSpeedButton.Click for
accelerator key (issue #7911, patch by Boguslaw Brandys)
IDE: the first unit of a project is now automaticallly the main unit,
if you dont want this: use MainUnitID:=-1
LCL: published T(DB)CheckBox.Color and ParentColor (bug 8185)
LCL: removed RadialPie, renamed RadialPieWithAngles to RadialPie
LCL: don't call OnHide/OnShow after minimizing/restoring (bug 7255)
LCL: dbgrid: update active row if active record changed (bug 7934)
LCL: changed TControl.ControlAtPos to use Flags
IDE: message window: improved accesing treeview as list
LCL: TTreeView: accelerated TTreeNode.GetNodeFromIndex
accessing last nodes and accelerated TTreeNode.GetIndex,
making it possible to use TTreeView as list with 100.000 items
IDE: message window: replaced TListBox with TTreeView
LCL: also published TDBComboBox.Color and ParentColor
LCL: Application.MainForm is now set before form handle is created
LCL: default value of TComboBox.ParentColor is false.
LCL: published TComboBox.Color and TComboBox.ParentColor
IDE: you can now register your own base classes for designer classes.
Default registered classes are TForm and TDataModule.
IDE: delete revision.inc from svn:
it is recreated by svn2revisioninc anyway
IDE: checking lfm files now check used units first
IDE: .po files: auto removing double values
IDE: generating .po files sorted and faster
IDE: now searching designer ancestor class in units
without .lfm files too
IDE: packages: enabled auto generating .po files
IDE: added Close Project menu item
IDE: implemented loading .po files of packages
IDEIntf: moved .po files to ideintf/languages
IDE: code explorer doesn't expand treenode
when you double click it (bug 8042)
IDE: New tool for browsing all identifiers of
whole packages and projects: View > Code Browser
Note: The scanning is done in small steps on idle,
so you have to create some events, like moving the mouse.
Warning: When scanning with packages it will need a lot of memory
IDE: added resourcestrings for IDE short cuts
IDE: implemented auto creation .po files from .rst files
after package/project compilation
LCL: wrap AppProcessMessage in ShowModal in
try .. except block to catch exceptions in event handlers
like is done for Application.Run too (fixes 7207)
IDE: updating source editor when highlighter file extensions
have changed
LCL: Added property TApplication.Active (#8083)
IDE: added "Insert modified LGPL notice" (#7995)
IDE: closing the Run Parameters Dialog with OK sets the
modified flag of the project (bug 7692)
LCL: OnResize and OnChangeBounds are now suspended
until after OnCreate event
IDE: project definitions are now automatically added to all
directories in the unit search path (same for packages)
LCL: added Delphi compatible TGraphic.Progress
LCL: moved MouseEnter,MouseLeave from private to
protected section for TCustomSpeedButton
LCL: published TForm.OnClick (bug 8005)
IDE: accelerated writing compiler output to terminal
LCL: fix freezing app upon exception in modal form (issue #7207)
LCL: TCustomEdit.AutoSelect, TCustomComboBox.AutoSelect/CharCase
from Funky Beast
LCL: improved stream of large objects (issue 7270)
IDE: LazDoc: lazdoc paths can now be relative
and can contain global macros for projects and packages
LCL: made TCustomForm.IsShortcut virtual (bug 7921)
LCL: TCanvas: added line methods with TPoint
IDE: auto start of identifier completion now checks
range operator .. and string constants
IDE: added Find in files to the Find context menu
in the source editor (bug 7683)
LCL: moved TTranslateString to lcltype.pp
LCL: added OnSelectEditor for dbgrid
IDE: implemented auto adding package when setting
TPicture property with TPicturePropertyEditor
LCL: published TStaticText.TabStop
IDE: environment option fpc path gives compiler name
as example, not as prescription (bug 7812)
LCL: published TStaticText.TabOrder
IDE: fixed opening lpi as regular file (bug 7890)
IDE: component palette: aligning buttons in multiple rows
if there is enough space
IDE: changed lazarus to use the widgetset it is compiled with
as the default when building projects
LCL: added WidgetSetName function to TWidgetSet.
LCL: added TApplication.ApplicationType from Christian Ulrich
IDE: give errormessages if renaming new Lazarus executable
doesn't succeed from Yury
And several hundred fixes and minor improvements.
Mattias
More information about the fpc-pascal
mailing list