Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /XspfQT/XspfQTAppDelegate.m

Parent Directory Parent Directory | Revision Log Revision Log


Revision 133 - (hide annotations) (download)
Mon Dec 1 12:13:57 2008 UTC (15 years, 4 months ago) by masaki
File size: 3124 byte(s)
情報パネルに現在のムービーのサイズ(NSSize)と元のサイズを表示するようにした。
1 masaki 2 //
2 masaki 72 // XspfQTAppDelegate.m
3 masaki 2 // XspfQT
4     //
5     // Created by Hori,Masaki on 08/08/31.
6     // Copyright 2008 masakih. All rights reserved.
7     //
8    
9 masaki 72 #import "XspfQTAppDelegate.h"
10     #import "XspfQTValueTransformers.h"
11 masaki 63 #import "XspfQTInformationWindowController.h"
12 masaki 2
13 masaki 72 @implementation XspfQTAppDelegate
14 masaki 2
15     + (void)initialize
16     {
17     [NSValueTransformer setValueTransformer:[[[XspfQTTimeTransformer alloc] init] autorelease]
18     forName:@"XspfQTTimeTransformer"];
19     [NSValueTransformer setValueTransformer:[[[XspfQTTimeDateTransformer alloc] init] autorelease]
20     forName:@"XspfQTTimeDateTransformer"];
21 masaki 133 [NSValueTransformer setValueTransformer:[[[XspfQTSizeToStringTransformer alloc] init] autorelease]
22     forName:@"XspfQTSizeToStringTransformer"];
23 masaki 2 }
24    
25 masaki 50 - (void)awakeFromNib
26     {
27     NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
28     [nc addObserver:self
29     selector:@selector(windowDidBecomeMain:)
30     name:NSWindowDidBecomeMainNotification
31     object:nil];
32     [nc addObserver:self
33     selector:@selector(windowWillClose:)
34     name:NSWindowWillCloseNotification
35     object:nil];
36     }
37     - (void)dealloc
38     {
39     NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
40     [nc removeObserver:self];
41    
42     [super dealloc];
43     }
44    
45     #pragma mark ### Actions ###
46     - (IBAction)playedTrack:(id)sender
47     {
48     // do noting.
49     }
50 masaki 63 - (IBAction)openInformationPanel:(id)sender
51     {
52     XspfQTInformationWindowController *wc;
53     wc = [XspfQTInformationWindowController sharedInstance];
54     [wc showWindow:sender];
55     }
56     - (IBAction)togglePlayAndPause:(id)sender
57     {
58     [[mainWindowStore windowController] togglePlayAndPause:sender];
59     }
60     - (IBAction)nextTrack:(id)sender
61     {
62     [[mainWindowStore windowController] nextTrack:sender];
63     }
64     - (IBAction)previousTrack:(id)sender
65     {
66     [[mainWindowStore windowController] previousTrack:sender];
67     }
68 masaki 50
69     #pragma mark ### NSMenu valivation ###
70     - (BOOL)validateMenuItem:(NSMenuItem *)menuItem
71     {
72 masaki 63 if([menuItem action] == @selector(openInformationPanel:)) {
73     return YES;
74     }
75    
76 masaki 50 if([menuItem tag] == 10000) {
77     NSWindow *m = mainWindowStore;
78     if(!m) {
79     m = [NSApp mainWindow];
80     }
81     NSString *title = [m valueForKeyPath:@"windowController.document.trackList.currentTrack.title"];
82     if(title) {
83     [menuItem setTitle:[NSString stringWithFormat:@"%@ played", title]];
84     } else {
85     [menuItem setTitle:@"Played Track Title"];
86     }
87     return NO;
88     }
89     if(!mainWindowStore) {
90     return NO;
91     }
92    
93     return YES;
94     }
95    
96 masaki 2 - (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender
97     {
98     return NO;
99     }
100    
101 masaki 50 - (void)storeMainWindow
102     {
103     mainWindowStore = [NSApp mainWindow];
104     }
105     - (void)unsaveMainWindow
106     {
107     mainWindowStore = nil;
108     }
109     - (void)applicationWillHide:(NSNotification *)notification
110     {
111     [self storeMainWindow];
112     }
113     - (void)applicationWillResignActive:(NSNotification *)notification
114     {
115     [self storeMainWindow];
116     }
117     - (void)applicationDidUnhide:(NSNotification *)notification
118     {
119     [self unsaveMainWindow];
120     }
121     - (void)applicationDidBecomeActive:(NSNotification *)notification
122     {
123     [self unsaveMainWindow];
124     }
125    
126     - (void)windowDidBecomeMain:(NSNotification *)notification
127     {
128     [self storeMainWindow];
129     }
130     - (void)windowWillClose:(NSNotification *)notification
131     {
132     [self unsaveMainWindow];
133     }
134    
135 masaki 2 @end

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26