forked from laoqiuqiu/DOpus-Script
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStatusBarVariables.vbs
More file actions
55 lines (46 loc) · 1.53 KB
/
Copy pathStatusBarVariables.vbs
File metadata and controls
55 lines (46 loc) · 1.53 KB
1
2
3
4
5
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
47
48
49
50
51
52
53
54
55
option explicit
' Status Bar Variables
' qiuqiu
' This is a script for Directory Opus.
' See https://www.gpsoft.com.au/DScripts/redirect.asp?page=scripts for development information.
' Called by Directory Opus to initialize the script
Function OnInit(initData)
initData.name = "Status Bar Variables"
initData.version = "1.0"
initData.copyright = "qiuqiu"
' initData.url = "https://resource.dopus.com/viewforum.php?f=35"
initData.desc = "Status Bar Variables: AvgSize"
initData.default_enable = true
initData.min_version = "12.0"
End Function
' Called when a new tab is opened
Function OnOpenTab(openTabData)
Dim Tab
Set Tab = openTabData.Tab
Tab.vars.Set "AvgSize", CalcAvgSize(Tab)
End Function
' Called when a tab is activated
Function OnActivateTab(activateTabData)
Dim Tab
Set Tab = activateTabData.newtab
Tab.vars.Set "AvgSize", CalcAvgSize(Tab)
End Function
' Called after a new folder is read in a tab
Function OnAfterFolderChange(afterFolderChangeData)
Dim Tab
Set Tab = afterFolderChangeData.Tab
Tab.vars.Set "AvgSize", CalcAvgSize(Tab)
End Function
Function CalcAvgSize(ByRef Tab)
Dim MaxSize, TotalSize, TabItem
Set MaxSize = DOpus.FSUtil.NewFileSize
Set TotalSize = DOpus.FSUtil.NewFileSize
If Tab.Files.Count > 0 Then
For Each TabItem In Tab.Files
If TabItem.Size > MaxSize Then MaxSize = TabItem.Size
If (not TabItem.is_junction) And (Not TabItem.is_reparse) And (Not TabItem.is_symlink) Then TotalSize.Add TabItem.Size
Next
TotalSize.Div Tab.Files.Count
CalcAvgSize = TotalSize.Fmt
End If
End Function