diff --git a/.gitattributes b/.gitattributes index 260007bcdc..dc09981f9f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -354,6 +354,9 @@ designer/abstractcompiler.pp svneol=native#text/pascal designer/abstracteditor.pp svneol=native#text/pascal designer/abstractfilesystem.pp svneol=native#text/pascal designer/aligncompsdlg.pp svneol=native#text/pascal +designer/anchoreditor.lfm svneol=native#text/plain +designer/anchoreditor.lrs svneol=native#text/pascal +designer/anchoreditor.pas svneol=native#text/pascal designer/changeclassdialog.lfm svneol=native#text/plain designer/changeclassdialog.lrs svneol=native#text/pascal designer/changeclassdialog.pas svneol=native#text/pascal diff --git a/designer/anchoreditor.lfm b/designer/anchoreditor.lfm new file mode 100644 index 0000000000..a8ffe6692f --- /dev/null +++ b/designer/anchoreditor.lfm @@ -0,0 +1,291 @@ +object AnchorDesigner: TAnchorDesigner + Caption = 'AnchorDesigner' + ClientHeight = 322 + ClientWidth = 535 + OnCreate = AnchorDesignerCreate + PixelsPerInch = 90 + HorzScrollBar.Page = 536 + VertScrollBar.Page = 323 + Left = 290 + Height = 322 + Top = 163 + Width = 535 + object BorderSpaceGroupBox: TGroupBox + Caption = 'BorderSpaceGroupBox' + ClientHeight = 88 + ClientWidth = 208 + ParentColor = True + TabOrder = 0 + Left = 160 + Height = 105 + Top = 104 + Width = 212 + object IncAllBorderSpaceSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 71 + Height = 22 + Top = 30 + Width = 23 + end + object DecAllBorderSpaceSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 100 + Height = 22 + Top = 30 + Width = 23 + end + object LeftBorderSpaceSpinEdit: TSpinEdit + MaxValue = 100 + TabStop = True + TabOrder = 0 + MaxValue = 100 + Height = 20 + Top = 30 + Width = 50 + end + object RightBorderSpaceSpinEdit: TSpinEdit + MaxValue = 100 + TabStop = True + TabOrder = 1 + MaxValue = 100 + Left = 152 + Height = 20 + Top = 30 + Width = 50 + end + object TopBorderSpaceSpinEdit: TSpinEdit + MaxValue = 100 + TabStop = True + TabOrder = 2 + MaxValue = 100 + Left = 78 + Height = 20 + Width = 50 + end + object BottomBorderSpaceSpinEdit: TSpinEdit + MaxValue = 100 + TabStop = True + TabOrder = 3 + MaxValue = 100 + Left = 78 + Height = 20 + Top = 63 + Width = 50 + end + end + object TopGroupBox: TGroupBox + Caption = 'TopGroupBox' + ClientHeight = 88 + ClientWidth = 208 + ParentColor = True + TabOrder = 1 + Left = 160 + Height = 105 + Width = 212 + object TopRefTopSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 6 + Height = 30 + Top = 57 + Width = 30 + end + object TopRefBottomSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 48 + Height = 30 + Top = 57 + Width = 30 + end + object TopRefCenterSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 86 + Height = 30 + Top = 57 + Width = 30 + end + object TopAnchoredCheckBox: TCheckBox + Caption = 'TopAnchoredCheckBox' + TabOrder = 0 + Height = 24 + Width = 157 + end + object TopSiblingComboBox: TComboBox + MaxLength = 0 + TabOrder = 1 + Text = 'TopSiblingComboBox' + Left = 78 + Height = 25 + Top = 29 + Width = 128 + end + object TopSiblingLabel: TLabel + Caption = 'TopSiblingLabel' + Left = 3 + Height = 17 + Top = 33 + Width = 65 + end + end + object BottomGroupBox: TGroupBox + Caption = 'BottomGroupBox' + ClientHeight = 88 + ClientWidth = 208 + ParentColor = True + TabOrder = 2 + Left = 160 + Height = 105 + Top = 208 + Width = 212 + object BottomRefTopSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 6 + Height = 30 + Top = 54 + Width = 30 + end + object BottomRefBottomSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 48 + Height = 30 + Top = 54 + Width = 30 + end + object BottomRefCenterSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 86 + Height = 30 + Top = 54 + Width = 30 + end + object BottomAnchoredCheckBox: TCheckBox + Caption = 'BottomAnchoredCheckBox' + TabOrder = 0 + Height = 24 + Width = 173 + end + object BottomSiblingComboBox: TComboBox + MaxLength = 0 + TabOrder = 1 + Text = 'BottomSiblingComboBox' + Left = 78 + Height = 25 + Top = 25 + Width = 128 + end + object BottomSiblingLabel: TLabel + Caption = 'BottomSiblingLabel' + Left = 3 + Height = 17 + Top = 33 + Width = 65 + end + end + object RightGroupBox: TGroupBox + Caption = 'RightGroupBox' + ClientHeight = 168 + ClientWidth = 146 + ParentColor = True + TabOrder = 3 + Left = 376 + Height = 185 + Top = 64 + Width = 150 + object RightRefLeftSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 7 + Height = 30 + Top = 101 + Width = 30 + end + object RightRefRightSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 46 + Height = 30 + Top = 101 + Width = 30 + end + object RightRefCenterSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 86 + Height = 30 + Top = 101 + Width = 30 + end + object RightAnchoredCheckBox: TCheckBox + Caption = 'RightAnchoredCheckBox' + TabOrder = 0 + Height = 24 + Width = 164 + end + object RightSiblingLabel: TLabel + Caption = 'RightSiblingLabel' + Left = 12 + Height = 17 + Top = 34 + Width = 65 + end + object RightSiblingComboBox: TComboBox + MaxLength = 0 + TabOrder = 2 + Text = 'RightSiblingComboBox' + Left = 7 + Height = 25 + Top = 56 + Width = 135 + end + end + object LeftGroupBox: TGroupBox + Caption = 'LeftGroupBox' + ClientHeight = 168 + ClientWidth = 146 + ParentColor = True + TabOrder = 4 + Left = 4 + Height = 185 + Top = 64 + Width = 150 + object LeftRefLeftSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 6 + Height = 30 + Top = 101 + Width = 30 + end + object LeftRefRightSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 48 + Height = 30 + Top = 101 + Width = 30 + end + object LeftRefCenterSpeedButton: TSpeedButton + NumGlyphs = 0 + Left = 90 + Height = 30 + Top = 101 + Width = 30 + end + object LeftAnchoredCheckBox: TCheckBox + Caption = 'LeftAnchoredCheckBox' + TabOrder = 0 + Height = 24 + Width = 156 + end + object LeftSiblingLabel: TLabel + Caption = 'LeftSiblingLabel' + Left = 6 + Height = 17 + Top = 34 + Width = 65 + end + object LeftSiblingComboBox: TComboBox + MaxLength = 0 + TabOrder = 2 + Text = 'LeftSiblingComboBox' + Left = 4 + Height = 25 + Top = 56 + Width = 134 + end + end +end diff --git a/designer/anchoreditor.lrs b/designer/anchoreditor.lrs new file mode 100644 index 0000000000..30d6c9ee5e --- /dev/null +++ b/designer/anchoreditor.lrs @@ -0,0 +1,77 @@ +{ This is an automatically generated lazarus resource file } + +LazarusResources.Add('TAnchorDesigner','FORMDATA',[ + 'TPF0'#15'TAnchorDesigner'#14'AnchorDesigner'#7'Caption'#6#14'AnchorDesigner' + +#12'ClientHeight'#3'B'#1#11'ClientWidth'#3#23#2#8'OnCreate'#7#20'AnchorDesig' + +'nerCreate'#13'PixelsPerInch'#2'Z'#18'HorzScrollBar.Page'#3#24#2#18'VertScro' + +'llBar.Page'#3'C'#1#4'Left'#3'"'#1#6'Height'#3'B'#1#3'Top'#3#163#0#5'Width'#3 + +#23#2#0#9'TGroupBox'#19'BorderSpaceGroupBox'#7'Caption'#6#19'BorderSpaceGrou' + +'pBox'#12'ClientHeight'#2'X'#11'ClientWidth'#3#208#0#11'ParentColor'#9#8'Tab' + +'Order'#2#0#4'Left'#3#160#0#6'Height'#2'i'#3'Top'#2'h'#5'Width'#3#212#0#0#12 + +'TSpeedButton'#28'IncAllBorderSpaceSpeedButton'#9'NumGlyphs'#2#0#4'Left'#2'G' + +#6'Height'#2#22#3'Top'#2#30#5'Width'#2#23#0#0#12'TSpeedButton'#28'DecAllBord' + +'erSpaceSpeedButton'#9'NumGlyphs'#2#0#4'Left'#2'd'#6'Height'#2#22#3'Top'#2#30 + +#5'Width'#2#23#0#0#9'TSpinEdit'#23'LeftBorderSpaceSpinEdit'#8'MaxValue'#5#0#0 + +#0#0#0#0#0#200#5'@'#7'TabStop'#9#8'TabOrder'#2#0#8'MaxValue'#5#0#0#0#0#0#0#0 + +#200#5'@'#6'Height'#2#20#3'Top'#2#30#5'Width'#2'2'#0#0#9'TSpinEdit'#24'Right' + +'BorderSpaceSpinEdit'#8'MaxValue'#5#0#0#0#0#0#0#0#200#5'@'#7'TabStop'#9#8'Ta' + +'bOrder'#2#1#8'MaxValue'#5#0#0#0#0#0#0#0#200#5'@'#4'Left'#3#152#0#6'Height'#2 + +#20#3'Top'#2#30#5'Width'#2'2'#0#0#9'TSpinEdit'#22'TopBorderSpaceSpinEdit'#8 + +'MaxValue'#5#0#0#0#0#0#0#0#200#5'@'#7'TabStop'#9#8'TabOrder'#2#2#8'MaxValue' + +#5#0#0#0#0#0#0#0#200#5'@'#4'Left'#2'N'#6'Height'#2#20#5'Width'#2'2'#0#0#9'TS' + +'pinEdit'#25'BottomBorderSpaceSpinEdit'#8'MaxValue'#5#0#0#0#0#0#0#0#200#5'@' + +#7'TabStop'#9#8'TabOrder'#2#3#8'MaxValue'#5#0#0#0#0#0#0#0#200#5'@'#4'Left'#2 + +'N'#6'Height'#2#20#3'Top'#2'?'#5'Width'#2'2'#0#0#0#9'TGroupBox'#11'TopGroupB' + +'ox'#7'Caption'#6#11'TopGroupBox'#12'ClientHeight'#2'X'#11'ClientWidth'#3#208 + +#0#11'ParentColor'#9#8'TabOrder'#2#1#4'Left'#3#160#0#6'Height'#2'i'#5'Width' + +#3#212#0#0#12'TSpeedButton'#20'TopRefTopSpeedButton'#9'NumGlyphs'#2#0#4'Left' + +#2#6#6'Height'#2#30#3'Top'#2'9'#5'Width'#2#30#0#0#12'TSpeedButton'#23'TopRef' + +'BottomSpeedButton'#9'NumGlyphs'#2#0#4'Left'#2'0'#6'Height'#2#30#3'Top'#2'9' + +#5'Width'#2#30#0#0#12'TSpeedButton'#23'TopRefCenterSpeedButton'#9'NumGlyphs' + +#2#0#4'Left'#2'V'#6'Height'#2#30#3'Top'#2'9'#5'Width'#2#30#0#0#9'TCheckBox' + +#19'TopAnchoredCheckBox'#7'Caption'#6#19'TopAnchoredCheckBox'#8'TabOrder'#2#0 + +#6'Height'#2#24#5'Width'#3#157#0#0#0#9'TComboBox'#18'TopSiblingComboBox'#9'M' + +'axLength'#2#0#8'TabOrder'#2#1#4'Text'#6#18'TopSiblingComboBox'#4'Left'#2'N' + +#6'Height'#2#25#3'Top'#2#29#5'Width'#3#128#0#0#0#6'TLabel'#15'TopSiblingLabe' + +'l'#7'Caption'#6#15'TopSiblingLabel'#4'Left'#2#3#6'Height'#2#17#3'Top'#2'!'#5 + +'Width'#2'A'#0#0#0#9'TGroupBox'#14'BottomGroupBox'#7'Caption'#6#14'BottomGro' + +'upBox'#12'ClientHeight'#2'X'#11'ClientWidth'#3#208#0#11'ParentColor'#9#8'Ta' + +'bOrder'#2#2#4'Left'#3#160#0#6'Height'#2'i'#3'Top'#3#208#0#5'Width'#3#212#0#0 + +#12'TSpeedButton'#23'BottomRefTopSpeedButton'#9'NumGlyphs'#2#0#4'Left'#2#6#6 + +'Height'#2#30#3'Top'#2'6'#5'Width'#2#30#0#0#12'TSpeedButton'#26'BottomRefBot' + +'tomSpeedButton'#9'NumGlyphs'#2#0#4'Left'#2'0'#6'Height'#2#30#3'Top'#2'6'#5 + +'Width'#2#30#0#0#12'TSpeedButton'#26'BottomRefCenterSpeedButton'#9'NumGlyphs' + +#2#0#4'Left'#2'V'#6'Height'#2#30#3'Top'#2'6'#5'Width'#2#30#0#0#9'TCheckBox' + +#22'BottomAnchoredCheckBox'#7'Caption'#6#22'BottomAnchoredCheckBox'#8'TabOrd' + +'er'#2#0#6'Height'#2#24#5'Width'#3#173#0#0#0#9'TComboBox'#21'BottomSiblingCo' + +'mboBox'#9'MaxLength'#2#0#8'TabOrder'#2#1#4'Text'#6#21'BottomSiblingComboBox' + +#4'Left'#2'N'#6'Height'#2#25#3'Top'#2#25#5'Width'#3#128#0#0#0#6'TLabel'#18'B' + +'ottomSiblingLabel'#7'Caption'#6#18'BottomSiblingLabel'#4'Left'#2#3#6'Height' + +#2#17#3'Top'#2'!'#5'Width'#2'A'#0#0#0#9'TGroupBox'#13'RightGroupBox'#7'Capti' + +'on'#6#13'RightGroupBox'#12'ClientHeight'#3#168#0#11'ClientWidth'#3#146#0#11 + +'ParentColor'#9#8'TabOrder'#2#3#4'Left'#3'x'#1#6'Height'#3#185#0#3'Top'#2'@' + +#5'Width'#3#150#0#0#12'TSpeedButton'#23'RightRefLeftSpeedButton'#9'NumGlyphs' + +#2#0#4'Left'#2#7#6'Height'#2#30#3'Top'#2'e'#5'Width'#2#30#0#0#12'TSpeedButto' + +'n'#24'RightRefRightSpeedButton'#9'NumGlyphs'#2#0#4'Left'#2'.'#6'Height'#2#30 + +#3'Top'#2'e'#5'Width'#2#30#0#0#12'TSpeedButton'#25'RightRefCenterSpeedButton' + +#9'NumGlyphs'#2#0#4'Left'#2'V'#6'Height'#2#30#3'Top'#2'e'#5'Width'#2#30#0#0#9 + +'TCheckBox'#21'RightAnchoredCheckBox'#7'Caption'#6#21'RightAnchoredCheckBox' + +#8'TabOrder'#2#0#6'Height'#2#24#5'Width'#3#164#0#0#0#6'TLabel'#17'RightSibli' + +'ngLabel'#7'Caption'#6#17'RightSiblingLabel'#4'Left'#2#12#6'Height'#2#17#3'T' + +'op'#2'"'#5'Width'#2'A'#0#0#9'TComboBox'#20'RightSiblingComboBox'#9'MaxLengt' + +'h'#2#0#8'TabOrder'#2#2#4'Text'#6#20'RightSiblingComboBox'#4'Left'#2#7#6'Hei' + +'ght'#2#25#3'Top'#2'8'#5'Width'#3#135#0#0#0#0#9'TGroupBox'#12'LeftGroupBox'#7 + +'Caption'#6#12'LeftGroupBox'#12'ClientHeight'#3#168#0#11'ClientWidth'#3#146#0 + +#11'ParentColor'#9#8'TabOrder'#2#4#4'Left'#2#4#6'Height'#3#185#0#3'Top'#2'@' + +#5'Width'#3#150#0#0#12'TSpeedButton'#22'LeftRefLeftSpeedButton'#9'NumGlyphs' + +#2#0#4'Left'#2#6#6'Height'#2#30#3'Top'#2'e'#5'Width'#2#30#0#0#12'TSpeedButto' + ,'n'#23'LeftRefRightSpeedButton'#9'NumGlyphs'#2#0#4'Left'#2'0'#6'Height'#2#30 + +#3'Top'#2'e'#5'Width'#2#30#0#0#12'TSpeedButton'#24'LeftRefCenterSpeedButton' + +#9'NumGlyphs'#2#0#4'Left'#2'Z'#6'Height'#2#30#3'Top'#2'e'#5'Width'#2#30#0#0#9 + +'TCheckBox'#20'LeftAnchoredCheckBox'#7'Caption'#6#20'LeftAnchoredCheckBox'#8 + +'TabOrder'#2#0#6'Height'#2#24#5'Width'#3#156#0#0#0#6'TLabel'#16'LeftSiblingL' + +'abel'#7'Caption'#6#16'LeftSiblingLabel'#4'Left'#2#6#6'Height'#2#17#3'Top'#2 + +'"'#5'Width'#2'A'#0#0#9'TComboBox'#19'LeftSiblingComboBox'#9'MaxLength'#2#0#8 + +'TabOrder'#2#2#4'Text'#6#19'LeftSiblingComboBox'#4'Left'#2#4#6'Height'#2#25#3 + +'Top'#2'8'#5'Width'#3#134#0#0#0#0#0 +]); diff --git a/designer/anchoreditor.pas b/designer/anchoreditor.pas new file mode 100644 index 0000000000..4f51d461fa --- /dev/null +++ b/designer/anchoreditor.pas @@ -0,0 +1,102 @@ +{ /*************************************************************************** + AnchorEditor.pas - Lazarus IDE unit + ----------------------------------- + + ***************************************************************************/ + + *************************************************************************** + * * + * This source is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This code is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * General Public License for more details. * + * * + * A copy of the GNU General Public License is available on the World * + * Wide Web at . You can also * + * obtain it by writing to the Free Software Foundation, * + * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * * + *************************************************************************** + + Author: Mattias Gaertner + + Abstract: + Editor for editing Anchors, AnchorSide properties. +} +unit AnchorEditor; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, + Buttons, Spin; + +type + + { TAnchorDesigner } + + TAnchorDesigner = class(TForm) + BorderSpaceGroupBox: TGroupBox; + BottomAnchoredCheckBox: TCheckBox; + BottomBorderSpaceSpinEdit: TSpinEdit; + BottomGroupBox: TGroupBox; + BottomRefBottomSpeedButton: TSpeedButton; + BottomRefCenterSpeedButton: TSpeedButton; + BottomRefTopSpeedButton: TSpeedButton; + BottomSiblingComboBox: TComboBox; + BottomSiblingLabel: TLabel; + DecAllBorderSpaceSpeedButton: TSpeedButton; + IncAllBorderSpaceSpeedButton: TSpeedButton; + LeftAnchoredCheckBox: TCheckBox; + LeftBorderSpaceSpinEdit: TSpinEdit; + LeftGroupBox: TGroupBox; + LeftRefCenterSpeedButton: TSpeedButton; + LeftRefLeftSpeedButton: TSpeedButton; + LeftRefRightSpeedButton: TSpeedButton; + LeftSiblingComboBox: TComboBox; + LeftSiblingLabel: TLabel; + RightAnchoredCheckBox: TCheckBox; + RightBorderSpaceSpinEdit: TSpinEdit; + RightGroupBox: TGroupBox; + RightRefCenterSpeedButton: TSpeedButton; + RightRefLeftSpeedButton: TSpeedButton; + RightRefRightSpeedButton: TSpeedButton; + RightSiblingComboBox: TComboBox; + RightSiblingLabel: TLabel; + TopAnchoredCheckBox: TCheckBox; + TopBorderSpaceSpinEdit: TSpinEdit; + TopGroupBox: TGroupBox; + TopRefBottomSpeedButton: TSpeedButton; + TopRefCenterSpeedButton: TSpeedButton; + TopRefTopSpeedButton: TSpeedButton; + TopSiblingComboBox: TComboBox; + TopSiblingLabel: TLabel; + procedure AnchorDesignerCreate(Sender: TObject); + private + public + end; + +var + AnchorDesigner: TAnchorDesigner; + +implementation + +{ TAnchorDesigner } + +procedure TAnchorDesigner.AnchorDesignerCreate(Sender: TObject); +begin + +end; + +initialization + {$I anchoreditor.lrs} + +end. + diff --git a/lcl/include/filedialog.inc b/lcl/include/filedialog.inc index eb4f530c08..35c0985732 100644 --- a/lcl/include/filedialog.inc +++ b/lcl/include/filedialog.inc @@ -120,13 +120,7 @@ begin and (not FileExists(AFilename)) then begin AFilename:=AFilename+DefaultExt; end; - if (ofOverwritePrompt in Options) and FileExists(AFilename) then - begin - Result:=MessageDlg(rsfdOverwriteFile, - Format(rsfdFileAlreadyExists,[AFileName]), - mtConfirmation,[mbOk,mbCancel],0)=mrOk; - if not Result then exit; - end; + //ofOverwritePrompt -> is done in the interface if (ofPathMustExist in Options) and (not DirPathExists(ExtractFileDir(AFilename))) then begin Result:=false; @@ -278,6 +272,9 @@ end; { ============================================================================= $Log$ + Revision 1.22 2005/01/05 14:46:35 mattias + started anchor editor and moved OverWritePromp from lcl to gtk intf + Revision 1.21 2004/12/27 17:52:42 mattias implemented URL directory property editor diff --git a/lcl/interfaces/gtk/gtkcallback.inc b/lcl/interfaces/gtk/gtkcallback.inc index d85465af52..6fb281e930 100644 --- a/lcl/interfaces/gtk/gtkcallback.inc +++ b/lcl/interfaces/gtk/gtkcallback.inc @@ -1467,26 +1467,41 @@ end; function gtkDialogOKclickedCB( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl; var - theDialog : TCommonDialog; - Fpointer : Pointer; - // colordialog - colorsel : PGtkColorSelection; - newColor : TGdkColor; - // fontdialog - FontName : String; - ALogFont : TLogFont; - // filedialog - rowNum : gint; - fileInfo : PGChar; - {$IfDef GTK2} - fileList : PPgchar; - {$else} - cListRow : PGList; - fileList : PGTKCList; - {$EndIf} - DirName : string; - FileName : string; - Files: TStringList; + theDialog : TCommonDialog; + Fpointer : Pointer; + // colordialog + colorsel : PGtkColorSelection; + newColor : TGdkColor; + // fontdialog + FontName : String; + ALogFont : TLogFont; + // filedialog + rowNum : gint; + fileInfo : PGChar; + {$IfDef GTK2} + fileList : PPgchar; + {$else} + cListRow : PGList; + fileList : PGTKCList; + {$EndIf} + DirName : string; + FileName : string; + Files: TStringList; + CurFilename: string; + + function CheckOpenedFilename(const AFilename: string): boolean; + begin + Result:=true; + if (ofOverwritePrompt in TOpenDialog(theDialog).Options) + and FileExists(AFilename) then + begin + Result:=MessageDlg(rsfdOverwriteFile, + Format(rsfdFileAlreadyExists,[AFileName]), + mtConfirmation,[mbOk,mbCancel],0)=mrOk; + if not Result then exit; + end; + end; + begin Result := True; if (Widget=nil) then ; @@ -1506,16 +1521,23 @@ begin TFileDialog(data).FileName := ''; Files:=TStringList(TFileDialog(theDialog).Files); Files.Clear; - if not FileExists(FileName) then + if (Filename<>'') then begin + Result:=CheckOpenedFilename(Filename); + if not Result then exit; Files.Add(FileName); + end; {$IfDef GTK2} fileList := gtk_file_selection_get_selections(PGtkFileSelection(FPointer)); rowNum := 0; While FileList^ <> nil do begin fileInfo := FileList^; - if (AnsiString(fileInfo)<>'') and (Files.IndexOf(AnsiString(fileInfo))<0) then - Files.Add(AnsiString(fileInfo)); + CurFilename:=AnsiString(fileInfo); + if (CurFilename<>'') and (Files.IndexOf(CurFilename)<0) then begin + Result:=CheckOpenedFilename(CurFilename); + if not Result then exit; + Files.Add(CurFilename); + end; inc(FileList); inc(rowNum); end; @@ -1528,11 +1550,14 @@ begin while cListRow <> nil do begin if PGtkCListRow(cListRow^.data)^.state = GTK_STATE_SELECTED then - begin + begin if gtk_clist_get_cell_type(fileList, rowNum, 0) = GTK_CELL_TEXT then begin - gtk_clist_get_text(fileList, rowNum, 0, @fileInfo); - Files.Add(DirName+fileInfo); + gtk_clist_get_text(fileList, rowNum, 0, @fileInfo); + CurFilename:=DirName+fileInfo; + Result:=CheckOpenedFilename(CurFilename); + if not Result then exit; + Files.Add(DirName+fileInfo); end; end; // get next row from list @@ -1540,11 +1565,12 @@ begin cListRow := g_list_next(cListRow); end; {$EndIf} - if (Filename<>'') and (Files.IndexOf(Filename)<0) then - Files.Add(Filename); end else begin - TFileDialog(data).FileName := - gtk_file_selection_get_filename(PGtkFileSelection(FPointer)); + CurFilename:= + gtk_file_selection_get_filename(PGtkFileSelection(FPointer)); + Result:=CheckOpenedFilename(CurFilename); + if not Result then exit; + TFileDialog(data).FileName := CurFilename; end; end else @@ -2931,6 +2957,9 @@ end; { ============================================================================= $Log$ + Revision 1.256 2005/01/05 14:46:35 mattias + started anchor editor and moved OverWritePromp from lcl to gtk intf + Revision 1.255 2005/01/01 18:56:47 mattias implemented TTIProgressBar