Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Replaced menu action bar by regular TMainMenu.
Timelines: family | ancestors | trunk
Files: files | file ages | folders
SHA1:e689ac5b7db51399cc67a514565f1fdc935f0e56
User & Date: tinus 2017-02-15 17:27:17
Context
2017-02-15
17:27
Replaced menu action bar by regular TMainMenu. Leaf check-in: e689ac5b7d user: tinus tags: trunk
2017-02-13
20:01
Only show tray icon when TNotificationCenter is not supported. check-in: 58ee7bc51d user: tinus tags: trunk
Changes

Changes to src/FMain.dfm.

6
7
8
9
10
11
12

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
..
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
..
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75

76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109

110
111
112
113
114
115
116
117
118
119
120
121
122
123
...
163
164
165
166
167
168
169
170

171
172
173
174

175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194




195



  ClientWidth = 676
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []

  OldCreateOrder = False
  OnCreate = FormCreate
  OnDestroy = FormDestroy
  PixelsPerInch = 96
  TextHeight = 13
  object splFoldersDetails: TSplitter
    Left = 256
    Top = 57
    Height = 242
    ResizeStyle = rsUpdate
  end
  object splLog: TSplitter
    Left = 0
    Top = 299
    Width = 676
    Height = 3
................................................................................
    Cursor = crVSplit
    Align = alBottom
    ResizeStyle = rsUpdate
  end
  object lvwFolders: TListView
    AlignWithMargins = True
    Left = 3
    Top = 60
    Width = 250
    Height = 236
    Align = alLeft
    BevelInner = bvNone
    BevelOuter = bvNone
    Checkboxes = True
    Columns = <
      item
        Caption = 'Folder'
................................................................................
    TabOrder = 0
    ViewStyle = vsReport
    OnSelectItem = lvwFoldersSelectItem
    OnItemChecked = lvwFoldersItemChecked
  end
  object pnlDetails: TPanel
    Left = 259
    Top = 57
    Width = 417
    Height = 242
    Align = alClient
    BevelOuter = bvNone
    TabOrder = 1
  end
  object clbrMain: TCoolBar
    Left = 0
    Top = 29
    Width = 676
    Height = 28
    AutoSize = True
    BandBorderStyle = bsNone

    Bands = <
      item
        Control = acttbFolders
        ImageIndex = -1
        MinHeight = 26
        Width = 587
      end
      item
        Break = False
        Control = acttbWatchers
        ImageIndex = -1
        MinHeight = 23
        Width = 85
      end>
    Color = clMenuBar
    EdgeBorders = [ebBottom]
    ParentColor = False
    object acttbFolders: TActionToolBar
      Left = 11
      Top = 0
      Width = 574
      Height = 26
      ActionManager = modActions.actmgrMain
      Caption = 'Folders'
      Color = clMenuBar
      ColorMap.DisabledFontColor = 7171437
      ColorMap.HighlightColor = clWhite
      ColorMap.BtnSelectedFont = clBlack
      ColorMap.UnusedColor = clWhite
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []

      ParentFont = False
      Spacing = 0
    end
    object acttbWatchers: TActionToolBar
      Left = 600
      Top = 1
      Width = 76
      Height = 23
      ActionManager = modActions.actmgrMain
      Caption = 'Watchers'
      Color = clMenuBar
      ColorMap.DisabledFontColor = 7171437
      ColorMap.HighlightColor = clWhite
      ColorMap.BtnSelectedFont = clBlack
................................................................................
    ReadOnly = True
    RowSelect = True
    ParentDoubleBuffered = False
    SmallImages = imlIcons
    TabOrder = 3
    ViewStyle = vsReport
  end
  object mnuFolderWatcher: TActionMainMenuBar

    Left = 0
    Top = 0
    Width = 676
    Height = 29

    ActionManager = modActions.actmgrMain
    Caption = 'mnuFolderWatcher'
    Color = clMenuBar
    ColorMap.DisabledFontColor = 7171437
    ColorMap.HighlightColor = clWhite
    ColorMap.BtnSelectedFont = clBlack
    ColorMap.UnusedColor = clWhite
    EdgeBorders = [ebBottom]
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -12
    Font.Name = 'Segoe UI'
    Font.Style = []
    Spacing = 0
  end
  object imlIcons: TImageList
    ColorDepth = cd32Bit
    Left = 152
    Top = 136
  end




end










>







|
|







 







|

|







 







|

|






|




>





|






|







|













>




|

|







 







|
>
|
|
<
|
>
|
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<
|
>
>
>
>
|
>
>
>
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
..
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
..
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
...
166
167
168
169
170
171
172
173
174
175
176

177
178
179

180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195

196
197
198
199
200
201
202
203
204
  ClientWidth = 676
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  Menu = mnuMain
  OldCreateOrder = False
  OnCreate = FormCreate
  OnDestroy = FormDestroy
  PixelsPerInch = 96
  TextHeight = 13
  object splFoldersDetails: TSplitter
    Left = 256
    Top = 28
    Height = 271
    ResizeStyle = rsUpdate
  end
  object splLog: TSplitter
    Left = 0
    Top = 299
    Width = 676
    Height = 3
................................................................................
    Cursor = crVSplit
    Align = alBottom
    ResizeStyle = rsUpdate
  end
  object lvwFolders: TListView
    AlignWithMargins = True
    Left = 3
    Top = 31
    Width = 250
    Height = 265
    Align = alLeft
    BevelInner = bvNone
    BevelOuter = bvNone
    Checkboxes = True
    Columns = <
      item
        Caption = 'Folder'
