- (id) initWithFrame: (NSRect) frame lib: (tr_session *) lib;
-- (void) displayRatesWithDownload: (CGFloat) downloadRate upload: (CGFloat) uploadRate;
+- (BOOL) setRatesWithDownload: (CGFloat) downloadRate upload: (CGFloat) uploadRate;
- (void) setQuitting;
@end
[super dealloc];
}
-- (void) displayRatesWithDownload: (CGFloat) downloadRate upload: (CGFloat) uploadRate
+- (BOOL) setRatesWithDownload: (CGFloat) downloadRate upload: (CGFloat) uploadRate
{
//only needs update if the badges were displayed or are displayed now
if (fDownloadRate == downloadRate && fUploadRate == uploadRate)
- return;
+ return NO;
fDownloadRate = downloadRate;
fUploadRate = uploadRate;
- [self display];
+ return YES;
}
- (void) setQuitting
return;
}
- BOOL upload = fUploadRate >= 0.1f,
- download = fDownloadRate >= 0.1f;
+ const BOOL upload = fUploadRate >= 0.1f,
+ download = fDownloadRate >= 0.1f;
CGFloat bottom = 0.0f;
if (upload)
{
- (void) updateBadge
{
- float downloadRate = [[NSUserDefaults standardUserDefaults] boolForKey: @"BadgeDownloadRate"]
- ? tr_sessionGetPieceSpeed(fLib, TR_DOWN) : 0.0;
- float uploadRate = [[NSUserDefaults standardUserDefaults] boolForKey: @"BadgeUploadRate"]
- ? tr_sessionGetPieceSpeed(fLib, TR_UP) : 0.0;
+ const float downloadRate = [[NSUserDefaults standardUserDefaults] boolForKey: @"BadgeDownloadRate"]
+ ? tr_sessionGetPieceSpeed(fLib, TR_DOWN) : 0.0;
+ const float uploadRate = [[NSUserDefaults standardUserDefaults] boolForKey: @"BadgeUploadRate"]
+ ? tr_sessionGetPieceSpeed(fLib, TR_UP) : 0.0;
- [(BadgeView *)[[NSApp dockTile] contentView] displayRatesWithDownload: downloadRate upload: uploadRate];
+ //only update if the badged values change
+ if ([(BadgeView *)[[NSApp dockTile] contentView] setRatesWithDownload: downloadRate upload: uploadRate])
+ [[NSApp dockTile] display];
}
- (void) incrementCompleted