From a182eb127d3f864b1c7208658451f8a7e21aeed1 Mon Sep 17 00:00:00 2001 From: Matthew Judy Date: Mon, 24 Nov 2003 18:54:59 +0000 Subject: [PATCH] This about does it. I want to do a couple more things, especially multiple screen support. With the way I've got this set up, it should be pretty easy, but I need sleep first. If you want it in there, I'll do it after some sleep. --- English.lproj/Preferences.nib/info.nib | 3 +- .../Preferences.nib/keyedobjects.nib | Bin 44526 -> 45202 bytes PreferencesController.m | 7 +- StatusWindow.m | 81 ++++++++++++++---- libValidate.a | Bin 8032 -> 8032 bytes 5 files changed, 69 insertions(+), 22 deletions(-) diff --git a/English.lproj/Preferences.nib/info.nib b/English.lproj/Preferences.nib/info.nib index a98025e..33cecb8 100755 --- a/English.lproj/Preferences.nib/info.nib +++ b/English.lproj/Preferences.nib/info.nib @@ -3,7 +3,7 @@ IBDocumentLocation - 0 3 356 240 0 0 1056 770 + 39 237 356 240 0 0 1056 770 IBEditorPositions 634 @@ -20,6 +20,7 @@ IBOpenObjects 6 + 793 IBSystem Version 7C107 diff --git a/English.lproj/Preferences.nib/keyedobjects.nib b/English.lproj/Preferences.nib/keyedobjects.nib index ec393481d212a1f31d6627f3aa1a4e03f98c5897..ca7a08279bd7daf83c663b80a18286734185d284 100755 GIT binary patch literal 45202 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 diff --git a/PreferencesController.m b/PreferencesController.m index 3919848..6f18bc0 100755 --- a/PreferencesController.m +++ b/PreferencesController.m @@ -384,7 +384,7 @@ static PreferencesController *prefs = nil; BOOL entryEffectValid = YES; BOOL exitEffectValid = YES; - + [df setInteger:[sender selectedRow] forKey:@"statusWindowVerticalPosition"]; [df setInteger:[sender selectedColumn] forKey:@"statusWindowHorizontalPosition"]; [sw setVerticalPosition:[sender selectedRow]]; @@ -416,8 +416,7 @@ static PreferencesController *prefs = nil; [vanishEffectPopup selectItemAtIndex:[[vanishEffectPopup menu] indexOfItemWithRepresentedObject:[[sw exitEffect] class]]]; } - // Update the window's position. - // Yeah, do that. + [(MainController *)controller showCurrentTrackInfo]; } else if ( [sender tag] == 2020) { @@ -485,8 +484,8 @@ static PreferencesController *prefs = nil; } } else if ( [sender tag] == 2095) { - [sw vanish:self]; [df setInteger:[sender indexOfSelectedItem] forKey:@"statusWindowSizing"]; + [(MainController *)controller showCurrentTrackInfo]; } [df synchronize]; diff --git a/StatusWindow.m b/StatusWindow.m index 3465be3..8377ac0 100755 --- a/StatusWindow.m +++ b/StatusWindow.m @@ -9,18 +9,18 @@ #import "StatusWindow.h" -#define SW_PAD 24.00 -#define SW_SPACE 24.00 -#define SW_MINW 211.00 -#define SW_BORDER 32.00 -#define SW_METER_PAD 4.00 -#define SW_BUTTON_PAD_R 30.00 -#define SW_BUTTON_PAD_B 24.00 -#define SW_BUTTON_DIV 12.00 -#define SW_BUTTON_EXTRA_W 8.00 -#define SW_SHADOW_SAT 1.25 -#define SMALL_DIVISOR 1.33333 -#define MINI_DIVISOR 1.66667 +#define SW_PAD 24.00 +#define SW_SPACE 24.00 +#define SW_MINW 211.00 +#define SW_BORDER 32.00 +#define SW_METER_PAD 4.00 +#define SW_BUTTON_PAD_R 30.00 +#define SW_BUTTON_PAD_B 24.00 +#define SW_BUTTON_DIV 12.00 +#define SW_BUTTON_EXTRA_W 8.00 +#define SW_SHADOW_SAT 1.25 +#define SMALL_DIVISOR 1.33333 +#define MINI_DIVISOR 1.66667 @interface StatusWindow (Private) - (NSRect)setupWindowWithDataSize:(NSSize)dataSize; @@ -111,6 +111,15 @@ float contentHeight = 0.0; float windowWidth = 0.0; float windowHeight = 0.0; + NSRect visibleFrame = [[self screen] visibleFrame]; + NSPoint screenOrigin = visibleFrame.origin; + float screenWidth = visibleFrame.size.width; + float screenHeight = visibleFrame.size.height; + float maxWidth = ( screenWidth - (SW_BORDER * 2) ); + float maxHeight = ( screenHeight - (SW_BORDER * 2) ); + float excessWidth = 0.0; + float excessHeight = 0.0; + NSPoint windowOrigin; ITImageView *imageView; if ( _sizing == StatusWindowSmall ) { @@ -119,7 +128,7 @@ divisor = MINI_DIVISOR; } - // Get image width and height. +// Get image width and height. imageWidth = ( [_image size].width / divisor ); imageHeight = ( [_image size].height / divisor ); @@ -130,20 +139,51 @@ windowWidth = ( (SW_PAD / divisor) + imageWidth + (SW_SPACE / divisor) + dataWidth + (SW_PAD / divisor) ); windowHeight = ( (SW_PAD / divisor) + contentHeight + (SW_PAD / divisor) ); -#warning Adjust frame for positioning here. +// Constrain size to max limits. Adjust data sizes accordingly. + excessWidth = (windowWidth - maxWidth ); + excessHeight = (windowHeight - maxHeight); + + if ( excessWidth > 0.0 ) { + windowWidth = maxWidth; + dataWidth -= excessWidth; + } + + if ( excessHeight > 0.0 ) { + windowHeight = maxHeight; + dataHeight -= excessHeight; + } - [self setFrame:NSMakeRect( (SW_BORDER + [[self screen] visibleFrame].origin.x), - (SW_BORDER + [[self screen] visibleFrame].origin.y), + if ( [self horizontalPosition] == ITWindowPositionLeft ) { + windowOrigin.x = ( SW_BORDER + screenOrigin.x ); + } else if ( [self horizontalPosition] == ITWindowPositionCenter ) { + windowOrigin.x = ( screenOrigin.x + (screenWidth / 2) - (windowWidth / 2) ); + } else if ( [self horizontalPosition] == ITWindowPositionRight ) { + windowOrigin.x = ( screenOrigin.x + screenWidth - (windowWidth + SW_BORDER) ); + } + + if ( [self verticalPosition] == ITWindowPositionTop ) { + windowOrigin.y = ( screenOrigin.y + screenHeight - (windowHeight + SW_BORDER) ); + } else if ( [self verticalPosition] == ITWindowPositionMiddle ) { +// Middle-oriented windows should be slightly proud of the screen's middle. + windowOrigin.y = ( (screenOrigin.y + (screenHeight / 2) - (windowHeight / 2)) + (screenHeight / 8) ); + } else if ( [self verticalPosition] == ITWindowPositionBottom ) { + windowOrigin.y = ( SW_BORDER + screenOrigin.y ); + } + + [self setFrame:NSMakeRect( windowOrigin.x, + windowOrigin.y, windowWidth, windowHeight) display:YES animate:YES]; - [[[self contentView] subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)]; + [[[self contentView] subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)]; + // Setup, position, fill, and add the image view to the content view. imageRect = NSMakeRect( (SW_PAD / divisor), ((SW_PAD / divisor) + ((contentHeight - imageHeight) / 2)), imageWidth, imageHeight ); imageView = [[[NSImageView alloc] initWithFrame:imageRect] autorelease]; + [imageView setAutoresizingMask:(NSViewMinYMargin | NSViewMaxYMargin)]; [imageView setImage:_image]; [[self contentView] addSubview:imageView]; @@ -195,6 +235,7 @@ // Create, position, setup, fill, and add the text view to the content view. textField = [[[ITTextField alloc] initWithFrame:dataRect] autorelease]; + [textField setAutoresizingMask:(NSViewHeightSizable | NSViewWidthSizable)]; [textField setEditable:NO]; [textField setSelectable:NO]; [textField setBordered:NO]; @@ -202,6 +243,7 @@ [textField setFont:font]; [textField setTextColor:[NSColor whiteColor]]; [textField setCastsShadow:YES]; + [[textField cell] setWraps:NO]; [textField setStringValue:text]; [textField setShadowSaturation:SW_SHADOW_SAT]; [[self contentView] addSubview:textField]; @@ -255,6 +297,7 @@ [volMatrix setCellSize:NSMakeSize(cellWidth, cellHeight)]; [volMatrix setIntercellSpacing:NSMakeSize(0, 0)]; + [volMatrix setAutoresizingMask:(NSViewHeightSizable | NSViewWidthSizable)]; cellEnum = [[volMatrix cells] objectEnumerator]; @@ -427,5 +470,9 @@ } } +- (NSTimeInterval)animationResizeTime:(NSRect)newFrame +{ + return (NSTimeInterval)0.25; +} @end diff --git a/libValidate.a b/libValidate.a index 49fb834bcd8e2ba568c374310313e86b89a16c53..600c085688529a297f76d2931003d65454350b83 100755 GIT binary patch delta 16 XcmaE0_rPv~EUTr3k%h%ZB|CWlG?fK1 delta 16 XcmaE0_rPv~EUT%dk&)R(B|CWlG)o01 -- 2.20.1