avh4 / time-tracker-for-mac

Mac OS X 10.4+ application for tracking time spent on projects and tasks.

This URL has Read+Write access

time-tracker-for-mac / MainController.h
100644 78 lines (59 sloc) 1.824 kb
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
/* MainController */
 
#import <Cocoa/Cocoa.h>
#import "TTDocument.h"
#import "TProject.h"
#import "TTask.h"
#import "TWorkPeriod.h"
 
@interface MainController : NSObject
{
NSUserDefaults *defaults;
NSTimer *timer;
NSStatusItem *statusItem;
 
NSImage *playItemImage;
NSImage *playItemHighlightImage;
 
NSImage *stopItemImage;
NSImage *stopItemHighlightImage;
 
NSImage *playToolImage;
NSImage *stopToolImage;
NSImage *addTaskToolImage;
NSImage *addProjectToolImage;
 
 
    IBOutlet NSTableView *tvProjects;
    IBOutlet NSTableView *tvTasks;
    IBOutlet NSTableView *tvWorkPeriods;
    IBOutlet NSWindow *mainWindow;
    IBOutlet NSPanel *panelEditWorkPeriod;
    IBOutlet NSPanel *panelIdleNotification;
    
IBOutlet NSDatePicker *dtpEditWorkPeriodStartTime;
IBOutlet NSDatePicker *dtpEditWorkPeriodEndTime;
 
IBOutlet NSMenuItem *startMenuItem;
 
NSToolbarItem *startstopToolbarItem;
 
TTDocument *document;
NSMutableDictionary *_projects_lastTask;
TProject *_selProject;
TTask *_selTask;
TWorkPeriod *_curWorkPeriod;
TProject *_curProject;
TTask *_curTask;
 
NSDate *_lastNonIdleTime;
int timeSinceSave;
}
 
// actions
- (IBAction)clickedAddProject:(id)sender;
- (IBAction)clickedAddTask:(id)sender;
- (IBAction)clickedStartStopTimer:(id)sender;
- (IBAction)clickedDelete:(id)sender;
- (IBAction)clickedChangeWorkPeriod:(id)sender;
- (IBAction)clickedCountIdleTimeYes:(id)sender;
- (IBAction)clickedCountIdleTimeNo:(id)sender;
- (IBAction)actionExport:(id)sender;
 
- (void) timerFunc: (NSTimer *) timer;
- (void) stopTimer:(NSDate*)endTime;
- (void) stopTimer;
- (void) startTimer;
- (int)idleTime;
- (void) saveData;
 
- (void) updateStartStopState;
 
- (BOOL) validateUserInterfaceItem:(id)anItem;
 
- (void)setProjectsTableView:(NSTableView *)tv;
- (void)setDocument:(TTDocument *)aDocument;
 
@end