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
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
|
Public Class file_skimmer
Public mode As String
Public application As String 'The application sending either an open or save mode.
Public currentdir As String = home
Public Sub setupmenufonts()
For Each item In topmenu.Items
item.ForeColor = Color.White
item.Font = New Font("Courier New", 8.25)
For Each SubItem In item.DropDownItems
SubItem.ForeColor = Color.White
SubItem.font = New Font("Courier New", 8.25)
Next
Next
End Sub
Public Sub showfiles()
Dim lv As ListView = lvfiles
lv.Items.Clear()
lv.View = View.Tile
lv.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent)
Dim upone As New ListViewItem
upone.Text = "Up one"
lv.Items.Add(upone)
upone.SubItems.Add("directory")
For Each dir As String In My.Computer.FileSystem.GetDirectories(currentdir)
Dim dirinf As New IO.DirectoryInfo(dir)
Dim lvitem As New ListViewItem
lvitem.Text = dirinf.Name
lvitem.Tag = dirinf.FullName
lv.Items.Add(lvitem)
lvitem.SubItems.Add("Directory")
lvitem.SubItems.Add(dirinf.LastAccessTime)
Next
For Each file As String In My.Computer.FileSystem.GetFiles(currentdir)
Dim filinf As New IO.DirectoryInfo(file)
Dim lvitem As New ListViewItem
lvitem.Text = filinf.Name
lvitem.Tag = filinf.FullName
lv.Items.Add(lvitem)
lvitem.SubItems.Add(GetFileType(filinf.Extension))
lvitem.SubItems.Add(filinf.LastAccessTime)
Next
lbcurrentdir.Text = currentdir.Replace(root, "~").Replace("\", "/")
End Sub
Public Function GetFileType(ext As String)
Dim FileType As String
Select Case ext
Case ".txt"
FileType = "Text File"
Case ".pkg"
FileType = "Application"
Case ".deb"
FileType = "Application Installer"
Case ".sft"
FileType = "Data File"
Case ".dri"
FileType = "Driver"
Case ".bsk"
FileType = "Basic WM Skin"
Case Else
FileType = "Unknown File"
End Select
Return FileType
End Function
Public Sub OpenFile(file As String)
If IO.Directory.Exists(file) Then
currentdir = file
showfiles()
Else
Dim filinf As New IO.FileInfo(file)
Select Case filinf.Extension
Case ".txt"
If boughttextpad = True Then
Dim sr As New IO.StreamReader(file)
TextPad.txtfilebody.Text = sr.ReadToEnd()
sr.Close()
TextPad.Show()
Else
basicwm_infobox.showinfo("File can't be opened.", "The file """ & filinf.Name & """ can't be opened because a program able to open it has not been found.")
End If
Case ".bsk"
SkinLoader.readfile(file)
SkinLoader.skintoload = file
SkinLoader.Show()
Case Else
basicwm_infobox.showinfo("File can't be opened.", "The file """ & filinf.Name & """ can't be opened because a program able to open it has not been found.")
End Select
End If
End Sub
Private Sub lvfiles_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lvfiles.DoubleClick
Try
If lvfiles.SelectedItems(0).Text = "Up one" Then
If Not currentdir = root Then
currentdir = IO.Directory.GetParent(currentdir).ToString
showfiles()
End If
Else
If mode = "open" Then
If IO.Directory.Exists(lvfiles.SelectedItems(0).Tag) Then
OpenFile(lvfiles.SelectedItems(0).Tag)
Else
Dim filinf As New IO.FileInfo(lvfiles.SelectedItems(0).Tag)
Select Case application
Case "textpad"
If filinf.Extension = ".txt" Then
Dim sr As New IO.StreamReader(lvfiles.SelectedItems(0).Tag.ToString)
TextPad.txtfilebody.Text = sr.ReadToEnd()
sr.Close()
Me.Close()
End If
Case "skin_loader"
SkinLoader.readfile(lvfiles.SelectedItems(0).Tag.ToString)
SkinLoader.skintoload = lvfiles.SelectedItems(0).Tag.ToString
Me.Close()
End Select
End If
Else
OpenFile(lvfiles.SelectedItems(0).Tag)
End If
End If
Catch
End Try
End Sub
Private Sub file_skimmer_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
mode = ""
application = ""
End Sub
Private Sub file_skimmer_Load(sender As Object, e As EventArgs) Handles Me.Load
topmenu.Renderer = New basicwm_renderer()
tools.Renderer = New basicwm_renderer()
setupmenufonts()
setupui()
showfiles()
End Sub
Public Sub setupui()
FolderToolStripMenuItem.Visible = boughtfileskimmernewfolder
newseperator.Visible = boughtfileskimmernewfolder
btnnewfolder.Visible = boughtfileskimmernewfolder
btndelete.Visible = boughtfileskimmerdelete
If mode = "save" Then
pnlsave.Visible = True
Select Case application
Case "textpad"
lbextension.Text = ".txt"
Case "skin_loader"
lbextension.Text = ".bsk"
End Select
Else
pnlsave.Visible = False
End If
pnltop.DetermineMyVisibility()
End Sub
Private Sub ExitSessionToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExitSessionToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub ProductInfoToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ProductInfoToolStripMenuItem.Click
basicwm_infobox.showinfo("File Skimmer - v1.2", "Browse, edit, move, copy and delete the files on your computer.")
End Sub
Private Sub FolderToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles FolderToolStripMenuItem.Click, btnnewfolder.Click
basicwm_infobox.showinfo("Create New Folder", "Please specify a name for your folder.", True)
If Not IO.Directory.Exists(currentdir & "\" & basicwm_infobox.userinput) Then
IO.Directory.CreateDirectory(currentdir & "\" & basicwm_infobox.userinput)
Else
basicwm_infobox.showinfo("Create New Folder", "The specified folder already exists!")
End If
showfiles()
End Sub
Private Sub btndelete_Click(sender As Object, e As EventArgs) Handles btndelete.Click
Try
If IO.Directory.Exists(lvfiles.SelectedItems(0).Tag) Then
IO.Directory.Delete(lvfiles.SelectedItems(0).Tag, True)
ElseIf IO.File.Exists(lvfiles.SelectedItems(0).Tag) Then
IO.File.Delete(lvfiles.SelectedItems(0).Tag)
End If
Catch ex As Exception
basicwm_infobox.showinfo("Error!", "The following Visual Basic exception has occurred: " & vbNewLine & vbNewLine & ex.Message)
End Try
End Sub
Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click
If Not txtfilename.Text = "" Then
If IO.Directory.Exists(currentdir + "\" + txtfilename.Text) Then
basicwm_infobox.showinfo("Invalid File Name", "You can't save a file ontop of a directory with the same name!")
Else
Select Case Application
Case "textpad"
Dim sw As New IO.StreamWriter(currentdir + "\" + txtfilename.Text + ".txt")
sw.Write(TextPad.txtfilebody.Text)
sw.Close()
Me.Close()
Case "skin_loader"
saveskin(currentdir + "\" + txtfilename.Text + ".bsk")
Me.Close()
End Select
End If
Else
basicwm_infobox.showinfo("Invalid File Name", "Please specify a file name, and not leave it blank!")
End If
End Sub
End Class
|