forked from ugol/pomodoro
/
PomodoroController.h
91 lines (73 loc) · 3.47 KB
/
PomodoroController.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
88
89
90
91
// Pomodoro Desktop - Copyright (c) 2009, Ugo Landini (ugol@computer.org)
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// * Neither the name of the <organization> nor the
// names of its contributors may be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDERS ''AS IS'' AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#import <Cocoa/Cocoa.h>
#define _initialTime [[[NSUserDefaults standardUserDefaults] objectForKey:@"initialTime"] intValue]
#define _interruptTime [[[NSUserDefaults standardUserDefaults] objectForKey:@"interruptTime"] intValue]
#define _breakTime [[[NSUserDefaults standardUserDefaults] objectForKey:@"breakTime"] intValue]
#define _longbreakTime [[[NSUserDefaults standardUserDefaults] objectForKey:@"longbreakTime"] intValue]
#define _growlEveryTimeMinutes [[[NSUserDefaults standardUserDefaults] objectForKey:@"growlEveryTimeMinutes"] intValue]
#define _speechEveryTimeMinutes [[[NSUserDefaults standardUserDefaults] objectForKey:@"speechEveryTimeMinutes"] intValue]
#define _speechVoice [[NSUserDefaults standardUserDefaults] objectForKey:@"defaultVoice"]
@class AboutController;
@class StatsController;
@class Pomodoro;
@class GrowlNotifier;
@class PomodoroStats;
@interface PomodoroController : NSObject {
AboutController* about;
StatsController* stats;
NSStatusItem* statusItem;
IBOutlet NSPanel* prefs;
IBOutlet NSMenu* pomodoroMenu;
IBOutlet NSComboBox* voicesCombo;
IBOutlet NSComboBox* initialTimeCombo;
NSArray* voices;
NSMenuItem* startPomodoro;
NSMenuItem* interruptPomodoro;
NSMenuItem* invalidatePomodoro;
NSMenuItem* resumePomodoro;
NSMenuItem* setupPomodoro;
NSImage* pomodoroImage;
NSSound* ringing;
NSSound* tick;
NSSpeechSynthesizer* speech;
GrowlNotifier* growl;
Pomodoro* pomodoro;
PomodoroStats* pomoStats;
}
@property (nonatomic, readonly) NSMenuItem* startPomodoro;
@property (nonatomic, readonly) NSMenuItem* interruptPomodoro;
@property (nonatomic, readonly) NSMenuItem* invalidatePomodoro;
@property (nonatomic, readonly) NSMenuItem* resumePomodoro;
-(void) pomodoroStarted;
-(IBAction) about:(id)sender;
-(IBAction) quit:(id)sender;
-(IBAction) setup:(id)sender;
-(IBAction) stats:(id)sender;
-(IBAction) start: (id) sender;
-(IBAction) reset: (id) sender;
-(IBAction) interrupt: (id) sender;
-(IBAction) resume: (id) sender;
@end