diff --git a/A2Mac.xcodeproj/project.pbxproj b/A2Mac.xcodeproj/project.pbxproj
index 17e05c9..3fb4531 100644
--- a/A2Mac.xcodeproj/project.pbxproj
+++ b/A2Mac.xcodeproj/project.pbxproj
@@ -1481,7 +1481,7 @@
"-D_NO_CLK_ABSOLUTE_PRECISE",
);
OTHER_SWIFT_FLAGS = "-DHIRES -D_NO_METAL -D_NO_HIRESDRAW -DHIRESLOW -DHIRESLOWCOLOR";
- PRODUCT_BUNDLE_IDENTIFIER = com.gamealloy.A2Mac;
+ PRODUCT_BUNDLE_IDENTIFIER = com.trudnai.steveii;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OBJC_BRIDGING_HEADER = "A2Mac/A2Mac-Bridging-Header.h";
@@ -1518,7 +1518,7 @@
"-D_NO_CLK_ABSOLUTE_PRECISE",
);
OTHER_SWIFT_FLAGS = "-DHIRES -D_NO_METAL -D_NO_HIRESDRAW -DHIRESLOW -DHIRESLOWCOLOR";
- PRODUCT_BUNDLE_IDENTIFIER = com.gamealloy.A2Mac;
+ PRODUCT_BUNDLE_IDENTIFIER = com.trudnai.steveii;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "A2Mac/A2Mac-Bridging-Header.h";
SWIFT_VERSION = 5.0;
diff --git a/A2Mac/A2Mac.entitlements b/A2Mac/A2Mac.entitlements
index f2ef3ae..19afff1 100644
--- a/A2Mac/A2Mac.entitlements
+++ b/A2Mac/A2Mac.entitlements
@@ -2,9 +2,9 @@
- com.apple.security.app-sandbox
-
- com.apple.security.files.user-selected.read-only
-
+ com.apple.security.app-sandbox
+
+ com.apple.security.files.user-selected.read-write
+
diff --git a/A2Mac/AppDelegate.swift b/A2Mac/AppDelegate.swift
index 50c1b7a..e85ceaf 100644
--- a/A2Mac/AppDelegate.swift
+++ b/A2Mac/AppDelegate.swift
@@ -48,6 +48,16 @@ class AppDelegate: NSObject, NSApplicationDelegate {
return woz_err == 0;
}
+ @IBAction func saveFile(_ sender: NSMenuItem) {
+
+ let savePanel = NSSavePanel()
+ savePanel.begin { (result) in
+ if result.rawValue == NSApplication.ModalResponse.OK.rawValue {
+ woz_saveFile( savePanel.url?.absoluteString );
+ }
+ }
+
+ }
@IBAction func showPreferences(_ sender: NSMenuItem) {
diff --git a/A2Mac/Base.lproj/Main.storyboard b/A2Mac/Base.lproj/Main.storyboard
index 440fdf2..0d9e238 100644
--- a/A2Mac/Base.lproj/Main.storyboard
+++ b/A2Mac/Base.lproj/Main.storyboard
@@ -87,6 +87,11 @@
+