Added more stuff to network things.
authorKent Sutherland <ksuther@ithinksw.com>
Sat, 25 Oct 2003 20:54:04 +0000 (20:54 +0000)
committerKent Sutherland <ksuther@ithinksw.com>
Sat, 25 Oct 2003 20:54:04 +0000 (20:54 +0000)
English.lproj/Preferences.nib/classes.nib
English.lproj/Preferences.nib/info.nib
English.lproj/Preferences.nib/keyedobjects.nib
MainController.m
NetworkController.m
PreferencesController.h
PreferencesController.m
libValidate.a

index ee754cf..ccf6333 100755 (executable)
                 manualView = NSView; 
                 menuTableView = CustomMenuTableView; 
                 nameCheckbox = NSButton; 
+                nameTextField = NSTextField; 
+                passwordTextField = NSTextField; 
                 ratingCheckbox = NSButton; 
                 selectPlayerBox = NSBox; 
                 selectPlayerSheet = NSPanel; 
                 selectSharedPlayerButton = NSButton; 
                 shareMenuTunesCheckbox = NSButton; 
-                sharePasswordCheckbox = NSButton; 
-                sharePasswordTextField = NSTextField; 
                 sharingTableView = NSTableView; 
                 showOnChangeCheckbox = NSButton; 
                 songsInAdvance = NSTextField; 
                 trackNumberCheckbox = NSButton; 
                 trackTimeCheckbox = NSButton; 
+                usePasswordCheckbox = NSButton; 
                 useSharedMenuTunesCheckbox = NSButton; 
                 vanishDelaySlider = NSSlider; 
                 vanishEffectPopup = NSPopUpButton; 
index e4eec3e..4695b7b 100755 (executable)
@@ -9,7 +9,7 @@
                <key>634</key>
                <string>386 421 380 180 0 0 1152 746 </string>
                <key>639</key>
-               <string>386 450 380 122 0 0 1152 746 </string>
+               <string>412 313 380 122 0 0 1152 746 </string>
        </dict>
        <key>IBFramework Version</key>
        <string>349.0</string>
@@ -19,9 +19,9 @@
        </array>
        <key>IBOpenObjects</key>
        <array>
-               <integer>6</integer>
-               <integer>634</integer>
                <integer>639</integer>
+               <integer>634</integer>
+               <integer>6</integer>
        </array>
        <key>IBSystem Version</key>
        <string>7B85</string>
index 5e523bd..9cae2d6 100755 (executable)
Binary files a/English.lproj/Preferences.nib/keyedobjects.nib and b/English.lproj/Preferences.nib/keyedobjects.nib differ
index bbb0cec..f47c01b 100755 (executable)
@@ -294,14 +294,14 @@ static MainController *sharedController;
         timerUpdating = YES;
         
         NS_DURING
-        latestPlaylistClass = [[self currentRemote] currentPlaylistClass];
-        [menuController rebuildSubmenus];
-
-        if ( [df boolForKey:@"showSongInfoOnChange"] ) {
-            [self performSelector:@selector(showCurrentTrackInfo) withObject:nil afterDelay:0.0];
-        }
-        
-        [self setLatestSongIdentifier:[[self currentRemote] playerStateUniqueIdentifier]];
+            latestPlaylistClass = [[self currentRemote] currentPlaylistClass];
+            [menuController rebuildSubmenus];
+    
+            if ( [df boolForKey:@"showSongInfoOnChange"] ) {
+                [self performSelector:@selector(showCurrentTrackInfo) withObject:nil afterDelay:0.0];
+            }
+            
+            [self setLatestSongIdentifier:[[self currentRemote] playerStateUniqueIdentifier]];
         NS_HANDLER
             [self networkError:localException];
         NS_ENDHANDLER
index 3ac6250..d6bfca0 100755 (executable)
@@ -13,8 +13,6 @@
 
 #import "NetworkController.h"
 #import "MainController.h"
-#import "netinet/in.h"
-#import "arpa/inet.h"
 #import <ITFoundation/ITDebug.h>
 #import <ITFoundation/ITFoundation.h>
 #import <ITMTRemote/ITMTRemote.h>
