[Customize] 단일 ZXP파일을 설치하도록 프로젝트 변경

This commit is contained in:
Karoid
2020-02-24 18:22:13 +09:00
commit 00b6b34f3a
50 changed files with 25877 additions and 0 deletions

BIN
app/bin/Mewpot.zxp Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,50 @@
<?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>BuildDate</key>
<string>Thu May 05 2016 20:59:09</string>
<key>BuildMachineOSBuild</key>
<string>15D21</string>
<key>BuildVersion</key>
<string>1.584361</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>adobe_caps</string>
<key>CFBundleGetInfoString</key>
<string>adobe_caps 10.0.0.5, "© 2005-2015 Adobe Systems Incorporated. All rights reserved."</string>
<key>CFBundleIdentifier</key>
<string>com.adobe.adobe_caps</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>adobe_caps</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>adobe_caps 10.0.0.5</string>
<key>CFBundleSignature</key>
<string>ADBE</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>10.0.0.5</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>7C68</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>15C43</string>
<key>DTSDKName</key>
<string>macosx10.11</string>
<key>DTXcode</key>
<string>0720</string>
<key>DTXcodeBuild</key>
<string>7C68</string>
</dict>
</plist>

View File

@@ -0,0 +1,50 @@
<?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>BuildDate</key>
<string>Thu May 05 2016 20:59:09</string>
<key>BuildMachineOSBuild</key>
<string>15D21</string>
<key>BuildVersion</key>
<string>1.584361</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>adobe_caps</string>
<key>CFBundleGetInfoString</key>
<string>adobe_caps 10.0.0.5, "© 2005-2015 Adobe Systems Incorporated. All rights reserved."</string>
<key>CFBundleIdentifier</key>
<string>com.adobe.adobe_caps</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>adobe_caps</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>adobe_caps 10.0.0.5</string>
<key>CFBundleSignature</key>
<string>ADBE</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>10.0.0.5</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>7C68</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>15C43</string>
<key>DTSDKName</key>
<string>macosx10.11</string>
<key>DTXcode</key>
<string>0720</string>
<key>DTXcodeBuild</key>
<string>7C68</string>
</dict>
</plist>

View File

@@ -0,0 +1,144 @@
<?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>files</key>
<dict>
<key>Resources/English.lproj/InfoPlist.strings</key>
<dict>
<key>hash</key>
<data>
BEu2VgI9OLiy3p7dvI3r6myw6QU=
</data>
<key>optional</key>
<true/>
</dict>
<key>Resources/Info.plist</key>
<data>
8Dviit0wMWDftlkn3If+fwJ4Erg=
</data>
</dict>
<key>files2</key>
<dict>
<key>Resources/English.lproj/InfoPlist.strings</key>
<dict>
<key>hash</key>
<data>
BEu2VgI9OLiy3p7dvI3r6myw6QU=
</data>
<key>hash2</key>
<data>
SAWZQacBUAyvxhGVxe0YxsSp5Eh0DecsxkaqmTZ624Q=
</data>
<key>optional</key>
<true/>
</dict>
<key>Resources/Info.plist</key>
<dict>
<key>hash</key>
<data>
8Dviit0wMWDftlkn3If+fwJ4Erg=
</data>
<key>hash2</key>
<data>
1BIb97fTHWaCBgbw2kXYIGG0jKt7Jk1BfbWLXt60URo=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

View File

@@ -0,0 +1,50 @@
<?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>BuildDate</key>
<string>Thu May 05 2016 20:59:09</string>
<key>BuildMachineOSBuild</key>
<string>15D21</string>
<key>BuildVersion</key>
<string>1.584361</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>adobe_caps</string>
<key>CFBundleGetInfoString</key>
<string>adobe_caps 10.0.0.5, "© 2005-2015 Adobe Systems Incorporated. All rights reserved."</string>
<key>CFBundleIdentifier</key>
<string>com.adobe.adobe_caps</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>adobe_caps</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>adobe_caps 10.0.0.5</string>
<key>CFBundleSignature</key>
<string>ADBE</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>10.0.0.5</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>7C68</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>15C43</string>
<key>DTSDKName</key>
<string>macosx10.11</string>
<key>DTXcode</key>
<string>0720</string>
<key>DTXcodeBuild</key>
<string>7C68</string>
</dict>
</plist>

View File

