diff --git a/recv.php b/recv.php index fb776af..0ded369 100644 --- a/recv.php +++ b/recv.php @@ -4,7 +4,9 @@ # Install by putting this file on your web server and give the web server # user write permissions to the directory in which you put this script. # +$SECRET = ""; # Set to "" if you don't want authentication $MAXLENGTH = 4096000; # 4 MB +$HTTP_LINK = true; # Set to true if you want all image links to point to the unsecure version function rsperr($msg='', $st='400 Bad Request') { header('HTTP/1.1 '.$st); exit($msg); @@ -19,9 +21,14 @@ function pathfromid($id, $suffix='') { $suffix = strrchr($_GET['name'], '.'); $path = pathfromid($id, $suffix); $abspath = dirname(realpath(__FILE__)).'/'.$path; -$url = (isset($_SERVER['HTTPS']) ? 'https://' : 'http://') +$url = (isset($_SERVER['HTTPS'] && $HTTP_LINK != true) ? 'https://' : 'http://') . $_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']) . '/' . $path; +// Check if the secret is correct +if(!empty($SECRET) && $_SERVER['HTTP_X_SCRUP_AUTH'] != base64_encode($SECRET)) { + rsperr("Bad authentication credentials!", "401 Unauthorized"); +} + # make dir if needed $dirpath = dirname($abspath); if (!file_exists($dirpath) && @mkdir($dirpath, 0775) === false) diff --git a/resources/MainMenu.xib b/resources/MainMenu.xib index b1cdb43..7f7bc25 100644 --- a/resources/MainMenu.xib +++ b/resources/MainMenu.xib @@ -2,10 +2,10 @@ 1050 - 10C540 - 740 - 1038.25 - 458.00 + 11D50 + 2182 + 1138.32 + 568.00 YES @@ -13,33 +13,39 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.imagekit.ibplugin - + YES - 740 - 1.1 + 2182 + 1117 - + YES - - - - - + NSSegmentedCell + NSToolbar + NSSegmentedControl + NSMenuItem + NSMenu + NSTextFieldCell + NSButtonCell + NSButton + NSBox + IKImageView + NSCustomView + NSCustomObject + NSView + NSWindowTemplate + NSTextField + NSUserDefaultsController YES - com.apple.imagekit.ibplugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.imagekit.ibplugin - YES - - YES - - - YES - + PluginDependencyRecalculationVersion + YES @@ -52,6 +58,9 @@ NSApplication + + YES + NSFontManager @@ -994,7 +1003,7 @@ 3 2 - {{452, 634}, {542, 210}} + {{452, 634}, {542, 258}} 1677721600 Scrup NSWindow @@ -1011,31 +1020,29 @@ 1 YES - - + YES + - - YES - - - YES - + + - {1.79769e+308, 1.79769e+308} + {542, 210} - + 256 YES 268 - {{17, 171}, {101, 17}} + {{17, 219}, {101, 17}} + + YES 68288064 @@ -1070,8 +1077,10 @@ 266 - {{123, 168}, {399, 22}} + {{123, 216}, {399, 22}} + + YES -1804468671 @@ -1101,8 +1110,10 @@ 268 - {{120, 143}, {120, 17}} + {{120, 191}, {120, 17}} + + YES 68288064 @@ -1117,8 +1128,10 @@ 268 - {{120, 121}, {76, 14}} + {{120, 169}, {76, 14}} + + YES 70385217 @@ -1137,8 +1150,10 @@ 266 - {{198, 107}, {327, 28}} + {{198, 155}, {327, 28}} + + YES 67239424 @@ -1157,8 +1172,10 @@ 265 - {{277, 144}, {248, 11}} + {{277, 192}, {248, 11}} + + YES 68288064 @@ -1180,8 +1197,10 @@ 268 - {{17, 67}, {101, 17}} + {{17, 65}, {101, 17}} + + YES 68288064 @@ -1196,8 +1215,10 @@ 268 - {{123, 22}, {399, 60}} + {{123, 20}, {399, 60}} + + YES -2078147071 @@ -1215,7 +1236,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSFont NSParagraphStyle - + YES Helvetica @@ -1275,7 +1296,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSLink NSParagraphStyle - + YES @@ -1303,13 +1324,79 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA + + + 268 + {{71, 128}, {47, 17}} + + + + _NS:1505 + YES + + 68288064 + 272630784 + Secret: + + _NS:1505 + + + + + + + + 268 + {{123, 125}, {399, 22}} + + + + _NS:9 + YES + + -1804468671 + 272630784 + + + _NS:9 + + YES + + + + + + + 265 + {{120, 95}, {405, 22}} + + + + YES + + 67239424 + 4460544 + Pre-shared secret which authenticates you to the server. Be sure to use a secure connection (i.e. HTTPS) or someone might capture your secret key. + + + + + 4 + MCAwLjUzAA + + + - {542, 210} + {542, 258} + + + - {{0, 0}, {1440, 878}} + {{0, 0}, {1680, 1028}} {542, 251} - {1.79769e+308, 1.79769e+308} + {10000000000000, 10000000000000} mainWindow + YES @@ -1383,7 +1470,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA DPAppDelegate - + 292 YES @@ -1618,17 +1705,13 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA {542, 218} - NSView - - YES - SUUpdater - + 292 YES @@ -1902,11 +1985,10 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA {542, 374} - NSView - + 268 YES @@ -1961,7 +2043,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 290 - {{199.405, 51}, {435.595, 23}} + {{199.405, 51}, {435.59500000000003, 23}} YES @@ -2026,7 +2108,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 17 {{632, 73}, {5, 406}} - {{0, 27.285}, {5, 406}} {0, 0} @@ -2324,7 +2405,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA {646, 520} - NSView @@ -2334,6 +2414,38 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA YES + + + delegate + + + + 524 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + terminate: + + + + 448 + + + + terminate: + + + + 518 + performMiniaturize: @@ -2350,14 +2462,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 39 - - - orderFrontStandardAboutPanel: - - - - 142 - toggleContinuousSpellChecking: @@ -2552,19 +2656,35 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA - terminate: - - + performClose: + + - 448 + 860 - - terminate: - - + + delegate + + - 518 + 546 + + + + value: paused + + + + + + value: paused + value + paused + 2 + + + 698 @@ -2582,30 +2702,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 523 - - - delegate - - - - 524 - - - - delegate - - - - 546 - - - - delegate - - - - 627 - toolbar @@ -2638,6 +2734,78 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 639 + + + orderFrontSettingsWindow: + + + + 988 + + + + generalSettingsView + + + + 1018 + + + + receiverURL + + + + 1038 + + + + pauseMenuItem + + + + 1043 + + + + processingSettingsView + + + + 1135 + + + + preprocessingUIView + + + + 1176 + + + + preprocessingWindowController + + + + 1182 + + + + receiverSecret + + + + 1300 + + + + delegate + + + + 627 + value: showInMenuBar @@ -2658,7 +2826,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNotApplicablePlaceholder NSNullPlaceholder - + YES @@ -2671,6 +2839,22 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 668 + + + enabled: showInDock + + + + + + enabled: showInDock + enabled + showInDock + 2 + + + 873 + enabled: showInMenuBar @@ -2691,7 +2875,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNotApplicablePlaceholder NSNullPlaceholder - + YES @@ -2724,7 +2908,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNotApplicablePlaceholder NSNullPlaceholder - + YES @@ -2739,28 +2923,39 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA - value: paused - + value: openAtLogin + - + - value: paused + value: openAtLogin value - paused - 2 - - - 698 - - - - performClose: - - - - 860 - + openAtLogin + + YES + + YES + NSMultipleValuesPlaceholder + NSNoSelectionPlaceholder + NSNotApplicablePlaceholder + NSNullPlaceholder + NSValidatesImmediately + + + YES + + + + + + + + 2 + + + 980 + value: showInDock @@ -2781,7 +2976,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNotApplicablePlaceholder NSNullPlaceholder - + YES @@ -2794,22 +2989,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 871 - - - enabled: showInDock - - - - - - enabled: showInDock - enabled - showInDock - 2 - - - 873 - enabled: showInMenuBar @@ -2834,49 +3013,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 953 - - - value: openAtLogin - - - - - - value: openAtLogin - value - openAtLogin - - YES - - YES - NSMultipleValuesPlaceholder - NSNoSelectionPlaceholder - NSNotApplicablePlaceholder - NSNullPlaceholder - NSValidatesImmediately - - - YES - - - - - - - - 2 - - - 980 - - - - orderFrontSettingsWindow: - - - - 988 - checkForUpdates: @@ -2887,15 +3023,15 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA - value: automaticallyDownloadsUpdates - + value: automaticallyChecksForUpdates + - + - value: automaticallyDownloadsUpdates + value: automaticallyChecksForUpdates value - automaticallyDownloadsUpdates + automaticallyChecksForUpdates YES @@ -2906,7 +3042,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNullPlaceholder NSValidatesImmediately - + YES @@ -2918,19 +3054,19 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 2 - 1005 + 1006 - value: automaticallyChecksForUpdates - + value: automaticallyDownloadsUpdates + - + - value: automaticallyChecksForUpdates + value: automaticallyDownloadsUpdates value - automaticallyChecksForUpdates + automaticallyDownloadsUpdates YES @@ -2941,7 +3077,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNullPlaceholder NSValidatesImmediately - + YES @@ -2953,7 +3089,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 2 - 1006 + 1005 @@ -2975,7 +3111,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNotApplicablePlaceholder NSNullPlaceholder - + YES @@ -2989,28 +3125,35 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 1007 - - generalSettingsView - - - - 1018 - - - - receiverURL - - - - 1038 - - - - pauseMenuItem - - + + value: values.recvURL + + + + + + value: values.recvURL + value + values.recvURL + + YES + + YES + NSMultipleValuesPlaceholder + NSNullPlaceholder + NSValidatesImmediately + + + YES + <multiple values> + http://your.host/recv.php?name={filename} + + + + 2 + - 1043 + 1134 @@ -3033,7 +3176,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNullPlaceholder NSValidatesImmediately - + YES @@ -3088,7 +3231,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNullPlaceholder NSValidatesImmediately - + YES @@ -3123,7 +3266,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNullPlaceholder NSValidatesImmediately - + YES @@ -3137,45 +3280,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 1123 - - - value: values.recvURL - - - - - - value: values.recvURL - value - values.recvURL - - YES - - YES - NSMultipleValuesPlaceholder - NSNullPlaceholder - NSValidatesImmediately - - - YES - <multiple values> - http://your.host/recv.php?name={filename} - - - - 2 - - - 1134 - - - - processingSettingsView - - - - 1135 - value: trashAfterSuccessfulUpload @@ -3197,7 +3301,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNullPlaceholder NSValidatesImmediately - + YES @@ -3211,41 +3315,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 1143 - - - value: enablePostProcessShellCommand - - - - - - value: enablePostProcessShellCommand - value - enablePostProcessShellCommand - - YES - - YES - NSMultipleValuesPlaceholder - NSNoSelectionPlaceholder - NSNotApplicablePlaceholder - NSNullPlaceholder - NSValidatesImmediately - - - YES - - - - - - - - 2 - - - 1165 - value: postProcessShellCommand @@ -3286,7 +3355,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNotApplicablePlaceholder NSNullPlaceholder - + YES @@ -3299,73 +3368,17 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 1167 - - - preprocessingUIView - - - - 1176 - - - - filenameTextField - - - - 1178 - - - - performCommit: - - - - 1179 - - - - performCancel: - - - - 1180 - - - - imageView - - - - 1181 - - - - preprocessingWindowController - - - - 1182 - - - - appDelegate - - - - 1183 - - value: enablePreprocessingUI - + value: enablePostProcessShellCommand + - + - value: enablePreprocessingUI + value: enablePostProcessShellCommand value - enablePreprocessingUI + enablePostProcessShellCommand YES @@ -3376,19 +3389,19 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSNullPlaceholder NSValidatesImmediately - + YES - - - - + + + + 2 - 1191 + 1165 @@ -3408,19 +3421,59 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA - switchToolMode: + crop: + + + + 1247 + + + + filenameTextField - + - 1227 + 1178 - crop: - - + performCommit: + + - 1247 + 1179 + + + + performCancel: + + + + 1180 + + + + imageView + + + + 1181 + + + + appDelegate + + + + 1183 + + + + switchToolMode: + + + + 1227 @@ -3470,6 +3523,61 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 1293 + + + value: enablePreprocessingUI + + + + + + value: enablePreprocessingUI + value + enablePreprocessingUI + + YES + + YES + NSMultipleValuesPlaceholder + NSNoSelectionPlaceholder + NSNotApplicablePlaceholder + NSNullPlaceholder + NSValidatesImmediately + + + YES + + + + + + + + 2 + + + 1191 + + + + value: values.recvSecret + + + + + + value: values.recvSecret + value + values.recvSecret + + NSValidatesImmediately + + + 2 + + + 1305 + @@ -3853,12 +3961,15 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA YES - - + + + + + @@ -5068,12 +5179,56 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA + + 1294 + + + YES + + + + + + 1295 + + + + + 1296 + + + YES + + + + + + 1297 + + + + + 1298 + + + YES + + + + + + 1299 + + + YES YES + -1.IBPluginDependency + -2.IBPluginDependency -3.IBPluginDependency 1000.IBPluginDependency 1001.IBPluginDependency @@ -5090,7 +5245,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 1028.IBPluginDependency 1029.IBPluginDependency 103.IBPluginDependency - 103.ImportedFromIB2 1030.IBPluginDependency 1041.IBPluginDependency 1042.IBPluginDependency @@ -5102,12 +5256,8 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 1052.IBPluginDependency 1053.IBPluginDependency 1054.IBPluginDependency - 106.IBEditorWindowLastContentRect 106.IBPluginDependency - 106.ImportedFromIB2 - 106.editorWindowContentRectSynchronizationRect 1061.IBPluginDependency - 1107.IBEditorWindowLastContentRect 1107.IBPluginDependency 1109.IBPluginDependency 1110.IBPluginDependency @@ -5131,7 +5281,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 1150.IBPluginDependency 1152.IBPluginDependency 1153.IBPluginDependency - 1168.IBEditorWindowLastContentRect 1168.IBPluginDependency 1169.IBAttributePlaceholdersKey 1169.IBPluginDependency @@ -5141,6 +5290,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 1173.IBPluginDependency 1174.IBPluginDependency 1175.IBPluginDependency + 1177.IBPluginDependency 1184.IBPluginDependency 1185.IBPluginDependency 1186.IBPluginDependency @@ -5161,9 +5311,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 1213.IBPluginDependency 1214.IBPluginDependency 1225.IBPluginDependency - 1225.IBSegmentedControlTracker.RoundRobinState - 1225.IBSegmentedControlTracker.WasGrowing - 1225.ImportedFromIB2 1226.IBPluginDependency 1226.IBSegmentedControlInspectorSelectedSegmentMetadataKey 1231.IBPluginDependency @@ -5175,156 +5322,81 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 1246.IBPluginDependency 1289.IBPluginDependency 129.IBPluginDependency - 129.ImportedFromIB2 1290.IBPluginDependency - 130.IBEditorWindowLastContentRect + 1294.IBPluginDependency + 1295.IBPluginDependency + 1296.IBPluginDependency + 1297.IBPluginDependency + 1298.IBPluginDependency + 1299.IBPluginDependency 130.IBPluginDependency - 130.ImportedFromIB2 - 130.editorWindowContentRectSynchronizationRect 131.IBPluginDependency - 131.ImportedFromIB2 134.IBPluginDependency - 134.ImportedFromIB2 136.IBPluginDependency - 136.ImportedFromIB2 143.IBPluginDependency - 143.ImportedFromIB2 144.IBPluginDependency - 144.ImportedFromIB2 145.IBPluginDependency - 145.ImportedFromIB2 149.IBPluginDependency - 149.ImportedFromIB2 150.IBPluginDependency - 150.ImportedFromIB2 19.IBPluginDependency - 19.ImportedFromIB2 195.IBPluginDependency - 195.ImportedFromIB2 196.IBPluginDependency - 196.ImportedFromIB2 197.IBPluginDependency - 197.ImportedFromIB2 198.IBPluginDependency - 198.ImportedFromIB2 199.IBPluginDependency - 199.ImportedFromIB2 - 200.IBEditorWindowLastContentRect 200.IBPluginDependency - 200.ImportedFromIB2 - 200.editorWindowContentRectSynchronizationRect 201.IBPluginDependency - 201.ImportedFromIB2 202.IBPluginDependency - 202.ImportedFromIB2 203.IBPluginDependency - 203.ImportedFromIB2 204.IBPluginDependency - 204.ImportedFromIB2 - 205.IBEditorWindowLastContentRect 205.IBPluginDependency - 205.ImportedFromIB2 - 205.editorWindowContentRectSynchronizationRect 206.IBPluginDependency - 206.ImportedFromIB2 207.IBPluginDependency - 207.ImportedFromIB2 208.IBPluginDependency - 208.ImportedFromIB2 209.IBPluginDependency - 209.ImportedFromIB2 210.IBPluginDependency - 210.ImportedFromIB2 211.IBPluginDependency - 211.ImportedFromIB2 - 212.IBEditorWindowLastContentRect 212.IBPluginDependency - 212.ImportedFromIB2 - 212.editorWindowContentRectSynchronizationRect 213.IBPluginDependency - 213.ImportedFromIB2 214.IBPluginDependency - 214.ImportedFromIB2 215.IBPluginDependency - 215.ImportedFromIB2 216.IBPluginDependency - 216.ImportedFromIB2 217.IBPluginDependency - 217.ImportedFromIB2 218.IBPluginDependency - 218.ImportedFromIB2 219.IBPluginDependency - 219.ImportedFromIB2 - 220.IBEditorWindowLastContentRect 220.IBPluginDependency - 220.ImportedFromIB2 - 220.editorWindowContentRectSynchronizationRect 221.IBPluginDependency - 221.ImportedFromIB2 23.IBPluginDependency - 23.ImportedFromIB2 236.IBPluginDependency - 236.ImportedFromIB2 239.IBPluginDependency - 239.ImportedFromIB2 - 24.IBEditorWindowLastContentRect 24.IBPluginDependency - 24.ImportedFromIB2 - 24.editorWindowContentRectSynchronizationRect - 29.IBEditorWindowLastContentRect 29.IBPluginDependency - 29.ImportedFromIB2 - 29.WindowOrigin - 29.editorWindowContentRectSynchronizationRect 295.IBPluginDependency - 296.IBEditorWindowLastContentRect 296.IBPluginDependency - 296.editorWindowContentRectSynchronizationRect 297.IBPluginDependency 298.IBPluginDependency 346.IBPluginDependency - 346.ImportedFromIB2 348.IBPluginDependency - 348.ImportedFromIB2 - 349.IBEditorWindowLastContentRect 349.IBPluginDependency - 349.ImportedFromIB2 - 349.editorWindowContentRectSynchronizationRect 350.IBPluginDependency - 350.ImportedFromIB2 351.IBPluginDependency - 351.ImportedFromIB2 354.IBPluginDependency - 354.ImportedFromIB2 - 367.IBEditorWindowLastContentRect 367.IBPluginDependency 367.IBWindowTemplateEditedContentRect 367.NSWindowTemplate.visibleAtLaunch - 367.editorWindowContentRectSynchronizationRect - 367.windowTemplate.hasMaxSize - 367.windowTemplate.hasMinSize - 367.windowTemplate.maxSize - 367.windowTemplate.minSize 368.IBPluginDependency + 373.IBPluginDependency 375.IBPluginDependency 5.IBPluginDependency - 5.ImportedFromIB2 - 513.IBEditorWindowLastContentRect 513.IBPluginDependency 514.IBPluginDependency 515.IBPluginDependency 516.IBPluginDependency + 521.IBPluginDependency 56.IBPluginDependency - 56.ImportedFromIB2 - 57.IBEditorWindowLastContentRect 57.IBPluginDependency - 57.ImportedFromIB2 - 57.editorWindowContentRectSynchronizationRect 58.IBPluginDependency - 58.ImportedFromIB2 - 619.IBEditorWindowLastContentRect 619.IBPluginDependency - 629.IBEditorWindowLastContentRect 629.IBPluginDependency 634.IBPluginDependency 635.IBPluginDependency @@ -5339,7 +5411,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 649.IBPluginDependency 676.IBPluginDependency 677.IBPluginDependency - 757.IBEditorWindowLastContentRect 757.IBPluginDependency 758.IBPluginDependency 759.IBPluginDependency @@ -5352,7 +5423,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 766.IBPluginDependency 767.IBPluginDependency 768.IBPluginDependency - 769.IBEditorWindowLastContentRect 769.IBPluginDependency 770.IBPluginDependency 771.IBPluginDependency @@ -5386,21 +5456,16 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA 799.IBPluginDependency 800.IBPluginDependency 801.IBPluginDependency - 846.IBEditorWindowLastContentRect 846.IBPluginDependency - 846.ImportedFromIB2 - 846.editorWindowContentRectSynchronizationRect 850.IBPluginDependency - 850.ImportedFromIB2 883.IBPluginDependency 92.IBPluginDependency - 92.ImportedFromIB2 + 951.IBPluginDependency 952.IBPluginDependency - 952.ImportedFromIB2 991.IBPluginDependency 999.IBPluginDependency - + YES com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5418,7 +5483,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5430,12 +5494,8 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{431, 830}, {64, 6}} com.apple.InterfaceBuilder.CocoaPlugin - - {{596, 852}, {216, 23}} com.apple.InterfaceBuilder.CocoaPlugin - {{128, 163}, {542, 374}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5459,7 +5519,8 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{191, 282}, {646, 520}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin ToolTip @@ -5483,6 +5544,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin ToolTip @@ -5524,9 +5586,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - - - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5538,156 +5597,79 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - {{509, 573}, {64, 6}} com.apple.InterfaceBuilder.CocoaPlugin - - {{436, 809}, {64, 6}} com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - {{442, 573}, {272, 83}} com.apple.InterfaceBuilder.CocoaPlugin - - {{608, 612}, {275, 83}} com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - {{200, 593}, {242, 243}} com.apple.InterfaceBuilder.CocoaPlugin - - {{365, 632}, {243, 243}} com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - {{442, 573}, {152, 43}} com.apple.InterfaceBuilder.CocoaPlugin - - {{608, 612}, {167, 43}} com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - {{442, 573}, {238, 103}} com.apple.InterfaceBuilder.CocoaPlugin - - {{608, 612}, {241, 103}} com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - {{360, 763}, {193, 73}} com.apple.InterfaceBuilder.CocoaPlugin - - {{525, 802}, {197, 73}} - {{14, 836}, {478, 20}} com.apple.InterfaceBuilder.CocoaPlugin - - {74, 862} - {{11, 977}, {478, 20}} com.apple.InterfaceBuilder.CocoaPlugin - {{310, 793}, {231, 43}} com.apple.InterfaceBuilder.CocoaPlugin - {{475, 832}, {234, 43}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - {{442, 573}, {213, 63}} com.apple.InterfaceBuilder.CocoaPlugin - - {{608, 612}, {215, 63}} com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - {{260, 579}, {542, 210}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{260, 579}, {542, 210}} - {{11, 666}, {480, 270}} - - - {542, 210} - {542, 210} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - - {{865, 696}, {190, 123}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - - {{26, 633}, {228, 203}} com.apple.InterfaceBuilder.CocoaPlugin - - {{23, 794}, {245, 183}} com.apple.InterfaceBuilder.CocoaPlugin - - {{192, 603}, {616, 0}} com.apple.InterfaceBuilder.CocoaPlugin - {{234, 338}, {542, 218}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5702,7 +5684,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{244, 793}, {86, 43}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5715,7 +5696,6 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{330, 553}, {176, 283}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5749,17 +5729,14 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{158, 813}, {118, 23}} com.apple.InterfaceBuilder.CocoaPlugin - - {{323, 672}, {199, 203}} com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5767,20 +5744,16 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA YES - - YES - + YES - - YES - + - 1293 + 1305 @@ -5802,7 +5775,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA saveState: updateMenuItem: - + YES id id @@ -5815,6 +5788,60 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA id + + YES + + YES + disableMenuItem: + displayViewForAdvancedSettings: + displayViewForGeneralSettings: + displayViewForProcessingSettings: + enableMenuItem: + enableOrDisableMenuItem: + orderFrontSettingsWindow: + saveState: + updateMenuItem: + + + YES + + disableMenuItem: + id + + + displayViewForAdvancedSettings: + id + + + displayViewForGeneralSettings: + id + + + displayViewForProcessingSettings: + id + + + enableMenuItem: + id + + + enableOrDisableMenuItem: + id + + + orderFrontSettingsWindow: + id + + + saveState: + id + + + updateMenuItem: + id + + + YES @@ -5827,12 +5854,13 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA preprocessingUIView preprocessingWindowController processingSettingsView + receiverSecret receiverURL statusItemMenu toolbar updater - + YES NSView NSView @@ -5843,14 +5871,89 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA DPPreprocessingWindowController NSView NSTextField + NSTextField NSMenu NSToolbar SUUpdater + + YES + + YES + advancedSettingsView + generalSettingsView + mainMenu + mainWindow + pauseMenuItem + preprocessingUIView + preprocessingWindowController + processingSettingsView + receiverSecret + receiverURL + statusItemMenu + toolbar + updater + + + YES + + advancedSettingsView + NSView + + + generalSettingsView + NSView + + + mainMenu + NSMenu + + + mainWindow + NSWindow + + + pauseMenuItem + NSMenuItem + + + preprocessingUIView + NSView + + + preprocessingWindowController + DPPreprocessingWindowController + + + processingSettingsView + NSView + + + receiverSecret + NSTextField + + + receiverURL + NSTextField + + + statusItemMenu + NSMenu + + + toolbar + NSToolbar + + + updater + SUUpdater + + + IBProjectSource - src/DPAppDelegate.h + ./Classes/DPAppDelegate.h @@ -5858,7 +5961,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSView IBProjectSource - src/DPCheckerView.h + ./Classes/DPCheckerView.h @@ -5876,7 +5979,7 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA zoomIn: zoomOut: - + YES id id @@ -5887,18 +5990,62 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA id - + YES YES - appDelegate - commitActionButton - defaultButton + crop: + performCancel: + performCommit: + switchToolMode: + toggleIKInspector: + zoomIn: + zoomOut: + + + YES + + crop: + id + + + performCancel: + id + + + performCommit: + id + + + switchToolMode: + id + + + toggleIKInspector: + id + + + zoomIn: + id + + + zoomOut: + id + + + + + YES + + YES + appDelegate + commitActionButton + defaultButton filenameTextField imageView toolbarSegmentedControl - + YES DPAppDelegate NSButton @@ -5908,768 +6055,66 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA NSSegmentedControl - - IBProjectSource - src/DPPreprocessingWindowController.h - - - - NSWindow - - IBProjectSource - src/NSWindow+DPAdditions.h - - - - - YES - - NSObject - - IBDocumentRelativeSource - ../frameworks/Sparkle.framework/Versions/A/Headers/SUAppcast.h - - - - NSObject - - IBDocumentRelativeSource - ../frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h - - - - SUUpdater - NSObject - - checkForUpdates: - id - - - delegate - id - - - - - - YES - - IKImageView - NSView - + YES YES - crop: - flipImageHorizontal: - flipImageVertical: - rotateImageLeft: - rotateImageRight: - zoomImageToActualSize: - zoomImageToFit: - zoomIn: - zoomOut: + appDelegate + commitActionButton + defaultButton + filenameTextField + imageView + toolbarSegmentedControl - + YES - id - id - id - id - id - id - id - id - id + + appDelegate + DPAppDelegate + + + commitActionButton + NSButton + + + defaultButton + NSButton + + + filenameTextField + NSTextField + + + imageView + IKImageView + + + toolbarSegmentedControl + NSSegmentedControl + - IBFrameworkSource - ImageKit.framework/Headers/IKImageView.h - - - - NSActionCell - NSCell - - IBFrameworkSource - AppKit.framework/Headers/NSActionCell.h - - - - NSApplication - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSApplication.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSApplicationScripting.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSColorPanel.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSHelpManager.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSPageLayout.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSUserInterfaceItemSearching.h - - - - NSBox - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSBox.h - - - - NSBrowser - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSBrowser.h - - - - NSButton - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSButton.h - - - - NSButtonCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSButtonCell.h - - - - NSCell - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSCell.h - - - - NSControl - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h - - - - NSController - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSController.h - - - - NSFontManager - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontManager.h - - - - NSFormatter - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFormatter.h - - - - NSMatrix - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSMatrix.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.h - - - - NSMovieView - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSMovieView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSAccessibility.h - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDictionaryController.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDragging.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontPanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSKeyValueBinding.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSNibLoading.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSOutlineView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSPasteboard.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSSavePanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSToolbarItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSView.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObjectScripting.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPortCoder.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptObjectSpecifiers.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptWhoseTests.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLConnection.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLDownload.h - - - - NSObject - - IBFrameworkSource - ImageKit.framework/Headers/IKImageBrowserView.h - - - - NSObject - - IBFrameworkSource - ImageKit.framework/Headers/IKSaveOptions.h - - - - NSObject - - IBFrameworkSource - ImageKit.framework/Headers/ImageKitDeprecated.h - - - - NSObject - - IBFrameworkSource - PDFKit.framework/Headers/PDFDocument.h - - - - NSObject - - IBFrameworkSource - PDFKit.framework/Headers/PDFView.h - - - - NSObject - - IBFrameworkSource - QuartzComposer.framework/Headers/QCCompositionParameterView.h - - - - NSObject - - IBFrameworkSource - QuartzComposer.framework/Headers/QCCompositionPickerView.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CAAnimation.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CALayer.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CIImageProvider.h - - - - NSObject - - IBFrameworkSource - QuartzFilters.framework/Headers/QuartzFilterManager.h - - - - NSObject - - IBFrameworkSource - QuickLookUI.framework/Headers/QLPreviewPanel.h - - - - NSObject - - IBFrameworkSource - Sparkle.framework/Headers/SUAppcast.h - - - - NSObject - - IBFrameworkSource - Sparkle.framework/Headers/SUUpdater.h - - - - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSInterfaceStyle.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSSegmentedCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSSegmentedCell.h - - - - NSSegmentedControl - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSSegmentedControl.h - - - - NSTableView - NSControl - - - - NSText - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSText.h - - - - NSTextField - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSTextField.h - - - - NSTextFieldCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSTextFieldCell.h - - - - NSToolbar - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSToolbar.h - - - - NSUserDefaultsController - NSController - - IBFrameworkSource - AppKit.framework/Headers/NSUserDefaultsController.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSClipView.h - - - - NSView - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSRulerView.h - - - - NSView - NSResponder - - - - NSWindow - - IBFrameworkSource - AppKit.framework/Headers/NSDrawer.h - - - - NSWindow - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSWindow.h - - - - NSWindow - - IBFrameworkSource - AppKit.framework/Headers/NSWindowScripting.h + IBProjectSource + ./Classes/DPPreprocessingWindowController.h - NSWindowController - NSResponder + IKImageView - showWindow: + crop: id - - IBFrameworkSource - AppKit.framework/Headers/NSWindowController.h - - - - PDFView - NSView - - YES - - YES - goBack: - goForward: - goToFirstPage: - goToLastPage: - goToNextPage: - goToPreviousPage: - selectAll: - takeBackgroundColorFrom: - zoomIn: - zoomOut: - - - YES - id - id - id - id - id - id - id - id - id - id - - - - - - QCView - NSView - - YES - - YES - play: - start: - stop: - - - YES - id - id - id + + crop: + + crop: + id - IBFrameworkSource - QuartzComposer.framework/Headers/QCView.h + IBProjectSource + ./Classes/IKImageView.h @@ -6679,29 +6124,81 @@ ZCBzb3VyY2UgY29kZSBhdCBodHRwOi8vZ2l0aHViLmNvbS9yc21zL3NjcnVwA checkForUpdates: id + + checkForUpdates: + + checkForUpdates: + id + + delegate id - + + delegate + + delegate + id + + + + IBProjectSource + ./Classes/SUUpdater.h + 0 + IBCocoaFramework com.apple.InterfaceBuilder.CocoaPlugin.macosx - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 YES - ../scrup.xcodeproj 3 + + YES + + YES + BottomTB_ellipse + BottomTB_freeText + BottomTB_inspector + BottomTB_line + BottomTB_rectangle + NSAddTemplate + NSMenuCheckmark + NSMenuMixedState + NSRemoveTemplate + NSSwitch + crop + move + rect + zoom-actual + zoom-to-fit + + + YES + {13, 11} + {18, 14} + {16, 16} + {13, 8} + {13, 9} + {8, 8} + {11, 11} + {10, 3} + {8, 8} + {15, 15} + {16, 16} + {16, 16} + {16, 16} + {8, 8} + {8, 8} + + diff --git a/scrup.xcodeproj/project.pbxproj b/scrup.xcodeproj/project.pbxproj index 3d53ce5..dcda1a0 100644 --- a/scrup.xcodeproj/project.pbxproj +++ b/scrup.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 45; + objectVersion = 46; objects = { /* Begin PBXAggregateTarget section */ @@ -554,8 +554,11 @@ /* Begin PBXProject section */ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; + attributes = { + LastUpgradeCheck = 0430; + }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "scrup" */; - compatibilityVersion = "Xcode 3.1"; + compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( @@ -774,7 +777,6 @@ buildSettings = { COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; PRODUCT_NAME = Distribution; ZERO_LINK = NO; }; @@ -787,14 +789,12 @@ ARCHS = "$(NATIVE_ARCH_ACTUAL)"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_ENABLE_OBJC_GC = supported; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; INSTALL_PATH = /usr/local/lib; - PREBINDING = NO; PRODUCT_NAME = pngcrush; - SDKROOT = macosx10.6; + SDKROOT = macosx; VALID_ARCHS = "i386 ppc ppc64 ppc7400 ppc970 x86_64"; }; name = Debug; @@ -810,7 +810,6 @@ GCC_DEBUGGING_SYMBOLS = used; GCC_DYNAMIC_NO_PIC = YES; GCC_ENABLE_CPP_EXCEPTIONS = NO; - GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_ENABLE_OBJC_GC = supported; GCC_ENABLE_SSE3_EXTENSIONS = YES; GCC_ENABLE_SSE41_EXTENSIONS = YES; @@ -820,9 +819,8 @@ GCC_OPTIMIZATION_LEVEL = 3; GCC_UNROLL_LOOPS = YES; INSTALL_PATH = /usr/local/lib; - PREBINDING = NO; PRODUCT_NAME = pngcrush; - SDKROOT = macosx10.6; + SDKROOT = macosx; VALID_ARCHS = "i386 ppc ppc64 ppc7400 ppc970 x86_64"; ZERO_LINK = NO; }; @@ -839,7 +837,6 @@ "\"$(SRCROOT)/frameworks\"", ); GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_ENABLE_OBJC_GC = required; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; @@ -852,8 +849,9 @@ GCC_WARN_UNUSED_VALUE = YES; INFOPLIST_FILE = resources/Info.plist; INSTALL_PATH = "$(HOME)/Applications"; + OTHER_LDFLAGS = "-lcrypto"; PRODUCT_NAME = Scrup; - SDKROOT = macosx10.6; + SDKROOT = macosx; }; name = Debug; }; @@ -880,8 +878,9 @@ GCC_WARN_UNUSED_VALUE = YES; INFOPLIST_FILE = resources/Info.plist; INSTALL_PATH = "$(HOME)/Applications"; + OTHER_LDFLAGS = "-lcrypto"; PRODUCT_NAME = Scrup; - SDKROOT = macosx10.6; + SDKROOT = macosx; }; name = Release; }; @@ -894,8 +893,8 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; ONLY_ACTIVE_ARCH = YES; - PREBINDING = NO; - SDKROOT = macosx10.5; + OTHER_LDFLAGS = ""; + SDKROOT = macosx; }; name = Debug; }; @@ -906,8 +905,8 @@ GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = macosx10.5; + OTHER_LDFLAGS = ""; + SDKROOT = macosx; }; name = Release; }; diff --git a/src/DPAppDelegate.h b/src/DPAppDelegate.h index 253d6d1..9a7653e 100644 --- a/src/DPAppDelegate.h +++ b/src/DPAppDelegate.h @@ -15,6 +15,7 @@ IBOutlet NSView *advancedSettingsView; IBOutlet SUUpdater *updater; IBOutlet NSTextField *receiverURL; + IBOutlet NSTextField *receiverSecret; IBOutlet NSMenuItem *pauseMenuItem; BOOL openAtLogin, showInDock, diff --git a/src/DPAppDelegate.m b/src/DPAppDelegate.m index 6d55f54..d7c93fb 100644 --- a/src/DPAppDelegate.m +++ b/src/DPAppDelegate.m @@ -10,6 +10,11 @@ #include #include +/* For base64 encoding */ +#include +#include + + #define SCREENSHOT_LOG_LIMIT 10 /* todo: make configurable */ /*@interface NSStatusBar (Unofficial) @@ -153,6 +158,12 @@ - (void)awakeFromNib { [self performSelectorInBackground:@selector(debugPerpetualStateCheck) withObject:nil]; #endif + /* In order to check for http/https if the secret is set. + XXX The user is still not warned if the preferences window is closed without "ending" + the input session (because then controlTextDidEndEditing doesn't get called, for some reason */ + [receiverSecret setDelegate:self]; + [receiverURL setDelegate:self]; + // XXX /*[self displayPreprocessingUIForScreenshotAtPath:@"" meta:[NSDictionary dictionaryWithObjectsAndKeys:[NSDate date], @"du", nil] @@ -161,6 +172,47 @@ - (void)awakeFromNib { }];*/ } +-(void) controlTextDidEndEditing:(NSNotification *)aNotification { + if([aNotification object] == receiverSecret || [aNotification object] == receiverURL) { + /* If we're losing focus because sslAlertEnd switched to receiverURL, don't display another sheet. + Also check user preference. */ + if([mainWindow attachedSheet] != NULL + || [defaults boolForKey:@"sslDontAskAgain"]) { + return; + } + + /* If a secret is set, check if receiverURL contains 'https://' and alert if it doesn't */ + if(!([[receiverSecret stringValue] isEqualToString:@""] || [[receiverURL stringValue] isEqualToString:@""])) { + NSRange matchHTTPS = [[receiverURL stringValue] rangeOfString:@"https://"]; + if(matchHTTPS.length <= 0) { + NSAlert *sslAlert = [[[NSAlert alloc] init] autorelease]; + [sslAlert setMessageText:@"Security Tip"]; + [sslAlert setInformativeText:@"Great, you set a secret key! But you should really use a secure connection (SSL, \"https://\") in this case. Otherwise anyone eavesdropping on your connection can easily filter out the key."]; + [sslAlert addButtonWithTitle:@"Re-Edit Receiver URL ..."]; + [sslAlert addButtonWithTitle:@"No! Don't ever ask again."]; + [sslAlert beginSheetModalForWindow:mainWindow modalDelegate:self didEndSelector:@selector(sslAlertEnd:returnCode:contextInfo:) contextInfo:nil]; + } + } + } +} + +-(void)sslAlertEnd:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { + switch(returnCode) { + case NSAlertFirstButtonReturn: + /* Select the URL field's 'http://' portion */ + [receiverURL becomeFirstResponder]; + NSText* textEditor = [mainWindow fieldEditor:YES forObject:receiverURL]; + NSRange range = {0, 7}; + [textEditor setSelectedRange:range]; + + break; + case NSAlertSecondButtonReturn: + [defaults setBool:YES forKey:@"sslDontAskAgain"]; + break; + } + return; +} + - (NSRect)menuItemFrame { // ugly, ugly hack... damn you Apple. @@ -491,6 +543,26 @@ -(void)processScreenshotAtPath:(NSString *)path modifiedAtDate:(NSDate *)dateMod return; } + // Check for a secret and base64 encode it + NSString *secret = [receiverSecret stringValue]; + NSString *encodedSecret = NULL; + if([secret length] > 0) { + BIO *context = BIO_new(BIO_s_mem()); + + BIO *command = BIO_new(BIO_f_base64()); + context = BIO_push(command, context); + + // Encode all the data + BIO_write(context, [[secret dataUsingEncoding:NSUTF8StringEncoding] bytes], [[secret dataUsingEncoding:NSUTF8StringEncoding] length]); + BIO_flush(context); + + char *outputBuffer; + long outputLength = BIO_get_mem_data(context, &outputBuffer); + encodedSecret = [NSString stringWithCString:outputBuffer length:outputLength]; + BIO_free_all(context); + } + + // Register NSMutableDictionary *rec = [uploadedScreenshots objectForKey:fn]; if (rec) { @@ -505,6 +577,9 @@ -(void)processScreenshotAtPath:(NSString *)path modifiedAtDate:(NSDate *)dateMod void (^continue_block)(NSString *) = ^(NSString *actualPath){ HTTPPOSTOperation *postOp = [HTTPPOSTOperation alloc]; [postOp initWithPath:actualPath URL:url delegate:self]; + if(encodedSecret != NULL) + [postOp.request setValue:[encodedSecret stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]] forHTTPHeaderField:@"X-Scrup-Auth"]; + nCurrOps++; [self updateMenuItem:self]; [statusItem setImage:iconSending];