mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-15 20:59:06 +02:00
IDE: package editor: fixed disconnect OnIdle
git-svn-id: trunk@45466 -
This commit is contained in:
parent
159e86a9b9
commit
b6f04cc60c
@ -320,12 +320,15 @@ object PackageEditorForm: TPackageEditorForm
|
|||||||
Align = alClient
|
Align = alClient
|
||||||
BorderSpacing.Top = 1
|
BorderSpacing.Top = 1
|
||||||
DefaultItemHeight = 18
|
DefaultItemHeight = 18
|
||||||
|
DragMode = dmAutomatic
|
||||||
MultiSelect = True
|
MultiSelect = True
|
||||||
PopupMenu = ItemsPopupMenu
|
PopupMenu = ItemsPopupMenu
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
RightClickSelect = True
|
RightClickSelect = True
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnDblClick = ItemsTreeViewDblClick
|
OnDblClick = ItemsTreeViewDblClick
|
||||||
|
OnDragDrop = ItemsTreeViewDragDrop
|
||||||
|
OnDragOver = ItemsTreeViewDragOver
|
||||||
OnKeyDown = ItemsTreeViewKeyDown
|
OnKeyDown = ItemsTreeViewKeyDown
|
||||||
OnSelectionChanged = ItemsTreeViewSelectionChanged
|
OnSelectionChanged = ItemsTreeViewSelectionChanged
|
||||||
Options = [tvoAllowMultiselect, tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw]
|
Options = [tvoAllowMultiselect, tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw]
|
||||||
|
@ -219,6 +219,9 @@ type
|
|||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure FormDestroy(Sender: TObject);
|
procedure FormDestroy(Sender: TObject);
|
||||||
procedure ItemsPopupMenuPopup(Sender: TObject);
|
procedure ItemsPopupMenuPopup(Sender: TObject);
|
||||||
|
procedure ItemsTreeViewDragDrop(Sender, Source: TObject; X, Y: Integer);
|
||||||
|
procedure ItemsTreeViewDragOver(Sender, Source: TObject; X, Y: Integer;
|
||||||
|
State: TDragState; var Accept: Boolean);
|
||||||
procedure ItemsTreeViewKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
procedure ItemsTreeViewKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
procedure MorePopupMenuPopup(Sender: TObject);
|
procedure MorePopupMenuPopup(Sender: TObject);
|
||||||
procedure ItemsTreeViewDblClick(Sender: TObject);
|
procedure ItemsTreeViewDblClick(Sender: TObject);
|
||||||
@ -755,6 +758,39 @@ begin
|
|||||||
//debugln(['TPackageEditorForm.FilesPopupMenuPopup END ',ItemsPopupMenu.Items.Count]); PackageEditorMenuRoot.WriteDebugReport(' ',true);
|
//debugln(['TPackageEditorForm.FilesPopupMenuPopup END ',ItemsPopupMenu.Items.Count]); PackageEditorMenuRoot.WriteDebugReport(' ',true);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TPackageEditorForm.ItemsTreeViewDragDrop(Sender, Source: TObject; X,
|
||||||
|
Y: Integer);
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TPackageEditorForm.ItemsTreeViewDragOver(Sender, Source: TObject; X,
|
||||||
|
Y: Integer; State: TDragState; var Accept: Boolean);
|
||||||
|
var
|
||||||
|
SrcTV: TTreeView;
|
||||||
|
aParent: TWinControl;
|
||||||
|
SrcPkgEdit: TPackageEditorForm;
|
||||||
|
begin
|
||||||
|
Accept:=false;
|
||||||
|
debugln(['TPackageEditorForm.ItemsTreeViewDragOver ',DbgSName(Source),' State=',ord(State),' FromSelf=',Source=ItemsTreeView]);
|
||||||
|
if Source=ItemsTreeView then begin
|
||||||
|
// move items within the package
|
||||||
|
|
||||||
|
end else if (Source is TTreeView) then begin
|
||||||
|
SrcTV:=TTreeView(Source);
|
||||||
|
if SrcTV.Name<>ItemsTreeView.Name then exit;
|
||||||
|
aParent:=SrcTV;
|
||||||
|
repeat
|
||||||
|
if aParent=nil then exit;
|
||||||
|
aParent:=aParent.Parent;
|
||||||
|
until aParent is TPackageEditorForm;
|
||||||
|
// move items to another package
|
||||||
|
SrcPkgEdit:=TPackageEditorForm(aParent);
|
||||||
|
debugln(['TPackageEditorForm.ItemsTreeViewDragOver from another package editor: ',SrcPkgEdit.LazPackage.Name]);
|
||||||
|
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TPackageEditorForm.MorePopupMenuPopup(Sender: TObject);
|
procedure TPackageEditorForm.MorePopupMenuPopup(Sender: TObject);
|
||||||
var
|
var
|
||||||
Writable: Boolean;
|
Writable: Boolean;
|
||||||
@ -1718,7 +1754,7 @@ begin
|
|||||||
if IdleConnected then
|
if IdleConnected then
|
||||||
Application.AddOnIdleHandler(@OnIdle)
|
Application.AddOnIdleHandler(@OnIdle)
|
||||||
else
|
else
|
||||||
Application.AddOnIdleHandler(@OnIdle);
|
Application.RemoveOnIdleHandler(@OnIdle);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPackageEditorForm.SetShowDirectoryHierarchy(const AValue: boolean);
|
procedure TPackageEditorForm.SetShowDirectoryHierarchy(const AValue: boolean);
|
||||||
@ -1745,12 +1781,15 @@ begin
|
|||||||
if csDestroying in ComponentState then exit;
|
if csDestroying in ComponentState then exit;
|
||||||
if LazPackage=nil then exit;
|
if LazPackage=nil then exit;
|
||||||
Name:=PackageEditorWindowPrefix+LazPackage.Name;
|
Name:=PackageEditorWindowPrefix+LazPackage.Name;
|
||||||
UpdateTitle(Immediately);
|
fFlags:=fFlags+[
|
||||||
UpdateButtons(Immediately);
|
pefNeedUpdateTitle,
|
||||||
UpdateFiles(Immediately);
|
pefNeedUpdateButtons,
|
||||||
UpdateRequiredPkgs(Immediately);
|
pefNeedUpdateFiles,
|
||||||
//UpdatePEProperties(Immediately); Already done in UpdateFiles and UpdateRequiredPkgs.
|
pefNeedUpdateRequiredPkgs,
|
||||||
UpdateStatusBar(Immediately);
|
pefNeedUpdateProperties,
|
||||||
|
pefNeedUpdateApplyDependencyButton,
|
||||||
|
pefNeedUpdateStatusBar];
|
||||||
|
UpdatePending;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TPackageEditorForm.ShowAddDialog(var DlgPage: TAddToPkgType): TModalResult;
|
function TPackageEditorForm.ShowAddDialog(var DlgPage: TAddToPkgType): TModalResult;
|
||||||
|
Loading…
Reference in New Issue
Block a user