Skip to content

Commit 4e16c92

Browse files
committed
Fixes #34 adds confirmations to recreate actions
1 parent 6bdfc66 commit 4e16c92

File tree

2 files changed

+28
-6
lines changed

2 files changed

+28
-6
lines changed

TmpDisk/StatusBarController.swift

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,15 @@ class StatusBarController {
134134
return true
135135
}
136136

137+
func confirmRecreateAll() -> Bool {
138+
let alert = NSAlert()
139+
alert.messageText = NSLocalizedString("This will eject and recreate all TmpDisks. All existing data will be lost.", comment: "")
140+
alert.alertStyle = .warning
141+
alert.addButton(withTitle: "OK")
142+
alert.addButton(withTitle: "Cancel")
143+
return alert.runModal() == .alertFirstButtonReturn
144+
}
145+
137146
func buildCurrentTmpDiskMenu() {
138147
self.currentTmpDisksMenu.removeAllItems()
139148
for volume in TmpDiskManager.shared.volumes {
@@ -163,7 +172,9 @@ class StatusBarController {
163172
}
164173

165174
@objc func recreateAll(sender: AnyObject) {
166-
TmpDiskManager.shared.ejectAllTmpDisks(recreate: true)
175+
if confirmRecreateAll() {
176+
TmpDiskManager.shared.ejectAllTmpDisks(recreate: true)
177+
}
167178
}
168179

169180
@objc func autoCreateManager(sender: AnyObject) {

TmpDisk/Views/AutoCreateManagerViewController.swift

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,13 @@ class AutoCreateManagerViewController: NSViewController, NSTableViewDelegate, NS
169169
if let button = sender as? NSButton {
170170
let row = tableView.row(for: button)
171171

172-
let volume = self.volumes[row]
173-
if TmpDiskManager.shared.exists(volume: volume) {
174-
TmpDiskManager.shared.ejectTmpDisksWithName(names: [volume.name], recreate: true)
175-
} else {
176-
TmpDiskManager.shared.createTmpDisk(volume: volume, onCreate: {_ in })
172+
if confirmRecreate() {
173+
let volume = self.volumes[row]
174+
if TmpDiskManager.shared.exists(volume: volume) {
175+
TmpDiskManager.shared.ejectTmpDisksWithName(names: [volume.name], recreate: true)
176+
} else {
177+
TmpDiskManager.shared.createTmpDisk(volume: volume, onCreate: {_ in })
178+
}
177179
}
178180
}
179181
}
@@ -187,4 +189,13 @@ class AutoCreateManagerViewController: NSViewController, NSTableViewDelegate, NS
187189
self.tableView.reloadData()
188190
}
189191
}
192+
193+
func confirmRecreate() -> Bool {
194+
let alert = NSAlert()
195+
alert.messageText = NSLocalizedString("This will eject and recreate the TmpDisk. All existing data will be lost.", comment: "")
196+
alert.alertStyle = .warning
197+
alert.addButton(withTitle: "OK")
198+
alert.addButton(withTitle: "Cancel")
199+
return alert.runModal() == .alertFirstButtonReturn
200+
}
190201
}

0 commit comments

Comments
 (0)