@@ -0,0 +1,144 @@
<?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>files</key>
<dict>
<key>Resources/English.lproj/InfoPlist.strings</key>
<dict>
<key>hash</key>
<data>
BEu2VgI9OLiy3p7dvI3r6myw6QU=
</data>
<key>optional</key>
<true/>
</dict>
<key>Resources/Info.plist</key>
<data>
8Dviit0wMWDftlkn3If+fwJ4Erg=
</data>
</dict>
<key>files2</key>
<dict>
<key>Resources/English.lproj/InfoPlist.strings</key>
<dict>
<key>hash</key>
<data>
BEu2VgI9OLiy3p7dvI3r6myw6QU=
</data>
<key>hash2</key>
<data>
SAWZQacBUAyvxhGVxe0YxsSp5Eh0DecsxkaqmTZ624Q=
</data>
<key>optional</key>
<true/>
</dict>
<key>Resources/Info.plist</key>
<dict>
<key>hash</key>
<data>
8Dviit0wMWDftlkn3If+fwJ4Erg=
</data>
<key>hash2</key>
<data>
1BIb97fTHWaCBgbw2kXYIGG0jKt7Jk1BfbWLXt60URo=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
app/bin/WINDOWS/ExtLib.dll Normal file

Binary file not shown.

1
app/bin/WINDOWS/README Normal file
View File

@@ -0,0 +1 @@
Third Party notices, terms and conditions pertaining to third party software can be found at http://www.adobe.com/products/eula/third_party/pdfs/adobe_products_eula.pdf and are incorporated by reference.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

93
app/index.html Normal file
View File

@@ -0,0 +1,93 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Mewpot Premiere Pro Plugin Installer</title>
<script type="text/javascript" src="vendor/jquery-1.7.2.js"></script>
<script type="text/javascript" src="src/messages.js"></script>
<script type="text/javascript" src="src/installer.js"></script>
<script type="text/javascript" src="src/main.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="main-view" class="main-view">
<div id="holder" class="holder">
<div class="icon">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="74px" height="100px">
<g class="white">
<polygon class="backplate" fill="#B8B8B8" points="74,21.414 74,21.414 74,21.414 74,21.414 37,0 0,21.414 0,21.414 0,64.243 37,85.658 74,64.243 74,21.414"/>
<g class="three">
<path fill="#808080" d="M0,64.243l23.334-13.505L0,21.414V64.243z"/>
<path fill="#727373" d="M37,85.658l-13.666-34.92L0,64.243L37,85.658z"/>
<path fill="#808080" d="M37,42.829l-13.666,7.909L37,85.658V42.829z"/>
<path fill="#8E8E8E" d="M0,21.414l23.334,29.324L37,42.829L0,21.414z"/>
</g>
<g class="two">
<path fill="#A6A6A6" d="M74,64.243L50.666,50.738L74,21.414V64.243z"/>
<path fill="#A6A6A6" d="M37,42.829l13.666,7.909L37,85.658V42.829z"/>
<path fill="#939393" d="M74,21.414L50.666,50.738L37,42.829L74,21.414z"/>
<path fill="#B8B8B8" d="M37,85.658l13.666-34.92L74,64.243L37,85.658z"/>
</g>
<g class="one">
<path fill="#BBBBBB" d="M37,0v27.01l37-5.596L37,0z"/>
<path fill="#EAEAEA" d="M37,42.829V27.01L0,21.414L37,42.829z"/>
<path fill="#D3D3D3" d="M74,21.414L37,27.01v15.818L74,21.414z"/>
<path fill="#D3D3D3" d="M0,21.414l37,5.596V0L0,21.414z"/>
</g>
</g>
<g class="red">
<polygon class="backplate" fill="#C23344" points="74,21.414 74,21.414 74,21.414 74,21.414 37,0 0,21.414 0,21.414 0,64.243 37,85.658 74,64.243 74,21.414"/>
<g class="three">
<path fill="#80222D" d="M0,64.243l23.334-13.505L0,21.414V64.243z"/>
<path fill="#721E28" d="M37,85.658l-13.666-34.92L0,64.243L37,85.658z"/>
<path fill="#80222D" d="M37,42.829l-13.666,7.909L37,85.658V42.829z"/>
<path fill="#8F2632" d="M0,21.414l23.334,29.324L37,42.829L0,21.414z"/>
</g>
<g class="two">
<path fill="#9D2837" d="M74,64.243L50.666,50.738L74,21.414V64.243z"/>
<path fill="#9D2837" d="M37,42.829l13.666,7.909L37,85.658V42.829z"/>
<path fill="#8A2431" d="M74,21.414L50.666,50.738L37,42.829L74,21.414z"/>
<path fill="#AF2E3C" d="M37,85.658l13.666-34.92L74,64.243L37,85.658z"/>
</g>
<g class="one">
<path fill="#AC2B3B" d="M37,0v27.01l37-5.596L37,0z"/>
<path fill="#D6384A" d="M37,42.829V27.01L0,21.414L37,42.829z"/>
<path fill="#C23344" d="M74,21.414L37,27.01v15.818L74,21.414z"/>
<path fill="#C23344" d="M0,21.414l37,5.596V0L0,21.414z"/>
</g>
<polygon class="arrow" fill="#FFFFFF" points="41.7,-0.5 41.7,-13.1 32.3,-13.1 32.3,-0.5 23.3,-0.5 37,13.1 50.7,-0.5"/>
</g>
<g class="green">
<polygon class="backplate" fill="#4BBFA5" points="74,21.414 74,21.414 74,21.414 74,21.414 37,0 0,21.414 0,21.414 0,64.243 37,85.658 74,64.243 74,21.414"/>
<g class="three">
<polygon fill="#19806C" points="0,21.414 0,64.243 37,85.658 37,42.829"/>
<path fill="#177462" d="M0,64.243l23.334-13.505L0,21.414V64.243z"/>
<path fill="#166657" d="M37,85.658l-13.666-34.92L0,64.243L37,85.658z"/>
<path fill="#177462" d="M37,42.829l-13.666,7.909L37,85.658V42.829z"/>
<path fill="#19806C" d="M0,21.414l23.334,29.324L37,42.829L0,21.414z"/>
</g>
<g class="two">
<polygon fill="#22B196" points="37,42.829 37,85.658 74,64.243 74,21.414"/>
<path fill="#1EA087" d="M74,64.243L50.666,50.738L74,21.414V64.243z"/>
<path fill="#1EA087" d="M37,42.829l13.666,7.909L37,85.658V42.829z"/>
<path fill="#1E8E78" d="M74,21.414L50.666,50.738L37,42.829L74,21.414z"/>
<path fill="#22B196" d="M37,85.658l13.666-34.92L74,64.243L37,85.658z"/>
</g>
<g class="one">
<polygon fill="#4BBFA5" points="37,0 0,21.414 37,42.829 74,21.414"/>
<path fill="#25B799" d="M37,0v27.01l37-5.596L37,0z"/>
<path fill="#64C4B0" d="M37,42.829V27.01L0,21.414L37,42.829z"/>
<path fill="#4BBFA5" d="M74,21.414L37,27.01v15.818L74,21.414z"/>
<path fill="#4BBFA5" d="M0,21.414l37,5.596V0L0,21.414z"/>
</g>
</g>
</svg>
</div>
<div class="status"></div>
</div>
</div>
<div class="version"></div>
</body>
</html>

