mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-10-24 02:21:46 +02:00
fixed gtk critical on bring control back/front
git-svn-id: trunk@7886 -
This commit is contained in:
parent
0b40ab4bb7
commit
c5d010ce1b
@ -4,15 +4,16 @@ object CodeExplorerDlg: TCodeExplorerDlg
|
|||||||
ClientWidth = 400
|
ClientWidth = 400
|
||||||
OnCreate = CodeExplorerDlgCreate
|
OnCreate = CodeExplorerDlgCreate
|
||||||
OnDestroy = CodeExplorerDlgDestroy
|
OnDestroy = CodeExplorerDlgDestroy
|
||||||
PixelsPerInch = 90
|
PixelsPerInch = 112
|
||||||
HorzScrollBar.Page = 401
|
HorzScrollBar.Page = 399
|
||||||
VertScrollBar.Page = 301
|
VertScrollBar.Page = 299
|
||||||
Left = 290
|
Left = 290
|
||||||
Height = 300
|
Height = 300
|
||||||
Top = 163
|
Top = 163
|
||||||
Width = 400
|
Width = 400
|
||||||
object OkButton: TButton
|
object OkButton: TButton
|
||||||
Anchors = [akRight, akBottom]
|
Anchors = [akRight, akBottom]
|
||||||
|
BorderSpacing.InnerBorder = 2
|
||||||
Caption = 'OkButton'
|
Caption = 'OkButton'
|
||||||
OnClick = OkButtonClick
|
OnClick = OkButtonClick
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
@ -23,6 +24,7 @@ object CodeExplorerDlg: TCodeExplorerDlg
|
|||||||
end
|
end
|
||||||
object CancelButton: TButton
|
object CancelButton: TButton
|
||||||
Anchors = [akRight, akBottom]
|
Anchors = [akRight, akBottom]
|
||||||
|
BorderSpacing.InnerBorder = 2
|
||||||
Caption = 'CancelButton'
|
Caption = 'CancelButton'
|
||||||
ModalResult = 2
|
ModalResult = 2
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
@ -59,6 +61,15 @@ object CodeExplorerDlg: TCodeExplorerDlg
|
|||||||
Top = 11
|
Top = 11
|
||||||
Width = 354
|
Width = 354
|
||||||
end
|
end
|
||||||
|
object FollowCursorCheckBox: TCheckBox
|
||||||
|
Caption = 'FollowCursorCheckBox'
|
||||||
|
TabOrder = 1
|
||||||
|
Visible = False
|
||||||
|
Left = 14
|
||||||
|
Height = 24
|
||||||
|
Top = 134
|
||||||
|
Width = 158
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -4,19 +4,22 @@ LazarusResources.Add('TCodeExplorerDlg','FORMDATA',[
|
|||||||
'TPF0'#16'TCodeExplorerDlg'#15'CodeExplorerDlg'#7'Caption'#6#15'CodeExplorerD'
|
'TPF0'#16'TCodeExplorerDlg'#15'CodeExplorerDlg'#7'Caption'#6#15'CodeExplorerD'
|
||||||
+'lg'#12'ClientHeight'#3','#1#11'ClientWidth'#3#144#1#8'OnCreate'#7#21'CodeEx'
|
+'lg'#12'ClientHeight'#3','#1#11'ClientWidth'#3#144#1#8'OnCreate'#7#21'CodeEx'
|
||||||
+'plorerDlgCreate'#9'OnDestroy'#7#22'CodeExplorerDlgDestroy'#13'PixelsPerInch'
|
+'plorerDlgCreate'#9'OnDestroy'#7#22'CodeExplorerDlgDestroy'#13'PixelsPerInch'
|
||||||
+#2'Z'#18'HorzScrollBar.Page'#3#145#1#18'VertScrollBar.Page'#3'-'#1#4'Left'#3
|
+#2'p'#18'HorzScrollBar.Page'#3#143#1#18'VertScrollBar.Page'#3'+'#1#4'Left'#3
|
||||||
+'"'#1#6'Height'#3','#1#3'Top'#3#163#0#5'Width'#3#144#1#0#7'TButton'#8'OkButt'
|
+'"'#1#6'Height'#3','#1#3'Top'#3#163#0#5'Width'#3#144#1#0#7'TButton'#8'OkButt'
|
||||||
+'on'#7'Anchors'#11#7'akRight'#8'akBottom'#0#7'Caption'#6#8'OkButton'#7'OnCli'
|
+'on'#7'Anchors'#11#7'akRight'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#2
|
||||||
+'ck'#7#13'OkButtonClick'#8'TabOrder'#2#0#4'Left'#3#143#0#6'Height'#2#25#3'To'
|
+#7'Caption'#6#8'OkButton'#7'OnClick'#7#13'OkButtonClick'#8'TabOrder'#2#0#4'L'
|
||||||
+'p'#3#8#1#5'Width'#2'g'#0#0#7'TButton'#12'CancelButton'#7'Anchors'#11#7'akRi'
|
+'eft'#3#143#0#6'Height'#2#25#3'Top'#3#8#1#5'Width'#2'g'#0#0#7'TButton'#12'Ca'
|
||||||
+'ght'#8'akBottom'#0#7'Caption'#6#12'CancelButton'#11'ModalResult'#2#2#8'TabO'
|
+'ncelButton'#7'Anchors'#11#7'akRight'#8'akBottom'#0#25'BorderSpacing.InnerBo'
|
||||||
+'rder'#2#1#4'Left'#3#24#1#6'Height'#2#25#3'Top'#3#8#1#5'Width'#2'g'#0#0#9'TN'
|
+'rder'#2#2#7'Caption'#6#12'CancelButton'#11'ModalResult'#2#2#8'TabOrder'#2#1
|
||||||
+'otebook'#12'MainNotebook'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akB'
|
+#4'Left'#3#24#1#6'Height'#2#25#3'Top'#3#8#1#5'Width'#2'g'#0#0#9'TNotebook'#12
|
||||||
+'ottom'#0#9'PageIndex'#2#0#4'Left'#2#8#6'Height'#3#248#0#3'Top'#2#8#5'Width'
|
+'MainNotebook'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#9'P'
|
||||||
+#3#128#1#0#5'TPage'#10'UpdatePage'#7'Caption'#6#10'UpdatePage'#11'ClientWidt'
|
+'ageIndex'#2#0#4'Left'#2#8#6'Height'#3#248#0#3'Top'#2#8#5'Width'#3#128#1#0#5
|
||||||
+'h'#3'|'#1#12'ClientHeight'#3#218#0#4'Left'#2#2#6'Height'#3#218#0#3'Top'#2#28
|
+'TPage'#10'UpdatePage'#7'Caption'#6#10'UpdatePage'#11'ClientWidth'#3'|'#1#12
|
||||||
+#5'Width'#3'|'#1#0#11'TRadioGroup'#17'RefreshRadioGroup'#7'Caption'#6#17'Ref'
|
+'ClientHeight'#3#218#0#4'Left'#2#2#6'Height'#3#218#0#3'Top'#2#28#5'Width'#3
|
||||||
+'reshRadioGroup'#13'Items.Strings'#1#6#6'Manual'#6#10'SwitchPage'#6#4'Idle'#0
|
+'|'#1#0#11'TRadioGroup'#17'RefreshRadioGroup'#7'Caption'#6#17'RefreshRadioGr'
|
||||||
+#11'ParentColor'#9#4'Left'#2#14#6'Height'#2'i'#3'Top'#2#11#5'Width'#3'b'#1#0
|
+'oup'#13'Items.Strings'#1#6#6'Manual'#6#10'SwitchPage'#6#4'Idle'#0#11'Parent'
|
||||||
+#0#0#0#0
|
+'Color'#9#4'Left'#2#14#6'Height'#2'i'#3'Top'#2#11#5'Width'#3'b'#1#0#0#9'TChe'
|
||||||
|
+'ckBox'#20'FollowCursorCheckBox'#7'Caption'#6#20'FollowCursorCheckBox'#8'Tab'
|
||||||
|
+'Order'#2#1#7'Visible'#8#4'Left'#2#14#6'Height'#2#24#3'Top'#3#134#0#5'Width'
|
||||||
|
+#3#158#0#0#0#0#0#0
|
||||||
]);
|
]);
|
||||||
|
|||||||
@ -36,7 +36,7 @@ interface
|
|||||||
uses
|
uses
|
||||||
Classes, SysUtils, LCLProc, LResources, Forms, Controls, Graphics, Dialogs,
|
Classes, SysUtils, LCLProc, LResources, Forms, Controls, Graphics, Dialogs,
|
||||||
Laz_XMLCfg, Buttons, ExtCtrls, FileUtil,
|
Laz_XMLCfg, Buttons, ExtCtrls, FileUtil,
|
||||||
LazConf, IDEProcs, LazarusIDEStrConsts;
|
LazConf, IDEProcs, LazarusIDEStrConsts, StdCtrls;
|
||||||
|
|
||||||
type
|
type
|
||||||
{ TCodeExplorerOptions }
|
{ TCodeExplorerOptions }
|
||||||
@ -49,6 +49,7 @@ type
|
|||||||
|
|
||||||
TCodeExplorerOptions = class(TPersistent)
|
TCodeExplorerOptions = class(TPersistent)
|
||||||
private
|
private
|
||||||
|
FFollowCursor: boolean;
|
||||||
FOptionsFilename: string;
|
FOptionsFilename: string;
|
||||||
FRefresh: TCodeExplorerRefresh;
|
FRefresh: TCodeExplorerRefresh;
|
||||||
public
|
public
|
||||||
@ -63,11 +64,13 @@ type
|
|||||||
public
|
public
|
||||||
property Refresh: TCodeExplorerRefresh read FRefresh write FRefresh;
|
property Refresh: TCodeExplorerRefresh read FRefresh write FRefresh;
|
||||||
property OptionsFilename: string read FOptionsFilename write FOptionsFilename;
|
property OptionsFilename: string read FOptionsFilename write FOptionsFilename;
|
||||||
|
property FollowCursor: boolean read FFollowCursor write FFollowCursor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TCodeExplorerDlg }
|
{ TCodeExplorerDlg }
|
||||||
|
|
||||||
TCodeExplorerDlg = class(TForm)
|
TCodeExplorerDlg = class(TForm)
|
||||||
|
FollowCursorCheckBox: TCheckBox;
|
||||||
MainNotebook: TNotebook;
|
MainNotebook: TNotebook;
|
||||||
OkButton: TButton;
|
OkButton: TButton;
|
||||||
CancelButton: TButton;
|
CancelButton: TButton;
|
||||||
@ -135,7 +138,7 @@ constructor TCodeExplorerOptions.Create;
|
|||||||
begin
|
begin
|
||||||
FOptionsFilename:=
|
FOptionsFilename:=
|
||||||
AppendPathDelim(GetPrimaryConfigPath)+'codeexploreroptions.xml';
|
AppendPathDelim(GetPrimaryConfigPath)+'codeexploreroptions.xml';
|
||||||
FRefresh:=cerDefault;
|
Clear;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TCodeExplorerOptions.Destroy;
|
destructor TCodeExplorerOptions.Destroy;
|
||||||
@ -146,6 +149,7 @@ end;
|
|||||||
procedure TCodeExplorerOptions.Clear;
|
procedure TCodeExplorerOptions.Clear;
|
||||||
begin
|
begin
|
||||||
FRefresh:=cerDefault;
|
FRefresh:=cerDefault;
|
||||||
|
FFollowCursor:=true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCodeExplorerOptions.Assign(Source: TPersistent);
|
procedure TCodeExplorerOptions.Assign(Source: TPersistent);
|
||||||
@ -155,6 +159,7 @@ begin
|
|||||||
if Source is TCodeExplorerOptions then begin
|
if Source is TCodeExplorerOptions then begin
|
||||||
Src:=TCodeExplorerOptions(Source);
|
Src:=TCodeExplorerOptions(Source);
|
||||||
FRefresh:=Src.Refresh;
|
FRefresh:=Src.Refresh;
|
||||||
|
FFollowCursor:=Src.FollowCursor;
|
||||||
end else
|
end else
|
||||||
inherited Assign(Source);
|
inherited Assign(Source);
|
||||||
end;
|
end;
|
||||||
@ -203,14 +208,18 @@ procedure TCodeExplorerOptions.LoadFromXMLConfig(XMLConfig: TXMLConfig;
|
|||||||
const Path: string);
|
const Path: string);
|
||||||
begin
|
begin
|
||||||
Clear;
|
Clear;
|
||||||
FRefresh:=CodeExplorerRefreshNameToEnum(XMLConfig.GetValue('Refresh/Value',''));
|
FRefresh:=CodeExplorerRefreshNameToEnum(
|
||||||
|
XMLConfig.GetValue(Path+'Refresh/Value',''));
|
||||||
|
FFollowCursor:=XMLConfig.GetValue(Path+'FollowCursor',true);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCodeExplorerOptions.SaveToXMLConfig(XMLConfig: TXMLConfig;
|
procedure TCodeExplorerOptions.SaveToXMLConfig(XMLConfig: TXMLConfig;
|
||||||
const Path: string);
|
const Path: string);
|
||||||
begin
|
begin
|
||||||
XMLConfig.SetDeleteValue('Refresh/Value',CodeExplorerRefreshNames[FRefresh],
|
XMLConfig.SetDeleteValue(Path+'Refresh/Value',
|
||||||
|
CodeExplorerRefreshNames[FRefresh],
|
||||||
CodeExplorerRefreshNames[cerDefault]);
|
CodeExplorerRefreshNames[cerDefault]);
|
||||||
|
XMLConfig.SetDeleteValue(Path+'FollowCursor',FFollowCursor,true);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TCodeExplorerDlg }
|
{ TCodeExplorerDlg }
|
||||||
@ -237,7 +246,7 @@ begin
|
|||||||
else
|
else
|
||||||
RefreshRadioGroup.ItemIndex:=1;
|
RefreshRadioGroup.ItemIndex:=1;
|
||||||
end;
|
end;
|
||||||
|
FollowCursorCheckBox.Checked:=Options.FollowCursor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCodeExplorerDlg.SaveFormToOptions;
|
procedure TCodeExplorerDlg.SaveFormToOptions;
|
||||||
@ -247,6 +256,7 @@ begin
|
|||||||
1: FOptions.Refresh:=cerSwitchEditorPage;
|
1: FOptions.Refresh:=cerSwitchEditorPage;
|
||||||
2: FOptions.Refresh:=cerOnIdle;
|
2: FOptions.Refresh:=cerOnIdle;
|
||||||
end;
|
end;
|
||||||
|
Options.FollowCursor:=FollowCursorCheckBox.Checked;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCodeExplorerDlg.CodeExplorerDlgCreate(Sender: TObject);
|
procedure TCodeExplorerDlg.CodeExplorerDlgCreate(Sender: TObject);
|
||||||
@ -262,6 +272,7 @@ begin
|
|||||||
Items[1]:=lisCEOWhenSwitchingFile;
|
Items[1]:=lisCEOWhenSwitchingFile;
|
||||||
Items[2]:=lisCEOOnIdle;
|
Items[2]:=lisCEOOnIdle;
|
||||||
end;
|
end;
|
||||||
|
FollowCursorCheckBox.Caption:=lisCEFollowCursor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCodeExplorerDlg.CodeExplorerDlgDestroy(Sender: TObject);
|
procedure TCodeExplorerDlg.CodeExplorerDlgDestroy(Sender: TObject);
|
||||||
|
|||||||
@ -73,7 +73,7 @@ type
|
|||||||
procedure CodeTreeviewDblClick(Sender: TObject);
|
procedure CodeTreeviewDblClick(Sender: TObject);
|
||||||
procedure CodeTreeviewDeletion(Sender: TObject; Node: TTreeNode);
|
procedure CodeTreeviewDeletion(Sender: TObject; Node: TTreeNode);
|
||||||
procedure CodeTreeviewKeyUp(Sender: TObject; var Key: Word;
|
procedure CodeTreeviewKeyUp(Sender: TObject; var Key: Word;
|
||||||
Shift: TShiftState);
|
Shift: TShiftState);
|
||||||
procedure JumpToMenuitemClick(Sender: TObject);
|
procedure JumpToMenuitemClick(Sender: TObject);
|
||||||
procedure OptionsButtonClick(Sender: TObject);
|
procedure OptionsButtonClick(Sender: TObject);
|
||||||
procedure RefreshButtonClick(Sender: TObject);
|
procedure RefreshButtonClick(Sender: TObject);
|
||||||
|
|||||||
@ -2844,6 +2844,7 @@ resourcestring
|
|||||||
lisCEONeverOnlyManually = 'Never, only manually';
|
lisCEONeverOnlyManually = 'Never, only manually';
|
||||||
lisCEOWhenSwitchingFile = 'When switching file in source editor';
|
lisCEOWhenSwitchingFile = 'When switching file in source editor';
|
||||||
lisCEOOnIdle = 'On idle';
|
lisCEOOnIdle = 'On idle';
|
||||||
|
lisCEFollowCursor = 'Follow cursor';
|
||||||
|
|
||||||
lisMenuLazDoc = 'LazDoc Editor';
|
lisMenuLazDoc = 'LazDoc Editor';
|
||||||
lisLazDocMainFormCaption = 'LazDoc editor';
|
lisLazDocMainFormCaption = 'LazDoc editor';
|
||||||
|
|||||||
@ -611,6 +611,7 @@ begin
|
|||||||
|
|
||||||
Widget := GetWidgetWithWindow(AWincontrol.Handle);
|
Widget := GetWidgetWithWindow(AWincontrol.Handle);
|
||||||
if Widget = nil then Exit;
|
if Widget = nil then Exit;
|
||||||
|
if Widget^.Window=nil then exit;
|
||||||
|
|
||||||
case APosition of
|
case APosition of
|
||||||
wszpBack: begin
|
wszpBack: begin
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user