................................................................................
    TabOrder = 0
    ViewStyle = vsReport
    OnSelectItem = lvwFoldersSelectItem
    OnItemChecked = lvwFoldersItemChecked
  end
  object pnlDetails: TPanel
    Left = 259
    Top = 28
    Width = 417
    Height = 271
    Align = alClient
    BevelOuter = bvNone
    TabOrder = 1
  end
  object clbrMain: TCoolBar
    Left = 0
    Top = 0
    Width = 676
    Height = 28
    AutoSize = True
    BandBorderStyle = bsNone
    BandMaximize = bmDblClick
    Bands = <
      item
        Control = acttbFolders
        ImageIndex = -1
        MinHeight = 26
        Width = 391
      end
      item
        Break = False
        Control = acttbWatchers
        ImageIndex = -1
        MinHeight = 23
        Width = 281
      end>
    Color = clMenuBar
    EdgeBorders = [ebBottom]
    ParentColor = False
    object acttbFolders: TActionToolBar
      Left = 11
      Top = 0
      Width = 378
      Height = 26
      ActionManager = modActions.actmgrMain
      Caption = 'Folders'
      Color = clMenuBar
      ColorMap.DisabledFontColor = 7171437
      ColorMap.HighlightColor = clWhite
      ColorMap.BtnSelectedFont = clBlack
      ColorMap.UnusedColor = clWhite
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      ParentBackground = True
      ParentFont = False
      Spacing = 0
    end
    object acttbWatchers: TActionToolBar
      Left = 404
      Top = 1
      Width = 272
      Height = 23
      ActionManager = modActions.actmgrMain
      Caption = 'Watchers'
      Color = clMenuBar
      ColorMap.DisabledFontColor = 7171437
      ColorMap.HighlightColor = clWhite
      ColorMap.BtnSelectedFont = clBlack
................................................................................
    ReadOnly = True
    RowSelect = True
    ParentDoubleBuffered = False
    SmallImages = imlIcons
    TabOrder = 3
    ViewStyle = vsReport
  end
  object imlIcons: TImageList
    ColorDepth = cd32Bit
    Left = 152
    Top = 136

  end
  object mnuMain: TMainMenu
    Images = modActions.imlMain

    Left = 48
    Top = 136
    object miFile: TMenuItem
      Caption = 'File'
      object miFolderAdd: TMenuItem
        Action = modActions.actFolderAdd
      end
      object miFolderRemove: TMenuItem
        Action = modActions.actFolderRemove
      end
      object miN1: TMenuItem
        Caption = '-'
      end
      object miFileExit: TMenuItem
        Action = modActions.actFileExit
      end

    end
    object miView: TMenuItem
      Caption = 'View'
      object miViewCustomize: TMenuItem
        Action = modActions.actCustomize
      end
    end
  end
end

Changes to src/FMain.pas.

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27







28
29
30
31
32
33
34
...
166
167
168
169
170
171
172



173
174
175
176
177
178
179
  // Windows
  Windows, Messages,
  // VCL
  Graphics, Controls, Forms, Dialogs, ExtCtrls, WinXCtrls, ToolWin, ActnMan, ActnCtrls,
  ActnList, ImgList, PlatformDefaultStyleActnCtrls, ComCtrls, StdActns, BandActn,
  CustomizeDlg, ActnMenus,
  // Own
  FileSystemWatcher;

type
  TfrmFolderWatcher = class(TForm)
    lvwFolders: TListView;
    splFoldersDetails: TSplitter;
    pnlDetails: TPanel;
    clbrMain: TCoolBar;
    acttbFolders: TActionToolBar;
    imlIcons: TImageList;
    acttbWatchers: TActionToolBar;
    lvwLog: TListView;
    splLog: TSplitter;
    mnuFolderWatcher: TActionMainMenuBar;







    procedure actFolderRemoveExecute(Sender: TObject);
    procedure lvwFoldersSelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
    procedure lvwFoldersItemChecked(Sender: TObject; Item: TListItem);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure WatchersNotify(Sender: TObject; const Watcher: TFileSystemWatcher; Action: TCollectionNotification);
  private
................................................................................
procedure TfrmFolderWatcher.lvwFoldersSelectItem(Sender: TObject; Item: TListItem;
  Selected: Boolean);
begin
  modActions.actFolderRemove.Enabled := lvwFolders.SelCount > 0;
  Item := lvwFolders.ItemFocused;
  if Item <> nil then begin
    // TODO: display details of focused item



    pnlDetails.Visible := True;
    FSettings.WriteString('Settings', 'ActiveFolder', Item.Caption);
  end else begin
    // hide details of focused item
    pnlDetails.Visible := False;
    FSettings.DeleteKey('Settings', 'ActiveFolder');
  end;







|












|
>
>
>
>
>
>
>







 







>
>
>







7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
...
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
  // Windows
  Windows, Messages,
  // VCL
  Graphics, Controls, Forms, Dialogs, ExtCtrls, WinXCtrls, ToolWin, ActnMan, ActnCtrls,
  ActnList, ImgList, PlatformDefaultStyleActnCtrls, ComCtrls, StdActns, BandActn,
  CustomizeDlg, ActnMenus,
  // Own
  FileSystemWatcher, Vcl.Menus;

type
  TfrmFolderWatcher = class(TForm)
    lvwFolders: TListView;
    splFoldersDetails: TSplitter;
    pnlDetails: TPanel;
    clbrMain: TCoolBar;
    acttbFolders: TActionToolBar;
    imlIcons: TImageList;
    acttbWatchers: TActionToolBar;
    lvwLog: TListView;
    splLog: TSplitter;
    mnuMain: TMainMenu;
    miFile: TMenuItem;
    miFolderAdd: TMenuItem;
    miFolderRemove: TMenuItem;
    miN1: TMenuItem;
    miFileExit: TMenuItem;
    miView: TMenuItem;
    miViewCustomize: TMenuItem;
    procedure actFolderRemoveExecute(Sender: TObject);
    procedure lvwFoldersSelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
    procedure lvwFoldersItemChecked(Sender: TObject; Item: TListItem);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure WatchersNotify(Sender: TObject; const Watcher: TFileSystemWatcher; Action: TCollectionNotification);
  private
