diff --git a/PanoPainter-OSX/Info.plist b/PanoPainter-OSX/Info.plist
index 2dc22d6..71b84dd 100644
--- a/PanoPainter-OSX/Info.plist
+++ b/PanoPainter-OSX/Info.plist
@@ -7,14 +7,13 @@
CFBundleDocumentTypes
- LSHandlerRank
- Owner
CFBundleTypeExtensions
ppi
+ PPI
CFBundleTypeIconFile
- pp-icon-square
+ osx_ppi
CFBundleTypeIconFiles
CFBundleTypeMIMETypes
@@ -23,6 +22,8 @@
PanoPainter Image
CFBundleTypeRole
Editor
+ LSHandlerRank
+ Owner
LSIsAppleDefaultForType
LSItemContentTypes
@@ -34,22 +35,23 @@
0
- LSHandlerRank
- Alternate
CFBundleTypeExtensions
abr
+ ABR
CFBundleTypeIconFile
-
+ osx_abr
CFBundleTypeIconFiles
CFBundleTypeMIMETypes
CFBundleTypeName
- PanoPainter Brushes
+ Photoshop Brush
CFBundleTypeRole
Viewer
+ LSHandlerRank
+ Alternate
LSIsAppleDefaultForType
LSItemContentTypes
@@ -59,6 +61,29 @@
LSTypeIsPackage
0
+
+ LSIsAppleDefaultForType
+
+ LSHandlerRank
+ Owner
+ CFBundleTypeExtensions
+
+ ppbr
+ PPBR
+
+ CFBundleTypeIconFile
+ osx_ppbr
+ CFBundleTypeName
+ PanoPainter Brush
+ CFBundleTypeRole
+ Editor
+ LSItemContentTypes
+
+ com.panopainter.ppbr
+
+ LSTypeIsPackage
+ 0
+
CFBundleExecutable
$(EXECUTABLE_NAME)
@@ -96,7 +121,7 @@
UTTypeDescription
PanoPainter Image
UTTypeIconFile
- pp-icon-square
+ osx_ppi
UTTypeIconFiles
UTTypeIdentifier
@@ -126,7 +151,7 @@
UTTypeDescription
PanoPainter Brush
UTTypeIconFile
- pp-icon-square
+ osx_ppbr
UTTypeIconFiles
UTTypeIdentifier
@@ -155,7 +180,7 @@
UTTypeDescription
Adobe Brush
UTTypeIconFile
- pp-icon-square
+ osx_abr
UTTypeIdentifier
com.panopainter.abr
UTTypeTagSpecification
diff --git a/PanoPainter.xcodeproj/project.pbxproj b/PanoPainter.xcodeproj/project.pbxproj
index 0e73ca2..7aea083 100644
--- a/PanoPainter.xcodeproj/project.pbxproj
+++ b/PanoPainter.xcodeproj/project.pbxproj
@@ -102,6 +102,21 @@
AD3087C82061D1CD009F9260 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD3087C72061D1CD009F9260 /* CoreGraphics.framework */; };
AD30D82F1F783E0100B6A112 /* libcurl.4.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = AD30D82E1F783E0100B6A112 /* libcurl.4.tbd */; };
AD30D8331F8049BD00B6A112 /* Photos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD30D8321F8049BC00B6A112 /* Photos.framework */; };
+ AD31BB11233901DD006CA23A /* ios_ppi_320.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB0D233901DD006CA23A /* ios_ppi_320.png */; };
+ AD31BB12233901DD006CA23A /* ios_ppi_44x58.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB0E233901DD006CA23A /* ios_ppi_44x58.png */; };
+ AD31BB13233901DD006CA23A /* ios_ppi_22x29.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB0F233901DD006CA23A /* ios_ppi_22x29.png */; };
+ AD31BB14233901DD006CA23A /* ios_ppi_64.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB10233901DD006CA23A /* ios_ppi_64.png */; };
+ AD31BB19233902CC006CA23A /* ios_ppbr_22x29.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB15233902CB006CA23A /* ios_ppbr_22x29.png */; };
+ AD31BB1A233902CC006CA23A /* ios_ppbr_44x58.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB16233902CB006CA23A /* ios_ppbr_44x58.png */; };
+ AD31BB1B233902CC006CA23A /* ios_ppbr_64.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB17233902CB006CA23A /* ios_ppbr_64.png */; };
+ AD31BB1C233902CC006CA23A /* ios_ppbr_320.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB18233902CB006CA23A /* ios_ppbr_320.png */; };
+ AD31BB2123390775006CA23A /* ios_abr_320.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB1D23390774006CA23A /* ios_abr_320.png */; };
+ AD31BB2223390775006CA23A /* ios_abr_44x58.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB1E23390774006CA23A /* ios_abr_44x58.png */; };
+ AD31BB2323390775006CA23A /* ios_abr_64.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB1F23390774006CA23A /* ios_abr_64.png */; };
+ AD31BB2423390775006CA23A /* ios_abr_22x29.png in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB2023390774006CA23A /* ios_abr_22x29.png */; };
+ AD31BB2923390B60006CA23A /* osx_ppi.icns in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB2623390B60006CA23A /* osx_ppi.icns */; };
+ AD31BB2A23390B60006CA23A /* osx_ppbr.icns in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB2723390B60006CA23A /* osx_ppbr.icns */; };
+ AD31BB2B23390B60006CA23A /* osx_abr.icns in Resources */ = {isa = PBXBuildFile; fileRef = AD31BB2823390B60006CA23A /* osx_abr.icns */; };
AD43268121599A5B006DE7F6 /* node_usermanual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD43268021599A5B006DE7F6 /* node_usermanual.cpp */; };
AD43268221599A5B006DE7F6 /* node_usermanual.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD43268021599A5B006DE7F6 /* node_usermanual.cpp */; };
AD439B602210F423006EAE8E /* format.cc in Sources */ = {isa = PBXBuildFile; fileRef = AD439B5F2210F421006EAE8E /* format.cc */; };
@@ -372,6 +387,21 @@
AD3087C72061D1CD009F9260 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
AD30D82E1F783E0100B6A112 /* libcurl.4.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libcurl.4.tbd; path = usr/lib/libcurl.4.tbd; sourceTree = SDKROOT; };
AD30D8321F8049BC00B6A112 /* Photos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Photos.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Photos.framework; sourceTree = DEVELOPER_DIR; };
+ AD31BB0D233901DD006CA23A /* ios_ppi_320.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppi_320.png; path = extra/icons/ios_ppi_320.png; sourceTree = SOURCE_ROOT; };
+ AD31BB0E233901DD006CA23A /* ios_ppi_44x58.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppi_44x58.png; path = extra/icons/ios_ppi_44x58.png; sourceTree = SOURCE_ROOT; };
+ AD31BB0F233901DD006CA23A /* ios_ppi_22x29.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppi_22x29.png; path = extra/icons/ios_ppi_22x29.png; sourceTree = SOURCE_ROOT; };
+ AD31BB10233901DD006CA23A /* ios_ppi_64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppi_64.png; path = extra/icons/ios_ppi_64.png; sourceTree = SOURCE_ROOT; };
+ AD31BB15233902CB006CA23A /* ios_ppbr_22x29.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppbr_22x29.png; path = extra/icons/ios_ppbr_22x29.png; sourceTree = SOURCE_ROOT; };
+ AD31BB16233902CB006CA23A /* ios_ppbr_44x58.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppbr_44x58.png; path = extra/icons/ios_ppbr_44x58.png; sourceTree = SOURCE_ROOT; };
+ AD31BB17233902CB006CA23A /* ios_ppbr_64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppbr_64.png; path = extra/icons/ios_ppbr_64.png; sourceTree = SOURCE_ROOT; };
+ AD31BB18233902CB006CA23A /* ios_ppbr_320.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_ppbr_320.png; path = extra/icons/ios_ppbr_320.png; sourceTree = SOURCE_ROOT; };
+ AD31BB1D23390774006CA23A /* ios_abr_320.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_abr_320.png; path = extra/icons/ios_abr_320.png; sourceTree = SOURCE_ROOT; };
+ AD31BB1E23390774006CA23A /* ios_abr_44x58.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_abr_44x58.png; path = extra/icons/ios_abr_44x58.png; sourceTree = SOURCE_ROOT; };
+ AD31BB1F23390774006CA23A /* ios_abr_64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_abr_64.png; path = extra/icons/ios_abr_64.png; sourceTree = SOURCE_ROOT; };
+ AD31BB2023390774006CA23A /* ios_abr_22x29.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ios_abr_22x29.png; path = extra/icons/ios_abr_22x29.png; sourceTree = SOURCE_ROOT; };
+ AD31BB2623390B60006CA23A /* osx_ppi.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = osx_ppi.icns; path = extra/icons/osx_ppi.icns; sourceTree = SOURCE_ROOT; };
+ AD31BB2723390B60006CA23A /* osx_ppbr.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = osx_ppbr.icns; path = extra/icons/osx_ppbr.icns; sourceTree = SOURCE_ROOT; };
+ AD31BB2823390B60006CA23A /* osx_abr.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = osx_abr.icns; path = extra/icons/osx_abr.icns; sourceTree = SOURCE_ROOT; };
AD3B1EBE1E3B8B7600E918E3 /* layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = layout.cpp; sourceTree = ""; };
AD3B1EBF1E3B8B7600E918E3 /* layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = layout.h; sourceTree = ""; };
AD43267F21599A5B006DE7F6 /* node_usermanual.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = node_usermanual.h; sourceTree = ""; };
@@ -671,6 +701,7 @@
AD0E5C9D1ECC6F2B00C35669 /* PanoPainter-OSX */ = {
isa = PBXGroup;
children = (
+ AD31BB2523390B3F006CA23A /* icons */,
AD432683215A2B31006DE7F6 /* PanoPainter.entitlements */,
AD0E5CA41ECC6F2B00C35669 /* Assets.xcassets */,
AD0E5CA61ECC6F2B00C35669 /* MainMenu.xib */,
@@ -790,6 +821,35 @@
path = scripts;
sourceTree = "";
};
+ AD31BB0C233900F2006CA23A /* icons */ = {
+ isa = PBXGroup;
+ children = (
+ AD31BB0F233901DD006CA23A /* ios_ppi_22x29.png */,
+ AD31BB0E233901DD006CA23A /* ios_ppi_44x58.png */,
+ AD31BB10233901DD006CA23A /* ios_ppi_64.png */,
+ AD31BB0D233901DD006CA23A /* ios_ppi_320.png */,
+ AD31BB15233902CB006CA23A /* ios_ppbr_22x29.png */,
+ AD31BB16233902CB006CA23A /* ios_ppbr_44x58.png */,
+ AD31BB17233902CB006CA23A /* ios_ppbr_64.png */,
+ AD31BB18233902CB006CA23A /* ios_ppbr_320.png */,
+ AD31BB2023390774006CA23A /* ios_abr_22x29.png */,
+ AD31BB1E23390774006CA23A /* ios_abr_44x58.png */,
+ AD31BB1F23390774006CA23A /* ios_abr_64.png */,
+ AD31BB1D23390774006CA23A /* ios_abr_320.png */,
+ );
+ name = icons;
+ sourceTree = "";
+ };
+ AD31BB2523390B3F006CA23A /* icons */ = {
+ isa = PBXGroup;
+ children = (
+ AD31BB2823390B60006CA23A /* osx_abr.icns */,
+ AD31BB2723390B60006CA23A /* osx_ppbr.icns */,
+ AD31BB2623390B60006CA23A /* osx_ppi.icns */,
+ );
+ name = icons;
+ sourceTree = "";
+ };
AD58E0461E107411006ACC15 = {
isa = PBXGroup;
children = (
@@ -1002,6 +1062,7 @@
ADD7D26C1EBF9AE300D5A897 /* PanoPainter */ = {
isa = PBXGroup;
children = (
+ AD31BB0C233900F2006CA23A /* icons */,
ADD7D2701EBF9AE300D5A897 /* AppDelegate.h */,
ADD7D2711EBF9AE300D5A897 /* AppDelegate.m */,
ADD7D2771EBF9AE300D5A897 /* GameViewController.h */,
@@ -1231,7 +1292,10 @@
AD0E5CE41ECC76BA00C35669 /* data in Resources */,
ADF396DF216FA6C900024722 /* pp-icon-square.png in Resources */,
AD0E5CA51ECC6F2B00C35669 /* Assets.xcassets in Resources */,
+ AD31BB2B23390B60006CA23A /* osx_abr.icns in Resources */,
+ AD31BB2A23390B60006CA23A /* osx_ppbr.icns in Resources */,
AD0E5CA81ECC6F2B00C35669 /* MainMenu.xib in Resources */,
+ AD31BB2923390B60006CA23A /* osx_ppi.icns in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1254,10 +1318,22 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ AD31BB1B233902CC006CA23A /* ios_ppbr_64.png in Resources */,
AD5016591EBFC7F00079A826 /* data in Resources */,
+ AD31BB12233901DD006CA23A /* ios_ppi_44x58.png in Resources */,
ADD7D27C1EBF9AE300D5A897 /* Main.storyboard in Resources */,
+ AD31BB13233901DD006CA23A /* ios_ppi_22x29.png in Resources */,
+ AD31BB2223390775006CA23A /* ios_abr_44x58.png in Resources */,
+ AD31BB11233901DD006CA23A /* ios_ppi_320.png in Resources */,
+ AD31BB1A233902CC006CA23A /* ios_ppbr_44x58.png in Resources */,
+ AD31BB14233901DD006CA23A /* ios_ppi_64.png in Resources */,
+ AD31BB2423390775006CA23A /* ios_abr_22x29.png in Resources */,
ADD7D27E1EBF9AE300D5A897 /* Assets.xcassets in Resources */,
+ AD31BB2323390775006CA23A /* ios_abr_64.png in Resources */,
+ AD31BB1C233902CC006CA23A /* ios_ppbr_320.png in Resources */,
ADD7D2811EBF9AE300D5A897 /* LaunchScreen.storyboard in Resources */,
+ AD31BB19233902CC006CA23A /* ios_ppbr_22x29.png in Resources */,
+ AD31BB2123390775006CA23A /* ios_abr_320.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/PanoPainter/Info.plist b/PanoPainter/Info.plist
index 202e5d4..ad82ecf 100644
--- a/PanoPainter/Info.plist
+++ b/PanoPainter/Info.plist
@@ -9,12 +9,17 @@
CFBundleDocumentTypes
- CFBundleTypeRole
- Editor
CFBundleTypeIconFiles
-
+
+ ios_ppi_22x29.png
+ ios_ppi_44x58.png
+ ios_ppi_64.png
+ ios_ppi_320.png
+
CFBundleTypeName
PanoPainter Image
+ CFBundleTypeRole
+ Editor
LSHandlerRank
Owner
LSItemContentTypes
@@ -23,12 +28,17 @@
- CFBundleTypeRole
- Editor
CFBundleTypeIconFiles
-
+
+ ios_ppbr_22x29.png
+ ios_ppbr_44x58.png
+ ios_ppbr_64.png
+ ios_ppbr_320.png
+
CFBundleTypeName
PanoPainter Brush
+ CFBundleTypeRole
+ Editor
LSHandlerRank
Owner
LSItemContentTypes
@@ -37,14 +47,19 @@
+ CFBundleTypeIconFiles
+
+ ios_abr_22x29.png
+ ios_abr_44x58.png
+ ios_abr_64.png
+ ios_abr_320.png
+
+ CFBundleTypeName
+ Photoshop Brush
CFBundleTypeRole
Editor
- CFBundleTypeIconFiles
-
- CFBundleTypeName
- ABR
LSHandlerRank
- Alternate
+ Default
LSItemContentTypes
com.panopainter.abr
@@ -111,7 +126,12 @@
UTTypeDescription
PanoPainter Image
UTTypeIconFiles
-
+
+ ios_ppi_22x29.png
+ ios_ppi_44x58.png
+ ios_ppi_64.png
+ ios_ppi_320.png
+
UTTypeIdentifier
com.panopainter.image
UTTypeTagSpecification
@@ -134,7 +154,12 @@
UTTypeDescription
PanoPainter Image
UTTypeIconFiles
-
+
+ ios_ppbr_22x29.png
+ ios_ppbr_44x58.png
+ ios_ppbr_64.png
+ ios_ppbr_320.png
+
UTTypeIdentifier
com.panopainter.ppbr
UTTypeTagSpecification
@@ -156,9 +181,14 @@
public.content
UTTypeDescription
- Adobe Brush
+ Photoshop Brush
UTTypeIconFiles
-
+
+ ios_abr_22x29.png
+ ios_abr_44x58.png
+ ios_abr_64.png
+ ios_abr_320.png
+
UTTypeIdentifier
com.panopainter.abr
UTTypeTagSpecification
diff --git a/extra/icons/abr_1024.png b/extra/icons/abr_1024.png
new file mode 100644
index 0000000..d058d5e
Binary files /dev/null and b/extra/icons/abr_1024.png differ
diff --git a/extra/icons/icons.psd b/extra/icons/icons.psd
new file mode 100644
index 0000000..b8d212b
Binary files /dev/null and b/extra/icons/icons.psd differ
diff --git a/extra/icons/ios_abr_22x29.png b/extra/icons/ios_abr_22x29.png
new file mode 100644
index 0000000..5eb8caa
Binary files /dev/null and b/extra/icons/ios_abr_22x29.png differ
diff --git a/extra/icons/ios_abr_320.png b/extra/icons/ios_abr_320.png
new file mode 100644
index 0000000..1d5b9e8
Binary files /dev/null and b/extra/icons/ios_abr_320.png differ
diff --git a/extra/icons/ios_abr_44x58.png b/extra/icons/ios_abr_44x58.png
new file mode 100644
index 0000000..1b77e83
Binary files /dev/null and b/extra/icons/ios_abr_44x58.png differ
diff --git a/extra/icons/ios_abr_64.png b/extra/icons/ios_abr_64.png
new file mode 100644
index 0000000..1150600
Binary files /dev/null and b/extra/icons/ios_abr_64.png differ
diff --git a/extra/icons/ios_ppbr_22x29.png b/extra/icons/ios_ppbr_22x29.png
new file mode 100644
index 0000000..a4e3ee5
Binary files /dev/null and b/extra/icons/ios_ppbr_22x29.png differ
diff --git a/extra/icons/ios_ppbr_320.png b/extra/icons/ios_ppbr_320.png
new file mode 100644
index 0000000..8bd8fdd
Binary files /dev/null and b/extra/icons/ios_ppbr_320.png differ
diff --git a/extra/icons/ios_ppbr_44x58.png b/extra/icons/ios_ppbr_44x58.png
new file mode 100644
index 0000000..5ebd09a
Binary files /dev/null and b/extra/icons/ios_ppbr_44x58.png differ
diff --git a/extra/icons/ios_ppbr_64.png b/extra/icons/ios_ppbr_64.png
new file mode 100644
index 0000000..b461b1c
Binary files /dev/null and b/extra/icons/ios_ppbr_64.png differ
diff --git a/extra/icons/ios_ppi_22x29.png b/extra/icons/ios_ppi_22x29.png
new file mode 100644
index 0000000..fd3a46d
Binary files /dev/null and b/extra/icons/ios_ppi_22x29.png differ
diff --git a/extra/icons/ios_ppi_320.png b/extra/icons/ios_ppi_320.png
new file mode 100644
index 0000000..0785861
Binary files /dev/null and b/extra/icons/ios_ppi_320.png differ
diff --git a/extra/icons/ios_ppi_44x58.png b/extra/icons/ios_ppi_44x58.png
new file mode 100644
index 0000000..e126e41
Binary files /dev/null and b/extra/icons/ios_ppi_44x58.png differ
diff --git a/extra/icons/ios_ppi_64.png b/extra/icons/ios_ppi_64.png
new file mode 100644
index 0000000..309d9a6
Binary files /dev/null and b/extra/icons/ios_ppi_64.png differ
diff --git a/extra/icons/osx_abr.icns b/extra/icons/osx_abr.icns
new file mode 100644
index 0000000..d9e71f5
Binary files /dev/null and b/extra/icons/osx_abr.icns differ
diff --git a/extra/icons/osx_ppbr.icns b/extra/icons/osx_ppbr.icns
new file mode 100644
index 0000000..976ee7c
Binary files /dev/null and b/extra/icons/osx_ppbr.icns differ
diff --git a/extra/icons/osx_ppi.icns b/extra/icons/osx_ppi.icns
new file mode 100644
index 0000000..b4880f0
Binary files /dev/null and b/extra/icons/osx_ppi.icns differ
diff --git a/extra/icons/ppbr_1024.png b/extra/icons/ppbr_1024.png
new file mode 100644
index 0000000..4fe7b64
Binary files /dev/null and b/extra/icons/ppbr_1024.png differ
diff --git a/extra/icons/ppi_1024.png b/extra/icons/ppi_1024.png
new file mode 100644
index 0000000..7a9bab6
Binary files /dev/null and b/extra/icons/ppi_1024.png differ
diff --git a/src/app.cpp b/src/app.cpp
index d8e91e3..62408a4 100644
--- a/src/app.cpp
+++ b/src/app.cpp
@@ -53,9 +53,11 @@ void App::open_document(std::string path)
std::smatch m;
if (!std::regex_search(path, m, r))
return;
+ std::string base = m[1].str();
+ std::string name = m[2].str();
std::string ext = m[3].str();
- if (str_iequals(m[3].str(), "abr"))
+ if (str_iequals(ext, "abr"))
{
auto mb = message_box("Import ABR", "Would you like to import the brushes?", true);
mb->on_submit = [this, path] (Node* target) {
@@ -63,7 +65,7 @@ void App::open_document(std::string path)
target->destroy();
};
}
- else if (str_iequals(m[3].str(), "ppbr"))
+ else if (str_iequals(ext, "ppbr"))
{
auto mb = message_box("Import PPBR", "Would you like to import the brushes?", true);
mb->on_submit = [this, path] (Node* target) {
@@ -73,9 +75,9 @@ void App::open_document(std::string path)
}
else
{
- auto open_action = [this, path, m] {
- doc_name = m[2].str();
- doc_dir = m[1].str();
+ auto open_action = [this, path, base, name] {
+ doc_name = name;
+ doc_dir = base;
doc_path = path;
canvas->reset_camera();
layers->clear();
diff --git a/src/asset.cpp b/src/asset.cpp
index ece60d5..b750857 100644
--- a/src/asset.cpp
+++ b/src/asset.cpp
@@ -33,8 +33,11 @@ bool Asset::exist(std::string path)
}
else
{
- std::ifstream f(path, std::ios::binary);
- return f.is_open();
+ FILE* fp = fopen(path.c_str(), "rb");
+ if (!fp)
+ return false;
+ fclose(fp);
+ return true;
}
return false; // useless return for the stupid xcode
}
diff --git a/src/node_message_box.cpp b/src/node_message_box.cpp
index b76780c..42bf4ad 100644
--- a/src/node_message_box.cpp
+++ b/src/node_message_box.cpp
@@ -19,7 +19,10 @@ void NodeMessageBox::init()
m_title = m_template->find("title");
m_message = m_template->find("message");
btn_ok = m_template->find("btn-ok");
- btn_ok->on_click = [&](Node*) { destroy(); };
+ btn_ok->on_click = [&](Node*) {
+ if (on_submit)
+ on_submit(this);
+ };
btn_cancel = m_template->find("btn-cancel");
on_submit = btn_cancel->on_click = [&](Node*) { destroy(); };
m_capture_children = false; // don't capture children events on mouse_capture
diff --git a/src/node_panel_brush.cpp b/src/node_panel_brush.cpp
index 9464678..5113021 100644
--- a/src/node_panel_brush.cpp
+++ b/src/node_panel_brush.cpp
@@ -940,17 +940,13 @@ bool NodePanelBrushPreset::import_ppbr(const std::string& path)
return false;
}
-bool NodePanelBrushPreset::import_abr(const std::string& path_in)
+bool NodePanelBrushPreset::import_abr(const std::string& path)
{
BT_SetTerminate();
ABR abr;
LOG("ABR detected");
- std::string path = path_in;
- if (path_in.find(".abr") == std::string::npos)
- path += ".abr";
-
std::string name, base, ext;
std::regex r(R"((.*)[\\/]([^\\/]+)\.(\w+)$)");
std::smatch m;