46
app/main.js Normal file
View File

@@ -0,0 +1,46 @@
var app = require('app'); // Module to control application life.
var BrowserWindow = require('browser-window'); // Module to create native browser window.
// Report crashes to our server.
require('crash-reporter').start();
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the javascript object is GCed.
var mainWindow = null;
// Quit when all windows are closed.
app.on('window-all-closed', function() {
// if (process.platform != 'darwin') {
app.quit();
// }
});
// This method will be called when Electron has done everything
// initialization and ready for creating browser windows.
app.on('ready', function() {
// Create the browser window.
mainWindow = new BrowserWindow({
width: 600,
height: 450,
'min-width': 600,
'min-height': 450,
'max-width': 600,
'max-height': 450
});
// and load the index.html of the app.
mainWindow.loadUrl('file://' + __dirname + '/index.html');
// Open the devtools.
// mainWindow.openDevTools();
global.version = app.getVersion();
// Emitted when the window is closed.
mainWindow.on('closed', function() {
// Dereference the window object, usually you would store windows
// in an array if your app supports multi windows, this is the time
// when you should delete the corresponding element.
mainWindow = null;
});
});

5
app/package.json Normal file
View File

@@ -0,0 +1,5 @@
{
"name" : "ZXPInstaller",
"version": "1.6.2",
"main" : "main.js"
}

70
app/src/installer.js Normal file
View File