................................................................................
procedure TfrmFolderWatcher.lvwFoldersSelectItem(Sender: TObject; Item: TListItem;
  Selected: Boolean);
begin
  modActions.actFolderRemove.Enabled := lvwFolders.SelCount > 0;
  Item := lvwFolders.ItemFocused;
  if Item <> nil then begin
    // TODO: display details of focused item



    pnlDetails.Visible := True;
    FSettings.WriteString('Settings', 'ActiveFolder', Item.Caption);
  end else begin
    // hide details of focused item
    pnlDetails.Visible := False;
    FSettings.DeleteKey('Settings', 'ActiveFolder');
  end;

Changes to src/M_Actions.dfm.

20
21
22
23
24
25
26

27
28
29
30
31
32
33
34
35
36
37
..
45
46
47
48
49
50
51
52
53

54
55
56





57

58
59
60
61
62
63
64
65
66
67
68
69
70
71
































































































































72
73
74
75
76
77
78

79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126

127
128
129
130
131
132
133
134

135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165




166
167
168
169
170
171
172
173
174
175
176
177

178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199





200
201
202
203
204
205
206
          end>
        ActionBar = frmFolderWatcher.acttbFolders
      end
      item
        Items = <
          item
            Action = actCustomize

          end>
        ActionBar = frmFolderWatcher.acttbWatchers
      end
      item
      end>
    Images = imlMain
    Left = 32
    Top = 136
    StyleName = 'Platform Default'
    object actFolderAdd: TBrowseForFolder
      Category = 'Folder'
