forked from gnachman/iTerm2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
PasteboardHistory.h
88 lines (71 loc) · 2.16 KB
/
PasteboardHistory.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// -*- mode:objc -*-
/*
** PasteboardHistory.h
**
** Copyright 2010
**
** Author: George Nachman
**
** Project: iTerm2
**
** Description: Remembers pasteboard contents and offers a UI to access old
** entries.
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import <Cocoa/Cocoa.h>
#import "VT100Screen.h"
#import "PTYTextView.h"
#import "Popup.h"
#define kPasteboardHistoryDidChange @"PasteboardHistoryDidChange"
@interface PasteboardEntry : PopupEntry {
@public
NSDate* timestamp;
}
+ (PasteboardEntry*)entryWithString:(NSString *)s score:(double)score;
- (NSDate*)timestamp;
@end
@interface PasteboardHistory : NSObject {
NSMutableArray* entries_;
int maxEntries_;
NSString* path_;
}
+ (PasteboardHistory*)sharedInstance;
- (id)initWithMaxEntries:(int)maxEntries;
- (void)dealloc;
- (NSArray*)entries;
- (void)save:(NSString*)value;
// Erases persistent history, but not in-memory.
- (void)eraseHistory;
// Erases in-memory history but not persistent copy.
- (void)clear;
- (void)_loadHistoryFromDisk;
- (void)_writeHistoryToDisk;
@end
@interface PasteboardHistoryWindowController : Popup
{
IBOutlet NSTableView* table_;
NSTimer* minuteRefreshTimer_;
}
- (id)init;
- (void)dealloc;
- (void)pasteboardHistoryDidChange:(id)sender;
- (void)copyFromHistory;
- (void)refresh;
- (void)onOpen;
- (void)onClose;
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex;
- (void)rowSelected:(id)sender;;
@end