Register user defaults at application startup
This commit is contained in:
parent
263a7c5051
commit
01c29d8b15
|
@ -13,6 +13,7 @@
|
|||
9501D8091A17025C0034C530 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9501D8081A17025C0034C530 /* Images.xcassets */; };
|
||||
9501D80C1A17025C0034C530 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9501D80A1A17025C0034C530 /* MainMenu.xib */; };
|
||||
9501D8181A17025C0034C530 /* AVRsackTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9501D8171A17025C0034C530 /* AVRsackTests.swift */; };
|
||||
95468DE31A228E1300668EE2 /* Defaults.plist in Resources */ = {isa = PBXBuildFile; fileRef = 95468DE21A228E1300668EE2 /* Defaults.plist */; };
|
||||
95BF80EB1A185C9E0004A693 /* ASFileTree.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95BF80EA1A185C9E0004A693 /* ASFileTree.swift */; };
|
||||
95EA32621A17B90600F66EB0 /* ACEView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95EA325B1A17B8DA00F66EB0 /* ACEView.framework */; };
|
||||
95EA32651A17BA8C00F66EB0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95EA32631A17BA8C00F66EB0 /* Cocoa.framework */; };
|
||||
|
@ -67,6 +68,7 @@
|
|||
9501D8111A17025C0034C530 /* AVRsackTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AVRsackTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9501D8161A17025C0034C530 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
9501D8171A17025C0034C530 /* AVRsackTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AVRsackTests.swift; sourceTree = "<group>"; };
|
||||
95468DE21A228E1300668EE2 /* Defaults.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Defaults.plist; sourceTree = "<group>"; };
|
||||
958D76811A17DA1C00917D96 /* AVRsack-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "AVRsack-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
95BF80EA1A185C9E0004A693 /* ASFileTree.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ASFileTree.swift; sourceTree = "<group>"; };
|
||||
95EA32541A17B8DA00F66EB0 /* ACEView.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ACEView.xcodeproj; path = ../ACEView/ACEView.xcodeproj; sourceTree = "<group>"; };
|
||||
|
@ -158,6 +160,7 @@
|
|||
9501D8081A17025C0034C530 /* Images.xcassets */,
|
||||
9501D80A1A17025C0034C530 /* MainMenu.xib */,
|
||||
9501D8051A17025C0034C530 /* ASProjDoc.xib */,
|
||||
95468DE21A228E1300668EE2 /* Defaults.plist */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
|
@ -292,6 +295,7 @@
|
|||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
95468DE31A228E1300668EE2 /* Defaults.plist in Resources */,
|
||||
9501D8071A17025C0034C530 /* ASProjDoc.xib in Resources */,
|
||||
9501D8091A17025C0034C530 /* Images.xcassets in Resources */,
|
||||
9501D80C1A17025C0034C530 /* MainMenu.xib in Resources */,
|
||||
|
|
|
@ -13,6 +13,30 @@ class ASApplication: NSObject, NSApplicationDelegate {
|
|||
@IBOutlet weak var themeMenu : NSMenu!
|
||||
@IBOutlet weak var keyboardMenu : NSMenu!
|
||||
|
||||
func applicationWillFinishLaunching(notification: NSNotification) {
|
||||
//
|
||||
// Retrieve static app defaults
|
||||
//
|
||||
let fileManager = NSFileManager.defaultManager()
|
||||
let workSpace = NSWorkspace.sharedWorkspace()
|
||||
let userDefaults = NSUserDefaults.standardUserDefaults()
|
||||
let appDefaultsURL = NSBundle.mainBundle().URLForResource("Defaults", withExtension: "plist")!
|
||||
let appDefaults = NSMutableDictionary(contentsOfURL: appDefaultsURL)!
|
||||
//
|
||||
// Add dynamic app defaults
|
||||
//
|
||||
if let arduinoPath = workSpace.URLForApplicationWithBundleIdentifier("cc.arduino.Arduino")?.path {
|
||||
appDefaults["Arduino"] = arduinoPath
|
||||
}
|
||||
var sketchbooks = [NSString]()
|
||||
for doc in fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask) {
|
||||
sketchbooks.append(doc.URLByAppendingPathComponent("Arduino").path!)
|
||||
sketchbooks.append(doc.URLByAppendingPathComponent("AVRSack").path!)
|
||||
}
|
||||
appDefaults["Sketchbooks"] = sketchbooks
|
||||
|
||||
userDefaults.registerDefaults(appDefaults)
|
||||
}
|
||||
func applicationDidFinishLaunching(aNotification: NSNotification) {
|
||||
themeMenu.removeAllItems()
|
||||
for (index, theme) in enumerate(ACEThemeNames.humanThemeNames() as [NSString]) {
|
||||
|
|
|
@ -31,7 +31,6 @@ class ASProjDoc: NSDocument, NSOutlineViewDelegate {
|
|||
override init() {
|
||||
super.init()
|
||||
let userDefaults = NSUserDefaults.standardUserDefaults()
|
||||
userDefaults.registerDefaults([kThemeKey: "xcode", kFontSizeKey: 12, kBindingsKey: "Ace"])
|
||||
if let themeName = userDefaults.stringForKey(kThemeKey) {
|
||||
for (themeIdx, theme) in enumerate(ACEThemeNames.themeNames() as [NSString]) {
|
||||
if themeName == theme {
|
||||
|
|
12
AVRsack/Defaults.plist
Normal file
12
AVRsack/Defaults.plist
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Bindings</key>
|
||||
<string>Ace</string>
|
||||
<key>FontSize</key>
|
||||
<integer>12</integer>
|
||||
<key>Theme</key>
|
||||
<string>xcode</string>
|
||||
</dict>
|
||||
</plist>
|
Loading…
Reference in New Issue
Block a user