................................................................................
    object actFolderRemove: TAction
      Category = 'Folder'
      Caption = 'Remove folder'
      Enabled = False
      ImageIndex = 1
    end
    object actCustomize: TCustomizeActionBars
      Category = 'Tools'
      Caption = '&Customize...'

      ActionManager = actmgrMain
      CustomizeDlg.StayOnTop = True
    end





  end

  object imlMain: TImageList
    ColorDepth = cd32Bit
    Left = 96
    Top = 136
    Bitmap = {
      494C010102000800200010001000FFFFFFFF2110FFFFFFFFFFFFFFFF424D3600
      0000000000003600000028000000400000001000000001002000000000000010
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000465D4E88216A
      3CF2166834FF216A3CF2465D4E88000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000045526A781D4E
      A8DF0340BAFE1A4EABE33F4F697A000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
































































































































      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000455B4D84258B50FF61B9
      8CFF94D2B1FF61B98CFF258B50FF465E4F8C0000000000000000000000000000
      00000000000000000000000000000000000000000000465570802663C7FB1E74
      E6FF0376EAFF0061DDFF054BBBFC3F4F697A0000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000

      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000465868704C7395A63784
      C9EA3087D2F73087D2F73087D2F73087D2F73087D2F7196A3BFF5FB98AFF5DB9
      86FFFFFFFFFF5DB886FF64BB8EFF1D6A39F700000000465868704C7395A63784
      C9EA3087D2F73087D2F73087D2F73087D2F73087D2F7064ABAFE609CF4FF157C
      FFFF0073F8FF0073EEFF0165E1FF194DABE40000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000003D89C6E6D1E1EBF0A6DB
      F2FD9DDBF4FF95DAF3FF8DD8F3FF85D7F3FF7CD4F2FF2E7849FF9BD4B5FFFFFF
      FFFFFFFFFFFFFFFFFFFF94D2B1FF166834FF000000003D89C6E6D1E1EBF0A6DB
      F2FD9DDBF4FF95DAF3FF8DD8F3FF85D7F3FF7CD4F2FF0240BBFFADCDFEFFFFFF
      FFFFFFFFFFFFFFFFFFFF157CEFFF0340BAFE0000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000003791D4F7EFFAFEFFA0E9
      F9FF90E5F8FF80E1F7FF6FDEF6FF60DAF5FF51D7F4FF41885FFF8FD3B0FF91D6
      B0FFFFFFFFFF62BB8BFF64BB8EFF1D6A39F7000000003791D4F7EFFAFEFFA0E9
      F9FF90E5F8FF80E1F7FF6FDEF6FF60DAF5FF51D7F4FF0A54C0FF8CB4F6FF4A91
      FFFF0F74FFFF1E85FFFF3D89EBFF1E4EA8DE0000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000003898D5F8F2FAFDFFB2ED
      FAFFA3E9F9FF94E6F8FF84E2F7FF73DEF6FF62DBF5FF51B2ADFF5EAA80FF94D4
      B3FFB9E6D0FF67BA8EFF2A8E54FF465E4F8C000000003898D5F8F2FAFDFFB2ED
      FAFFA3E9F9FF94E6F8FF84E2F7FF73DEF6FF62DBF5FF399ADEFF3572D2FF8CB4
      F7FFB7D6FEFF6FA7F5FF2A69CBFF3F4A606D0000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000379ED5F9F6FCFEFFC8F2
      FCFFB8EFFBFFABECFAFF9BE8F9FF8AE3F7FF79E0F6FF69DCF6FF58B6B3FF5596
      72FF4C8D63FF44895EFF328B91FB0000000000000000379ED5F9F6FCFEFFC8F2
      FCFFB8EFFBFFABECFAFF9BE8F9FF8AE3F7FF79E0F6FF69DCF6FF3C9BDEFF135A
      C5FF0240BBFF1756C0FF1E71C8FB000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000037A4D5FAFEFFFFFFF8FD
      FFFFF6FDFFFFF5FCFFFFF3FCFEFFD8F6FCFF93E6F8FF84E3F7FF73DFF6FF65DB
      F5FF59D8F4FFD7F4FCFF37A1D4F7000000000000000037A4D5FAFEFFFFFFF8FD
      FFFFF6FDFFFFF5FCFFFFF3FCFEFFD8F6FCFF93E6F8FF84E3F7FF73DFF6FF65DB
      F5FF59D8F4FFD7F4FCFF37A1D4F7000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000

      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000035A7D5FAE8F6FBFF93D4
      EFFF87CEEEFF70C0E9FFC9E9F6FFF2FCFEFFF3FCFEFFF2FCFEFFF0FCFEFFEFFB
      FEFFEEFBFEFFFEFFFFFF38A6D4F7000000000000000035A7D5FAE8F6FBFF93D4
      EFFF87CEEEFF70C0E9FFC9E9F6FFF2FCFEFFF3FCFEFFF2FCFEFFF0FCFEFFEFFB
      FEFFEEFBFEFFFEFFFFFF38A6D4F7000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000

      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000003BA4D0F2F1FAFDFF93DE
      F5FF92DCF4FF80D5F2FF67CAEDFF69CBEAFF84D3EFFF7DD2EFFF77D0EFFF73CF
      EEFF6FCFEEFFE9F7FBFF38A8D0F300000000000000003BA4D0F2F1FAFDFF93DE
      F5FF92DCF4FF80D5F2FF67CAEDFF69CBEAFF84D3EFFF7DD2EFFF77D0EFFF73CF
      EEFF6FCFEEFFE9F7FBFF38A8D0F3000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000003BA8CFF0F7FCFEFF8DE4
      F8FF90DEF5FF9EE0F5FFABE1F6FFEFFBFEFFF4FDFEFFF3FCFEFFF1FCFEFFEFFB
      FEFFEEFBFEFFF4F7F9F9479BBAD400000000000000003BA8CFF0F7FCFEFF8DE4
      F8FF90DEF5FF9EE0F5FFABE1F6FFEFFBFEFFF4FDFEFFF3FCFEFFF1FCFEFFEFFB
      FEFFEEFBFEFFF4F7F9F9479BBAD4000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000038AFD5F8FDFEFEFFFEFF
      FFFFFEFEFFFFFDFEFFFFFEFFFFFFEAF7FBFF6AC3DEF969C2DCF869C2DCF869C2
      DCF876C7DEF773B7CCE13E4C5156000000000000000038AFD5F8FDFEFEFFFEFF
      FFFFFEFEFFFFFDFEFFFFFEFFFFFFEAF7FBFF6AC3DEF969C2DCF869C2DCF869C2
      DCF876C7DEF773B7CCE13E4C5156000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000479DB6D05CBEDCFA5EBF
      DDFA5EBFDDFA5EBFDDFA5DBFDDFA48A5C1DD141515160E0E0E0F0E0E0E0F0E0E
      0E0F0E0E0E0F0E0E0E0F030303040000000000000000479DB6D05CBEDCFA5EBF
      DDFA5EBFDDFA5EBFDDFA5DBFDDFA48A5C1DD141515160E0E0E0F0E0E0E0F0E0E
      0E0F0E0E0E0F0E0E0E0F03030304000000000000000000000000000000000000




      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000

      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000424D3E000000000000003E000000
      2800000040000000100000000100010000000000800000000000000000000000
      000000000000000000000000FFFFFF00FFC1FFC100000000FF80FF8000000000
      8000800000000000800080000000000080008000000000008000800000000000
      8001800100000000800180010000000080018001000000008001800100000000
      800180010000000080018001000000008001800100000000FFFFFFFF00000000
      FFFFFFFF00000000FFFFFFFF0000000000000000000000000000000000000000





      000000000000}
  end
  object ntcNotificationCenter: TNotificationCenter
    Left = 176
    Top = 136
  end
  object trayIcon: TTrayIcon







>


<
<







 







|

>



>
>
>
>
>
|
>





|
|

|
|
|
|


>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>





|
<
>
|
|




|
|
|
|
|



|
|
|
|
|



|
|
|
|
|



|
|
|
|
|



|
|
|
|
|



|
<
>
|
|
|



|
<
>
|
|
|



|
|
|
|
|



|
|
|
|
|



|
|
|
|
|



|
>
>
>
>



|
|
|
|
|



|
>
|
|
<
<
<
<
<









|
|
|
|
<
|
>
>
>
>
>







20
21
22
23
24
25
26
27
28
29


30
31
32
33
34
35
36
..
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211

212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259

260
261
262
263
264
265
266
267

268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318





319
320
321
322
323
324
325
326
327
328
329
330
331

332
333
334
335
336
337
338
339
340
341
342
343
344
          end>
        ActionBar = frmFolderWatcher.acttbFolders
      end
      item
        Items = <
          item
            Action = actCustomize
            ImageIndex = 3
          end>
        ActionBar = frmFolderWatcher.acttbWatchers


      end>
    Images = imlMain
    Left = 32
    Top = 136
    StyleName = 'Platform Default'
    object actFolderAdd: TBrowseForFolder
      Category = 'Folder'
