@@ -94,14 +94,11 @@ class FolderMenu: NSObject, NSMenuDelegate {
94
94
self . folderPath = menuButton. selectedItem. representedObject as? NSString
95
95
}
96
96
97
- // MARK: - menu button delegate
98
-
99
- func clearStates( ) {
100
- for item in menu. itemArray as [ NSMenuItem ] {
101
- item. state = NSOffState
102
- }
103
- }
97
+ // MARK: - menu button selection
104
98
99
+ //
100
+ // Finds the first non-hidden NSMenuItem with the specified path
101
+ //
105
102
func findMenuItem( path: String ) -> NSMenuItem ? {
106
103
for item in menu. itemArray as [ NSMenuItem ] {
107
104
if let menupath = item. representedObject as? String {
@@ -113,6 +110,9 @@ class FolderMenu: NSObject, NSMenuDelegate {
113
110
return nil
114
111
}
115
112
113
+ //
114
+ // Based on the current folderPath, indicates the current NSMenuItem to select
115
+ //
116
116
func getItemToSelect( ) -> NSMenuItem {
117
117
if let path = folderPath {
118
118
if let item = findMenuItem ( path) {
@@ -125,13 +125,18 @@ class FolderMenu: NSObject, NSMenuDelegate {
125
125
return chooseMusicItem
126
126
}
127
127
128
- func isChosenFolder( ) -> Bool {
129
- if let path = folderPath {
130
- return !isVolume( )
128
+ //
129
+ // Clears the checkmark from all menu items
130
+ //
131
+ func clearStates( ) {
132
+ for item in menu. itemArray as [ NSMenuItem ] {
133
+ item. state = NSOffState
131
134
}
132
- return false
133
135
}
134
136
137
+ //
138
+ // Adds the checkmark next to the selected menu item
139
+ //
135
140
func selectFolderItem( ) {
136
141
clearStates ( )
137
142
@@ -146,6 +151,15 @@ class FolderMenu: NSObject, NSMenuDelegate {
146
151
}
147
152
148
153
}
154
+
155
+ // MARK: - type of folderPath selected
156
+
157
+ func isChosenFolder( ) -> Bool {
158
+ if let path = folderPath {
159
+ return !isVolume( )
160
+ }
161
+ return false
162
+ }
149
163
150
164
func isVolume( ) -> Bool {
151
165
let volumes = ejectableVolumes
@@ -175,6 +189,8 @@ class FolderMenu: NSObject, NSMenuDelegate {
175
189
}
176
190
}
177
191
192
+ // MARK: - menu button delegate
193
+
178
194
func menuNeedsUpdate( menu: NSMenu ! ) {
179
195
// find the volumes and show them in the menu
180
196
0 commit comments