ADD: Operations viewer: option to enable/disable window always on top. Add text about drag&drop of operations.

This commit is contained in:
cobines 2012-04-04 02:22:02 +00:00
commit 7d46d74db1
3 changed files with 122 additions and 50 deletions

View file

@ -8,74 +8,125 @@ object frmViewOperations: TfrmViewOperations
ClientHeight = 353
ClientWidth = 507
Constraints.MinHeight = 100
Constraints.MinWidth = 200
FormStyle = fsStayOnTop
Constraints.MinWidth = 300
OnClose = FormClose
OnCreate = FormCreate
OnDestroy = FormDestroy
Position = poScreenCenter
SessionProperties = 'WindowState;Width;Top;Left;Height'
SessionProperties = 'Height;Left;Top;Width;WindowState;cbAlwaysOnTop.Checked'
LCLVersion = '0.9.30.1'
object pnlHeader: TPanel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 0
Height = 40
Height = 68
Top = 0
Width = 507
Anchors = [akTop, akLeft, akRight]
Align = alTop
AutoSize = True
BevelOuter = bvNone
ChildSizing.HorizontalSpacing = 10
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkVertical = crsHomogenousChildResize
ChildSizing.Layout = cclTopToBottomThenLeftToRight
ClientHeight = 40
ClientHeight = 68
ClientWidth = 507
TabOrder = 0
object tbPauseAll: TToggleBox
object pnlTopHeader: TPanel
AnchorSideLeft.Control = pnlHeader
AnchorSideTop.Control = pnlHeader
AnchorSideRight.Control = pnlHeader
AnchorSideRight.Side = asrBottom
Left = 0
Height = 40
Top = 0
Width = 91
Width = 507
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Right = 50
Caption = '&Pause all'
OnChange = tbPauseAllChange
BevelOuter = bvNone
ClientHeight = 40
ClientWidth = 507
TabOrder = 0
object tbPauseAll: TToggleBox
AnchorSideLeft.Control = pnlTopHeader
AnchorSideTop.Control = pnlTopHeader
AnchorSideBottom.Control = pnlTopHeader
AnchorSideBottom.Side = asrBottom
Left = 0
Height = 40
Top = 0
Width = 91
Anchors = [akTop, akLeft, akBottom]
AutoSize = True
BorderSpacing.Right = 40
Caption = '&Pause all'
OnChange = tbPauseAllChange
TabOrder = 0
end
object btnStop: TBitBtn
AnchorSideLeft.Control = tbPauseAll
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pnlTopHeader
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 131
Height = 40
Top = 0
Width = 80
AutoSize = True
Caption = 'S&top'
Constraints.MinHeight = 40
Constraints.MinWidth = 80
Enabled = False
NumGlyphs = 0
OnClick = btnStopClick
TabOrder = 1
end
object btnStartPause: TBitBtn
AnchorSideLeft.Control = btnStop
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pnlTopHeader
AnchorSideBottom.Side = asrBottom
Left = 221
Height = 40
Top = 0
Width = 80
AutoSize = True
BorderSpacing.Left = 10
Caption = '&Start'
Constraints.MinHeight = 40
Constraints.MinWidth = 80
Enabled = False
NumGlyphs = 0
OnClick = btnStartPauseClick
TabOrder = 2
end
end
object btnStop: TBitBtn
object lblUseDragDrop: TLabel
AnchorSideLeft.Control = pnlHeader
AnchorSideTop.Control = pnlTopHeader
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = pnlHeader
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 141
Height = 40
Top = 0
Width = 80
AutoSize = True
Caption = 'S&top'
Constraints.MinHeight = 40
Constraints.MinWidth = 80
Enabled = False
NumGlyphs = 0
OnClick = btnStopClick
TabOrder = 1
Left = 10
Height = 22
Top = 43
Width = 487
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 10
BorderSpacing.Top = 3
BorderSpacing.Right = 10
BorderSpacing.Bottom = 3
Caption = 'Use "drag && drop" to move operations between queues'
ParentColor = False
end
object btnStartPause: TBitBtn
AnchorSideBottom.Side = asrBottom
Left = 231
Height = 40
Top = 0
Width = 80
AutoSize = True
Caption = '&Start'
Constraints.MinHeight = 40
Constraints.MinWidth = 80
Enabled = False
NumGlyphs = 0
OnClick = btnStartPauseClick
TabOrder = 2
object cbAlwaysOnTop: TCheckBox
AnchorSideTop.Control = pnlTopHeader
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = pnlTopHeader
AnchorSideRight.Side = asrBottom
Left = 384
Height = 27
Top = 7
Width = 123
Anchors = [akTop, akRight]
Caption = 'Always on top'
OnChange = cbAlwaysOnTopChange
TabOrder = 1
end
end
object tvOperations: TTreeView
@ -87,8 +138,8 @@ object frmViewOperations: TfrmViewOperations
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 0
Height = 313
Top = 40
Height = 285
Top = 68
Width = 507
Anchors = [akTop, akLeft, akRight, akBottom]
AutoExpand = True

View file

@ -2,6 +2,8 @@ TFRMVIEWOPERATIONS.CAPTION=File operations
TFRMVIEWOPERATIONS.TBPAUSEALL.CAPTION=&Pause all
TFRMVIEWOPERATIONS.BTNSTOP.CAPTION=S&top
TFRMVIEWOPERATIONS.BTNSTARTPAUSE.CAPTION=&Start
TFRMVIEWOPERATIONS.LBLUSEDRAGDROP.CAPTION=Use "drag && drop" to move operations between queues
TFRMVIEWOPERATIONS.CBALWAYSONTOP.CAPTION=Always on top
TFRMVIEWOPERATIONS.MNUQUEUE.CAPTION=Queue
TFRMVIEWOPERATIONS.MNUQUEUE0.CAPTION=Out of queue
TFRMVIEWOPERATIONS.MNUQUEUE1.CAPTION=Queue 1

View file

@ -90,6 +90,8 @@ type
TfrmViewOperations = class(TForm)
btnStop: TBitBtn;
btnStartPause: TBitBtn;
cbAlwaysOnTop: TCheckBox;
lblUseDragDrop: TLabel;
mnuCancelQueue: TMenuItem;
mnuNewQueue: TMenuItem;
mnuCancelOperation: TMenuItem;
@ -104,14 +106,16 @@ type
mnuQueue0: TMenuItem;
mnuQueue: TMenuItem;
mnuQueueShowDetached: TMenuItem;
pmQueuePopup: TPopupMenu;
pnlHeader: TPanel;
pmQueuePopup: TPopupMenu;
pnlTopHeader: TPanel;
pmOperationPopup: TPopupMenu;
tbPauseAll: TToggleBox;
tvOperations: TTreeView;
UpdateTimer: TTimer;
procedure btnStopClick(Sender: TObject);
procedure cbAlwaysOnTopChange(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
@ -652,6 +656,7 @@ end;
procedure TfrmViewOperations.FormCreate(Sender: TObject);
begin
InitPropStorage(Self);
cbAlwaysOnTopChange(nil);
FMenuOperation := InvalidOperationHandle;
tvOperations.DoubleBuffered := True;
@ -675,6 +680,20 @@ begin
Item.Stop;
end;
procedure TfrmViewOperations.cbAlwaysOnTopChange(Sender: TObject);
begin
if cbAlwaysOnTop.Checked then
begin
FormStyle := fsStayOnTop;
ShowInTaskBar := stDefault;
end
else
begin
FormStyle := fsNormal;
ShowInTaskBar := stAlways;
end;
end;
procedure TfrmViewOperations.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
CloseAction := caFree;