................................................................................
    object actFolderRemove: TAction
      Category = 'Folder'
      Caption = 'Remove folder'
      Enabled = False
      ImageIndex = 1
    end
    object actCustomize: TCustomizeActionBars
      Category = 'View'
      Caption = '&Customize...'
      ImageIndex = 3
      ActionManager = actmgrMain
      CustomizeDlg.StayOnTop = True
    end
    object actFileExit: TFileExit
      Category = 'File'
      Caption = 'E&xit'
      Hint = 'Exit|Quits the application'
      ImageIndex = 2
    end
  end
  object imlMain: TImageList
    ColorDepth = cd32Bit
    Left = 96
    Top = 136
    Bitmap = {
      494C010104000800340010001000FFFFFFFF2110FFFFFFFFFFFFFFFF424D3600
      0000000000003600000028000000400000002000000001002000000000000020
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000465D4E88216A
      3CF2166834FF216A3CF2465D4E88000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000045526A781D4E
      A8DF0340BAFE1A4EABE33F4F697A0000000000000000000000000000001E0000
      00300000002F0000002F0000002F0000002F0000002F0000002F0000002F0000
      002F000000300000002200000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000000000000000455B4D84258B50FF61B9
      8CFF94D2B1FF61B98CFF258B50FF465E4F8C0000000000000000000000000000
      00000000000000000000000000000000000000000000465570802663C7FB1E74
      E6FF0376EAFF0061DDFF054BBBFC3F4F697A00000000050517641E1EA3FF1E1E

      A3FF1E1EA3FF1E1EA3FF1E1EA3FF1E1EA3FF1E1EA3FF1E1EA3FF1E1EA3FF1E1E
      A3FF1E1EA3FF1E1EA3FF0808207A000000010000000000000000000000000000
      00000000000000000000000000260000008A0000008900000023000000000000
      00000000000000000000000000000000000000000000465868704C7395A63784
      C9EA3087D2F73087D2F73087D2F73087D2F73087D2F7196A3BFF5FB98AFF5DB9
      86FFFFFFFFFF5DB886FF64BB8EFF1D6A39F700000000465868704C7395A63784
      C9EA3087D2F73087D2F73087D2F73087D2F73087D2F7064ABAFE609CF4FF157C
      FFFF0073F8FF0073EEFF0165E1FF194DABE4000000001B1BAAF90504C1FF0000
      C2FF0000C9FF0000CEFF0000D9FF1717E4FF1919EAFF0B0EEBFF050BECFF1923
      EFFF232FF1FF3142FBFF292EBDFF000000000000000000000000000000000000
      00090000005C000000080000008B000000530000005700000087000000090000
      005C00000008000000000000000000000000000000003D89C6E6D1E1EBF0A6DB
      F2FD9DDBF4FF95DAF3FF8DD8F3FF85D7F3FF7CD4F2FF2E7849FF9BD4B5FFFFFF
      FFFFFFFFFFFFFFFFFFFF94D2B1FF166834FF000000003D89C6E6D1E1EBF0A6DB
      F2FD9DDBF4FF95DAF3FF8DD8F3FF85D7F3FF7CD4F2FF0240BBFFADCDFEFFFFFF
      FFFFFFFFFFFFFFFFFFFF157CEFFF0340BAFE000000000F0FADFF0000B5FF0000
      BEFF0000C3FF6B6BE1FFD8D8F9FFFFFFFFFFFFFFFFFFE3E3FDFF8588F3FF1721
      E9FF1E2AEBFF2C3BEFFF262DC4FF000000000000000000000000000000080000
      00BA00000099000000C8000000D80000001F00000023000000D6000000CA0000
      0099000000B8000000070000000000000000000000003791D4F7EFFAFEFFA0E9
      F9FF90E5F8FF80E1F7FF6FDEF6FF60DAF5FF51D7F4FF41885FFF8FD3B0FF91D6
      B0FFFFFFFFFF62BB8BFF64BB8EFF1D6A39F7000000003791D4F7EFFAFEFFA0E9
      F9FF90E5F8FF80E1F7FF6FDEF6FF60DAF5FF51D7F4FF0A54C0FF8CB4F6FF4A91
      FFFF0F74FFFF1E85FFFF3D89EBFF1E4EA8DE000000000F0FAAFF0000B5FF0000
      BBFF8E8EE5FFFFFFFFFFDFDFF6FF9090E9FF8B8BEBFFD4D4F6FFFFFFFFFFADB1
      F8FF1F2BEBFF2938EFFF252CC3FF000000000000000000000000000000390000
      00BA000000000000002F0000002900000000000000000000002C0000002D0000
      0000000000BF000000350000000000000000000000003898D5F8F2FAFDFFB2ED
      FAFFA3E9F9FF94E6F8FF84E2F7FF73DEF6FF62DBF5FF51B2ADFF5EAA80FF94D4
      B3FFB9E6D0FF67BA8EFF2A8E54FF465E4F8C000000003898D5F8F2FAFDFFB2ED
      FAFFA3E9F9FF94E6F8FF84E2F7FF73DEF6FF62DBF5FF399ADEFF3572D2FF8CB4
      F7FFB7D6FEFF6FA7F5FF2A69CBFF3F4A606D000000001111A8FF0000B3FF6868
      D6FFFFFFFFFFADADE9FF0909CEFF0000D5FF0000DDFF0101E0FF9597EEFFFFFF
      FFFF9399F6FF1C2AEDFF242BC1FF000000000000000000000000000000000000
      00A4000000570000000100000069000000AD000000AD00000065000000010000
      005C000000A200000000000000000000000000000000379ED5F9F6FCFEFFC8F2
      FCFFB8EFFBFFABECFAFF9BE8F9FF8AE3F7FF79E0F6FF69DCF6FF58B6B3FF5596
      72FF4C8D63FF44895EFF328B91FB0000000000000000379ED5F9F6FCFEFFC8F2
      FCFFB8EFFBFFABECFAFF9BE8F9FF8AE3F7FF79E0F6FF69DCF6FF3C9BDEFF135A
      C5FF0240BBFF1756C0FF1E71C8FB00000000000000001616A6FF1616B9FFD3D3
      F2FFF6F6FCFF3232CFFF1D1DD4FF1E1EDAFF1212DEFF0000E3FF0609E3FFE4E4
      FAFFEBECFEFF2834EEFF2127C0FF000000000000000000000023000000A50000
      00DD0000003D000000620000007500000001000000010000007A0000005C0000
      0042000000DC000000A50000001F000000000000000037A4D5FAFEFFFFFFF8FD
      FFFFF6FDFFFFF5FCFFFFF3FCFEFFD8F6FCFF93E6F8FF84E3F7FF73DFF6FF65DB
      F5FF59D8F4FFD7F4FCFF37A1D4F7000000000000000037A4D5FAFEFFFFFFF8FD
      FFFFF6FDFFFFF5FCFFFFF3FCFEFFD8F6FCFF93E6F8FF84E3F7FF73DFF6FF65DB
      F5FF59D8F4FFD7F4FCFF37A1D4F700000000000000001A1AA4FF3232BEFFEFEF

      FAFFDCDCF6FF2B2BCBFF3535D4FF3131D9FF3535DFFF3837E6FF1112E6FFB5B6
      F7FFFFFFFFFF323BEEFF1D22BEFF000000000000000000000067000000580000
      000700000000000000AB00000002000000000000000000000003000000AA0000
      0000000000070000005B00000063000000000000000035A7D5FAE8F6FBFF93D4
      EFFF87CEEEFF70C0E9FFC9E9F6FFF2FCFEFFF3FCFEFFF2FCFEFFF0FCFEFFEFFB
      FEFFEEFBFEFFFEFFFFFF38A6D4F7000000000000000035A7D5FAE8F6FBFF93D4
      EFFF87CEEEFF70C0E9FFC9E9F6FFF2FCFEFFF3FCFEFFF2FCFEFFF0FCFEFFEFFB
      FEFFEEFBFEFFFEFFFFFF38A6D4F700000000000000001E1EA3FF3939BCFFE3E3

      F5FFEFEFFBFF4242CEFF3C3CD2FF9B9BEBFF9E9EEFFF4848E3FF4949E9FFDEDE
      FCFFEFF0FDFF1D23EAFF1B1EBDFF0000000000000000000000630000008B0000
      004800000005000000A800000006000000000000000000000008000000A70000
      0007000000490000008E0000005F00000000000000003BA4D0F2F1FAFDFF93DE
      F5FF92DCF4FF80D5F2FF67CAEDFF69CBEAFF84D3EFFF7DD2EFFF77D0EFFF73CF
      EEFF6FCFEEFFE9F7FBFF38A8D0F300000000000000003BA4D0F2F1FAFDFF93DE
      F5FF92DCF4FF80D5F2FF67CAEDFF69CBEAFF84D3EFFF7DD2EFFF77D0EFFF73CF
      EEFF6FCFEEFFE9F7FBFF38A8D0F300000000000000002323A2FF4040BCFFAAAA
      DEFFFFFFFFFF9F9FE5FF4949D0FFEEEEFBFFF4F4FDFF5353E0FF9595EFFFFFFF
      FFFFC5C5F4FF0D0FE7FF1516BBFF00000000000000000000000B000000620000
      00B90000005800000048000000960000000B0000000B00000098000000450000
      005E000000B3000000610000000A00000000000000003BA8CFF0F7FCFEFF8DE4
      F8FF90DEF5FF9EE0F5FFABE1F6FFEFFBFEFFF4FDFEFFF3FCFEFFF1FCFEFFEFFB
      FEFFEEFBFEFFF4F7F9F9479BBAD400000000000000003BA8CFF0F7FCFEFF8DE4
      F8FF90DEF5FF9EE0F5FFABE1F6FFEFFBFEFFF4FDFEFFF3FCFEFFF1FCFEFFEFFB
      FEFFEEFBFEFFF4F7F9F9479BBAD400000000000000002727A2FF5858C1FF6060
      C2FFDDDDEEFFFFFFFFFF9393E0FFE1E1F7FFE6E6F9FFA0A0EBFFFFFFFFFFE9E9
      F6FF8383E6FF6262EDFF1616B9FF000000000000000000000000000000070000
      00C70000003300000000000000400000009E0000009F0000003F000000000000
      0038000000C40000000500000000000000000000000038AFD5F8FDFEFEFFFEFF
      FFFFFEFEFFFFFDFEFFFFFEFFFFFFEAF7FBFF6AC3DEF969C2DCF869C2DCF869C2
      DCF876C7DEF773B7CCE13E4C5156000000000000000038AFD5F8FDFEFEFFFEFF
      FFFFFEFEFFFFFDFEFFFFFEFFFFFFEAF7FBFF6AC3DEF969C2DCF869C2DCF869C2
      DCF876C7DEF773B7CCE13E4C515600000000000000002D2DA3FF6A6AC3FF6363
      C3FF7070C6FFAFAFD7FF8585D4FFE7E7F8FFE9E9FAFFA5A5E1FFD0D0E8FF8787
      DEFF7A7AE5FF8D8DEAFF3434BAFF0000000000000000000000000000003C0000
      00BD000000020000006B0000006F00000004000000050000006F000000680000
      0002000000C100000035000000000000000000000000479DB6D05CBEDCFA5EBF
      DDFA5EBFDDFA5EBFDDFA5DBFDDFA48A5C1DD141515160E0E0E0F0E0E0E0F0E0E
      0E0F0E0E0E0F0E0E0E0F030303040000000000000000479DB6D05CBEDCFA5EBF
      DDFA5EBFDDFA5EBFDDFA5DBFDDFA48A5C1DD141515160E0E0E0F0E0E0E0F0E0E
      0E0F0E0E0E0F0E0E0E0F0303030400000000000000003636A5FF7777C3FF7575
      C4FF7575C8FF7070C7FF7A7ACFFFF1F1FBFFF6F6FDFF8383D8FF8080D7FF8989
      E0FF8F8FE1FF9696E5FF4343BAFF000000000000000000000000000000000000
      0083000000DB00000095000000BD000000290000002E000000BA000000980000
      00DB0000007F0000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000002D2D7FD9ACACDEFFAAAA
      DBFFACACDEFFAFAFE1FFB3B3E5FFB0B0E4FFB3B3E7FFBDBDEDFFBFBFEEFFC3C3
      EFFFC5C5F0FFD1D1F7FF70708ECC000000000000000000000000000000000000
      00000000001A000000000000007D0000008E0000009100000079000000000000
      001A000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000008082D4C1A1A63B32525
      6EC125256DC127276EC127276EC127276FC127276FC127276FC127276FC12828
      6FC129296FC1202067B70505203F000000000000000000000000000000000000
      00000000000000000000000000090000003E0000003E00000008000000000000





      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000424D3E000000000000003E000000
      2800000040000000200000000100010000000000000100000000000000000000
      000000000000000000000000FFFFFF0000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000

      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000000000000000FFC1FFC1C003FFFFFF80FF808000FC3F
      800080008001E007800080008001C003800080008001C993800080008001E007
      8001800180018001800180018001899180018001800181818001800180018001
      800180018001C423800180018001C003800180018001E007FFFFFFFF8001F42F
      FFFFFFFF8001FC3FFFFFFFFFFFFFFFFF00000000000000000000000000000000
      000000000000}
  end
  object ntcNotificationCenter: TNotificationCenter
    Left = 176
    Top = 136
  end
  object trayIcon: TTrayIcon

