Merge branch 'develop' into develop
This commit is contained in:
@ -107,6 +107,7 @@ class PreferencesWindowController: NSWindowController
|
||||
|
||||
override func awakeFromNib() {
|
||||
profilesTableView.register(forDraggedTypes: [tableViewDragType])
|
||||
profilesTableView.allowsMultipleSelection = true
|
||||
}
|
||||
|
||||
@IBAction func addProfile(_ sender: NSButton) {
|
||||
@ -129,13 +130,20 @@ class PreferencesWindowController: NSWindowController
|
||||
}
|
||||
|
||||
@IBAction func removeProfile(_ sender: NSButton) {
|
||||
let index = profilesTableView.selectedRow
|
||||
let index = Int(profilesTableView.selectedRowIndexes.first!)
|
||||
var deleteCount = 0
|
||||
if index >= 0 {
|
||||
profilesTableView.beginUpdates()
|
||||
profileMgr.profiles.remove(at: index)
|
||||
profilesTableView.removeRows(at: IndexSet(integer: index), withAnimation: .effectFade)
|
||||
for (_, toDeleteIndex) in profilesTableView.selectedRowIndexes.enumerated() {
|
||||
print(profileMgr.profiles.count)
|
||||
profileMgr.profiles.remove(at: toDeleteIndex - deleteCount)
|
||||
profilesTableView.removeRows(at: IndexSet(integer: toDeleteIndex - deleteCount), withAnimation: .effectFade)
|
||||
deleteCount += 1
|
||||
}
|
||||
profilesTableView.endUpdates()
|
||||
}
|
||||
self.profilesTableView.scrollRowToVisible(index-1)
|
||||
self.profilesTableView.selectRowIndexes(IndexSet(integer: index-1), byExtendingSelection: false)
|
||||
updateProfileBoxVisible()
|
||||
}
|
||||
|
||||
@ -160,16 +168,23 @@ class PreferencesWindowController: NSWindowController
|
||||
}
|
||||
|
||||
@IBAction func duplicate(_ sender: Any) {
|
||||
let profile = profileMgr.profiles[profilesTableView.clickedRow]
|
||||
let duplicateProfile = profile.copy() as! ServerProfile
|
||||
duplicateProfile.uuid = UUID().uuidString
|
||||
profileMgr.profiles.insert(duplicateProfile, at: profilesTableView.clickedRow+1)
|
||||
profilesTableView.beginUpdates()
|
||||
let index = IndexSet(integer: profileMgr.profiles.count-1)
|
||||
profilesTableView.insertRows(at: index, withAnimation: .effectFade)
|
||||
self.profilesTableView.scrollRowToVisible(profilesTableView.clickedRow+1)
|
||||
self.profilesTableView.selectRowIndexes(index, byExtendingSelection: false)
|
||||
profilesTableView.endUpdates()
|
||||
var copyCount = 0
|
||||
for (_, toDuplicateIndex) in profilesTableView.selectedRowIndexes.enumerated() {
|
||||
print(profileMgr.profiles.count)
|
||||
let profile = profileMgr.profiles[toDuplicateIndex + copyCount]
|
||||
let duplicateProfile = profile.copy() as! ServerProfile
|
||||
duplicateProfile.uuid = UUID().uuidString
|
||||
profileMgr.profiles.insert(duplicateProfile, at:toDuplicateIndex + copyCount)
|
||||
|
||||
profilesTableView.beginUpdates()
|
||||
let index = IndexSet(integer: toDuplicateIndex + copyCount)
|
||||
profilesTableView.insertRows(at: index, withAnimation: .effectFade)
|
||||
self.profilesTableView.scrollRowToVisible(toDuplicateIndex + copyCount)
|
||||
self.profilesTableView.selectRowIndexes(index, byExtendingSelection: false)
|
||||
profilesTableView.endUpdates()
|
||||
|
||||
copyCount += 1
|
||||
}
|
||||
updateProfileBoxVisible()
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user