prepare UI for release, disable unused features, rename file format to .ppi
This commit is contained in:
@@ -27,7 +27,7 @@ void global_exception_handler(NSException* e)
|
||||
[alert runModal];
|
||||
|
||||
if (App::I.canvas && App::I.canvas->m_canvas)
|
||||
App::I.canvas->m_canvas->project_save_thread(App::I.data_path + "/recovery.pano");
|
||||
App::I.canvas->m_canvas->project_save_thread(App::I.data_path + "/recovery.ppi");
|
||||
|
||||
std::terminate();
|
||||
}
|
||||
@@ -40,7 +40,7 @@ void global_signal_handler(int e)
|
||||
[alert runModal];
|
||||
|
||||
if (App::I.canvas && App::I.canvas->m_canvas)
|
||||
App::I.canvas->m_canvas->project_save_thread(App::I.data_path + "/recovery.pano");
|
||||
App::I.canvas->m_canvas->project_save_thread(App::I.data_path + "/recovery.ppi");
|
||||
|
||||
std::terminate();
|
||||
}
|
||||
|
||||
@@ -9,10 +9,8 @@
|
||||
/* Begin PBXBuildFile section */
|
||||
AD02F0C31EDC457C00B2E692 /* sequencer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD02F0C01EDC456800B2E692 /* sequencer.cpp */; };
|
||||
AD02F0C41EDC457C00B2E692 /* sequencer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD02F0C01EDC456800B2E692 /* sequencer.cpp */; };
|
||||
AD06989720CC6C350010825F /* ZipArchive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD06989620CC6C350010825F /* ZipArchive.framework */; };
|
||||
AD06989A20CC6C4C0010825F /* ZipArchive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD06989920CC6C4C0010825F /* ZipArchive.framework */; };
|
||||
AD06989B20CC84DB0010825F /* ZipArchive.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = AD06989920CC6C4C0010825F /* ZipArchive.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
AD06989D20CC894B0010825F /* ZipArchive.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = AD06989620CC6C350010825F /* ZipArchive.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
AD0E119B1ECA215600CDA6BB /* node_scroll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD0E11951ECA20F200CDA6BB /* node_scroll.cpp */; };
|
||||
AD0E119C1ECA215600CDA6BB /* app_events.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD0E11921ECA20F200CDA6BB /* app_events.cpp */; };
|
||||
AD0E119D1ECA215600CDA6BB /* app_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD0E11931ECA20F200CDA6BB /* app_layout.cpp */; };
|
||||
@@ -119,8 +117,6 @@
|
||||
AD787AEA20D4611100C4712A /* PanoQL.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = AD787ADD20D4611100C4712A /* PanoQL.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||
AD787AF720D4637E00C4712A /* ThumbnailProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = AD787AF620D4637E00C4712A /* ThumbnailProvider.m */; };
|
||||
AD787AFB20D4637E00C4712A /* PanoThumb.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = AD787AF320D4637E00C4712A /* PanoThumb.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||
AD787AFF20D5AD1500C4712A /* ZipArchive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD06989620CC6C350010825F /* ZipArchive.framework */; };
|
||||
AD787B0020D5AD1700C4712A /* ZipArchive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD06989620CC6C350010825F /* ZipArchive.framework */; };
|
||||
ADBC8C4E1FAE7D360094B339 /* node_dialog_browse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADBC8C471FAE7CC20094B339 /* node_dialog_browse.cpp */; };
|
||||
ADBC8C4F1FAE7D370094B339 /* node_dialog_browse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADBC8C471FAE7CC20094B339 /* node_dialog_browse.cpp */; };
|
||||
ADBC8C551FAFD0520094B339 /* app_cloud.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADBC8C511FAFD0360094B339 /* app_cloud.cpp */; };
|
||||
@@ -214,7 +210,6 @@
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
AD06989D20CC894B0010825F /* ZipArchive.framework in CopyFiles */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -445,7 +440,6 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
AD787ADF20D4611100C4712A /* QuickLook.framework in Frameworks */,
|
||||
AD787B0020D5AD1700C4712A /* ZipArchive.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -453,7 +447,6 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
AD787AFF20D5AD1500C4712A /* ZipArchive.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -467,7 +460,6 @@
|
||||
AD3087C82061D1CD009F9260 /* CoreGraphics.framework in Frameworks */,
|
||||
AD3087C62061D1B4009F9260 /* CoreVideo.framework in Frameworks */,
|
||||
AD3087C2205F016F009F9260 /* AVFoundation.framework in Frameworks */,
|
||||
AD06989720CC6C350010825F /* ZipArchive.framework in Frameworks */,
|
||||
AD30D8331F8049BD00B6A112 /* Photos.framework in Frameworks */,
|
||||
AD759B691F279B3900211963 /* GLKit.framework in Frameworks */,
|
||||
ADD7D2B31EBFA42C00D5A897 /* Security.framework in Frameworks */,
|
||||
@@ -817,9 +809,11 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = AD787AEB20D4611100C4712A /* Build configuration list for PBXNativeTarget "PanoQL" */;
|
||||
buildPhases = (
|
||||
AD536B7221530A6C0033E46B /* Generate Version */,
|
||||
AD787AD920D4611100C4712A /* Sources */,
|
||||
AD787ADA20D4611100C4712A /* Frameworks */,
|
||||
AD787ADB20D4611100C4712A /* Resources */,
|
||||
AD536B7421530AA60033E46B /* Versioning Info.plist */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -834,9 +828,11 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = AD787AFC20D4637F00C4712A /* Build configuration list for PBXNativeTarget "PanoThumb" */;
|
||||
buildPhases = (
|
||||
AD536B7321530A8A0033E46B /* Generate Version */,
|
||||
AD787AEF20D4637E00C4712A /* Sources */,
|
||||
AD787AF020D4637E00C4712A /* Frameworks */,
|
||||
AD787AF120D4637E00C4712A /* Resources */,
|
||||
AD536B7521530AB80033E46B /* Versioning Info.plist */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -975,6 +971,62 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "# Use the commit count as CFBundleVersion\nGIT_COMMIT_COUNT=`git rev-list --count HEAD`\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion ${GIT_COMMIT_COUNT}\" \"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n\n## Use the last annotated tag as CFBundleShortVersionString\nGIT_TAG=`git describe --tags --abbrev=0`\n/usr/libexec/PlistBuddy -c \"Set :CFBundleShortVersionString ${GIT_TAG}\" \"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n";
|
||||
};
|
||||
AD536B7221530A6C0033E46B /* Generate Version */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Generate Version";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "python scripts/pre-build.py $CONFIGURATION";
|
||||
};
|
||||
AD536B7321530A8A0033E46B /* Generate Version */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Generate Version";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "python scripts/pre-build.py $CONFIGURATION";
|
||||
};
|
||||
AD536B7421530AA60033E46B /* Versioning Info.plist */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Versioning Info.plist";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "# Use the commit count as CFBundleVersion\nGIT_COMMIT_COUNT=`git rev-list --count HEAD`\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion ${GIT_COMMIT_COUNT}\" \"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n\n## Use the last annotated tag as CFBundleShortVersionString\nGIT_TAG=`git describe --tags --abbrev=0`\n/usr/libexec/PlistBuddy -c \"Set :CFBundleShortVersionString ${GIT_TAG}\" \"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n";
|
||||
};
|
||||
AD536B7521530AB80033E46B /* Versioning Info.plist */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Versioning Info.plist";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "# Use the commit count as CFBundleVersion\nGIT_COMMIT_COUNT=`git rev-list --count HEAD`\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion ${GIT_COMMIT_COUNT}\" \"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n\n## Use the last annotated tag as CFBundleShortVersionString\nGIT_TAG=`git describe --tags --abbrev=0`\n/usr/libexec/PlistBuddy -c \"Set :CFBundleShortVersionString ${GIT_TAG}\" \"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n";
|
||||
};
|
||||
ADB86F64214E9D0D004E7CB8 /* Generate Version */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -1443,7 +1495,7 @@
|
||||
INFOPLIST_FILE = PanoQL/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.omixlab.panopainter.ios.PanoQL;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.omixlab.panopainter.ios.ql;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = iphoneos;
|
||||
@@ -1485,7 +1537,7 @@
|
||||
INFOPLIST_FILE = PanoQL/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.omixlab.panopainter.ios.PanoQL;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.omixlab.panopainter.ios.ql;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = iphoneos;
|
||||
@@ -1528,7 +1580,7 @@
|
||||
INFOPLIST_FILE = PanoThumb/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.omixlab.panopainter.ios.PanoThumb;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.omixlab.panopainter.ios.thumb;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = iphoneos;
|
||||
@@ -1570,7 +1622,7 @@
|
||||
INFOPLIST_FILE = PanoThumb/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.omixlab.panopainter.ios.PanoThumb;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.omixlab.panopainter.ios.thumb;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = iphoneos;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
void global_exception_handler(NSException* e)
|
||||
{
|
||||
if (App::I.canvas && App::I.canvas->m_canvas)
|
||||
App::I.canvas->m_canvas->project_save_thread(App::I.data_path + "/recovery.pano");
|
||||
App::I.canvas->m_canvas->project_save_thread(App::I.data_path + "/recovery.ppi");
|
||||
|
||||
std::terminate();
|
||||
}
|
||||
@@ -22,7 +22,7 @@ void global_exception_handler(NSException* e)
|
||||
void global_signal_handler(int e)
|
||||
{
|
||||
if (App::I.canvas && App::I.canvas->m_canvas)
|
||||
App::I.canvas->m_canvas->project_save_thread(App::I.data_path + "/recovery.pano");
|
||||
App::I.canvas->m_canvas->project_save_thread(App::I.data_path + "/recovery.ppi");
|
||||
|
||||
std::terminate();
|
||||
}
|
||||
|
||||
@@ -635,10 +635,12 @@
|
||||
<icon icon="page_add" width="20"/>
|
||||
<text text="Import" grow="1" margin="0 0 0 5" font-face="arial" font-size="11"/>
|
||||
</button-custom>
|
||||
<!--
|
||||
<button-custom id="file-open" text="Menu" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
|
||||
<icon icon="page_add" width="20"/>
|
||||
<text text="Open" grow="1" margin="0 0 0 5" font-face="arial" font-size="11"/>
|
||||
</button-custom>
|
||||
-->
|
||||
<button-custom id="file-browse" text="Menu" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
|
||||
<icon icon="page_add" width="20"/>
|
||||
<text text="Browse" grow="1" margin="0 0 0 5" font-face="arial" font-size="11"/>
|
||||
@@ -662,10 +664,12 @@
|
||||
<icon icon="disk" width="20"/>
|
||||
<text text="Export JPG" grow="1" margin="0 0 0 5" font-face="arial" font-size="11"/>
|
||||
</button-custom>
|
||||
<!--
|
||||
<button-custom id="file-export-cubes" text="Menu" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
|
||||
<icon icon="page_white_stack" width="20"/>
|
||||
<text text="Export Cubes" grow="1" margin="0 0 0 5" font-face="arial" font-size="11"/>
|
||||
</button-custom>
|
||||
-->
|
||||
<button-custom id="file-cloud-upload" text="Menu" height="40" align="center" color=".2" pad="0 0 0 10" dir="row">
|
||||
<icon icon="weather_clouds" width="20"/>
|
||||
<text text="Cloud Upload" grow="1" margin="0 0 0 5" font-face="arial" font-size="11"/>
|
||||
@@ -791,19 +795,20 @@
|
||||
<button-custom id="menu-timelapse" width="80" height="100%" margin="0 0 0 0" justify="center" align="center" pad="8" color=".1">
|
||||
<text text="Timelapse" font-face="arial" font-size="11"/>
|
||||
</button-custom>
|
||||
<!--
|
||||
<button-custom id="menu-about" width="60" height="100%" margin="0 0 0 0" justify="center" align="center" pad="8" color=".1">
|
||||
<text text="About" font-face="arial" font-size="11"/>
|
||||
</button-custom>
|
||||
<button id="btn-anim" width="70" height="100%" margin="1 0 0 10" text="Animate"/>
|
||||
|
||||
-->
|
||||
<node dir="row" justify="center" grow="1">
|
||||
<button id="btn-pen" width="50" height="100%" margin="0 0 0 0" text="Pen"/>
|
||||
<button id="btn-pick" width="50" height="100%" margin="0 0 0 0" text="Pick"/>
|
||||
<button id="btn-touchlock" width="50" height="100%" margin="0 0 0 0" text="Lock"/>
|
||||
|
||||
<button id="btn-erase" width="60" height="100%" margin="0 0 0 5" text="Erase"/>
|
||||
<button id="btn-erase" width="60" height="100%" margin="0 0 0 5" text="Eraser"/>
|
||||
|
||||
<button id="btn-cam" width="70" height="100%" margin="0 0 0 5" text="Camera"/>
|
||||
<button id="btn-cam" width="70" height="100%" margin="0 0 0 5" text="Parallax"/>
|
||||
|
||||
<button id="btn-line" width="50" height="100%" margin="0 0 0 5" text="Line"/>
|
||||
<button id="btn-grid" width="50" height="100%" margin="0 0 0 0" text="Grid"/>
|
||||
@@ -830,7 +835,9 @@
|
||||
<button-custom id="btn-stroke" width="50" height="50" margin="0 0 5 0" thickness="1" border-color=".1" pad="2">
|
||||
<image path="data/ui/stroke.png" width="100%" height="100%" align="center" justify="flex-end"/>
|
||||
</button-custom>
|
||||
<!--
|
||||
<button id="btn-brush-preset" width="50" height="50" margin="0 0 5 0" text="Preset" thickness="1" border-color=".1" pad="2"/>
|
||||
-->
|
||||
<button-custom id="btn-brush" width="50" height="50" margin="0 0 5 0" thickness="1" border-color=".1" pad="2">
|
||||
<image path="data/ui/brushes.png" width="100%" height="100%" align="center" justify="flex-end"/>
|
||||
</button-custom>
|
||||
@@ -840,9 +847,11 @@
|
||||
<button-custom id="btn-layer" width="50" height="50" margin="0 0 5 0" thickness="1" border-color=".1" pad="2">
|
||||
<image path="data/ui/layers.png" width="100%" height="100%" align="center" justify="flex-end"/>
|
||||
</button-custom>
|
||||
<!--
|
||||
<button-custom id="btn-grids-panel" width="50" height="50" margin="0 0 5 0" thickness="1" border-color=".1" pad="2">
|
||||
<image path="data/ui/grid.png" width="100%" height="100%" align="center" justify="flex-end" mips="true"/>
|
||||
</button-custom>
|
||||
-->
|
||||
</border>
|
||||
<!-- side bar -->
|
||||
<node height="100%" dir="row" shrink="1">
|
||||
|
||||
@@ -23,7 +23,7 @@ void App::cloud_upload()
|
||||
else
|
||||
{
|
||||
std::thread([this] {
|
||||
std::string path = data_path + "/" + doc_name + ".pano";
|
||||
std::string path = data_path + "/" + doc_name + ".ppi";
|
||||
if (ui::Canvas::I->m_unsaved)
|
||||
{
|
||||
Canvas::I->project_save_thread(path);
|
||||
@@ -34,7 +34,7 @@ void App::cloud_upload()
|
||||
async_redraw();
|
||||
async_end();
|
||||
|
||||
upload(path, doc_name + ".pano", [this,pb](float p){
|
||||
upload(path, doc_name + ".ppi", [this,pb](float p){
|
||||
async_start();
|
||||
pb->m_progress->SetWidthP(p * 100.f);
|
||||
async_redraw();
|
||||
@@ -59,7 +59,7 @@ void App::cloud_upload()
|
||||
void App::cloud_upload_all()
|
||||
{
|
||||
std::thread([this] {
|
||||
auto names = Asset::list_files(data_path, false, ".*\\.pano");
|
||||
auto names = Asset::list_files(data_path, false, ".*\\.ppi");
|
||||
|
||||
gl_state gl;
|
||||
std::shared_ptr<NodeProgressBar> pb;
|
||||
|
||||
@@ -36,7 +36,7 @@ void App::dialog_newdoc()
|
||||
dialog->btn_ok->on_click = [this, dialog](Node*)
|
||||
{
|
||||
std::string name = dialog->input->m_string;
|
||||
std::string path = data_path + "/" + name + ".pano";
|
||||
std::string path = data_path + "/" + name + ".ppi";
|
||||
|
||||
auto action = [this, dialog, name] {
|
||||
std::array<int, 4> resolutions{ 512, 1024, 1536, 2048 };
|
||||
@@ -255,14 +255,14 @@ void App::dialog_save_ver()
|
||||
static char tmp_name[256];
|
||||
sprintf(tmp_name, "%s.%02d", base.c_str(), i);
|
||||
next = tmp_name;
|
||||
if (Asset::exist(data_path + "/" + next + ".pano", false))
|
||||
if (Asset::exist(data_path + "/" + next + ".ppi", false))
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
doc_name = next;
|
||||
title_update();
|
||||
canvas->m_canvas->project_save(data_path + "/" + next + ".pano");
|
||||
canvas->m_canvas->project_save(data_path + "/" + next + ".ppi");
|
||||
}
|
||||
|
||||
void App::dialog_save()
|
||||
@@ -281,7 +281,7 @@ void App::dialog_save()
|
||||
dialog->btn_ok->on_click = [this, dialog](Node*)
|
||||
{
|
||||
std::string name = dialog->input->m_string;
|
||||
std::string path = data_path + "/" + name + ".pano";
|
||||
std::string path = data_path + "/" + name + ".ppi";
|
||||
|
||||
if (name.empty())
|
||||
{
|
||||
|
||||
@@ -1483,7 +1483,7 @@ void ui::Canvas::export_cubes(std::string data_path)
|
||||
static char name[128];
|
||||
sprintf(name, "%s.zip", data_path.c_str());
|
||||
auto zip_path = [NSString stringWithUTF8String : name];
|
||||
[SSZipArchive createZipFileAtPath:zip_path withFilesAtPaths:files];
|
||||
//[SSZipArchive createZipFileAtPath:zip_path withFilesAtPaths:files];
|
||||
for (NSString* f : files)
|
||||
[[NSFileManager defaultManager] removeItemAtPath:f error:nil];
|
||||
#endif
|
||||
@@ -1494,7 +1494,7 @@ void ui::Canvas::project_save(std::function<void()> on_complete)
|
||||
if (App::I.check_license())
|
||||
{
|
||||
std::thread t([=] {
|
||||
project_save_thread(App::I.data_path + "/" + App::I.doc_name + ".pano");
|
||||
project_save_thread(App::I.data_path + "/" + App::I.doc_name + ".ppi");
|
||||
if (on_complete)
|
||||
on_complete();
|
||||
});
|
||||
@@ -1524,7 +1524,7 @@ void ui::Canvas::project_save_thread(std::string file_path)
|
||||
return;
|
||||
|
||||
// static char name[128];
|
||||
// sprintf(name, "%s/latlong.pano", data_path.c_str());
|
||||
// sprintf(name, "%s/latlong.ppi", data_path.c_str());
|
||||
FILE* fp = fopen(file_path.c_str(), "wb");
|
||||
if (!fp)
|
||||
{
|
||||
@@ -1836,7 +1836,7 @@ ui::Image ui::Canvas::thumbnail_generate(int w, int h)
|
||||
ui::Image ui::Canvas::thumbnail_read(std::string data_path)
|
||||
{
|
||||
// static char name[128];
|
||||
// sprintf(name, "%s/latlong.pano", data_path.c_str());
|
||||
// sprintf(name, "%s/latlong.ppi", data_path.c_str());
|
||||
FILE* fp = fopen(data_path.c_str(), "rb");
|
||||
if (!fp)
|
||||
{
|
||||
|
||||
@@ -272,7 +272,7 @@ static void SetupExceptionHandler()
|
||||
BT_SetPreErrHandler([](INT_PTR){
|
||||
if (ui::Canvas::I)
|
||||
{
|
||||
auto path = App::I.data_path + "/recovery.pano";
|
||||
auto path = App::I.data_path + "/recovery.ppi";
|
||||
ui::Canvas::I->project_save_thread(path);
|
||||
static char abspath[MAX_PATH];
|
||||
GetFullPathNameA(path.c_str(), MAX_PATH, abspath, NULL);
|
||||
|
||||
@@ -69,7 +69,7 @@ void NodeDialogBrowse::init_controls()
|
||||
root()->update();
|
||||
};
|
||||
container = find<Node>("files-list");
|
||||
auto names = Asset::list_files(data_path, false, ".*\\.pano");
|
||||
auto names = Asset::list_files(data_path, false, ".*\\.ppi");
|
||||
for (const auto& n : names)
|
||||
{
|
||||
auto node = new NodeDialogBrowseItem;
|
||||
|
||||
@@ -69,7 +69,7 @@ void NodeDialogOpen::init_controls()
|
||||
root()->update();
|
||||
};
|
||||
container = find<Node>("files-list");
|
||||
auto names = Asset::list_files(data_path, false, ".*\\.pano");
|
||||
auto names = Asset::list_files(data_path, false, ".*\\.ppi");
|
||||
for (const auto& n : names)
|
||||
{
|
||||
auto node = new NodeDialogOpenItem;
|
||||
|
||||
Reference in New Issue
Block a user