Skip to content

Commit 62aa99b

Browse files
committed
Add a recent searches menu to the search field
1 parent 4fad6b6 commit 62aa99b

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

PBGitHistoryView.xib

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -759,6 +759,7 @@
759759
<int key="NSPeriodicDelay">400</int>
760760
<int key="NSPeriodicInterval">75</int>
761761
</object>
762+
<string key="NSRecentsAutosaveName">Recent History Searches</string>
762763
<int key="NSMaximumRecents">255</int>
763764
</object>
764765
</object>

PBHistorySearchController.m

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ @interface PBHistorySearchController ()
1717
- (void)selectNextResultInDirection:(NSInteger)direction;
1818

1919
- (void)updateUI;
20+
- (void)setupSearchMenuTemplate;
2021

2122
- (void)startBasicSearch;
2223

@@ -94,6 +95,7 @@ - (IBAction)updateSearch:(id)sender
9495

9596
- (void)awakeFromNib
9697
{
98+
[self setupSearchMenuTemplate];
9799
[[searchField cell] setPlaceholderString:@"Subject, Author, SHA"];
98100

99101
[self updateUI];
@@ -196,6 +198,34 @@ - (void)updateSelectedResult
196198
[self updateUI];
197199
}
198200

201+
- (void)setupSearchMenuTemplate
202+
{
203+
NSMenu *searchMenu = [[NSMenu alloc] initWithTitle:@"Search Menu"];
204+
NSMenuItem *item;
205+
206+
item = [[NSMenuItem alloc] initWithTitle:@"Recent Searches" action:NULL keyEquivalent:@""];
207+
[item setTag:NSSearchFieldRecentsTitleMenuItemTag];
208+
[searchMenu addItem:item];
209+
210+
item = [[NSMenuItem alloc] initWithTitle:@"Recents" action:NULL keyEquivalent:@""];
211+
[item setTag:NSSearchFieldRecentsMenuItemTag];
212+
[searchMenu addItem:item];
213+
214+
item = [NSMenuItem separatorItem];
215+
[item setTag:NSSearchFieldRecentsTitleMenuItemTag];
216+
[searchMenu addItem:item];
217+
218+
item = [[NSMenuItem alloc] initWithTitle:@"Clear Recent Searches" action:NULL keyEquivalent:@""];
219+
[item setTag:NSSearchFieldClearRecentsMenuItemTag];
220+
[searchMenu addItem:item];
221+
222+
item = [[NSMenuItem alloc] initWithTitle:@"No Recent Searches" action:NULL keyEquivalent:@""];
223+
[item setTag:NSSearchFieldNoRecentsMenuItemTag];
224+
[searchMenu addItem:item];
225+
226+
[[searchField cell] setSearchMenuTemplate:searchMenu];
227+
}
228+
199229

200230

201231
#pragma mark Basic Search

0 commit comments

Comments
 (0)