Changes to src/M_Actions.pas.

21
22
23
24
25
26
27

28
29
30
31
32
33
34
...
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
...
198
199
200
201
202
203
204



205
206
207
208
209
210
211
...
331
332
333
334
335
336
337

338
339
340
341
342
343
344
    actmgrMain: TActionManager;
    actFolderAdd: TBrowseForFolder;
    actFolderRemove: TAction;
    actCustomize: TCustomizeActionBars;
    imlMain: TImageList;
    ntcNotificationCenter: TNotificationCenter;
    trayIcon: TTrayIcon;

    procedure DataModuleCreate(Sender: TObject);
    procedure DataModuleDestroy(Sender: TObject);
    procedure WatchersNotify(Sender: TObject; const Watcher: TFileSystemWatcher; Action: TCollectionNotification);
    procedure FileSystemChange(Sender: TFileSystemWatcher; FileOperation: TFileOperation; const FileName1, FileName2: string);
    procedure actFolderAddAccept(Sender: TObject);
    procedure trayIconBalloonClick(Sender: TObject);
    procedure trayIconClick(Sender: TObject);
................................................................................
    Item.SubItems.Add(FileName2.Substring(Path.Length))
  else
    Item.SubItems.Add(FileName2);
  Item.SubItems.Add(Sender.WatchedDir);
  Item.MakeVisible(False);

  for i := 0 to frmFolderWatcher.lvwLog.Columns.Count - 1 do
    frmFolderWatcher.lvwLog.Columns.Items[i].Width := -1;

  // TODO: gather up events that are in close repetition, and just display them once.
  Body := Action + ' ' + FileName1;
  if FileName2 <> '' then begin
    if SameFileName(ExtractFileDir(FileName2), ExtractFileDir(FileName2)) then
      Body := Body + ' to ' + ExtractFileName(FileName2)
    else
