F4B1E30C19D1C06900805879 /* HMHokyuChargeCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B1E30B19D1C06900805879 /* HMHokyuChargeCommand.m */; };
F4B1E30F19D1C9C400805879 /* HMApplySuppliesCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B1E30E19D1C9C400805879 /* HMApplySuppliesCommand.m */; };
F4B2A08F1A1F9C2100D2EF12 /* HMExternalBrowserWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B2A08D1A1F9C2100D2EF12 /* HMExternalBrowserWindowController.m */; };
- F4B2D02B18F83A2F00542742 /* HMScreenshotWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F4B2D02D18F83A2F00542742 /* HMScreenshotWindowController.xib */; };
F4B37EF019FADFC9002F371A /* HMIgnoreZeroTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B37EEF19FADFC9002F371A /* HMIgnoreZeroTransformer.m */; };
F4B37EF319FBBBED002F371A /* HMRemodelSlotCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B37EF219FBBBED002F371A /* HMRemodelSlotCommand.m */; };
F4B37EF619FBE801002F371A /* HMRemodelSlotItemCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B37EF519FBE801002F371A /* HMRemodelSlotItemCommand.m */; };
F4B3DC4718EEEB920011B4FC /* HMStart2Command.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B3DC4618EEEB920011B4FC /* HMStart2Command.m */; };
F4B3DC4C18F0C8A90011B4FC /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4B3DC4B18F0C8A90011B4FC /* Social.framework */; };
F4B3DC4E18F0C8FF0011B4FC /* Accounts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4B3DC4D18F0C8FF0011B4FC /* Accounts.framework */; };
- F4B3DC5218F150CD0011B4FC /* HMScreenshotWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B3DC5018F150CD0011B4FC /* HMScreenshotWindowController.m */; };
F4B414E918B09A4B00468DAF /* HMMasterMapAreaCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B414E818B09A4B00468DAF /* HMMasterMapAreaCommand.m */; };
F4B414EC18B0A7D600468DAF /* HMMasterUseItemCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B414EB18B0A7D600468DAF /* HMMasterUseItemCommand.m */; };
F4B414EF18B0BF1A00468DAF /* HMMasterMapInfoCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B414EE18B0BF1A00468DAF /* HMMasterMapInfoCommand.m */; };
F4B1E30E19D1C9C400805879 /* HMApplySuppliesCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMApplySuppliesCommand.m; sourceTree = "<group>"; };
F4B2A08C1A1F9C2100D2EF12 /* HMExternalBrowserWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMExternalBrowserWindowController.h; sourceTree = "<group>"; };
F4B2A08D1A1F9C2100D2EF12 /* HMExternalBrowserWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMExternalBrowserWindowController.m; sourceTree = "<group>"; };
- F4B2D02C18F83A2F00542742 /* ja */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ja; path = ja.lproj/HMScreenshotWindowController.xib; sourceTree = "<group>"; };
F4B37EEE19FADFC9002F371A /* HMIgnoreZeroTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMIgnoreZeroTransformer.h; sourceTree = "<group>"; };
F4B37EEF19FADFC9002F371A /* HMIgnoreZeroTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMIgnoreZeroTransformer.m; sourceTree = "<group>"; };
F4B37EF119FBBBED002F371A /* HMRemodelSlotCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMRemodelSlotCommand.h; sourceTree = "<group>"; };
F4B3DC4618EEEB920011B4FC /* HMStart2Command.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMStart2Command.m; sourceTree = "<group>"; };
F4B3DC4B18F0C8A90011B4FC /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; };
F4B3DC4D18F0C8FF0011B4FC /* Accounts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accounts.framework; path = System/Library/Frameworks/Accounts.framework; sourceTree = SDKROOT; };
- F4B3DC4F18F150CD0011B4FC /* HMScreenshotWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMScreenshotWindowController.h; sourceTree = "<group>"; };
- F4B3DC5018F150CD0011B4FC /* HMScreenshotWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMScreenshotWindowController.m; sourceTree = "<group>"; };
F4B414E718B09A4B00468DAF /* HMMasterMapAreaCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMMasterMapAreaCommand.h; sourceTree = "<group>"; };
F4B414E818B09A4B00468DAF /* HMMasterMapAreaCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMMasterMapAreaCommand.m; sourceTree = "<group>"; };
F4B414EA18B0A7D600468DAF /* HMMasterUseItemCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMMasterUseItemCommand.h; sourceTree = "<group>"; };
F4B3DC2B18E07B680011B4FC /* HMHistoryWindowController.h */,
F4B3DC2C18E07B680011B4FC /* HMHistoryWindowController.m */,
F4B3DC3218E5C81E0011B4FC /* HMHistoryWindowController.xib */,
- F4B3DC4F18F150CD0011B4FC /* HMScreenshotWindowController.h */,
- F4B3DC5018F150CD0011B4FC /* HMScreenshotWindowController.m */,
- F4B2D02D18F83A2F00542742 /* HMScreenshotWindowController.xib */,
F4A3AD8919B9BE7A00FDBF80 /* HMMaskSelectView.h */,
F4A3AD8A19B9BE7A00FDBF80 /* HMMaskSelectView.m */,
F4A3AD8C19BB220000FDBF80 /* HMMaskInfomation.h */,
isa = PBXProject;
attributes = {
CLASSPREFIX = HM;
- LastUpgradeCheck = 0510;
+ LastUpgradeCheck = 0720;
ORGANIZATIONNAME = "Hori,Masaki";
TargetAttributes = {
F4BDEB63187252F30069D0CE = {
F4B3DC3618E5C8650011B4FC /* HMShipWindowController.xib in Resources */,
F4C6685A1C54510E00601AFB /* HMBookmarkEditorViewController.xib in Resources */,
F4B3DC3C18E5C87D0011B4FC /* HMDocksViewController.xib in Resources */,
- F4B2D02B18F83A2F00542742 /* HMScreenshotWindowController.xib in Resources */,
F4C668631C54518F00601AFB /* HMProgressPanel.xib in Resources */,
F4C6686F1C54524900601AFB /* HMVerticalFleetViewController.xib in Resources */,
F4C668601C54517500601AFB /* HMGameViewController.xib in Resources */,
F4A2AF5B1A0F9B490024BD9E /* HMScreenshotInformation.m in Sources */,
F4666C561B1E0262001840DB /* HMBookmarkEditorViewController.m in Sources */,
F43769DE1AE1248800DE6204 /* HMAirBattleCommand.m in Sources */,
- F4B3DC5218F150CD0011B4FC /* HMScreenshotWindowController.m in Sources */,
F426802E194D0FFD00B2C27F /* HMMemberShip3Command.m in Sources */,
F4B37EF319FBBBED002F371A /* HMRemodelSlotCommand.m in Sources */,
F495462E1B1894DD00E0D8D0 /* Bookmark.xcdatamodeld in Sources */,
name = Taihi.txt;
sourceTree = "<group>";
};
- F4B2D02D18F83A2F00542742 /* HMScreenshotWindowController.xib */ = {
- isa = PBXVariantGroup;
- children = (
- F4B2D02C18F83A2F00542742 /* ja */,
- );
- name = HMScreenshotWindowController.xib;
- sourceTree = "<group>";
- };
F4B37F0119FC8DCC002F371A /* HMUpgradableShipsWindowController.xib */ = {
isa = PBXVariantGroup;
children = (
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
"COREDATA_STORE_TYPE=0",
);
INFOPLIST_FILE = "KCD/KCD-Info.plist";
- MACOSX_DEPLOYMENT_TARGET = 10.9;
+ MACOSX_DEPLOYMENT_TARGET = 10.10;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.masakih.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
"UI_TEST=0",
);
INFOPLIST_FILE = "KCD/KCD-Info.plist";
- MACOSX_DEPLOYMENT_TARGET = 10.9;
+ MACOSX_DEPLOYMENT_TARGET = 10.10;
+ PRODUCT_BUNDLE_IDENTIFIER = "com.masakih.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
"$(inherited)",
);
INFOPLIST_FILE = "KCDTests/KCDTests-Info.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.masakih.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUNDLE_LOADER)";
WRAPPER_EXTENSION = xctest;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "KCD/KCD-Prefix.pch";
INFOPLIST_FILE = "KCDTests/KCDTests-Info.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.masakih.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUNDLE_LOADER)";
WRAPPER_EXTENSION = xctest;
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "0510"
+ LastUpgradeVersion = "0720"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
</BuildActionEntries>
</BuildAction>
<TestAction
+ buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- shouldUseLaunchSchemeArgsEnv = "YES"
- buildConfiguration = "Debug">
+ shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
ReferencedContainer = "container:KCD.xcodeproj">
</BuildableReference>
</MacroExpansion>
+ <AdditionalOptions>
+ </AdditionalOptions>
</TestAction>
<LaunchAction
+ buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
- buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
+ debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
</AdditionalOptions>
</LaunchAction>
<ProfileAction
+ buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
- buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
[panel setPrompt:@"Save log"];
[panel setTitle:@"Save log"];
[panel beginWithCompletionHandler:^(NSInteger result) {
- if(result == NSOKButton) {
+ if(result == NSModalResponseOK) {
NSArray *array = [self.jsonViewWindowController.commands copy];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:array];
if(!data) {
[panel setPrompt:@"Open log"];
[panel setTitle:@"Open log"];
[panel beginWithCompletionHandler:^(NSInteger result) {
- if(result == NSOKButton) {
+ if(result == NSModalResponseOK) {
NSData *data = [NSData dataWithContentsOfURL:panel.URL];
id array = [NSKeyedUnarchiver unarchiveObjectWithData:data];
if(!array || ![array isKindOfClass:[NSArray class]]) {
-@interface HMExternalBrowserWindowController () <HMBookmarkListViewControllerDelegate, NSAnimationDelegate>
+@interface HMExternalBrowserWindowController () <HMBookmarkListViewControllerDelegate, NSAnimationDelegate, WebFrameLoadDelegate>
@property (nonatomic, weak) IBOutlet NSSegmentedControl *goSegment;
@property (nonatomic, weak) IBOutlet NSView *bookmarkListView;
NSString *date = [NSDateFormatter localizedStringFromDate:untilDate
dateStyle:NSDateFormatterNoStyle
timeStyle:NSDateFormatterMediumStyle];
- NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Reload interval is too short", @"")
- defaultButton:nil
- alternateButton:nil
- otherButton:nil
- informativeTextWithFormat:NSLocalizedString(@"Reload interval is too short.\nWait until %@.", @""), date];
+ NSAlert *alert = [NSAlert new];
+ alert.messageText = NSLocalizedString(@"Reload interval is too short", @"");
+ alert.informativeText = [NSString stringWithFormat:NSLocalizedString(@"Reload interval is too short.\nWait until %@.", @""), date];
+
[alert runModal];
return;
[panel beginSheetModalForWindow:self.window
completionHandler:^(NSInteger result) {
- if(result == NSCancelButton) return;
+ if(result == NSModalResponseCancel) return;
self.screenShotSaveDirectory = panel.URL.path;
}];
completionHandler:^(NSInteger result) {
[self.screenShotSaveDirectoryPopUp selectItemWithTag:kSaveDirectoryItem];
- if(result == NSCancelButton) return;
+ if(result == NSModalResponseCancel) return;
self.screenShotSaveDirectory = panel.URL.path;
}];
+++ /dev/null
-//
-// HMScreenshotWindowController.h
-// KCD
-//
-// Created by Hori,Masaki on 2014/04/06.
-// Copyright (c) 2014年 Hori,Masaki. All rights reserved.
-//
-
-#import <Cocoa/Cocoa.h>
-
-@class HMMaskSelectView;
-
-@interface HMScreenshotWindowController : NSWindowController
-
-@property (strong, nonatomic) NSBitmapImageRep *snapImageRep;
-@property (strong, nonatomic) NSString *tweetString;
-/// 残り文字数
-@property (readonly) NSInteger leaveLength;
-@property (readonly) NSColor *leaveLengthColor;
-@property (readonly) BOOL canTweet;
-@property (readonly) BOOL canSave;
-@property BOOL appendKanColleTag;
-@property (copy, nonatomic) NSString *tagString;
-
-@property (strong, nonatomic) IBOutlet HMMaskSelectView *maskSelectView;
-@property BOOL useMask;
-
-- (IBAction)tweet:(id)sender;
-- (IBAction)saveSnap:(id)sender;
-- (IBAction)cancel:(id)sender;
-
-@end
+++ /dev/null
-//
-// HMScreenshotWindowController.m
-// KCD
-//
-// Created by Hori,Masaki on 2014/04/06.
-// Copyright (c) 2014年 Hori,Masaki. All rights reserved.
-//
-
-#import "HMScreenshotWindowController.h"
-#import "HMUserDefaults.h"
-#import "HMMaskSelectView.h"
-#import "HMMaskInfomation.h"
-
-#import "HMAppDelegate.h"
-
-#import <Accounts/Accounts.h>
-#import <Social/Social.h>
-
-
-@interface NSFileManager (KCDExtension)
-- (NSString *)_web_pathWithUniqueFilenameForPath:(NSString *)path;
-@end
-
-@interface HMScreenshotWindowController ()
-
-@property (readonly) NSData *snapData;
-@property (strong) NSImage *snap;
-
-
-@property (strong) ACAccountStore *accountStore;
-@property BOOL availableTwitter;
-@property NSInteger shortURLLength;
-
-
-- (void)postImage:(NSData *)jpeg withStatus:(NSString *)status;
-@end
-
-@implementation HMScreenshotWindowController
-@synthesize snapImageRep = _snapImageRep;
-@synthesize snap = _snap;
-@synthesize appendKanColleTag = _appendKanColleTag;
-@synthesize useMask = _useMask;
-
-+ (NSSet *)keyPathsForValuesAffectingLeaveLength
-{
- return [NSSet setWithObjects:@"tweetString", @"appendKanColleTag", nil];
-}
-+ (NSSet *)keyPathsForValuesAffectingLeaveLengthColor
-{
- return [NSSet setWithObject:@"leaveLength"];
-}
-+ (NSSet *)keyPathsForValuesAffectingSnap
-{
- return [NSSet setWithObject:@"snapData"];
-}
-+ (NSSet *)keyPathsForValuesAffectingCanTweet
-{
- return [NSSet setWithObject:@"leaveLength"];
-}
-
-- (id)init
-{
- self = [super initWithWindowNibName:NSStringFromClass([self class])];
- if(self) {
- _accountStore = [ACAccountStore new];
-
- [self checkShortURLLength];
-
- NSString *tag = NSLocalizedString(@"kancolle", @"kancolle twitter hash tag");
- if(tag) {
- _tagString = [NSString stringWithFormat:@" #%@", tag];
- } else {
- _tagString = @"";
- }
- _appendKanColleTag = HMStandardDefaults.appendKanColleTag;
-
- self.tweetString = @"";
-
- _useMask = HMStandardDefaults.useMask;
- }
- return self;
-}
-
-- (NSBitmapImageRep *)snapImageRep
-{
- return _snapImageRep;
-}
-- (void)setSnapImageRep:(NSBitmapImageRep *)snapImageRep
-{
- _snapImageRep = snapImageRep;
- self.snap = nil;
-}
-
-- (NSData *)snapData
-{
- NSBitmapImageRep *rep = self.snapImageRep;
-
- if(self.useMask) {
- NSImage *image = [[NSImage alloc] initWithSize:[self.snapImageRep size]];
- [image addRepresentation:self.snapImageRep];
-
- [image lockFocus];
- for(HMMaskInfomation *info in self.maskSelectView.masks) {
- if(info.enable) {
- NSBezierPath *path = [NSBezierPath bezierPathWithRect:info.maskRect];
- [info.maskColor set];
- [path fill];
- }
- }
- [image unlockFocus];
-
- NSData *tiffData = [image TIFFRepresentation];
- rep = [NSBitmapImageRep imageRepWithData:tiffData];
- }
-
- return [rep representationUsingType:NSJPEGFileType properties:nil];
-}
-- (NSImage *)snap
-{
- if(_snap) return _snap;
-
- NSImage *image = [[NSImage alloc] initWithData:self.snapData];
- _snap = image;
- self.tweetString = @"";
-
- return _snap;
-}
-- (void)setSnap:(NSImage *)snap
-{
- _snap = snap;
-}
-- (BOOL)useMask
-{
- return _useMask;
-}
-- (void)setUseMask:(BOOL)useMask
-{
- HMStandardDefaults.useMask = useMask;
- _useMask = useMask;
-}
-- (NSInteger)leaveLength
-{
- const NSUInteger maxTweetLength = 140;
- if(self.appendKanColleTag) return maxTweetLength - self.tagString.length - self.shortURLLength - self.tweetString.length;
- return maxTweetLength - self.shortURLLength - self.tweetString.length;
-}
-- (NSColor *)leaveLengthColor
-{
- if(self.leaveLength < 0) {
- return [NSColor colorWithCalibratedRed:159/255.0 green:14/255.0 blue:0 alpha:1];
- }
- return [NSColor controlTextColor];
-}
-- (BOOL)appendKanColleTag
-{
- return _appendKanColleTag;
-}
-- (void)setAppendKanColleTag:(BOOL)appendKanColleTag
-{
- HMStandardDefaults.appendKanColleTag = appendKanColleTag;
- _appendKanColleTag = appendKanColleTag;
-}
-- (BOOL)canTweet
-{
- ACAccountType *twitterType = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
- if(![twitterType accessGranted]) {
- [self.accountStore requestAccessToAccountsWithType:twitterType
- options:nil
- completion:^(BOOL granted, NSError *error) {
- if(!granted) {
- NSLog(@"No access granted");
- } else {
-// NSLog(@"succsess");
- }
- }];
- }
- NSArray *accounts = [self.accountStore accountsWithAccountType:twitterType];
- if([accounts count] == 0) {
- NSLog(@"twitter account not avail.");
- NSLog(@"Accounts -> %@", self.accountStore.accounts);
- return NO;
- }
- self.availableTwitter = YES;
-
- return self.availableTwitter && self.leaveLength >= 0;
-}
-- (BOOL)canSave
-{
- return self.snapData ? YES : NO;
-}
-
-- (NSURL *)saveDirectoryURL
-{
- HMAppDelegate *appDelegate = [[NSApplication sharedApplication] delegate];
- return [NSURL fileURLWithPath:appDelegate.screenShotSaveDirectory];
-}
-
-- (IBAction)tweet:(id)sender
-{
- if(!self.snapData) {
- NSBeep();
- return;
- }
-
- NSString *status = self.tweetString;
- if(!status) status = @"";
- if(self.appendKanColleTag) {
- status = [status stringByAppendingString:self.tagString];
- }
-
- if(self.leaveLength >= 0) {
- [self postImage:self.snapData withStatus:status];
- [self.window.sheetParent endSheet:self.window returnCode:NSOKButton + 1];
- } else {
- NSBeep();
- }
-}
-
-- (IBAction)saveSnap:(id)sender
-{
- [self.window.sheetParent endSheet:self.window returnCode:NSOKButton + 0];
-
- if(!self.snapData) return;
-
- NSBundle *mainBundle = [NSBundle mainBundle];
- NSDictionary *infoList = [mainBundle localizedInfoDictionary];
- NSString *filename = [infoList objectForKey:@"CFBundleName"];
- if([filename length] == 0) {
- filename = @"KCD";
- }
- filename = [filename stringByAppendingPathExtension:@"jpg"];
- NSURL *path = [[self saveDirectoryURL] URLByAppendingPathComponent:filename];
-
- filename = [[NSFileManager defaultManager] _web_pathWithUniqueFilenameForPath:[path path]];
-
- [self.snapData writeToFile:filename atomically:YES];
-}
-- (IBAction)cancel:(id)sender
-{
- [self.window.sheetParent endSheet:self.window returnCode:NSCancelButton];
-}
-- (void)postImage:(NSData *)jpeg withStatus:(NSString *)status
-{
- ACAccountType *twitterType = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
-
- SLRequestHandler requestHandler =
- ^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
- if (responseData) {
- NSInteger statusCode = urlResponse.statusCode;
- if (statusCode >= 200 && statusCode < 300) {
-// NSDictionary *postResponseData =
-// [NSJSONSerialization JSONObjectWithData:responseData
-// options:NSJSONReadingMutableContainers
-// error:NULL];
-// NSLog(@"[SUCCESS!] Created Tweet with ID: %@", postResponseData[@"id_str"]);
- }
- else {
- NSLog(@"[ERROR] Server responded: status code %ld %@", statusCode,
- [NSHTTPURLResponse localizedStringForStatusCode:statusCode]);
- }
- }
- else {
- NSLog(@"[ERROR] An error occurred while posting: %@", [error localizedDescription]);
- }
- };
-
- ACAccountStoreRequestAccessCompletionHandler accountStoreHandler =
- ^(BOOL granted, NSError *error) {
- if (granted) {
- NSArray *accounts = [self.accountStore accountsWithAccountType:twitterType];
- NSURL *url = [NSURL URLWithString:@"https://api.twitter.com"
- @"/1.1/statuses/update_with_media.json"];
- NSDictionary *params = @{@"status" : status};
- SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeTwitter
- requestMethod:SLRequestMethodPOST
- URL:url
- parameters:params];
- [request addMultipartData:jpeg
- withName:@"media[]"
- type:@"image/jpeg"
- filename:@"image.jpg"];
- [request setAccount:[accounts lastObject]];
- [request performRequestWithHandler:requestHandler];
- }
- else {
- NSLog(@"[ERROR] An error occurred while asking for user authorization: %@",
- [error localizedDescription]);
- }
- };
-
- [self.accountStore requestAccessToAccountsWithType:twitterType
- options:NULL
- completion:accountStoreHandler];
-}
-
-- (void)checkShortURLLength
-{
- ACAccountType *twitterType = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
-
- SLRequestHandler requestHandler =
- ^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
- if (responseData) {
- NSInteger statusCode = urlResponse.statusCode;
- if (statusCode >= 200 && statusCode < 300) {
- NSDictionary *postResponseData =
- [NSJSONSerialization JSONObjectWithData:responseData
- options:NSJSONReadingMutableContainers
- error:NULL];
-// NSLog(@"[SUCCESS!] characters_reserved_per_media is %@", postResponseData[@"characters_reserved_per_media"]);
-
- self.shortURLLength = [postResponseData[@"characters_reserved_per_media"] integerValue];
- }
- else {
- NSLog(@"[ERROR] Server responded: status code %ld %@", statusCode,
- [NSHTTPURLResponse localizedStringForStatusCode:statusCode]);
- }
- }
- else {
- NSLog(@"[ERROR] An error occurred while posting: %@", [error localizedDescription]);
- }
- };
-
- ACAccountStoreRequestAccessCompletionHandler accountStoreHandler =
- ^(BOOL granted, NSError *error) {
- if (granted) {
- NSArray *accounts = [self.accountStore accountsWithAccountType:twitterType];
- NSURL *url = [NSURL URLWithString:@"https://api.twitter.com"
- @"/1.1/help/configuration.json"];
- SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeTwitter
- requestMethod:SLRequestMethodGET
- URL:url
- parameters:nil];
- [request setAccount:[accounts lastObject]];
- [request performRequestWithHandler:requestHandler];
- }
- else {
- NSLog(@"[ERROR] An error occurred while asking for user authorization: %@",
- [error localizedDescription]);
- }
- };
-
- [self.accountStore requestAccessToAccountsWithType:twitterType
- options:NULL
- completion:accountStoreHandler];
-
-}
-
-
-/**
- NSControl delegate
- */
-- (BOOL)control:(NSControl*)control textView:(NSTextView*)textView doCommandBySelector:(SEL)commandSelector
-{
- BOOL result = NO;
- if (commandSelector == @selector(insertNewline:))
- {
- [textView insertNewlineIgnoringFieldEditor:self];
- result = YES;
- }
- return result;
-}
-
-/**
- * NSWindow delegate
- */
-- (void)windowWillClose:(NSNotification *)notification
-{
- [self.maskSelectView disableAllMasks:self];
-}
-
-@end
[super drawInteriorWithFrame:cellFrame inView:controlView];
return;
}
+//
+// NSTextStorage *textStorage = [[NSTextStorage alloc] initWithString:attributedString.string attributes:attribute];
+// [textStorage addLayoutManager:self.layoutManager];
+//
+// NSRange range = [self.layoutManager glyphRangeForTextContainer:self.textContainer];
+// NSGlyph glyph[range.length];
+// NSUInteger glyphLength = [self.layoutManager getGlyphs:glyph range:range];
+//
+// NSFont *font = [attribute objectForKey:NSFontAttributeName];
+// NSPoint point = {boarderWidth,0};
+// point.y -= [font descender];
+// if([controlView isFlipped]) {
+// point.y -= [controlView frame].size.height;
+// }
+//
+// NSBezierPath *path = [NSBezierPath new];
+// [path moveToPoint:point];
+// [path appendBezierPathWithGlyphs:glyph count:glyphLength inFont:font];
+// [path setLineWidth:boarderWidth];
+// [path setLineJoinStyle:NSRoundLineJoinStyle];
+// if([controlView isFlipped]) {
+// NSAffineTransform *affineTransform = [NSAffineTransform transform];
+// [affineTransform scaleXBy:1 yBy:-1];
+// [path transformUsingAffineTransform:affineTransform];
+// }
+//
+// [[NSColor blackColor] set];
+// [path stroke];
+//
+// [forgroundColor set];
+// [path fill];
- NSTextStorage *textStorage = [[NSTextStorage alloc] initWithString:attributedString.string attributes:attribute];
- [textStorage addLayoutManager:self.layoutManager];
-
- NSRange range = [self.layoutManager glyphRangeForTextContainer:self.textContainer];
- NSGlyph glyph[range.length];
- NSUInteger glyphLength = [self.layoutManager getGlyphs:glyph range:range];
-
- NSFont *font = [attribute objectForKey:NSFontAttributeName];
- NSPoint point = {boarderWidth,0};
- point.y -= [font descender];
- if([controlView isFlipped]) {
- point.y -= [controlView frame].size.height;
- }
-
- NSBezierPath *path = [NSBezierPath new];
- [path moveToPoint:point];
- [path appendBezierPathWithGlyphs:glyph count:glyphLength inFont:font];
- [path setLineWidth:boarderWidth];
- [path setLineJoinStyle:NSRoundLineJoinStyle];
- if([controlView isFlipped]) {
- NSAffineTransform *affineTransform = [NSAffineTransform transform];
- [affineTransform scaleXBy:1 yBy:-1];
- [path transformUsingAffineTransform:affineTransform];
- }
+ NSMutableDictionary *newAttr = [attribute mutableCopy];
+ newAttr[NSStrokeColorAttributeName] = [NSColor blackColor];
+ newAttr[NSStrokeWidthAttributeName] = @(-4);
- [[NSColor blackColor] set];
- [path stroke];
+ [attributedString.string drawInRect:cellFrame withAttributes:newAttr];
- [forgroundColor set];
- [path fill];
}
@end
[panel setAllowedFileTypes:@[@"kcdlocaldata"]];
[panel beginWithCompletionHandler:^(NSInteger result) {
- if(result != NSOKButton) return;
+ if(result != NSModalResponseOK) return;
NSString *path = [panel.URL path];
- NSFileWrapper *fileWrapper = [[NSFileWrapper alloc] initDirectoryWithFileWrappers:nil];
+ NSFileWrapper *fileWrapper = [[NSFileWrapper alloc] initDirectoryWithFileWrappers:@{}];
[fileWrapper setFilename:[path lastPathComponent]];
[fileWrapper addRegularFileWithContents:[self dataOfKaihatuHistory]
preferredFilename:@"kaihatu.tsv"];
[fileWrapper addRegularFileWithContents:[self dataOfKenzoMark]
preferredFilename:@"kenzoMark.tsv"];
- [fileWrapper writeToFile:path atomically:YES updateFilenames:NO];
+ [fileWrapper writeToURL:[NSURL fileURLWithPath:path]
+ options:NSFileWrapperWritingAtomic
+ originalContentsURL:nil
+ error:NULL];
}];
}
return num == 0;
}
+- (NSDateFormatter *)dateFormatter
+{
+ NSDateFormatter *formatter = [NSDateFormatter new];
+ formatter.dateFormat = @"yyyy'-'MM'-'dd' 'HH':'mm':'ss' 'Z";
+
+ return formatter;
+}
+- (NSDate *)dateWithString:(NSString *)string
+{
+ return [self.dateFormatter dateFromString:string];
+}
+
- (void)buildKaihatuHistoryFromData:(NSData *)data
{
NSString *entityName = @"KaihatuHistory";
NSArray *array = [lds objectsWithEntityName:entityName
error:NULL
- predicateFormat:@"date = %@", [NSDate dateWithString:attr[0]]];
+ predicateFormat:@"date = %@", [self dateWithString:attr[0]]];
if(array.count != 0) continue;
HMKaihatuHistory *obj = [NSEntityDescription insertNewObjectForEntityForName:entityName
inManagedObjectContext:moc];
- obj.date = [NSDate dateWithString:attr[0]];
+ obj.date = [self dateWithString:attr[0]];
obj.fuel = @([attr[1] integerValue]);
obj.bull = @([attr[2] integerValue]);
obj.steel = @([attr[3] integerValue]);
NSArray *array = [lds objectsWithEntityName:entityName
error:NULL
- predicateFormat:@"date = %@", [NSDate dateWithString:attr[0]]];
+ predicateFormat:@"date = %@", [self dateWithString:attr[0]]];
if(array.count != 0) continue;
HMKenzoHistory *obj = [NSEntityDescription insertNewObjectForEntityForName:entityName
inManagedObjectContext:lds.managedObjectContext];
- obj.date = [NSDate dateWithString:attr[0]];
+ obj.date = [self dateWithString:attr[0]];
obj.fuel = @([attr[1] integerValue]);
obj.bull = @([attr[2] integerValue]);
obj.steel = @([attr[3] integerValue]);
[panel setAllowedFileTypes:@[@"kcdlocaldata"]];
[panel beginWithCompletionHandler:^(NSInteger result) {
- if(result != NSOKButton) return;
+ if(result != NSModalResponseOK) return;
NSFileWrapper *wrapper = [[NSFileWrapper alloc] initWithURL:panel.URL
options:0
return [NSArray new];
}
+
+- (NSDateFormatter *)dateFormatter
+{
+ NSDateFormatter *formatter = [NSDateFormatter new];
+ formatter.dateFormat = @"yyyy'-'MM'-'dd' 'HH':'mm':'ss' 'Z";
+
+ return formatter;
+}
- (void)setPrevReloadDate:(NSDate *)prevReloadDate
{
if(prevReloadDate) {
- [self setObject:[prevReloadDate description] forKey:@"previousReloadDateString"];
+ NSString *dateString = [self.dateFormatter stringFromDate:prevReloadDate];
+ [self setObject:dateString forKey:@"previousReloadDateString"];
}
}
- (NSDate *)prevReloadDate
{
+ NSDate *date = nil;
NSString *dateString = [self stringForKey:@"previousReloadDateString"];
if(dateString) {
- return [NSDate dateWithString:dateString];
+ date = [self.dateFormatter dateFromString:dateString];
}
- return nil;
+ return date;
}
- (void)setShowsDebugMenu:(BOOL)showsDebugMenu
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
- <string>com.masakih.${PRODUCT_NAME:rfc1034identifier}</string>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="14F1605" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<dependencies>
- <deployment version="1070" identifier="macosx"/>
- <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
+ <deployment version="101000" identifier="macosx"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9532"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="HMDocksViewController">
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="14F1605" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<dependencies>
- <deployment version="1070" identifier="macosx"/>
- <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
+ <deployment version="101000" identifier="macosx"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9532"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="HMPowerUpSupportViewController">
<rect key="frame" x="1" y="335" width="304" height="16"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
- <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="B9P-a1-x7u">
+ <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="B9P-a1-x7u">
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" id="xz8-nE-DgQ">
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="5056" systemVersion="13E28" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
- <dependencies>
- <deployment defaultVersion="1090" identifier="macosx"/>
- <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="5056"/>
- </dependencies>
- <objects>
- <customObject id="-2" userLabel="File's Owner" customClass="HMScreenshotWindowController">
- <connections>
- <outlet property="maskSelectView" destination="Qel-rW-zMa" id="6a6-r8-pUI"/>
- <outlet property="window" destination="eY8-6X-dvz" id="dTU-bD-fWQ"/>
- </connections>
- </customObject>
- <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
- <customObject id="-3" userLabel="Application"/>
- <window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" hidesOnDeactivate="YES" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="default" id="eY8-6X-dvz" customClass="NSPanel">
- <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" utility="YES"/>
- <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
- <rect key="contentRect" x="139" y="85" width="824" height="573"/>
- <rect key="screenRect" x="0.0" y="0.0" width="1440" height="900"/>
- <view key="contentView" id="BdN-Ty-60O">
- <rect key="frame" x="0.0" y="0.0" width="824" height="573"/>
- <autoresizingMask key="autoresizingMask"/>
- <subviews>
- <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" id="bPo-Ps-Fn9">
- <rect key="frame" x="12" y="81" width="800" height="480"/>
- <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
- <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" imageFrameStyle="groove" id="WQ1-EF-h9K">
- <connections>
- <binding destination="-2" name="value" keyPath="snap" id="ztW-29-ApS"/>
- </connections>
- </imageCell>
- <connections>
- <binding destination="-2" name="value" keyPath="snap" id="Ndv-77-qrv"/>
- </connections>
- </imageView>
- <button verticalHuggingPriority="750" id="QSn-nP-QM9">
- <rect key="frame" x="738" y="4" width="77" height="32"/>
- <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
- <buttonCell key="cell" type="push" title="Tweet" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="hKL-za-mNQ">
- <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
- <font key="font" metaFont="system"/>
- <string key="keyEquivalent" base64-UTF8="YES">
-DQ
-</string>
- <modifierMask key="keyEquivalentModifierMask" command="YES"/>
- </buttonCell>
- <connections>
- <action selector="tweet:" target="-2" id="oxu-qX-fZQ"/>
- <binding destination="-2" name="enabled" keyPath="canTweet" id="0PU-x5-LNS"/>
- </connections>
- </button>
- <button verticalHuggingPriority="750" id="8NF-GL-Cnh">
- <rect key="frame" x="738" y="39" width="77" height="32"/>
- <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
- <buttonCell key="cell" type="push" title="保存" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="5L4-tU-nuf">
- <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
- <font key="font" size="13" name="AquaKana"/>
- <string key="keyEquivalent">s</string>
- <modifierMask key="keyEquivalentModifierMask" command="YES"/>
- </buttonCell>
- <connections>
- <action selector="saveSnap:" target="-2" id="jkJ-0D-Lv6"/>
- <binding destination="-2" name="enabled" keyPath="canSave" id="xKz-eL-SWF"/>
- </connections>
- </button>
- <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="Wc2-R4-iL2">
- <rect key="frame" x="561" y="13" width="75" height="17"/>
- <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="yEh-2d-uGy">
- <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="Jtd-it-A4T"/>
- <font key="font" metaFont="system"/>
- <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
- <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
- </textFieldCell>
- <connections>
- <binding destination="-2" name="value" keyPath="leaveLength" id="HiL-Qo-40d"/>
- <binding destination="-2" name="textColor" keyPath="leaveLengthColor" id="NUf-fn-X4x"/>
- </connections>
- </textField>
- <button verticalHuggingPriority="750" id="G3Z-2d-c9e">
- <rect key="frame" x="636" y="4" width="105" height="32"/>
- <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
- <buttonCell key="cell" type="push" title="キャンセル" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="8ov-TJ-6Mj">
- <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
- <font key="font" size="13" name="AquaKana"/>
- <string key="keyEquivalent" base64-UTF8="YES">
-Gw
-</string>
- </buttonCell>
- <connections>
- <action selector="cancel:" target="-2" id="r5S-hO-5Q5"/>
- </connections>
- </button>
- <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" id="ho6-3i-FKa">
- <rect key="frame" x="15" y="11" width="540" height="56"/>
- <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
- <textFieldCell key="cell" selectable="YES" editable="YES" continuous="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" focusRingType="none" drawsBackground="YES" id="93o-12-WAJ">
- <font key="font" metaFont="system"/>
- <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
- <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
- </textFieldCell>
- <connections>
- <binding destination="-2" name="value" keyPath="tweetString" id="xpK-Qb-Go3">
- <dictionary key="options">
- <bool key="NSContinuouslyUpdatesValue" value="YES"/>
- </dictionary>
- </binding>
- <outlet property="delegate" destination="-2" id="p4Y-tX-fbw"/>
- </connections>
- </textField>
- <button id="C66-Fp-b36">
- <rect key="frame" x="561" y="36" width="148" height="18"/>
- <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
- <buttonCell key="cell" type="check" title="#艦これタグを付ける" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="OqJ-RP-HMQ">
- <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
- <font key="font" metaFont="system"/>
- </buttonCell>
- <connections>
- <binding destination="-2" name="value" keyPath="appendKanColleTag" id="ukT-7z-hpV"/>
- </connections>
- </button>
- <button id="vsh-0d-Ggv">
- <rect key="frame" x="561" y="56" width="148" height="18"/>
- <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
- <buttonCell key="cell" type="check" title="提督名をマスク" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="klQ-YC-3eZ">
- <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
- <font key="font" metaFont="system"/>
- </buttonCell>
- <connections>
- <binding destination="-2" name="value" keyPath="useMask" id="RIk-oO-QyV"/>
- </connections>
- </button>
- <customView id="Qel-rW-zMa" customClass="HMMaskSelectView">
- <rect key="frame" x="12" y="81" width="800" height="480"/>
- <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
- <connections>
- <binding destination="-2" name="hidden" keyPath="useMask" id="v0U-VX-l8s">
- <dictionary key="options">
- <string key="NSValueTransformerName">NSNegateBoolean</string>
- </dictionary>
- </binding>
- </connections>
- </customView>
- </subviews>
- </view>
- <connections>
- <outlet property="delegate" destination="-2" id="jh0-1p-0nL"/>
- </connections>
- </window>
- <userDefaultsController representsSharedInstance="YES" id="KEF-9h-XOk"/>
- </objects>
-</document>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="14F1605" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<dependencies>
- <deployment identifier="macosx"/>
- <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9532"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="HMShipMasterDetailWindowController">
<window title="Ownership Ship Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
- <rect key="contentRect" x="196" y="240" width="630" height="678"/>
+ <rect key="contentRect" x="90" y="180" width="630" height="678"/>
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="900"/>
<view key="contentView" id="se5-gp-TjO">
<rect key="frame" x="0.0" y="0.0" width="630" height="678"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" headerView="dwR-Me-cZN" id="s4z-M5-vhI">
- <rect key="frame" x="0.0" y="0.0" width="275" height="19"/>
+ <rect key="frame" x="0.0" y="0.0" width="275" height="297"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" headerView="f1c-hl-dJr" id="Mzz-KV-eB2">
- <rect key="frame" x="0.0" y="0.0" width="275" height="19"/>
+ <rect key="frame" x="0.0" y="0.0" width="275" height="76"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" headerView="ycN-ag-mO5" id="Snb-45-B3k">
- <rect key="frame" x="0.0" y="0.0" width="275" height="19"/>
+ <rect key="frame" x="0.0" y="0.0" width="275" height="114"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" headerView="9wX-YE-bGk" id="GUs-3W-FlJ">
- <rect key="frame" x="0.0" y="0.0" width="294" height="19"/>
+ <rect key="frame" x="0.0" y="0.0" width="294" height="456"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" headerView="EbW-8E-f1Z" id="pEN-b2-MoX">
- <rect key="frame" x="0.0" y="0.0" width="294" height="19"/>
+ <rect key="frame" x="0.0" y="0.0" width="294" height="95"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="14F1509" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<dependencies>
- <deployment version="1070" identifier="macosx"/>
- <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
+ <deployment version="101000" identifier="macosx"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9532"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="HMShipViewController">
<rect key="frame" x="-100" y="-100" width="304" height="16"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
- <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="B9P-a1-x7u">
+ <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="B9P-a1-x7u">
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" id="xz8-nE-DgQ">
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" multipleSelection="NO" autosaveName="shipviewtable22" headerView="QxO-zY-mjX" id="Ze3-Gd-1Qe">
- <rect key="frame" x="0.0" y="0.0" width="309" height="19"/>
+ <rect key="frame" x="0.0" y="0.0" width="309" height="334"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="_sourceListBackgroundColor" catalog="System" colorSpace="catalog"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="none" alternatingRowBackgroundColors="YES" multipleSelection="NO" autosaveName="shipviewtable23" headerView="dJx-c5-qhN" id="qaM-It-e1l">
- <rect key="frame" x="0.0" y="0.0" width="309" height="19"/>
+ <rect key="frame" x="0.0" y="0.0" width="309" height="334"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="_sourceListBackgroundColor" catalog="System" colorSpace="catalog"/>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
- <string>com.masakih.${PRODUCT_NAME:rfc1034identifier}</string>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>