From 9fbff1a388ed6c4cbca0c3d73422f931cb8e8e57 Mon Sep 17 00:00:00 2001 From: Luavis Date: Fri, 15 Jul 2016 16:48:03 +0900 Subject: [PATCH] Fix user preference untitled name bug --- FinderPlusPlus/Info.plist | 4 ++-- FinderPlusPlus/SettingWindow.swift | 23 ++++++++++++++--------- FinderPlusPlusSync/FinderSync.swift | 8 +++++++- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/FinderPlusPlus/Info.plist b/FinderPlusPlus/Info.plist index 5e71f41..bc51370 100644 --- a/FinderPlusPlus/Info.plist +++ b/FinderPlusPlus/Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.0 + 1.0.1 CFBundleSignature ???? CFBundleVersion - 1 + 2 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright diff --git a/FinderPlusPlus/SettingWindow.swift b/FinderPlusPlus/SettingWindow.swift index 16e808d..7a25dd8 100644 --- a/FinderPlusPlus/SettingWindow.swift +++ b/FinderPlusPlus/SettingWindow.swift @@ -9,7 +9,7 @@ import Cocoa -class SettingWindow : NSWindow { +class SettingWindow : NSWindow, NSTextFieldDelegate { @IBOutlet weak var defaultTerminalMenu: NSMenu! @IBOutlet weak var newFileNameTextField: NSTextField! @@ -24,7 +24,7 @@ class SettingWindow : NSWindow { override func awakeFromNib() { self.fillUpDefaultTerminalSeletion() - self.fillUpNewFileName() + self.initFileNameField() self.fillUpUserMenu() } @@ -56,11 +56,13 @@ class SettingWindow : NSWindow { userDefaults.synchronize() } - private func fillUpUserMenu() { - // static let newFileMenuToggleKey = "newFile" - // static let openInTerminalToggleKey = "openInTerminal" - // static let copyPathToggleKey = "copyPath" + override func controlTextDidChange(obj: NSNotification) { + if obj.object === self.newFileNameTextField { + userDefaults.setValue(self.newFileNameTextField.stringValue, forKey: Constants.userUntitledFileNameKey) + } + } + private func fillUpUserMenu() { let newFileMenuToggle = userDefaults.boolForKey(Constants.newFileMenuToggleKey) ? NSOnState : NSOffState let openInTerminalToggle = @@ -82,11 +84,14 @@ class SettingWindow : NSWindow { self.copyFilePathCheckBox.action = #selector(toggleCopyFilePath(_:)) } - private func fillUpNewFileName() { - var untitledFileName = NSLocalizedString("untitled file", comment: "untitled file") + private func initFileNameField() { + self.newFileNameTextField.delegate = self + self.fillUpNewFileNameField() + } + private func fillUpNewFileNameField() { + var untitledFileName = NSLocalizedString("untitled file", comment: "untitled file") let userUntitledFileName = userDefaults.valueForKey(Constants.userUntitledFileNameKey) as! String? - if let userUntitledFileName = userUntitledFileName { untitledFileName = userUntitledFileName } diff --git a/FinderPlusPlusSync/FinderSync.swift b/FinderPlusPlusSync/FinderSync.swift index b55f3e9..94dd0cd 100644 --- a/FinderPlusPlusSync/FinderSync.swift +++ b/FinderPlusPlusSync/FinderSync.swift @@ -121,7 +121,13 @@ class FinderSync: FIFinderSync { private func createUntitledFile(path: NSURL?) { if let targetURL = path!.filePathURL { - let untitledFileNameFormat = NSLocalizedString("untitled file", comment: "untitled file") + let userDefaults = NSUserDefaults(suiteName: "com.luavis")! + var untitledFileNameFormat = NSLocalizedString("untitled file", comment: "untitled file") + let userUntitledFileNameFormat = userDefaults.valueForKey(Constants.userUntitledFileNameKey) as! String? + if let userUntitledFileNameFormat = userUntitledFileNameFormat { + untitledFileNameFormat = userUntitledFileNameFormat + } + var untitledFileName = untitledFileNameFormat var index = 1