................................................................................
function GetConfigFileName: string;
const
  cConfigFilename = 'UI.cfg';
begin
  Result := TPath.Combine(TSpecialFolders.Settings, cConfigFilename);
end;




procedure TmodActions.LoadActions;
const
  cMarker = 'object';
var
  FileName: string;
  FileStream, MemStream, ZipStream: TStream;
  Bytes: TBytes;
................................................................................
    Include(Result, TNotifyFilter(Value));
  end;
end;

procedure TmodActions.trayIconBalloonClick(Sender: TObject);
begin
  Application.MainForm.Show;

end;

procedure TmodActions.trayIconClick(Sender: TObject);
begin
  Application.MainForm.Visible := not Application.MainForm.Visible;
end;








>







 







|







 







>
>
>







 







>







21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
...
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
...
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
...
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
    actmgrMain: TActionManager;
    actFolderAdd: TBrowseForFolder;
    actFolderRemove: TAction;
    actCustomize: TCustomizeActionBars;
    imlMain: TImageList;
    ntcNotificationCenter: TNotificationCenter;
    trayIcon: TTrayIcon;
    actFileExit: TFileExit;
    procedure DataModuleCreate(Sender: TObject);
    procedure DataModuleDestroy(Sender: TObject);
    procedure WatchersNotify(Sender: TObject; const Watcher: TFileSystemWatcher; Action: TCollectionNotification);
    procedure FileSystemChange(Sender: TFileSystemWatcher; FileOperation: TFileOperation; const FileName1, FileName2: string);
    procedure actFolderAddAccept(Sender: TObject);
    procedure trayIconBalloonClick(Sender: TObject);
    procedure trayIconClick(Sender: TObject);