@@ -0,0 +1,70 @@
var platform = require('os').platform;
var install_process = require('child_process');
var path = require('path');
var errors = new global.Messages().errors;
global.installer = function() {
var RELEASE = 'zxp/release.zxp';
var CMD_PREFIX = platform() == 'darwin' ? '--' : '/';
var target_path = function() {
var pathToBin;
switch (platform()) {
case 'darwin':
pathToBin = 'bin/OSX/Contents/MacOS/ExManCmd';
break;
case 'win32':
pathToBin = 'bin/WINDOWS/ExManCmd.exe';
case 'win64':
pathToBin = 'bin/WINDOWS/ExManCmd.exe';
}
return pathToBin;
};
return {
install: function(zxpPath) {
console.log('using target path of ' + target_path());
console.log('starting to install ZXP from path ' + zxpPath);
return (promise = new Promise(function(resolve, reject) {
var closeMessage = '';
var spawn = install_process.spawn(path.join(__dirname, target_path()), [
CMD_PREFIX + 'install',
path.join(__dirname, zxpPath)
]);
spawn.stdout.on('data', function(data) {
console.log('stdout: ' + data.toString());
var logbits = /= -(\d+)/.exec(data.toString());
var code = logbits && logbits[1] ? parseInt(logbits[1]) : null;
if (code)
closeMessage = errors.get(code) || 'Error: ' + data.toString();
});
spawn.stderr.on('data', function(data) {
console.log('stderr: ' + data.toString());
var logbits = /(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2}) : ([A-Z]+)\s+(.*)/.exec(
data.toString()
);
var date = logbits[1];
var time = logbits[2];
var level = logbits[3];
var message = logbits[4];
if (level === 'ERROR') {
reject(message);
}
});
// code 0 => success
spawn.on('exit', function(code) {
if (code == 0) {
resolve();
} else {
reject(closeMessage);
}
});
}));
}
};
};

89
app/src/main.js Normal file
View File

@@ -0,0 +1,89 @@
global.$ = $;
global.View = function() {
var body = document.body;
var view = document.getElementById('main-view');
var installer = global.installer();
var remote = require('remote');
var dialog = remote.require('dialog');
var msg = new global.Messages();
this.zxpPath;
_this = this;
var resetClasses = function() {
$(body).removeClass(
'is-showing-spinner was-successful is-dragging has-error'
);
};
var updateStatus = function(message) {
$(body)
.find('.status')
.html(message);
};
var updateVersion = function(message) {
$(body)
.find('.version')
.html(message);
};
var toggleSpinner = function(state) {
resetClasses();
$(body).toggleClass('is-showing-spinner', state);
};
var toggleSuccess = function(state) {
resetClasses();
$(body).toggleClass('was-successful', state);
};
var install = function() {
var promise = installer.install(_this.zxpPath);
startInstalling();
promise.then(
function(result) {
installationSuccess();
},
function(err) {
installationFailed(err);
$(body).addClass('has-error');
}
);
};
var startInstalling = function() {
updateStatus(msg.ui['installing']);
toggleSpinner(true);
};
var installationFailed = function(err) {
toggleSpinner(false);
updateStatus(err);
};
var installationSuccess = function() {
toggleSpinner(false);
toggleSuccess(true);
updateStatus(msg.ui['installed']);
};
// PUBLIC
this.init = function() {
updateVersion(remote.getGlobal('version'));
_this.zxpPath = 'bin/Mewpot.zxp';
install();
updateStatus(msg.ui['installing']);
};
};
$(document).ready(function() {
var _view = new View();
_view.init();
});

74
app/src/messages.js Normal file
View File

