Skip to content

Commit 5aa2699

Browse files
committed
show number of PR if only one type selected
1 parent d252d2d commit 5aa2699

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

pullBar/AppDelegate.swift

+20-4
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
4343
icon?.isTemplate = true
4444
icon?.size = size
4545
statusButton.image = icon
46+
statusButton.imagePosition = NSControl.ImagePosition.imageLeft
4647

4748
statusBarItem.menu = menu
4849

@@ -81,6 +82,7 @@ extension AppDelegate {
8182
func refreshMenu() {
8283
NSLog("Refreshing menu")
8384
self.menu.removeAllItems()
85+
self.statusBarItem.button?.title = ""
8486

8587
if (githubUsername == "" || githubToken == "") {
8688
addMenuFooterItems()
@@ -121,33 +123,47 @@ extension AppDelegate {
121123

122124
group.notify(queue: .main) {
123125

126+
let isOneSelected = (self.showAssigned.intValue + self.showCreated.intValue + self.showRequested.intValue) == 1
127+
124128

125129
if let assignedPulls = assignedPulls, let createdPulls = createdPulls, let reviewRequestedPulls = reviewRequestedPulls {
126-
130+
127131
if self.showAssigned && !assignedPulls.isEmpty {
128-
self.menu.addItem(NSMenuItem(title: "Assigned", action: nil, keyEquivalent: ""))
132+
self.menu.addItem(NSMenuItem(title: "Assigned (\(assignedPulls.count))", action: nil, keyEquivalent: ""))
129133
for pull in assignedPulls {
130134
self.menu.addItem(self.createMenuItem(pull: pull))
131135
}
132136
self.menu.addItem(.separator())
137+
if isOneSelected {
138+
self.statusBarItem.button?.title = String(assignedPulls.count)
139+
}
133140
}
134141

135142
if self.showCreated && !createdPulls.isEmpty {
136-
self.menu.addItem(NSMenuItem(title: "Created", action: nil, keyEquivalent: ""))
143+
self.menu.addItem(NSMenuItem(title: "Created (\(createdPulls.count))", action: nil, keyEquivalent: ""))
137144
for pull in createdPulls {
138145
self.menu.addItem(self.createMenuItem(pull: pull))
139146
}
140147
self.menu.addItem(.separator())
148+
if isOneSelected {
149+
self.statusBarItem.button?.title = String(createdPulls.count)
150+
}
151+
141152
}
142153

143154
if self.showRequested && !reviewRequestedPulls.isEmpty {
144-
self.menu.addItem(NSMenuItem(title: "Review Requested", action: nil, keyEquivalent: ""))
155+
self.menu.addItem(NSMenuItem(title: "Review Requested (\(reviewRequestedPulls.count))", action: nil, keyEquivalent: ""))
145156
for pull in reviewRequestedPulls {
146157
self.menu.addItem(self.createMenuItem(pull: pull))
147158
}
148159
self.menu.addItem(.separator())
160+
if isOneSelected {
161+
self.statusBarItem.button?.title = String(reviewRequestedPulls.count)
162+
}
163+
149164
}
150165

166+
151167
self.addMenuFooterItems()
152168
}
153169
}

pullBar/Extensions/StringExtensions.swift

+6
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,9 @@ extension String {
1919
return (self.count > length) ? self.prefix(length) + trailing : self
2020
}
2121
}
22+
23+
extension Bool {
24+
var intValue: Int {
25+
return self ? 1 : 0
26+
}
27+
}

0 commit comments

Comments
 (0)