................................................................................
    Item.SubItems.Add(FileName2.Substring(Path.Length))
  else
    Item.SubItems.Add(FileName2);
  Item.SubItems.Add(Sender.WatchedDir);
  Item.MakeVisible(False);

  for i := 0 to frmFolderWatcher.lvwLog.Columns.Count - 1 do
    frmFolderWatcher.lvwLog.Columns.Items[i].Width := -2;

  // TODO: gather up events that are in close repetition, and just display them once.
  Body := Action + ' ' + FileName1;
  if FileName2 <> '' then begin
    if SameFileName(ExtractFileDir(FileName2), ExtractFileDir(FileName2)) then
      Body := Body + ' to ' + ExtractFileName(FileName2)
    else
................................................................................
function GetConfigFileName: string;
const
  cConfigFilename = 'UI.cfg';
begin
  Result := TPath.Combine(TSpecialFolders.Settings, cConfigFilename);
end;

type
  TProtectedCustomActionBar = class(TCustomActionBar);

procedure TmodActions.LoadActions;
const
  cMarker = 'object';
var
  FileName: string;
  FileStream, MemStream, ZipStream: TStream;
  Bytes: TBytes;
................................................................................
    Include(Result, TNotifyFilter(Value));
  end;
end;

procedure TmodActions.trayIconBalloonClick(Sender: TObject);
begin
  Application.MainForm.Show;
  Application.MainForm.SetFocus;
end;

procedure TmodActions.trayIconClick(Sender: TObject);
begin
  Application.MainForm.Visible := not Application.MainForm.Visible;
end;

Changes to src/prj/FolderWatcher.dproj.

90
91
92
93
94
95
96

97
98
99
100
101
102
103
...
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
        <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
        <DCC_Optimize>false</DCC_Optimize>
        <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
        <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
        <DCC_RemoteDebug>true</DCC_RemoteDebug>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">

        <Icon_MainIcon>FolderWatcher_Icon.ico</Icon_MainIcon>
        <AppEnableHighDPI>true</AppEnableHighDPI>
        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
        <VerInfo_Locale>1033</VerInfo_Locale>
        <DCC_RemoteDebug>false</DCC_RemoteDebug>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Cfg_2)'!=''">
................................................................................
                </Source>
                <Excluded_Packages>
                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k240.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp240.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
                    <Excluded_Packages Name="W:\LIB\BPL\AbbreviaVCLDesign310.bpl">Abbrevia Design - VCL310</Excluded_Packages>
                    <Excluded_Packages Name="W:\LIB\BPL\DL_Control310.bpl">Dgmr Library Controls V310</Excluded_Packages>
                    <Excluded_Packages Name="W:\LIB\BPL\RaizeComponentsVcl_Design310.bpl">Raize Components Design</Excluded_Packages>
                    <Excluded_Packages Name="W:\LIB\BPL\sdlbasepack310.bpl">SDL BasePack 10.4</Excluded_Packages>
                    <Excluded_Packages Name="W:\LIB\BPL\sdlmathpack310.bpl">SDL MathPack 10.4</Excluded_Packages>
                    <Excluded_Packages Name="W:\LIB\BPL\tmsded310.bpl">TMS Component Pack design time support</Excluded_Packages>
                    <Excluded_Packages Name="W:\LIB\BPL\wPDF3310.bpl">(untitled)</Excluded_Packages>
                    <Excluded_Packages Name="W:\Lib\BPL\RaizeComponentsVcl310.bpl">Raize Components VCL</Excluded_Packages>
                </Excluded_Packages>
            </Delphi.Personality>
            <Deployment Version="3">
                <DeployFile LocalName="..\..\out\Win32\Debug\FolderWatcher.exe" Configuration="Debug" Class="ProjectOutput">







>







 







<
<







90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
...
145
146
147
148
149
150
151


152
153
154
155
156
157
158
        <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
        <DCC_Optimize>false</DCC_Optimize>
        <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
        <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
        <DCC_RemoteDebug>true</DCC_RemoteDebug>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
        <DCC_DebugDCUs>true</DCC_DebugDCUs>
        <Icon_MainIcon>FolderWatcher_Icon.ico</Icon_MainIcon>
        <AppEnableHighDPI>true</AppEnableHighDPI>
        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
        <VerInfo_Locale>1033</VerInfo_Locale>
        <DCC_RemoteDebug>false</DCC_RemoteDebug>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Cfg_2)'!=''">
................................................................................
                </Source>
                <Excluded_Packages>
                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k240.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp240.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
                    <Excluded_Packages Name="W:\LIB\BPL\AbbreviaVCLDesign310.bpl">Abbrevia Design - VCL310</Excluded_Packages>
                    <Excluded_Packages Name="W:\LIB\BPL\DL_Control310.bpl">Dgmr Library Controls V310</Excluded_Packages>
                    <Excluded_Packages Name="W:\LIB\BPL\RaizeComponentsVcl_Design310.bpl">Raize Components Design</Excluded_Packages>


                    <Excluded_Packages Name="W:\LIB\BPL\tmsded310.bpl">TMS Component Pack design time support</Excluded_Packages>
                    <Excluded_Packages Name="W:\LIB\BPL\wPDF3310.bpl">(untitled)</Excluded_Packages>
                    <Excluded_Packages Name="W:\Lib\BPL\RaizeComponentsVcl310.bpl">Raize Components VCL</Excluded_Packages>
                </Excluded_Packages>
            </Delphi.Personality>
            <Deployment Version="3">
                <DeployFile LocalName="..\..\out\Win32\Debug\FolderWatcher.exe" Configuration="Debug" Class="ProjectOutput">