mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-22 10:59:29 +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
|
||||
BorderSpacing.Top = 1
|
||||
DefaultItemHeight = 18
|
||||
DragMode = dmAutomatic
|
||||
MultiSelect = True
|
||||
PopupMenu = ItemsPopupMenu
|
||||
ReadOnly = True
|
||||
RightClickSelect = True
|
||||
TabOrder = 2
|
||||
OnDblClick = ItemsTreeViewDblClick
|
||||
OnDragDrop = ItemsTreeViewDragDrop
|
||||
OnDragOver = ItemsTreeViewDragOver
|
||||
OnKeyDown = ItemsTreeViewKeyDown
|
||||
OnSelectionChanged = ItemsTreeViewSelectionChanged
|
||||
Options = [tvoAllowMultiselect, tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw]
|
||||
|
@ -219,6 +219,9 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormDestroy(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 MorePopupMenuPopup(Sender: TObject);
|
||||
procedure ItemsTreeViewDblClick(Sender: TObject);
|
||||
@ -755,6 +758,39 @@ begin
|
||||
//debugln(['TPackageEditorForm.FilesPopupMenuPopup END ',ItemsPopupMenu.Items.Count]); PackageEditorMenuRoot.WriteDebugReport(' ',true);
|
||||
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);
|
||||
var
|
||||
Writable: Boolean;
|
||||
@ -1718,7 +1754,7 @@ begin
|
||||
if IdleConnected then
|
||||
Application.AddOnIdleHandler(@OnIdle)
|
||||
else
|
||||
Application.AddOnIdleHandler(@OnIdle);
|
||||
Application.RemoveOnIdleHandler(@OnIdle);
|
||||
end;
|
||||
|
||||
procedure TPackageEditorForm.SetShowDirectoryHierarchy(const AValue: boolean);
|
||||
@ -1745,12 +1781,15 @@ begin
|
||||
if csDestroying in ComponentState then exit;
|
||||
if LazPackage=nil then exit;
|
||||
Name:=PackageEditorWindowPrefix+LazPackage.Name;
|
||||
UpdateTitle(Immediately);
|
||||
UpdateButtons(Immediately);
|
||||
UpdateFiles(Immediately);
|
||||
UpdateRequiredPkgs(Immediately);
|
||||
//UpdatePEProperties(Immediately); Already done in UpdateFiles and UpdateRequiredPkgs.
|
||||
UpdateStatusBar(Immediately);
|
||||
fFlags:=fFlags+[
|
||||
pefNeedUpdateTitle,
|
||||
pefNeedUpdateButtons,
|
||||
pefNeedUpdateFiles,
|
||||
pefNeedUpdateRequiredPkgs,
|
||||
pefNeedUpdateProperties,
|
||||
pefNeedUpdateApplyDependencyButton,
|
||||
pefNeedUpdateStatusBar];
|
||||
UpdatePending;
|
||||
end;
|
||||
|
||||
function TPackageEditorForm.ShowAddDialog(var DlgPage: TAddToPkgType): TModalResult;
|
||||
|
Loading…
Reference in New Issue
Block a user