OSDN Git Service

起動時に艦隊リストおよび艦娘の情報の表示位置がおかしくなる問題を修正
authormasakih <masakih@users.sourceforge.jp>
Tue, 10 Mar 2015 12:46:13 +0000 (21:46 +0900)
committermasakih <masakih@users.sourceforge.jp>
Tue, 10 Mar 2015 12:46:13 +0000 (21:46 +0900)
起動時のビューの移動にアニメーションを行わないようにした

KCD/HMBroserWindowController.m
KCD/HMFleetViewController.h
KCD/HMFleetViewController.m

index e401ec1..1a8ae3d 100644 (file)
@@ -67,6 +67,7 @@ typedef NS_ENUM(NSUInteger, FleetViewPosition) {
        self = [super initWithWindowNibName:NSStringFromClass([self class])];
        if(self) {
                _controllers = [NSMutableDictionary new];
+               [self loadWindow];
        }
        return self;
 }
@@ -93,7 +94,10 @@ typedef NS_ENUM(NSUInteger, FleetViewPosition) {
        [self.fleetViewController.view setFrame:[self.deckPlaceholder frame]];
        [self.fleetViewController.view setAutoresizingMask:[self.deckPlaceholder autoresizingMask]];
        [[self.deckPlaceholder superview] replaceSubview:self.deckPlaceholder with:self.fleetViewController.view];
-       
+       [self setFleetViewPosition:HMStandardDefaults.fleetViewPosition animation:NO];
+       self.fleetViewController.enableAnimation = NO;
+       self.fleetViewController.shipOrder = HMStandardDefaults.fleetViewShipOrder;
+       self.fleetViewController.enableAnimation = YES;
        
        [[[self.webView mainFrame] frameView] setAllowsScrolling:NO];
        
@@ -302,7 +306,7 @@ const CGFloat margin = 1;
        self.placeholder.autoresizingMask  = flashViewAutoresizingMask;
 }
 
-- (void)setFleetViewPosition:(FleetViewPosition)fleetViewPosition
+- (void)setFleetViewPosition:(FleetViewPosition)fleetViewPosition animation:(BOOL)flag
 {
        CGFloat flashY;
        CGFloat fleetViewHeight;
@@ -334,13 +338,21 @@ const CGFloat margin = 1;
        }
        
        flashRect.origin.y = flashY;
-       self.placeholder.animator.frame = flashRect;
+       NSView *flash = flag ? self.placeholder.animator : self.placeholder;
+       flash.frame = flashRect;
        
        fleetListRect.size.height = fleetViewHeight;
        fleetListRect.origin.y = fleetViewY;
-       self.fleetViewController.view.animator.frame = fleetListRect;
+       NSView *fleetView = flag ? self.fleetViewController.view.animator : self.fleetViewController.view;
+       fleetView.frame = fleetListRect;
        
        _fleetViewPosition = fleetViewPosition;
+       HMStandardDefaults.fleetViewPosition = fleetViewPosition;
+}
+
+- (void)setFleetViewPosition:(FleetViewPosition)fleetViewPosition
+{
+       [self setFleetViewPosition:fleetViewPosition animation:YES];
 }
 - (FleetViewPosition)fleetViewPosition
 {
@@ -362,10 +374,12 @@ const CGFloat margin = 1;
 - (IBAction)reorderToDoubleLine:(id)sender
 {
        self.fleetViewController.shipOrder = doubleLine;
+       HMStandardDefaults.fleetViewShipOrder = doubleLine;
 }
 - (IBAction)reorderToLeftToRight:(id)sender
 {
        self.fleetViewController.shipOrder = leftToRight;
+       HMStandardDefaults.fleetViewShipOrder = leftToRight;
 }
 
 
index 6811914..7cb537d 100644 (file)
@@ -30,6 +30,7 @@ typedef NS_ENUM(NSInteger, HMFleetViewShipOrder) {
 @property (strong) HMKCDeck* fleet;
 @property NSInteger fleetNumber;
 @property HMFleetViewShipOrder shipOrder;
+@property BOOL enableAnimation;
 
 @property (readonly) BOOL canDivide;
 @property (readonly) CGFloat normalHeight;
index f28d030..2099d3d 100644 (file)
        NSRect frame04 = view04.frame;
        NSRect frame05 = view05.frame;
        
-       view02.animator.frame = frame04;
-       view03.animator.frame = frame02;
-       view04.animator.frame = frame05;
-       view05.animator.frame = frame03;
+       if(self.enableAnimation) {
+               view02.animator.frame = frame04;
+               view03.animator.frame = frame02;
+               view04.animator.frame = frame05;
+               view05.animator.frame = frame03;
+       } else {
+               view02.frame = frame04;
+               view03.frame = frame02;
+               view04.frame = frame05;
+               view05.frame = frame03;
+       }
 }
 - (void)reorderShipToLeftToRight
 {
        NSRect frame04 = view04.frame;
        NSRect frame05 = view05.frame;
        
-       view02.animator.frame = frame03;
-       view03.animator.frame = frame05;
-       view04.animator.frame = frame02;
-       view05.animator.frame = frame04;
+       if(self.enableAnimation) {
+               view02.animator.frame = frame03;
+               view03.animator.frame = frame05;
+               view04.animator.frame = frame02;
+               view05.animator.frame = frame04;
+       } else {
+               view02.frame = frame03;
+               view03.frame = frame05;
+               view04.frame = frame02;
+               view05.frame = frame04;
+       }
 }
 
 @end