Skip to content

Commit 0202424

Browse files
Merge pull request #15 from nickkaczmarek/bug/toggle-only-toggles-a-small-amount
Fixes #14 - Cached all repo names. Found a different way to show all.
2 parents 0af6422 + f74e1a8 commit 0202424

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

Quests/WindowController/SettingsWindowController.swift

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,12 @@ class SettingsWindowController: NSWindowController, NSWindowDelegate {
7070

7171
let totalHeight = itemSize.height + largeHeaderSize.height + headerSize.height * CGFloat(repos.count - 1) + itemSize.height * CGFloat(repos.flatMap { $0.repos }.count)
7272
repoCollectionView?.snp.updateConstraints { make in make.height.equalTo(totalHeight) }
73+
74+
allRepoNames = repos.flatMap { owner in owner.repos.map { $0.name } }
7375
}
7476
}
7577
private var repoCollectionItems = [String: RepoCheckCollectionViewItem]()
78+
private var allRepoNames = [String]()
7679

7780
private let itemSize = CGSize(width: 220, height: 20)
7881
private let largeHeaderSize = CGSize(width: 220, height: 37)
@@ -407,10 +410,13 @@ extension SettingsWindowController: NSCollectionViewDataSource, NSCollectionView
407410

408411
extension SettingsWindowController: RepoCheckCollectionViewItemDelegate {
409412
func repoCheckCollectionViewItem(_ repoCheckCollectionViewItem: RepoCheckCollectionViewItem, didToggleShowAll: Bool) {
410-
for item in repoCollectionItems {
411-
item.value.checkButton.state = didToggleShowAll ? .on : .off
412-
item.value.buttonChecked(item.value.checkButton)
413+
if didToggleShowAll {
414+
Defaults[.ignoredRepos].removeAll()
415+
} else {
416+
Defaults[.ignoredRepos] = allRepoNames
413417
}
418+
419+
repoCollectionView?.reloadData()
414420
}
415421
}
416422

0 commit comments

Comments
 (0)