Author: themacuser Date: 2007-05-13 11:55:37 +0200 (Sun, 13 May 2007) New Revision: 238 Added: trunk/Sources/Controller/FSWindow.h trunk/Sources/Controller/FSWindow.m Modified: trunk/KisMAC.xcodeproj/project.pbxproj trunk/Resources/Nibs/English.lproj/GPSDialog.nib/info.nib trunk/Resources/Nibs/English.lproj/GPSDialog.nib/keyedobjects.nib trunk/Resources/Nibs/English.lproj/MainMenu.nib/classes.nib trunk/Resources/Nibs/English.lproj/MainMenu.nib/data.dependency trunk/Resources/Nibs/English.lproj/MainMenu.nib/info.nib trunk/Resources/Nibs/English.lproj/MainMenu.nib/keyedobjects.nib trunk/Sources/Controller/ScanController.h trunk/Sources/Controller/ScanController.m trunk/Sources/Controller/ScanControllerMenus.m trunk/Sources/WaveDrivers/WaveDriverKismetDrone.m trunk/Sources/WindowControllers/GPSInfoController.m Log: New key combinations: Command-Control-E to switch to channel 14 Command-Control-T to switch to ETSI channel hopping (changed from E) Map view can now go fullscreen (command-shift-F to enter and exit). Removed two default settings for prefs that aren't used any more (Kismet drone settings for the old preferences set through Advanced, it's now set through driver prefs) GPSInfo window now updates when minimized in the Dock. Help menu now includes links to FAQ (on trac) and forums. Modified: trunk/KisMAC.xcodeproj/project.pbxproj =================================================================== --- trunk/KisMAC.xcodeproj/project.pbxproj 2007-04-24 08:14:44 UTC (rev 237) +++ trunk/KisMAC.xcodeproj/project.pbxproj 2007-05-13 09:55:37 UTC (rev 238) @@ -487,6 +487,8 @@ 87C9272B0BAA137E0025A6AE /* WaveDriverKismetDrone.m in Sources */ = {isa = PBXBuildFile; fileRef = 87C927290BAA137E0025A6AE /* WaveDriverKismetDrone.m */; }; 87CEBA8209AEF03700AEB0B8 /* GrowlController.h in Headers */ = {isa = PBXBuildFile; fileRef = 87CEBA8009AEF03700AEB0B8 /* GrowlController.h */; }; 87CEBA8309AEF03700AEB0B8 /* GrowlController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87CEBA8109AEF03700AEB0B8 /* GrowlController.m */; }; + 87FA06BA0BF6C69B00A8F24C /* FSWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 87FA06B80BF6C69B00A8F24C /* FSWindow.h */; }; + 87FA06BB0BF6C69C00A8F24C /* FSWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 87FA06B90BF6C69B00A8F24C /* FSWindow.m */; }; 8D1107280486CEB800E47090 /* KisMAC_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 32CA4F630368D1EE00C91783 /* KisMAC_Prefix.pch */; }; 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; @@ -845,6 +847,8 @@ 87C927290BAA137E0025A6AE /* WaveDriverKismetDrone.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = WaveDriverKismetDrone.m; sourceTree = "<group>"; }; 87CEBA8009AEF03700AEB0B8 /* GrowlController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GrowlController.h; sourceTree = "<group>"; }; 87CEBA8109AEF03700AEB0B8 /* GrowlController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = GrowlController.m; sourceTree = "<group>"; }; + 87FA06B80BF6C69B00A8F24C /* FSWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSWindow.h; sourceTree = "<group>"; }; + 87FA06B90BF6C69B00A8F24C /* FSWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSWindow.m; sourceTree = "<group>"; }; 8D1107320486CEB800E47090 /* KisMAC.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KisMAC.app; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -1035,6 +1039,8 @@ 003533A406A5DD8500AB4577 /* Controller */ = { isa = PBXGroup; children = ( + 87FA06B80BF6C69B00A8F24C /* FSWindow.h */, + 87FA06B90BF6C69B00A8F24C /* FSWindow.m */, 003533A706A5DD8500AB4577 /* InfoController.h */, 003533A806A5DD8500AB4577 /* InfoController.mm */, 003533A906A5DD8500AB4577 /* ScanController.h */, @@ -1681,6 +1687,7 @@ 6C94AA2F0ADF3FBC001BE161 /* GPSSatInfo.h in Headers */, 6CF9EE6E0B6E9D2A00F54524 /* WaveDriverKismet.h in Headers */, 87C9272A0BAA137E0025A6AE /* WaveDriverKismetDrone.h in Headers */, + 87FA06BA0BF6C69B00A8F24C /* FSWindow.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2077,6 +2084,7 @@ 6C94AA300ADF3FBC001BE161 /* GPSSatInfo.m in Sources */, 6CF9EE6F0B6E9D2A00F54524 /* WaveDriverKismet.m in Sources */, 87C9272B0BAA137E0025A6AE /* WaveDriverKismetDrone.m in Sources */, + 87FA06BB0BF6C69C00A8F24C /* FSWindow.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; Modified: trunk/Resources/Nibs/English.lproj/GPSDialog.nib/info.nib =================================================================== --- trunk/Resources/Nibs/English.lproj/GPSDialog.nib/info.nib 2007-04-24 08:14:44 UTC (rev 237) +++ trunk/Resources/Nibs/English.lproj/GPSDialog.nib/info.nib 2007-05-13 09:55:37 UTC (rev 238) @@ -11,6 +11,6 @@ <integer>5</integer> </array> <key>IBSystem Version</key> - <string>8L127</string> + <string>8P135</string> </dict> </plist> Modified: trunk/Resources/Nibs/English.lproj/GPSDialog.nib/keyedobjects.nib =================================================================== (Binary files differ) Modified: trunk/Resources/Nibs/English.lproj/MainMenu.nib/classes.nib =================================================================== --- trunk/Resources/Nibs/English.lproj/MainMenu.nib/classes.nib 2007-04-24 08:14:44 UTC (rev 237) +++ trunk/Resources/Nibs/English.lproj/MainMenu.nib/classes.nib 2007-05-13 09:55:37 UTC (rev 238) @@ -125,6 +125,7 @@ exportPDF = id; exportToServer = id; exportWarD = id; + goFullscreen = id; gpsDebugToConsole = id; importKismetXML = id; importMapFromServer = id; @@ -133,8 +134,9 @@ joinNetwork = id; monitorAllNetworks = id; monitorSignal = id; - myAction = id; openDonateURL = id; + openFAQURL = id; + openForumsURL = id; openWebsiteURL = id; restartGPS = id; selChannel = id; @@ -159,6 +161,7 @@ "_detailsButton" = NSButton; "_detailsDrawerMenu" = NSMenuItem; "_detailsView" = NSView; + "_fullscreen" = NSMenuItem; "_headerField" = NSTextField; "_mainView" = NSBox; "_mapButton" = NSButton; Modified: trunk/Resources/Nibs/English.lproj/MainMenu.nib/data.dependency =================================================================== --- trunk/Resources/Nibs/English.lproj/MainMenu.nib/data.dependency 2007-04-24 08:14:44 UTC (rev 237) +++ trunk/Resources/Nibs/English.lproj/MainMenu.nib/data.dependency 2007-05-13 09:55:37 UTC (rev 238) @@ -4,8 +4,8 @@ <dict> <key>IBPaletteDependency</key> <array> + <string>RollOverButtonPalette</string> <string>ASKPalette</string> - <string>RollOverButtonPalette</string> </array> </dict> </plist> Modified: trunk/Resources/Nibs/English.lproj/MainMenu.nib/info.nib =================================================================== --- trunk/Resources/Nibs/English.lproj/MainMenu.nib/info.nib 2007-04-24 08:14:44 UTC (rev 237) +++ trunk/Resources/Nibs/English.lproj/MainMenu.nib/info.nib 2007-05-13 09:55:37 UTC (rev 238) @@ -3,7 +3,7 @@ <plist version="1.0"> <dict> <key>IBDocumentLocation</key> - <string>323 87 612 460 0 0 1440 878 </string> + <string>88 -37 612 460 0 0 1024 746 </string> <key>IBEditorPositions</key> <dict> <key>1199</key> @@ -11,15 +11,15 @@ <key>1200</key> <string>274 344 731 449 0 0 1280 832 </string> <key>1201</key> - <string>354 372 731 429 0 0 1440 878 </string> + <string>146 284 731 429 0 0 1024 746 </string> <key>1202</key> <string>256 314 767 484 0 0 1280 832 </string> <key>1290</key> <string>352 338 576 461 0 0 1280 832 </string> <key>1446</key> - <string>751 615 185 263 0 0 1440 878 </string> + <string>502 483 185 263 0 0 1024 746 </string> <key>29</key> - <string>217 834 530 44 0 0 1440 878 </string> + <string>92 702 530 44 0 0 1024 746 </string> <key>501</key> <string>521 414 237 309 0 0 1280 832 </string> <key>719</key> @@ -34,11 +34,11 @@ </array> <key>IBOpenObjects</key> <array> + <integer>29</integer> <integer>21</integer> - <integer>29</integer> - <integer>1446</integer> + <integer>1201</integer> </array> <key>IBSystem Version</key> - <string>8P2137</string> + <string>8P135</string> </dict> </plist> Modified: trunk/Resources/Nibs/English.lproj/MainMenu.nib/keyedobjects.nib =================================================================== (Binary files differ) Added: trunk/Sources/Controller/FSWindow.h =================================================================== --- trunk/Sources/Controller/FSWindow.h 2007-04-24 08:14:44 UTC (rev 237) +++ trunk/Sources/Controller/FSWindow.h 2007-05-13 09:55:37 UTC (rev 238) @@ -0,0 +1,38 @@ +/* + + File: FSWindow.h + Program: KisMAC + Author: Geordie Millar + themacuser@xxxxxxxxx + Description: This file is a simple subclass of NSWindow, but overriding + canBecomeKeyWindow so that borderless windows can accept + keyDown events, so that the map view can use the arrow + keys in fullscreen mode. + + This file is part of KisMAC. + + KisMAC 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. + + KisMAC 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 KisMAC; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#import <Cocoa/Cocoa.h> + + +@interface FSWindow : NSWindow { + +} + +- (BOOL)canBecomeKeyWindow; + +@end Added: trunk/Sources/Controller/FSWindow.m =================================================================== --- trunk/Sources/Controller/FSWindow.m 2007-04-24 08:14:44 UTC (rev 237) +++ trunk/Sources/Controller/FSWindow.m 2007-05-13 09:55:37 UTC (rev 238) @@ -0,0 +1,39 @@ +/* + + File: FSWindow.m + Program: KisMAC + Author: Geordie Millar + themacuser@xxxxxxxxx + Description: This file is a simple subclass of NSWindow, but overriding + canBecomeKeyWindow so that borderless windows can accept + keyDown events, so that the map view can use the arrow + keys in fullscreen mode. + + This file is part of KisMAC. + + KisMAC 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. + + KisMAC 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 KisMAC; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#import "FSWindow.h" + + +@implementation FSWindow + +- (BOOL)canBecomeKeyWindow +{ + return YES; +} + +@end Modified: trunk/Sources/Controller/ScanController.h =================================================================== --- trunk/Sources/Controller/ScanController.h 2007-04-24 08:14:44 UTC (rev 237) +++ trunk/Sources/Controller/ScanController.h 2007-05-13 09:55:37 UTC (rev 238) @@ -142,6 +142,7 @@ IBOutlet NSMenuItem *aInjPacketsMenu; IBOutlet NSMenuItem *_showNetInMap; IBOutlet NSMenuItem *_showAllNetsInMap; + IBOutlet NSMenuItem *_fullscreen; IBOutlet NSMenuItem *_showNetworks; IBOutlet NSMenuItem *_showTraffic; @@ -155,6 +156,7 @@ IBOutlet NSDrawer *_netHierarchDrawer; IBOutlet SpinChannel *_channelProg; GPSInfoController* _g; + NSWindow *borderlessWindow; } - (IBAction)updateNetworkTable:(id)sender complete:(bool)complete; @@ -201,11 +203,15 @@ - (IBAction)restartGPS:(id)sender; - (IBAction)showCurNetArea:(id)sender; - (IBAction)showAllNetArea:(id)sender; +- (IBAction)displayGPSInfo:(id)sender; + - (IBAction)closeActiveWindow:(id)sender; - (IBAction)openWebsiteURL:(id)sender; - (IBAction)openDonateURL:(id)sender; +- (IBAction)openForumsURL:(id)sender; +- (IBAction)openFAQURL:(id)sender; - (IBAction)showContextHelp:(id)sender; - (IBAction)debugSaveStressTest:(id)sender; Modified: trunk/Sources/Controller/ScanController.m =================================================================== --- trunk/Sources/Controller/ScanController.m 2007-04-24 08:14:44 UTC (rev 237) +++ trunk/Sources/Controller/ScanController.m 2007-05-13 09:55:37 UTC (rev 238) @@ -103,8 +103,6 @@ @"wlt1", @"bpfdevice", @"/dev/bpf0", @"bpfloc", [NSNumber numberWithInt:100], @"pr_interval", - @"127.0.0.1",@"kismetserverip", - [NSNumber numberWithInt:2501],@"kismetserverport", nil]; [[NSUserDefaults standardUserDefaults] registerDefaults:registrationDict]; Modified: trunk/Sources/Controller/ScanControllerMenus.m =================================================================== --- trunk/Sources/Controller/ScanControllerMenus.m 2007-04-24 08:14:44 UTC (rev 237) +++ trunk/Sources/Controller/ScanControllerMenus.m 2007-05-13 09:55:37 UTC (rev 238) @@ -40,6 +40,7 @@ #import "MapViewAreaView.h" #import "WaveStorageController.h" #import "WaveNet.h" +#import "FSWindow.h" @implementation ScanController(MenuExtension) @@ -757,6 +758,44 @@ } +- (IBAction)goFullscreen:(id)sender { + if ([_fullscreen state]==NSOffState) { + borderlessWindow = [[FSWindow alloc] initWithContentRect:[[NSScreen mainScreen] frame] + styleMask:(NSTexturedBackgroundWindowMask) backing:NSBackingStoreBuffered defer:YES]; + [borderlessWindow setAlphaValue:0]; + [borderlessWindow setContentView:_mapView]; + [borderlessWindow makeKeyAndOrderFront:borderlessWindow]; + [borderlessWindow setLevel:kCGStatusWindowLevel + 1]; + int i; + for (i=0; i<10; i++) { + [borderlessWindow setAlphaValue:[borderlessWindow alphaValue] + 0.1]; + [NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.05]]; + } + [NSMenu setMenuBarVisible:NO]; + [borderlessWindow setLevel:kCGNormalWindowLevel]; + [[WaveHelper mainWindow] setIsVisible:NO]; + [borderlessWindow makeFirstResponder:_mappingView]; + [_fullscreen setState:NSOnState]; + } else { + [borderlessWindow setLevel:kCGStatusWindowLevel + 1]; + [borderlessWindow makeKeyAndOrderFront:borderlessWindow]; + [[WaveHelper mainWindow] setIsVisible:YES]; + if (_visibleTab == tabMap) { + [self changedViewTo:tabNetworks contentView:_networkView]; + [self changedViewTo:tabMap contentView:_mapView]; + } + [NSMenu setMenuBarVisible:YES]; + int i; + for (i=0; i<10; i++) { + [borderlessWindow setAlphaValue:[borderlessWindow alphaValue] - 0.1]; + [NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.05]]; + } + [borderlessWindow close]; + [[WaveHelper mainWindow] makeKeyAndOrderFront:[WaveHelper mainWindow]]; + [_fullscreen setState:NSOffState]; + } +} + #pragma mark - #pragma mark HELP MENU #pragma mark - @@ -769,6 +808,14 @@ [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"https://www.paypal.com/xclick/business=charity%40binaervarianz.de&item_name=Support+for+KisMAC+Development";]]; } +- (IBAction)openForumsURL:(id)sender{ + [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://forums.kismac.de/";]]; +} + +- (IBAction)openFAQURL:(id)sender{ + [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://trac.kismac.de/wiki/FAQ";]]; +} + - (IBAction)showContextHelp:(id)sender { switch(_visibleTab) { case tabNetworks: Modified: trunk/Sources/WaveDrivers/WaveDriverKismetDrone.m =================================================================== --- trunk/Sources/WaveDrivers/WaveDriverKismetDrone.m 2007-04-24 08:14:44 UTC (rev 237) +++ trunk/Sources/WaveDrivers/WaveDriverKismetDrone.m 2007-05-13 09:55:37 UTC (rev 238) @@ -464,13 +464,13 @@ NSLog(@"Captured frame >2500 octets"); } - memcpy((frame + sizeof(WLFrame)), &databuf[24], framelen); // todo: limit this to 2500! + memcpy((frame + sizeof(WLFrame)), &databuf[24], framelen); noValidFrame = 0; stream_recv_bytes = 0; - } //else { - // printf("debug - somehow not a stream packet or too much data... type %d recv %d\n", fhdr.frame_type, stream_recv_bytes); - // } + } else { + NSLog(@"debug - somehow not a stream packet or too much data... type %d recv %d\n", fhdr.frame_type, stream_recv_bytes); + } if (fhdr.frame_type != STREAM_FTYPE_PACKET && fhdr.frame_type != STREAM_FTYPE_VERSION) { Modified: trunk/Sources/WindowControllers/GPSInfoController.m =================================================================== --- trunk/Sources/WindowControllers/GPSInfoController.m 2007-04-24 08:14:44 UTC (rev 237) +++ trunk/Sources/WindowControllers/GPSInfoController.m 2007-05-13 09:55:37 UTC (rev 238) @@ -99,6 +99,9 @@ } _haveFix = 2; } + + [[self window] display]; + [[self window] updateInDock]; // undocumented method } - (void)updateSatPRNForSat:(int)sat prn:(int)prn {