From 4dc38583be5bd722a90d4f8e8077b2a1514fb0ec Mon Sep 17 00:00:00 2001 From: Kenta Kubo <601636+kkk669@users.noreply.github.com> Date: Sun, 27 Sep 2020 20:25:51 +0900 Subject: [PATCH] Refactor --- DNSecure/ContentView.swift | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/DNSecure/ContentView.swift b/DNSecure/ContentView.swift index 8ff5180..9662b3b 100644 --- a/DNSecure/ContentView.swift +++ b/DNSecure/ContentView.swift @@ -38,6 +38,21 @@ struct ContentView { self.selection = self.servers.count - 1 } + func removeServers(at indexSet: IndexSet) { + if let current = self.selection, indexSet.contains(current) { + self.selection = min( + current, + self.servers.count - 1 - indexSet.count + ) + } + self.servers.remove(atOffsets: indexSet) + } + + func moveServers(from src: IndexSet, to dst: Int) { + // TODO: Change self.selection if needed + self.servers.move(fromOffsets: src, toOffset: dst) + } + func updateStatus() { let manager = NEDNSSettingsManager.shared() manager.loadFromPreferences { @@ -121,19 +136,8 @@ extension ContentView: View { } } } - .onDelete { indexSet in - if let current = self.selection, indexSet.contains(current) { - self.selection = min( - current, - self.servers.count - 1 - indexSet.count - ) - } - self.servers.remove(atOffsets: indexSet) - } - .onMove { src, dst in - // TODO: Change self.selection if needed - self.servers.move(fromOffsets: src, toOffset: dst) - } + .onDelete(perform: self.removeServers) + .onMove(perform: self.moveServers) } } .listStyle(SidebarListStyle())