@@ -159,9 +157,19 @@ static NetworkController *sharedController;
 
 - (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didFindService:(NSNetService *)aNetService moreComing:(BOOL)moreComing
 {
+    ITDebugLog(@"Found service named %@.", [aNetService name]);
+    [remoteServices addObject:aNetService];
     [aNetService setDelegate:self];
     [aNetService resolve];
-    ITDebugLog(@"Found service named %@.", [aNetService name]);
+    if (!moreComing) {
+        [[NSNotificationCenter defaultCenter] postNotificationName:@"ITMTFoundNetService" object:nil];
+    }
+}
+
+- (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didRemoveService:(NSNetService*)aNetService moreComing:(BOOL)moreComing
+{
+    ITDebugLog(@"Removed service named %@.", [aNetService name]);
+    [remoteServices removeObject:aNetService];
     if (!moreComing) {
         [[NSNotificationCenter defaultCenter] postNotificationName:@"ITMTFoundNetService" object:nil];
     }
@@ -169,11 +177,8 @@ static NetworkController *sharedController;
 
 - (void)netServiceDidResolveAddress:(NSNetService *)sender
 {
-    [remoteServices addObject:[NSDictionary dictionaryWithObjectsAndKeys:[sender name], @"name",
-                                                                         [NSString stringWithCString:inet_ntoa((*(struct sockaddr_in*)[[[sender addresses] objectAtIndex:0] bytes]).sin_addr)], @"ip",
-                                                                         nil, nil]];
     ITDebugLog(@"Resolved service named %@.", [sender name]);
-    NSLog(@"found!");
+    NSLog(@"Resolved service named %@.", [sender name]);
     [[NSNotificationCenter defaultCenter] postNotificationName:@"ITMTFoundNetService" object:nil];
 }
 
index b49b1d7..e8dcb81 100755 (executable)
     IBOutlet NSView *manualView;
     IBOutlet CustomMenuTableView *menuTableView;
     IBOutlet NSButton *nameCheckbox;
+    IBOutlet NSTextField *nameTextField;
+    IBOutlet NSTextField *passwordTextField;
     IBOutlet NSButton *ratingCheckbox;
     IBOutlet NSBox *selectPlayerBox;
     IBOutlet NSPanel *selectPlayerSheet;
     IBOutlet NSButton *selectSharedPlayerButton;
     IBOutlet NSButton *shareMenuTunesCheckbox;
-    IBOutlet NSButton *sharePasswordCheckbox;
-    IBOutlet NSTextField *sharePasswordTextField;
     IBOutlet NSTableView *sharingTableView;
     IBOutlet NSButton *showOnChangeCheckbox;
     IBOutlet NSTextField *songsInAdvance;
     IBOutlet NSButton *trackNumberCheckbox;
     IBOutlet NSButton *trackTimeCheckbox;
+    IBOutlet NSButton *usePasswordCheckbox;
     IBOutlet NSButton *useSharedMenuTunesCheckbox;
     IBOutlet NSSlider *vanishDelaySlider;
     IBOutlet NSPopUpButton *vanishEffectPopup;
index 372cce7..85370d9 100755 (executable)
@@ -4,6 +4,8 @@
 #import "StatusWindow.h"
 #import "StatusWindowController.h"
 #import "CustomMenuTableView.h"
+#import "netinet/in.h"
+#import "arpa/inet.h"
 
 #import <ITKit/ITHotKeyCenter.h>
 #import <ITKit/ITKeyCombo.h>
@@ -181,20 +183,26 @@ static PreferencesController *prefs = nil;
         [df setBool:state forKey:@"enableSharing"];
         //Disable/enable the use of shared player options
         [useSharedMenuTunesCheckbox setEnabled:!state];
-        [sharePasswordCheckbox setEnabled:!state];
-        [sharePasswordTextField setEnabled:!state];
+        [usePasswordCheckbox setEnabled:state];
+        [passwordTextField setEnabled:state];
+        [nameTextField setEnabled:state];
+        [selectSharedPlayerButton setEnabled:NO];
         [controller setServerStatus:state]; //Set server status
+    } else if ( [sender tag] == 5015 ) {
+        [df setObject:[sender stringValue] forKey:@"sharedPlayerName"];
     } else if ( [sender tag] == 5020 ) {
         [df setBool:SENDER_STATE forKey:@"enableSharingPassword"];
     } else if ( [sender tag] == 5030 ) {
-        [df setObject:[sender stringValue] forKey:@"sharingPassword"];
+        [df setObject:[sender stringValue] forKey:@"sharedPlayerPassword"];
     } else if ( [sender tag] == 5040 ) {
         BOOL state = SENDER_STATE;
         [df setBool:state forKey:@"useSharedPlayer"];
         //Disable/enable the use of sharing options
         [shareMenuTunesCheckbox setEnabled:!state];
-        [sharePasswordCheckbox setEnabled:!state];
-        [sharePasswordTextField setEnabled:!state];
+        [usePasswordCheckbox setEnabled:NO];
+        [passwordTextField setEnabled:NO];
+        [nameTextField setEnabled:NO];
+        [selectSharedPlayerButton setEnabled:state];
         
         if (state) {
             [controller connectToServer];
@@ -215,14 +223,14 @@ static PreferencesController *prefs = nil;
             NSRect frame = [selectPlayerSheet frame];
             frame.origin.y -= 58;
             frame.size.height = 273;
-            [selectPlayerSheet setFrame:frame display:YES animate:YES];
             [selectPlayerBox setContentView:zeroConfView];
+            [selectPlayerSheet setFrame:frame display:YES animate:YES];
         } else if ([selectPlayerBox contentView] != manualView) {
             NSRect frame = [selectPlayerSheet frame];
             frame.origin.y += 58;
             frame.size.height = 215;
-            [selectPlayerSheet setFrame:frame display:YES animate:YES];
             [selectPlayerBox setContentView:manualView];
+            [selectPlayerSheet setFrame:frame display:YES animate:YES];
         }
     } else if ( [sender tag] == 5110 ) {
         //Cancel
@@ -241,7 +249,7 @@ static PreferencesController *prefs = nil;
             [df setObject:[hostTextField stringValue] forKey:@"sharedPlayerHost"];
         } else {
             if ([sharingTableView selectedRow] > -1) {
-                [df setObject:[[[[NetworkController sharedController] remoteServices] objectAtIndex:[sharingTableView selectedRow]] objectForKey:@"ip"] forKey:@"sharedPlayerHost"];
+                [df setObject:[NSString stringWithCString:inet_ntoa((*(struct sockaddr_in*)[[[[NetworkController sharedController] remoteServices] objectAtIndex:[sharingTableView selectedRow]] bytes]).sin_addr)] forKey:@"sharedPlayerHost"];
             }
         }
         
@@ -552,6 +560,7 @@ static PreferencesController *prefs = nil;
     NSMutableDictionary *loginwindow;
     NSMutableArray *loginarray;
     NSEnumerator *loginEnum, *keyArrayEnum;
+    NSString *serverName;
     id anItem;
     
     ITDebugLog(@"Setting up preferences UI.");
@@ -612,19 +621,27 @@ static PreferencesController *prefs = nil;
         [shareMenuTunesCheckbox setState:NSOnState];
         [useSharedMenuTunesCheckbox setEnabled:NO];
         [selectSharedPlayerButton setEnabled:NO];
-        [hostTextField setEnabled:NO];
+        [passwordTextField setEnabled:YES];
+        [usePasswordCheckbox setEnabled:YES];
+        [nameTextField setEnabled:YES];
     } else if ([df boolForKey:@"useSharedPlayer"]) {
         [useSharedMenuTunesCheckbox setState:NSOnState];
         [shareMenuTunesCheckbox setEnabled:NO];
-        [sharePasswordCheckbox setEnabled:NO];
-        [sharePasswordTextField setEnabled:NO];
     }
     
     [[NSNotificationCenter defaultCenter] addObserver:sharingTableView selector:@selector(reloadData) name:@"ITMTFoundNetService" object:nil];
     
+    serverName = [df stringForKey:@"sharedPlayerName"];
+    if (!serverName || [serverName length] == 0) {
+        serverName = @"MenuTunes Shared Player";
+    }
+    [nameTextField setStringValue:serverName];
+    
     [selectPlayerBox setContentView:zeroConfView];
-    [sharePasswordCheckbox setState:([df boolForKey:@"enableSharingPassword"] ? NSOnState : NSOffState)];
-    //[sharePasswordTextField setStringValue:@""]; //DO THIS LATER
+    [usePasswordCheckbox setState:([df boolForKey:@"enableSharingPassword"] ? NSOnState : NSOffState)];
+    if ([df stringForKey:@"sharedPlayerPassword"]) {
+        [passwordTextField setStringValue:@"*************"];
+    }
     if ([df stringForKey:@"sharedPlayerHost"]) {
         [hostTextField setStringValue:[df stringForKey:@"sharedPlayerHost"]];
     }
@@ -748,7 +765,7 @@ static PreferencesController *prefs = nil;
         }
     } else {
         if ([[aTableColumn identifier] isEqualToString:@"name"]) {
-            return [[[[NetworkController sharedController] remoteServices] objectAtIndex:rowIndex] objectForKey:@"name"];
+            return [[[[NetworkController sharedController] remoteServices] objectAtIndex:rowIndex] name];
         } else {
             return @"X";
         }
index 4e6d8df..83fbaf1 100755 (executable)
Binary files a/libValidate.a and b/libValidate.a differ