@@ -0,0 +1,74 @@
global.Messages = function() {
// Error messages are a best guess interpretation of the messages provided here: http://www.adobeexchange.com/resources/19#errors
var errorMessages = [
{
codes: [0],
message: 'Installation failed because it could not be downloaded. It should not be possible to receive this error.'
},{
codes: [152,154,155,156,157,158,160,161,162,163,164,165,168,169,171,172,176,178,179],
message: 'Installation failed because of a file operation error.'
},{
codes: [251,252,253,254,255,256,257,259,260,261,265,266,267,268,269,270,271,272],
message: 'Installation failed because ZXPInstaller could not parse the .zxp file.'
},{
codes: [500,501,502,503,504,505,506,507,508,508,509],
message: 'Installation failed because ZXPInstaller could not update the database. It should not be possible to receive this error.'
},{
codes: [601,602,603,604,651,652,653],
message: 'Installation failed because it the ZXPInstaller could not check the license online.'
},{
codes: [159],
message: 'ZXPInstaller cannot install this type of file. Please use a .zxp file.'
},{
codes: [175],
message: 'You must run ZXPInstaller in administrator mode to install extensions.'
},{
codes: [201],
message: 'Installation failed because the extension invalid.'
},{
codes: [402],
message: 'Installation failed because the extension does not contain a valid code signature.'
},{
codes: [403,411],
message: 'Installation failed because the extension is not compatible with the installed applications.'
},{
codes: [407,408],
message: 'Installation failed because this extension requires another extension.'
},{
codes: [412],
message: 'Installation failed because an extension of the same name exists.'
},{
codes: [418],
message: 'Installation failed because a newer version of the extension is installed.'
},{
codes: [456],
message: 'Please close all Adobe applications before installing extensions.'
},{
codes: [458],
message: 'Installation failed because none of the required applications are installed'
},{
codes: [459],
message: 'Installation failed because the extension is not compatible with the installed applications.'
}
];
this.errors = {
get: function(code) {
var msg = '';
$.each(errorMessages, function(key, error){
if ($.inArray(code, error.codes) > -1) msg = error.message;
});
return (msg !== '') ? msg : null;
}
};
this.ui = {
dragToInstall: 'Drag a ZXP file or click here to select a file.',
dropToInstall: 'Drop your file here to install it.',
installing: '플러그인 설치중…',
installed: '플러그인 설치가 완료되었습니다. 프리미어 프로를 재시작하세요'
};
return this;
};

172
app/style.css Normal file
View File

@@ -0,0 +1,172 @@
* {
box-sizing: border-box;
}
body {
background-color: #5c1820;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
margin: 0;
transition: background-color 1s;
}
.main-view {
background-color: #471319;
top: 0;
left: 0;
bottom: 0;
right: 0;
border-radius: 5px;
border: 1px solid #751f29;
position: absolute;
margin: 100px;
padding: 25px;
transition: border-color .5s;
}
.holder {
height: 100%;
}
.icon {
width: 74px;
margin: 0 auto 15px;
}
.status {
font-weight: bold;
color: #fff;
text-align: center;
}
@keyframes spinner {
0% { opacity: 0; }
10% { opacity: 1; }
30% { opacity: 1; }
100% { opacity: 0; }
}
@keyframes arrow {
0%, 100% { transform: translate(0px, 0px); }
50% { transform: translate(0px, 7px); }
}
@-webkit-keyframes spinner {
0% { opacity: 0; }
10% { opacity: 1; }
30% { opacity: 1; }
100% { opacity: 0; }
}
@-webkit-keyframes arrow {
0%, 100% { transform: translate(0px, 0px); }
50% { transform: translate(0px, 7px); }
}
.white,
.red,
.green {
transform: translate(0px, 14px);
}
.white,
.red,
.red .arrow,
.green,
.green .one,
.green .two,
.green .three {
transition: opacity .5s;
}
.red,
.red .arrow,
.green .one,
.green .two,
.green .three,
.green .backplate {
opacity: 0;
}
.red .arrow {
animation-name: arrow;
animation-duration: 2s;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
-webkit-animation-name: arrow;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: ease-in-out;
}
.has-error .red {
opacity: 1;
}
.is-dragging .red,
.is-dragging .arrow {
opacity: 1;
}
.is-dragging .white {
opacity: 0;
}
.is-dragging .main-view {
border-color: #9D2A37;
}
.was-successful .white,
.was-successful .red {
opacity: 0;
}
.was-successful .green .one,
.was-successful .green .two,
.was-successful .green .three {
opacity: 1;
}
.is-showing-spinner .white {
opacity: 0;
}
.is-showing-spinner .red {
opacity: 1;
}
.is-showing-spinner .green .one,
.is-showing-spinner .green .two,
.is-showing-spinner .green .three {
animation-name: spinner;
animation-duration: .9s;
animation-iteration-count: infinite;
-webkit-animation-name: spinner;
-webkit-animation-duration: .9s;
-webkit-animation-iteration-count: infinite;
}
.is-showing-spinner .green .two {
animation-delay: .3s;
-webkit-animation-delay: .3s;
}
.is-showing-spinner .green .three {
animation-delay: .6s;
-webkit-animation-delay: .6s;
}
.version {
color: #5c1820;
padding: 5px 10px;
position: absolute;
bottom: 0;
right: 0;
cursor: default;
font-size: 12px;
}
.version:hover {
color: #fff;
}

9404
app/vendor/jquery-1.7.2.js vendored Normal file

File diff suppressed because it is too large Load Diff