From 238f532bc15a90e55a2827b495c11f0501d48bca Mon Sep 17 00:00:00 2001 From: Zachary Schneirov Date: Fri, 25 Sep 2009 11:37:42 -0500 Subject: [PATCH] Changes for 64-bit compatibility by Brian Bergstrand: Keyed archiving; 64-bit upgrade of NSArchiver data; upgrade sparkle version; upgrade Xcode project version to 3.1; targeting 10.5 SDK instead of 10.4. Also increase resiliency against potential serialization problems by verifying writes before saving; allow recovery of notes in the case that the database cannot be rewritten --- .gitattributes | 0 .gitignore | 0 AlienNoteImporter.h | 0 AlienNoteImporter.m | 2 + AppController.h | 0 AppController.m | 122 +- AttributedPlainText.h | 0 AttributedPlainText.m | 16 +- BlorPasswordRetriever.h | 0 BlorPasswordRetriever.m | 0 BodyScroller.h | 0 BodyScroller.m | 0 BookmarksController.h | 0 BookmarksController.m | 27 +- BookmarksTable.h | 0 BookmarksTable.m | 0 BufferUtils.c | 30 +- BufferUtils.h | 0 CRC32.c | 0 CRC32.h | 0 CarbonFSErrorStrings.h | 0 DeletedNoteObject.h | 0 DeletedNoteObject.m | 30 +- DeletionManager.h | 0 DeletionManager.m | 8 +- DualField.h | 0 DualField.m | 0 EmptyView.h | 0 EmptyView.m | 0 EncodingsManager.h | 0 EncodingsManager.m | 0 .../BlorPasswordRetriever.nib/classes.nib | 0 .../BlorPasswordRetriever.nib/info.nib | 0 .../keyedobjects.nib | Bin English.lproj/CarbonErrorStrings.plist | 28 +- English.lproj/Contact Information.nvhelp | 0 English.lproj/DeletionManager.nib/classes.nib | 0 English.lproj/DeletionManager.nib/info.nib | 0 .../DeletionManager.nib/keyedobjects.nib | Bin .../EncodingsManager.nib/classes.nib | 0 English.lproj/EncodingsManager.nib/info.nib | 0 .../EncodingsManager.nib/keyedobjects.nib | Bin .../Excruciatingly Useful Shortcuts.nvhelp | 0 English.lproj/ExporterManager.nib/classes.nib | 0 English.lproj/ExporterManager.nib/info.nib | 0 .../ExporterManager.nib/keyedobjects.nib | Bin English.lproj/FindPanel.nib/classes.nib | 0 English.lproj/FindPanel.nib/info.nib | 0 English.lproj/FindPanel.nib/keyedobjects.nib | Bin English.lproj/FindPanel.strings | Bin .../How does this thing work?.nvhelp | 0 English.lproj/InfoPlist.strings | Bin .../KeyDerivationManager.nib/classes.nib | 0 .../KeyDerivationManager.nib/info.nib | 0 .../KeyDerivationManager.nib/keyedobjects.nib | Bin .../KeyDerivationManager~.nib/classes.nib | 0 .../KeyDerivationManager~.nib/info.nib | 0 .../keyedobjects.nib | Bin English.lproj/Localizable.strings | Bin 33330 -> 33370 bytes .../MainMenu-nssplitview.nib/designable.nib | 4260 +++++++++++++++++ .../MainMenu-nssplitview.nib/keyedobjects.nib | Bin 0 -> 33814 bytes English.lproj/MainMenu.nib/keyedobjects.nib | Bin 28839 -> 28853 bytes English.lproj/MainMenu~.nib/classes.nib | 113 + English.lproj/MainMenu~.nib/data.dependency | 10 + English.lproj/MainMenu~.nib/info.nib | 31 + English.lproj/MainMenu~.nib/keyedobjects.nib | Bin 0 -> 28839 bytes .../NotationPrefsView.nib/classes.nib | 0 English.lproj/NotationPrefsView.nib/info.nib | 0 .../NotationPrefsView.nib/keyedobjects.nib | Bin English.lproj/PTKeyComboPanel.nib/classes.nib | 0 English.lproj/PTKeyComboPanel.nib/info.nib | 0 .../PTKeyComboPanel.nib/keyedobjects.nib | Bin .../PTKeyComboPanel~.nib/classes.nib | 0 English.lproj/PTKeyComboPanel~.nib/info.nib | 0 .../PTKeyComboPanel~.nib/keyedobjects.nib | Bin .../PassphraseChanger.nib/classes.nib | 0 English.lproj/PassphraseChanger.nib/info.nib | 0 .../PassphraseChanger.nib/keyedobjects.nib | Bin .../PassphrasePicker.nib/classes.nib | 0 English.lproj/PassphrasePicker.nib/info.nib | 0 .../PassphrasePicker.nib/keyedobjects.nib | Bin .../PassphraseRetriever.nib/classes.nib | 0 .../PassphraseRetriever.nib/info.nib | 0 .../PassphraseRetriever.nib/keyedobjects.nib | Bin English.lproj/Preferences.nib/classes.nib | 0 English.lproj/Preferences.nib/info.nib | 0 .../Preferences.nib/keyedobjects.nib | Bin English.lproj/SavedSearches.nib/classes.nib | 0 English.lproj/SavedSearches.nib/info.nib | 0 .../SavedSearches.nib/keyedobjects.nib | Bin English.lproj/SavedSearches~.nib/classes.nib | 0 English.lproj/SavedSearches~.nib/info.nib | 0 .../SavedSearches~.nib/keyedobjects.nib | Bin .../TagEditingManager.nib/classes.nib | 0 English.lproj/TagEditingManager.nib/info.nib | 0 .../TagEditingManager.nib/keyedobjects.nib | Bin .../This is the title of a note.nvhelp | 0 English.lproj/URLGetter.nib/classes.nib | 0 English.lproj/URLGetter.nib/info.nib | 0 English.lproj/URLGetter.nib/keyedobjects.nib | Bin English.lproj/URLGetter~.nib/classes.nib | 0 English.lproj/URLGetter~.nib/info.nib | 0 English.lproj/URLGetter~.nib/keyedobjects.nib | Bin ExporterManager.h | 0 ExporterManager.m | 0 FSExchangeObjectsCompat.c | 74 +- FSExchangeObjectsCompat.h | 0 FastListDataSource.h | 14 +- FastListDataSource.m | 26 +- FocusRingScrollView.h | 0 FocusRingScrollView.m | 0 FrozenNotation.h | 1 + FrozenNotation.m | 107 +- GlobalPrefs.h | 0 GlobalPrefs.m | 10 +- HeaderViewWIthMenu.h | 0 HeaderViewWIthMenu.m | 0 Images/Add.tiff | Bin Images/Add_Pressed.tiff | Bin Images/Editing.tiff | Bin Images/General.tiff | Bin Images/Notes.tiff | Bin Images/PTKeyboardIcon.tiff | Bin Images/PasswordAssistantButton.tif | Bin Images/PasswordAssistantButtonPressed.tif | Bin Images/Remove.tiff | Bin Images/Remove_Pressed.tiff | Bin Images/leftarrow.tif | Bin Info.plist | 21 +- KeyDerivationDelaySlider.h | 0 KeyDerivationDelaySlider.m | 0 KeyDerivationManager.h | 0 KeyDerivationManager.m | 0 LabelEditor.h | 0 LabelEditor.m | 0 LabelObject.h | 0 LabelObject.m | 0 LabelsListController.h | 0 LabelsListController.m | 4 +- License.txt | 0 LinkingEditor.h | 0 LinkingEditor.m | 55 +- LinkingEditor_Indentation.h | 0 LinkingEditor_Indentation.m | 0 MultiTextFinder.h | 0 MultiTextFinder.m | 0 MultiplePageView.h | 0 MultiplePageView.m | 2 +- NSCollection_utils.h | 6 +- NSCollection_utils.m | 12 +- NSData_transformations.h | 0 NSData_transformations.m | 0 NSString_NV.h | 0 NSString_NV.m | 13 +- NSTextFinder.h | 2 +- NSTextFinder_LastFind.m | 12 +- Notality.icns | Bin Notation.freqorder | 0 Notation.launchorder | 0 Notation.xcodeproj/project.pbxproj | 123 +- Notation.xcodeproj/scrod.mode1 | 0 Notation.xcodeproj/scrod.mode1v3 | 316 +- Notation.xcodeproj/scrod.pbxuser | 1425 +++--- NotationController.h | 14 +- NotationController.m | 128 +- NotationFileManager.h | 6 + NotationFileManager.m | 24 +- NotationPrefs.h | 0 NotationPrefs.m | 8 +- NotationPrefsViewController.h | 0 NotationPrefsViewController.m | 10 +- Notation_Prefix.pch | 43 +- NoteAttributeColumn.h | 12 +- NoteAttributeColumn.m | 8 +- NoteObject.h | 22 +- NoteObject.m | 85 +- NotesTableView.h | 6 +- NotesTableView.m | 30 +- PTHotKeys/PTHotKey.h | 0 PTHotKeys/PTHotKey.m | 0 PTHotKeys/PTHotKeyCenter.h | 2 + PTHotKeys/PTHotKeyCenter.m | 19 +- PTHotKeys/PTKeyBroadcaster.h | 0 PTHotKeys/PTKeyBroadcaster.m | 0 PTHotKeys/PTKeyCodes.plist | 0 PTHotKeys/PTKeyCombo.h | 0 PTHotKeys/PTKeyCombo.m | 2 +- PTHotKeys/PTKeyComboPanel.h | 0 PTHotKeys/PTKeyComboPanel.m | 0 PassphraseChanger.h | 0 PassphraseChanger.m | 0 PassphrasePicker.h | 0 PassphrasePicker.m | 0 PassphraseRetriever.h | 0 PassphraseRetriever.m | 0 PrefsWindowController.h | 0 PrefsWindowController.m | 2 +- QuickSearchTable.h | 0 QuickSearchTable.m | 0 RBSplitView/RBSplitSubview.h | 34 +- RBSplitView/RBSplitSubview.m | 85 +- RBSplitView/RBSplitView.h | 24 +- RBSplitView/RBSplitView.m | 181 +- RBSplitView/RBSplitViewPrivateDefines.h | 48 +- SFPasswordAssistantInspectorController.h | 0 SavedSearchesController.m | 0 .../A/Headers/NSApplication+AppCopies.h | 13 - .../A/Headers/NSFileManager+Authentication.h | 11 - .../A/Headers/NSFileManager+Verification.h | 15 - .../Versions/A/Headers/NSString+extras.h | 61 - Sparkle.framework/Versions/A/Headers/RSS.h | 98 - .../Versions/A/Headers/SUAppcast.h | 16 +- .../Versions/A/Headers/SUAppcastItem.h | 44 +- .../A/Headers/SUAutomaticUpdateAlert.h | 21 - .../Versions/A/Headers/SUConstants.h | 20 - .../Versions/A/Headers/SUStatusChecker.h | 26 - .../Versions/A/Headers/SUStatusController.h | 33 - .../Versions/A/Headers/SUUnarchiver.h | 25 - .../Versions/A/Headers/SUUpdateAlert.h | 40 - .../Versions/A/Headers/SUUpdater.h | 129 +- .../Versions/A/Headers/SUUtilities.h | 20 - .../A/Headers/SUVersionComparisonProtocol.h | 27 + .../Versions/A/Headers/Sparkle.h | 27 +- .../Versions/A/Resources/Info.plist | 8 +- .../Versions/A/Resources/License.txt | 7 + .../A/Resources/SUModelTranslation.plist | 174 + .../A/Resources/SUStatus.nib/classes.nib | 68 +- .../A/Resources/SUStatus.nib/info.nib | 16 +- .../A/Resources/SUStatus.nib/keyedobjects.nib | Bin 6873 -> 7344 bytes .../SUAutomaticUpdateAlert.nib/classes.nib | 50 + .../SUAutomaticUpdateAlert.nib/info.nib | 20 + .../keyedobjects.nib | Bin 0 -> 7278 bytes .../de.lproj/SUUpdateAlert.nib/classes.nib | 67 + .../de.lproj/SUUpdateAlert.nib/info.nib | 20 + .../SUUpdateAlert.nib/keyedobjects.nib | Bin 0 -> 10493 bytes .../SUUpdatePermissionPrompt.nib/classes.nib | 59 + .../SUUpdatePermissionPrompt.nib/info.nib | 20 + .../keyedobjects.nib | Bin 0 -> 13189 bytes .../A/Resources/de.lproj/Sparkle.strings | Bin 0 -> 9806 bytes .../SUAutomaticUpdateAlert.nib/classes.nib | 62 +- .../SUAutomaticUpdateAlert.nib/info.nib | 16 +- .../keyedobjects.nib | Bin 6571 -> 7148 bytes .../en.lproj/SUUpdateAlert.nib/classes.nib | 88 +- .../en.lproj/SUUpdateAlert.nib/info.nib | 16 +- .../SUUpdateAlert.nib/keyedobjects.nib | Bin 10634 -> 10623 bytes .../SUUpdatePermissionPrompt.nib/classes.nib | 59 + .../SUUpdatePermissionPrompt.nib/info.nib | 21 + .../keyedobjects.nib | Bin 0 -> 13263 bytes .../A/Resources/en.lproj/Sparkle.strings | Bin 6908 -> 8216 bytes .../SUAutomaticUpdateAlert.nib/classes.nib | 50 + .../SUAutomaticUpdateAlert.nib/info.nib | 20 + .../keyedobjects.nib | Bin 0 -> 7273 bytes .../es.lproj/SUUpdateAlert.nib/classes.nib | 67 + .../es.lproj/SUUpdateAlert.nib/info.nib | 20 + .../SUUpdateAlert.nib/keyedobjects.nib | Bin 0 -> 10668 bytes .../SUUpdatePermissionPrompt.nib/classes.nib | 59 + .../SUUpdatePermissionPrompt.nib/info.nib | 20 + .../keyedobjects.nib | Bin 0 -> 13404 bytes .../A/Resources/es.lproj/Sparkle.strings | Bin 0 -> 8020 bytes .../SUAutomaticUpdateAlert.nib/classes.nib | 50 + .../SUAutomaticUpdateAlert.nib/info.nib | 16 + .../keyedobjects.nib | Bin 0 -> 7245 bytes .../fr.lproj/SUUpdateAlert.nib/classes.nib | 67 + .../fr.lproj/SUUpdateAlert.nib/info.nib | 16 + .../SUUpdateAlert.nib/keyedobjects.nib | Bin 0 -> 10338 bytes .../SUUpdatePermissionPrompt.nib/classes.nib | 59 + .../SUUpdatePermissionPrompt.nib/info.nib | 16 + .../keyedobjects.nib | Bin 0 -> 13156 bytes .../A/Resources/fr.lproj/Sparkle.strings | Bin 0 -> 8554 bytes .../Versions/A/Resources/fr.lproj/fr.lproj | 1 + .../Versions/A/Resources/fr_CA.lproj | 1 + .../SUAutomaticUpdateAlert.nib/classes.nib | 50 + .../SUAutomaticUpdateAlert.nib/info.nib | 20 + .../keyedobjects.nib | Bin 0 -> 7161 bytes .../it.lproj/SUUpdateAlert.nib/classes.nib | 67 + .../it.lproj/SUUpdateAlert.nib/info.nib | 20 + .../SUUpdateAlert.nib/keyedobjects.nib | Bin 0 -> 10360 bytes .../SUUpdatePermissionPrompt.nib/classes.nib | 59 + .../SUUpdatePermissionPrompt.nib/info.nib | 20 + .../keyedobjects.nib | Bin 0 -> 12659 bytes .../A/Resources/it.lproj/Sparkle.strings | Bin 0 -> 8914 bytes .../SUAutomaticUpdateAlert.nib/classes.nib | 50 + .../SUAutomaticUpdateAlert.nib/info.nib | 18 + .../keyedobjects.nib | Bin 0 -> 7234 bytes .../nl.lproj/SUUpdateAlert.nib/classes.nib | 67 + .../nl.lproj/SUUpdateAlert.nib/info.nib | 16 + .../SUUpdateAlert.nib/keyedobjects.nib | Bin 0 -> 10220 bytes .../SUUpdatePermissionPrompt.nib/classes.nib | 59 + .../SUUpdatePermissionPrompt.nib/info.nib | 16 + .../keyedobjects.nib | Bin 0 -> 12535 bytes .../A/Resources/nl.lproj/Sparkle.strings | Bin 0 -> 8514 bytes .../Versions/A/Resources/relaunch | Bin 0 -> 58924 bytes .../SUAutomaticUpdateAlert.nib/classes.nib | 50 + .../SUAutomaticUpdateAlert.nib/info.nib | 20 + .../keyedobjects.nib | Bin 0 -> 7675 bytes .../ru.lproj/SUUpdateAlert.nib/classes.nib | 67 + .../ru.lproj/SUUpdateAlert.nib/info.nib | 20 + .../SUUpdateAlert.nib/keyedobjects.nib | Bin 0 -> 10895 bytes .../SUUpdatePermissionPrompt.nib/classes.nib | 59 + .../SUUpdatePermissionPrompt.nib/info.nib | 18 + .../keyedobjects.nib | Bin 0 -> 12898 bytes .../A/Resources/ru.lproj/Sparkle.strings | Bin 0 -> 8364 bytes .../SUAutomaticUpdateAlert.nib/classes.nib | 50 + .../SUAutomaticUpdateAlert.nib/info.nib | 20 + .../keyedobjects.nib | Bin 0 -> 7474 bytes .../sv.lproj/SUUpdateAlert.nib/classes.nib | 39 + .../sv.lproj/SUUpdateAlert.nib/info.nib | 18 + .../SUUpdateAlert.nib/keyedobjects.nib | Bin 0 -> 10180 bytes .../SUUpdatePermissionPrompt.nib/classes.nib | 59 + .../SUUpdatePermissionPrompt.nib/info.nib | 20 + .../keyedobjects.nib | Bin 0 -> 13483 bytes .../A/Resources/sv.lproj/Sparkle.strings | Bin 0 -> 8142 bytes Sparkle.framework/Versions/A/Sparkle | Bin 197376 -> 463540 bytes StickiesDocument.h | 0 StickiesDocument.m | 0 SynchronizedNoteProtocol.h | 0 TemporaryFileCache.h | 0 TemporaryFileCache.m | 0 URLGetter.h | 0 URLGetter.m | 2 +- WALController.h | 2 + WALController.m | 74 +- broken_md5.c | 0 broken_md5.h | 0 gen_sectorderfiles | 0 hashcash/libsha1.c | 0 hashcash/sha1.h | 0 hmacsha1.c | 0 hmacsha1.h | 0 idea_ossl.c | 0 idea_ossl.h | 0 main.m | 0 pbkdf2.c | 0 pbkdf2.h | 0 334 files changed, 8429 insertions(+), 2103 deletions(-) mode change 100644 => 100755 .gitattributes mode change 100644 => 100755 .gitignore mode change 100644 => 100755 AlienNoteImporter.h mode change 100644 => 100755 AlienNoteImporter.m mode change 100644 => 100755 AppController.h mode change 100644 => 100755 AppController.m mode change 100644 => 100755 AttributedPlainText.h mode change 100644 => 100755 AttributedPlainText.m mode change 100644 => 100755 BlorPasswordRetriever.h mode change 100644 => 100755 BlorPasswordRetriever.m mode change 100644 => 100755 BodyScroller.h mode change 100644 => 100755 BodyScroller.m mode change 100644 => 100755 BookmarksController.h mode change 100644 => 100755 BookmarksController.m mode change 100644 => 100755 BookmarksTable.h mode change 100644 => 100755 BookmarksTable.m mode change 100644 => 100755 BufferUtils.c mode change 100644 => 100755 BufferUtils.h mode change 100644 => 100755 CRC32.c mode change 100644 => 100755 CRC32.h mode change 100644 => 100755 CarbonFSErrorStrings.h mode change 100644 => 100755 DeletedNoteObject.h mode change 100644 => 100755 DeletedNoteObject.m mode change 100644 => 100755 DeletionManager.h mode change 100644 => 100755 DeletionManager.m mode change 100644 => 100755 DualField.h mode change 100644 => 100755 DualField.m mode change 100644 => 100755 EmptyView.h mode change 100644 => 100755 EmptyView.m mode change 100644 => 100755 EncodingsManager.h mode change 100644 => 100755 EncodingsManager.m mode change 100644 => 100755 English.lproj/BlorPasswordRetriever.nib/classes.nib mode change 100644 => 100755 English.lproj/BlorPasswordRetriever.nib/info.nib mode change 100644 => 100755 English.lproj/BlorPasswordRetriever.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/CarbonErrorStrings.plist mode change 100644 => 100755 English.lproj/Contact Information.nvhelp mode change 100644 => 100755 English.lproj/DeletionManager.nib/classes.nib mode change 100644 => 100755 English.lproj/DeletionManager.nib/info.nib mode change 100644 => 100755 English.lproj/DeletionManager.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/EncodingsManager.nib/classes.nib mode change 100644 => 100755 English.lproj/EncodingsManager.nib/info.nib mode change 100644 => 100755 English.lproj/EncodingsManager.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/Excruciatingly Useful Shortcuts.nvhelp mode change 100644 => 100755 English.lproj/ExporterManager.nib/classes.nib mode change 100644 => 100755 English.lproj/ExporterManager.nib/info.nib mode change 100644 => 100755 English.lproj/ExporterManager.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/FindPanel.nib/classes.nib mode change 100644 => 100755 English.lproj/FindPanel.nib/info.nib mode change 100644 => 100755 English.lproj/FindPanel.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/FindPanel.strings mode change 100644 => 100755 English.lproj/How does this thing work?.nvhelp mode change 100644 => 100755 English.lproj/InfoPlist.strings mode change 100644 => 100755 English.lproj/KeyDerivationManager.nib/classes.nib mode change 100644 => 100755 English.lproj/KeyDerivationManager.nib/info.nib mode change 100644 => 100755 English.lproj/KeyDerivationManager.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/KeyDerivationManager~.nib/classes.nib mode change 100644 => 100755 English.lproj/KeyDerivationManager~.nib/info.nib mode change 100644 => 100755 English.lproj/KeyDerivationManager~.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/Localizable.strings create mode 100644 English.lproj/MainMenu-nssplitview.nib/designable.nib create mode 100644 English.lproj/MainMenu-nssplitview.nib/keyedobjects.nib create mode 100644 English.lproj/MainMenu~.nib/classes.nib create mode 100644 English.lproj/MainMenu~.nib/data.dependency create mode 100644 English.lproj/MainMenu~.nib/info.nib create mode 100644 English.lproj/MainMenu~.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/NotationPrefsView.nib/classes.nib mode change 100644 => 100755 English.lproj/NotationPrefsView.nib/info.nib mode change 100644 => 100755 English.lproj/NotationPrefsView.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/PTKeyComboPanel.nib/classes.nib mode change 100644 => 100755 English.lproj/PTKeyComboPanel.nib/info.nib mode change 100644 => 100755 English.lproj/PTKeyComboPanel.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/PTKeyComboPanel~.nib/classes.nib mode change 100644 => 100755 English.lproj/PTKeyComboPanel~.nib/info.nib mode change 100644 => 100755 English.lproj/PTKeyComboPanel~.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/PassphraseChanger.nib/classes.nib mode change 100644 => 100755 English.lproj/PassphraseChanger.nib/info.nib mode change 100644 => 100755 English.lproj/PassphraseChanger.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/PassphrasePicker.nib/classes.nib mode change 100644 => 100755 English.lproj/PassphrasePicker.nib/info.nib mode change 100644 => 100755 English.lproj/PassphrasePicker.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/PassphraseRetriever.nib/classes.nib mode change 100644 => 100755 English.lproj/PassphraseRetriever.nib/info.nib mode change 100644 => 100755 English.lproj/PassphraseRetriever.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/Preferences.nib/classes.nib mode change 100644 => 100755 English.lproj/Preferences.nib/info.nib mode change 100644 => 100755 English.lproj/Preferences.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/SavedSearches.nib/classes.nib mode change 100644 => 100755 English.lproj/SavedSearches.nib/info.nib mode change 100644 => 100755 English.lproj/SavedSearches.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/SavedSearches~.nib/classes.nib mode change 100644 => 100755 English.lproj/SavedSearches~.nib/info.nib mode change 100644 => 100755 English.lproj/SavedSearches~.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/TagEditingManager.nib/classes.nib mode change 100644 => 100755 English.lproj/TagEditingManager.nib/info.nib mode change 100644 => 100755 English.lproj/TagEditingManager.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/This is the title of a note.nvhelp mode change 100644 => 100755 English.lproj/URLGetter.nib/classes.nib mode change 100644 => 100755 English.lproj/URLGetter.nib/info.nib mode change 100644 => 100755 English.lproj/URLGetter.nib/keyedobjects.nib mode change 100644 => 100755 English.lproj/URLGetter~.nib/classes.nib mode change 100644 => 100755 English.lproj/URLGetter~.nib/info.nib mode change 100644 => 100755 English.lproj/URLGetter~.nib/keyedobjects.nib mode change 100644 => 100755 ExporterManager.h mode change 100644 => 100755 ExporterManager.m mode change 100644 => 100755 FSExchangeObjectsCompat.c mode change 100644 => 100755 FSExchangeObjectsCompat.h mode change 100644 => 100755 FastListDataSource.h mode change 100644 => 100755 FastListDataSource.m mode change 100644 => 100755 FocusRingScrollView.h mode change 100644 => 100755 FocusRingScrollView.m mode change 100644 => 100755 FrozenNotation.h mode change 100644 => 100755 FrozenNotation.m mode change 100644 => 100755 GlobalPrefs.h mode change 100644 => 100755 GlobalPrefs.m mode change 100644 => 100755 HeaderViewWIthMenu.h mode change 100644 => 100755 HeaderViewWIthMenu.m mode change 100644 => 100755 Images/Add.tiff mode change 100644 => 100755 Images/Add_Pressed.tiff mode change 100644 => 100755 Images/Editing.tiff mode change 100644 => 100755 Images/General.tiff mode change 100644 => 100755 Images/Notes.tiff mode change 100644 => 100755 Images/PTKeyboardIcon.tiff mode change 100644 => 100755 Images/PasswordAssistantButton.tif mode change 100644 => 100755 Images/PasswordAssistantButtonPressed.tif mode change 100644 => 100755 Images/Remove.tiff mode change 100644 => 100755 Images/Remove_Pressed.tiff mode change 100644 => 100755 Images/leftarrow.tif mode change 100644 => 100755 Info.plist mode change 100644 => 100755 KeyDerivationDelaySlider.h mode change 100644 => 100755 KeyDerivationDelaySlider.m mode change 100644 => 100755 KeyDerivationManager.h mode change 100644 => 100755 KeyDerivationManager.m mode change 100644 => 100755 LabelEditor.h mode change 100644 => 100755 LabelEditor.m mode change 100644 => 100755 LabelObject.h mode change 100644 => 100755 LabelObject.m mode change 100644 => 100755 LabelsListController.h mode change 100644 => 100755 LabelsListController.m mode change 100644 => 100755 License.txt mode change 100644 => 100755 LinkingEditor.h mode change 100644 => 100755 LinkingEditor.m mode change 100644 => 100755 LinkingEditor_Indentation.h mode change 100644 => 100755 LinkingEditor_Indentation.m mode change 100644 => 100755 MultiTextFinder.h mode change 100644 => 100755 MultiTextFinder.m mode change 100644 => 100755 MultiplePageView.h mode change 100644 => 100755 MultiplePageView.m mode change 100644 => 100755 NSCollection_utils.h mode change 100644 => 100755 NSCollection_utils.m mode change 100644 => 100755 NSData_transformations.h mode change 100644 => 100755 NSData_transformations.m mode change 100644 => 100755 NSString_NV.h mode change 100644 => 100755 NSString_NV.m mode change 100644 => 100755 NSTextFinder.h mode change 100644 => 100755 NSTextFinder_LastFind.m mode change 100644 => 100755 Notality.icns mode change 100644 => 100755 Notation.freqorder mode change 100644 => 100755 Notation.launchorder mode change 100644 => 100755 Notation.xcodeproj/project.pbxproj mode change 100644 => 100755 Notation.xcodeproj/scrod.mode1 mode change 100644 => 100755 Notation.xcodeproj/scrod.mode1v3 mode change 100644 => 100755 Notation.xcodeproj/scrod.pbxuser mode change 100644 => 100755 NotationController.h mode change 100644 => 100755 NotationController.m mode change 100644 => 100755 NotationFileManager.h mode change 100644 => 100755 NotationFileManager.m mode change 100644 => 100755 NotationPrefs.h mode change 100644 => 100755 NotationPrefs.m mode change 100644 => 100755 NotationPrefsViewController.h mode change 100644 => 100755 NotationPrefsViewController.m mode change 100644 => 100755 Notation_Prefix.pch mode change 100644 => 100755 NoteAttributeColumn.h mode change 100644 => 100755 NoteAttributeColumn.m mode change 100644 => 100755 NoteObject.h mode change 100644 => 100755 NoteObject.m mode change 100644 => 100755 NotesTableView.h mode change 100644 => 100755 NotesTableView.m mode change 100644 => 100755 PTHotKeys/PTHotKey.h mode change 100644 => 100755 PTHotKeys/PTHotKey.m mode change 100644 => 100755 PTHotKeys/PTHotKeyCenter.h mode change 100644 => 100755 PTHotKeys/PTHotKeyCenter.m mode change 100644 => 100755 PTHotKeys/PTKeyBroadcaster.h mode change 100644 => 100755 PTHotKeys/PTKeyBroadcaster.m mode change 100644 => 100755 PTHotKeys/PTKeyCodes.plist mode change 100644 => 100755 PTHotKeys/PTKeyCombo.h mode change 100644 => 100755 PTHotKeys/PTKeyCombo.m mode change 100644 => 100755 PTHotKeys/PTKeyComboPanel.h mode change 100644 => 100755 PTHotKeys/PTKeyComboPanel.m mode change 100644 => 100755 PassphraseChanger.h mode change 100644 => 100755 PassphraseChanger.m mode change 100644 => 100755 PassphrasePicker.h mode change 100644 => 100755 PassphrasePicker.m mode change 100644 => 100755 PassphraseRetriever.h mode change 100644 => 100755 PassphraseRetriever.m mode change 100644 => 100755 PrefsWindowController.h mode change 100644 => 100755 PrefsWindowController.m mode change 100644 => 100755 QuickSearchTable.h mode change 100644 => 100755 QuickSearchTable.m mode change 100644 => 100755 SFPasswordAssistantInspectorController.h mode change 100644 => 100755 SavedSearchesController.m delete mode 100644 Sparkle.framework/Versions/A/Headers/NSApplication+AppCopies.h delete mode 100644 Sparkle.framework/Versions/A/Headers/NSFileManager+Authentication.h delete mode 100644 Sparkle.framework/Versions/A/Headers/NSFileManager+Verification.h delete mode 100755 Sparkle.framework/Versions/A/Headers/NSString+extras.h delete mode 100755 Sparkle.framework/Versions/A/Headers/RSS.h delete mode 100644 Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateAlert.h delete mode 100644 Sparkle.framework/Versions/A/Headers/SUConstants.h delete mode 100644 Sparkle.framework/Versions/A/Headers/SUStatusChecker.h delete mode 100644 Sparkle.framework/Versions/A/Headers/SUStatusController.h delete mode 100644 Sparkle.framework/Versions/A/Headers/SUUnarchiver.h delete mode 100644 Sparkle.framework/Versions/A/Headers/SUUpdateAlert.h delete mode 100644 Sparkle.framework/Versions/A/Headers/SUUtilities.h create mode 100644 Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h create mode 100644 Sparkle.framework/Versions/A/Resources/License.txt create mode 100644 Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist create mode 100644 Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings create mode 100644 Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings create mode 100644 Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings create mode 120000 Sparkle.framework/Versions/A/Resources/fr.lproj/fr.lproj create mode 120000 Sparkle.framework/Versions/A/Resources/fr_CA.lproj create mode 100644 Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings create mode 100644 Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings create mode 100755 Sparkle.framework/Versions/A/Resources/relaunch create mode 100644 Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings create mode 100644 Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/classes.nib create mode 100644 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/info.nib create mode 100644 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib create mode 100644 Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings mode change 100644 => 100755 StickiesDocument.h mode change 100644 => 100755 StickiesDocument.m mode change 100644 => 100755 SynchronizedNoteProtocol.h mode change 100644 => 100755 TemporaryFileCache.h mode change 100644 => 100755 TemporaryFileCache.m mode change 100644 => 100755 URLGetter.h mode change 100644 => 100755 URLGetter.m mode change 100644 => 100755 WALController.h mode change 100644 => 100755 WALController.m mode change 100644 => 100755 broken_md5.c mode change 100644 => 100755 broken_md5.h mode change 100644 => 100755 gen_sectorderfiles mode change 100644 => 100755 hashcash/libsha1.c mode change 100644 => 100755 hashcash/sha1.h mode change 100644 => 100755 hmacsha1.c mode change 100644 => 100755 hmacsha1.h mode change 100644 => 100755 idea_ossl.c mode change 100644 => 100755 idea_ossl.h mode change 100644 => 100755 main.m mode change 100644 => 100755 pbkdf2.c mode change 100644 => 100755 pbkdf2.h diff --git a/.gitattributes b/.gitattributes old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/AlienNoteImporter.h b/AlienNoteImporter.h old mode 100644 new mode 100755 diff --git a/AlienNoteImporter.m b/AlienNoteImporter.m old mode 100644 new mode 100755 index 0f85ec53..1c841c33 --- a/AlienNoteImporter.m +++ b/AlienNoteImporter.m @@ -365,6 +365,7 @@ - (NoteObject*)noteWithFile:(NSString*)filename { if (noteObject) { //[noteObject setDateAdded:CFDateGetAbsoluteTime((CFDateRef)[attributes objectForKey:NSFileCreationDate])]; //[noteObject setDateModified:CFDateGetAbsoluteTime((CFDateRef)[attributes objectForKey:NSFileModificationDate])]; + //TODO: take date/created modified; why throw away information? [attributedStringFromData release]; @@ -454,6 +455,7 @@ - (NSArray*)_importStickies:(NSString*)filename { if (noteObject) { [noteObject setDateAdded:CFDateGetAbsoluteTime((CFDateRef)[doc creationDate])]; //[noteObject setDateModified:CFDateGetAbsoluteTime((CFDateRef)[doc modificationDate])]; + //TODO: use the sticky's mod date [notes addObject:noteObject]; } else { diff --git a/AppController.h b/AppController.h old mode 100644 new mode 100755 diff --git a/AppController.m b/AppController.m old mode 100644 new mode 100755 index 3e2d8c30..413618bb --- a/AppController.m +++ b/AppController.m @@ -29,12 +29,12 @@ @implementation AppController - (id)init { if ([super init]) { - + windowUndoManager = [[NSUndoManager alloc] init]; - + isCreatingANote = isFilteringFromTyping = typedStringIsCached = NO; typedString = @""; - + } return self; } @@ -86,11 +86,11 @@ - (void)setupViewsAfterAppAwakened { void outletObjectAwoke(id sender) { static NSMutableSet *awokenOutlets = nil; if (!awokenOutlets) awokenOutlets = [[NSMutableSet alloc] init]; - + [awokenOutlets addObject:sender]; AppController* appDelegate = (AppController*)[NSApp delegate]; - + if (appDelegate && [awokenOutlets containsObject:appDelegate] && [awokenOutlets containsObject:appDelegate->notesTableView] && [awokenOutlets containsObject:appDelegate->textView] && @@ -109,7 +109,7 @@ - (void)runDelayedIUActionsAfterLaunch { [notationController checkIfNotationIsTrashed]; //connect sparkle programmatically to avoid loading its framework at nib awake; - if (!NSClassFromString(@"SUUpdater")) { + if (RunningTigerAppKitOrHigher && !NSClassFromString(@"SUUpdater")) { NSString *frameworkPath = [[[NSBundle bundleForClass:[self class]] privateFrameworksPath] stringByAppendingPathComponent:@"Sparkle.framework"]; if ([[NSBundle bundleWithPath:frameworkPath] load]) { [sparkleUpdateItem setTarget:[[NSClassFromString(@"SUUpdater") alloc] init]]; @@ -122,7 +122,7 @@ - (void)runDelayedIUActionsAfterLaunch { extern int decodedCount(); - (void)applicationDidFinishLaunching:(NSNotification*)aNote { - + NSDate *before = [NSDate date]; prefsWindowController = [[PrefsWindowController alloc] init]; @@ -161,7 +161,7 @@ - (void)applicationDidFinishLaunching:(NSNotification*)aNote { subMessage, NSLocalizedString(@"Choose another folder",nil),NSLocalizedString(@"Quit",nil),NULL) == NSAlertDefaultReturn) { //show nsopenpanel, defaulting to current default notes dir FSRef notesDirectoryRef; - showOpenPanel: + showOpenPanel: if (![prefsWindowController getNewNotesRefFromOpenPanel:¬esDirectoryRef returnedPath:&location]) { //they cancelled the open panel, or it was unable to get the path/FSRef of the file goto terminateApp; @@ -179,7 +179,7 @@ - (void)applicationDidFinishLaunching:(NSNotification*)aNote { [newNotation release]; NSLog(@"load time: %g, ",[[NSDate date] timeIntervalSinceDate:before]); -// NSLog(@"version: %s", PRODUCT_NAME); + // NSLog(@"version: %s", PRODUCT_NAME); //import old database(s) here if necessary [AlienNoteImporter importBlorOrHelpFilesIfNecessaryIntoNotation:newNotation]; @@ -189,7 +189,7 @@ - (void)applicationDidFinishLaunching:(NSNotification*)aNote { [notesToOpenOnLaunch release]; notesToOpenOnLaunch = nil; } - + //tell us when someone wants to load a new database [prefsController registerForSettingChange:@selector(setAliasDataForDefaultDirectory:sender:) withTarget:self]; //tell us when sorting prefs changed @@ -202,10 +202,10 @@ - (void)applicationDidFinishLaunching:(NSNotification*)aNote { [self performSelector:@selector(runDelayedIUActionsAfterLaunch) withObject:nil afterDelay:0.1]; NSLog(@"decoded 7 bit count: %d", decodedCount()); - + return; terminateApp: - [NSApp terminate:self]; + [NSApp terminate:self]; } - (void)setNotationController:(NotationController*)newNotation { @@ -248,7 +248,7 @@ - (BOOL)applicationOpenUntitledFile:(NSApplication *)sender { return NO; } -- (BOOL)validateMenuItem:(id )menuItem { +- (BOOL)validateMenuItem:(NSMenuItem*)menuItem { SEL selector = [menuItem action]; int numberSelected = [notesTableView numberOfSelectedRows]; @@ -271,22 +271,22 @@ - (BOOL)validateMenuItem:(id )menuItem { } /* -- (void)menuNeedsUpdate:(NSMenu *)menu { - NSLog(@"mama needs update: %@", [menu title]); - - NSArray *selectedNotes = [notationController notesAtIndexes:[notesTableView selectedRowIndexes]]; - [selectedNotes setURLsInNotesForMenu:menu]; -}*/ + - (void)menuNeedsUpdate:(NSMenu *)menu { + NSLog(@"mama needs update: %@", [menu title]); + + NSArray *selectedNotes = [notationController notesAtIndexes:[notesTableView selectedRowIndexes]]; + [selectedNotes setURLsInNotesForMenu:menu]; + }*/ - (void)updateNoteMenus { NSMenu *notesMenu = [[[NSApp mainMenu] itemWithTag:89] submenu]; - + int menuIndex = [notesMenu indexOfItemWithTarget:self andAction:@selector(deleteNote:)]; NSMenuItem *deleteItem = nil; if (menuIndex > -1 && (deleteItem = [notesMenu itemAtIndex:menuIndex])) { NSString *trailingQualifier = [prefsController confirmNoteDeletion] ? NSLocalizedString(@"...", @"ellipsis character") : @""; [deleteItem setTitle:[NSString stringWithFormat:@"%@%@", - NSLocalizedString(@"Delete", nil), trailingQualifier]]; + NSLocalizedString(@"Delete", nil), trailingQualifier]]; } } @@ -313,13 +313,13 @@ - (BOOL)addNotesFromPasteboard:(NSPasteboard*)pasteboard { //webkit URL! if ([types containsObject:WebArchivePboardType]) { sourceIdentiferString = [[pasteboard dataForType:WebArchivePboardType] pathURLFromWebArchive]; - //gecko URL! + //gecko URL! } else if ([types containsObject:[NSString customPasteboardTypeOfCode:0x4D5A0003]]) { //lazilly use syntheticTitle to get first line, even though that's not how our API is documented sourceIdentiferString = [[pasteboard stringForType:[NSString customPasteboardTypeOfCode:0x4D5A0003]] syntheticTitle]; unichar nullChar = 0x0; sourceIdentiferString = [sourceIdentiferString stringByReplacingOccurrencesOfString: - [NSString stringWithCharacters:&nullChar length:1] withString:@""]; + [NSString stringWithCharacters:&nullChar length:1] withString:@""]; } if ([types containsObject:NSURLPboardType]) { @@ -447,7 +447,7 @@ - (IBAction)deleteNote:(id)sender { NSString *warningSingleFormatString = NSLocalizedString(@"Delete the note titled quotemark%@quotemark?", @"alert title when asked to delete a note"); NSString *warningMultipleFormatString = NSLocalizedString(@"Delete %d notes?", @"alert title when asked to delete multiple notes"); NSString *warnString = currentNote ? [NSString stringWithFormat:warningSingleFormatString, titleOfNote(currentNote)] : - [NSString stringWithFormat:warningMultipleFormatString, [indexes count]]; + [NSString stringWithFormat:warningMultipleFormatString, [indexes count]]; NSBeginAlertSheet(warnString, NSLocalizedString(@"Delete", @"name of delete button"), NSLocalizedString(@"Cancel", @"name of cancel button"), nil, window, self, @selector(deleteSheetDidEnd:returnCode:contextInfo:), NULL, (void*)deleteObj, NSLocalizedString(@"You can undo this action later.", @"informational delete-this-note? text")); @@ -460,7 +460,7 @@ - (IBAction)deleteNote:(id)sender { - (IBAction)exportNote:(id)sender { NSIndexSet *indexes = [notesTableView selectedRowIndexes]; - + NSArray *notes = [notationController notesAtIndexes:indexes]; [notationController synchronizeNoteChanges:nil]; @@ -469,7 +469,7 @@ - (IBAction)exportNote:(id)sender { - (IBAction)printNote:(id)sender { NSIndexSet *indexes = [notesTableView selectedRowIndexes]; - + [MultiplePageView printNotes:[notationController notesAtIndexes:indexes] forWindow:window]; } @@ -500,6 +500,7 @@ - (void)settingChangedForSelectorString:(NSString*)selectorString { if ([selectorString isEqualToString:SEL_STR(setAliasDataForDefaultDirectory:sender:)]) { //defaults changed for the database location -- load the new one! + //TODO: should remove all actions from windowUndoManager if initialization succeeds OSStatus err = noErr; NotationController *newNotation = nil; @@ -566,7 +567,7 @@ - (void)showHelp:(id)sender { } - (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames { - + //should check filenames here to see whether notationcontroller already owns these NSArray *notes = [[[[AlienNoteImporter alloc] initWithStoragePaths:filenames] autorelease] importedNotes]; @@ -676,18 +677,18 @@ - (BOOL)control:(NSControl *)control textView:(NSTextView *)aTextView doCommandB //[field updateButtonIfNecessaryForEditor:aTextView]; return YES; } - + //following actions should also redraw the button, if it is visible //except that this can be much more easily handled by -[DualField reflectScrolledClipView:] /*if (command == @selector(moveLeft:) || command == @selector(moveRight:) || - command == @selector(moveLeftAndModifySelection:) || command == @selector(moveRightAndModifySelection:) || - command == @selector(moveToEndOfParagraph:) || command == @selector(moveToBeginningOfParagraph:) || - command == @selector(moveParagraphForwardAndModifySelection:) || command == @selector(moveParagraphBackwardAndModifySelection:) || - !strncmp((char*)command, "moveWord", 8) || !strncmp((char*)command, "page", 4) || !strncmp((char*)command, "scroll", 6)) { - [field updateButtonIfNecessaryForEditor:aTextView]; - return NO; - }*/ - + command == @selector(moveLeftAndModifySelection:) || command == @selector(moveRightAndModifySelection:) || + command == @selector(moveToEndOfParagraph:) || command == @selector(moveToBeginningOfParagraph:) || + command == @selector(moveParagraphForwardAndModifySelection:) || command == @selector(moveParagraphBackwardAndModifySelection:) || + !strncmp((char*)command, "moveWord", 8) || !strncmp((char*)command, "page", 4) || !strncmp((char*)command, "scroll", 6)) { + [field updateButtonIfNecessaryForEditor:aTextView]; + return NO; + }*/ + if (command == @selector(moveToBeginningOfLineAndModifySelection:)) { if ([aTextView respondsToSelector:@selector(moveToBeginningOfDocumentAndModifySelection:)]) { @@ -720,7 +721,7 @@ - (BOOL)control:(NSControl *)control textView:(NSTextView *)aTextView doCommandB } } } - + } else if (control == (NSControl*)notesTableView) { if (command == @selector(insertNewline:)) { //hit return in cell @@ -791,10 +792,15 @@ - (void)controlTextDidChange:(NSNotification *)aNotification { if ([fieldString length] > 0) { [field setSnapbackString:nil]; - - unsigned int preferredNoteIndex = [notationController preferredSelectedNoteIndex]; + + NSUInteger preferredNoteIndex = [notationController preferredSelectedNoteIndex]; if ([prefsController autoCompleteSearches] && preferredNoteIndex != NSNotFound) { + //TODO: select nothing if search string is not equal to title of preferredNoteIndex + //e.g., modifying a note's title in the search field deselects it, + //whether a result of back-spacing either an auto-completed entry + //or the title of a manually-selected note + [notesTableView selectRowAndScroll:preferredNoteIndex]; if (didFilter) { @@ -830,14 +836,14 @@ - (void)controlTextDidChange:(NSNotification *)aNotification { } } else { //selecting nothing; nothing typed -selectNothing: + selectNothing: isFilteringFromTyping = NO; [notesTableView deselectAll:nil]; //reloadData could have already de-selected us, and hence this notification would not be sent from -deselectAll: [self processChangedSelectionForTable:notesTableView]; } - + isFilteringFromTyping = NO; } } @@ -855,11 +861,11 @@ - (void)tableViewSelectionIsChanging:(NSNotification *)aNotification { allowMultipleSelection = YES; } } - + if (allowMultipleSelection != [notesTableView allowsMultipleSelection]) { //we may need to hack some hidden NSTableView instance variables to improve mid-drag flags-changing //NSLog(@"set allows mult: %d", allowMultipleSelection); - + [notesTableView setAllowsMultipleSelection:allowMultipleSelection]; //we need this because dragging a selection back to the same note will nto trigger a selectionDidChange notification @@ -870,7 +876,7 @@ - (void)tableViewSelectionIsChanging:(NSNotification *)aNotification { //occasionally changing multiple selection ability in-between selecting multiple items causes total deselection [window makeFirstResponder:notesTableView]; } - + [self processChangedSelectionForTable:[aNotification object]]; } @@ -896,10 +902,10 @@ - (void)processChangedSelectionForTable:(NSTableView*)table { NSTextView *fieldEditor = (NSTextView*)[field currentEditor]; if (table == (NSTableView*)notesTableView) { - + if (selectedRow > -1 && numberSelected == 1) { //if it is uncached, cache the typed string only if we are selecting a note - + [self cacheTypedStringIfNecessary:[fieldEditor string]]; //add snapback-button here? @@ -938,7 +944,7 @@ - (void)processChangedSelectionForTable:(NSTableView*)table { if (!isFilteringFromTyping) { if (currentNote) { //selected nothing and something is currently selected - + [self _setCurrentNote:nil]; if (typedStringIsCached) { @@ -973,7 +979,7 @@ - (void)setEmptyViewState:(BOOL)state { BOOL enable = /*numberSelected != 1;*/ state; [textView setHidden:enable]; [editorStatusView setHidden:!enable]; - + if (enable) { [editorStatusView setLabelStatus:[notesTableView numberOfSelectedRows]]; } @@ -983,7 +989,7 @@ - (BOOL)displayContentsForNoteAtIndex:(int)noteIndex { NoteObject *note = [notationController noteObjectAtFilteredIndex:noteIndex]; if (note != currentNote) { [self setEmptyViewState:NO]; - + //actually load the new note [self _setCurrentNote:note]; @@ -1035,7 +1041,7 @@ - (BOOL)displayContentsForNoteAtIndex:(int)noteIndex { //from linkingeditor - (void)textDidChange:(NSNotification *)aNotification { id textObject = [aNotification object]; - + if (textObject == textView) { [currentNote setContentString:[textView textStorage]]; } @@ -1061,10 +1067,10 @@ - (void)textDidEndEditing:(NSNotification *)aNotification { } - (IBAction)fieldAction:(id)sender { - + [self createNoteIfNecessary]; [window makeFirstResponder:textView]; - + } - (NSUndoManager *)windowWillReturnUndoManager:(NSWindow *)sender { @@ -1093,7 +1099,7 @@ - (NoteObject*)createNoteIfNecessary { if (!currentNote) { //this assertion not yet valid until labels list changes notes list assert([notesTableView numberOfSelectedRows] != 1); - + [textView setTypingAttributes:[prefsController noteBodyAttributes]]; [textView setFont:[prefsController noteBodyFont]]; @@ -1108,7 +1114,7 @@ - (NoteObject*)createNoteIfNecessary { - (void)notation:(NotationController*)notation revealNote:(NoteObject*)note { if (note) { - unsigned selectedNoteIndex = [notation indexInFilteredListForNoteIdenticalTo:note]; + NSUInteger selectedNoteIndex = [notation indexInFilteredListForNoteIdenticalTo:note]; if (selectedNoteIndex == NSNotFound) { NSLog(@"Note was not visible--showing all notes and trying again"); @@ -1155,13 +1161,13 @@ - (void)notation:(NotationController*)notation wantsToSearchForString:(NSString* } } -- (void)splitView:(RBSplitView*)sender wasResizedFrom:(float)oldDimension to:(float)newDimension { +- (void)splitView:(RBSplitView*)sender wasResizedFrom:(CGFloat)oldDimension to:(CGFloat)newDimension { if (sender == splitView) { [sender adjustSubviewsExcepting:[splitView subviewAtPosition:0]]; } } -- (BOOL)splitView:(RBSplitView*)sender shouldHandleEvent:(NSEvent*)theEvent inDivider:(unsigned int)divider +- (BOOL)splitView:(RBSplitView*)sender shouldHandleEvent:(NSEvent*)theEvent inDivider:(NSUInteger)divider betweenView:(RBSplitSubview*)leading andView:(RBSplitSubview*)trailing { //if upon the first mousedown, the top selected index is visible, snap to it when resizing [notesTableView noteFirstVisibleRow]; @@ -1290,12 +1296,12 @@ - (IBAction)showPreferencesWindow:(id)sender { - (IBAction)bringFocusToControlField:(id)sender { if (![NSApp isActive]) [NSApp activateIgnoringOtherApps:YES]; - + if (![window isKeyWindow]) { [window makeKeyAndOrderFront:sender]; } [field selectText:sender]; - + [self setEmptyViewState:currentNote == nil]; } diff --git a/AttributedPlainText.h b/AttributedPlainText.h old mode 100644 new mode 100755 diff --git a/AttributedPlainText.m b/AttributedPlainText.m old mode 100644 new mode 100755 index 41a3023a..010080bb --- a/AttributedPlainText.m +++ b/AttributedPlainText.m @@ -248,9 +248,9 @@ - (NSArray*)allLinks { unsigned int startIndex = 0; NSMutableArray *array = [NSMutableArray arrayWithCapacity:1]; while (startIndex < [self length]) { - id link = [self findNextLinkAtIndex:startIndex effectiveRange:&range]; - if ([link isKindOfClass:[NSURL class]]) { - [array addObject:link]; + id alink = [self findNextLinkAtIndex:startIndex effectiveRange:&range]; + if ([alink isKindOfClass:[NSURL class]]) { + [array addObject:alink]; } startIndex = range.location+range.length; } @@ -261,19 +261,19 @@ - (NSArray*)allLinks { - (id)findNextLinkAtIndex:(unsigned int)startIndex effectiveRange:(NSRange *)range { NSRange linkRange; - id link = nil; - while (!link && startIndex < [self length]) { - link = [self attribute:NSLinkAttributeName atIndex:startIndex effectiveRange:&linkRange]; + id alink = nil; + while (!alink && startIndex < [self length]) { + alink = [self attribute:NSLinkAttributeName atIndex:startIndex effectiveRange:&linkRange]; startIndex++; } - if (link) { + if (alink) { range->location = linkRange.location; range->length = linkRange.length; } else { range->location = NSNotFound; range->length = 0; } - return link; + return alink; } #if SEPARATE_ATTRS diff --git a/BlorPasswordRetriever.h b/BlorPasswordRetriever.h old mode 100644 new mode 100755 diff --git a/BlorPasswordRetriever.m b/BlorPasswordRetriever.m old mode 100644 new mode 100755 diff --git a/BodyScroller.h b/BodyScroller.h old mode 100644 new mode 100755 diff --git a/BodyScroller.m b/BodyScroller.m old mode 100644 new mode 100755 diff --git a/BookmarksController.h b/BookmarksController.h old mode 100644 new mode 100755 diff --git a/BookmarksController.m b/BookmarksController.m old mode 100644 new mode 100755 index 36ecca42..c40bbd7d --- a/BookmarksController.m +++ b/BookmarksController.m @@ -111,8 +111,8 @@ - (id)delegate { - (BOOL)isEqual:(id)anObject { return noteObject == [anObject noteObject]; } -- (unsigned)hash { - return (unsigned)noteObject; +- (NSUInteger)hash { + return (NSUInteger)noteObject; } @end @@ -183,7 +183,7 @@ - (void)setNotes:(NSArray*)someNotes { } - (NoteObject*)noteWithUUIDBytes:(CFUUIDBytes)bytes { - unsigned noteIndex = [notes indexOfNoteWithUUIDBytes:&bytes]; + NSUInteger noteIndex = [notes indexOfNoteWithUUIDBytes:&bytes]; if (noteIndex != NSNotFound) return [notes objectAtIndex:noteIndex]; return nil; } @@ -253,7 +253,7 @@ - (void)updateBookmarksUI { - (void)selectBookmarkInTableView:(NoteBookmark*)bookmark { if (bookmarksTableView && bookmark) { //find bookmark index and select - unsigned bmIndex = [bookmarks indexOfObjectIdenticalTo:bookmark]; + NSUInteger bmIndex = [bookmarks indexOfObjectIdenticalTo:bookmark]; if (bmIndex != NSNotFound) { isSelectingProgrammatically = YES; [bookmarksTableView selectRow:bmIndex byExtendingSelection:NO]; @@ -263,7 +263,7 @@ - (void)selectBookmarkInTableView:(NoteBookmark*)bookmark { } } -- (BOOL)validateMenuItem:(id )menuItem { +- (BOOL)validateMenuItem:(NSMenuItem*)menuItem { //need to fix this for better style detection SEL action = [menuItem action]; @@ -299,7 +299,7 @@ - (void)restoreBookmark:(id)sender { [self restoreNoteBookmark:[sender representedObject]]; } -- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex { +- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex { if ([[aTableColumn identifier] isEqualToString:@"description"]) { NSString *description = [[bookmarks objectAtIndex:rowIndex] description]; if (description) @@ -320,11 +320,11 @@ - (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColu return [NSString stringWithFormat:@"%@%@%@ %d", rowIndex > 17 ? ctrlCharStr : @"", rowIndex > 8 ? shiftCharStr : @"", cmdCharStr, (rowIndex % 9) + 1]; } -- (int)numberOfRowsInTableView:(NSTableView *)aTableView { +- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView { return [bookmarks count]; } -- (BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex { +- (BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex { return NO; } @@ -346,7 +346,7 @@ - (BOOL)tableView:(NSTableView *)tv writeRows:(NSArray*)rows toPasteboard:(NSPas return YES; } -- (NSDragOperation)tableView:(NSTableView*)tv validateDrop:(id )info proposedRow:(int)row +- (NSDragOperation)tableView:(NSTableView*)tv validateDrop:(id )info proposedRow:(NSInteger)row proposedDropOperation:(NSTableViewDropOperation)op { NSDragOperation dragOp = ([info draggingSource] == bookmarksTableView) ? NSDragOperationMove : NSDragOperationCopy; @@ -356,13 +356,13 @@ - (NSDragOperation)tableView:(NSTableView*)tv validateDrop:(id ) return dragOp; } -- (BOOL)tableView:(NSTableView*)tv acceptDrop:(id )info row:(int)row dropOperation:(NSTableViewDropOperation)op { +- (BOOL)tableView:(NSTableView*)tv acceptDrop:(id )info row:(NSInteger)row dropOperation:(NSTableViewDropOperation)op { if (row < 0) row = 0; if ([info draggingSource] == bookmarksTableView) { NSArray *rows = [[info draggingPasteboard] propertyListForType:MovedBookmarksType]; - int theRow = [[rows objectAtIndex:0] intValue]; + NSInteger theRow = [[rows objectAtIndex:0] intValue]; id object = [[bookmarks objectAtIndex:theRow] retain]; @@ -425,6 +425,9 @@ - (void)showBookmarks:(id)sender { [bookmarksTableView reloadData]; [window makeKeyAndOrderFront:self]; + + //TODO: hide bookmarks window if already open + //TODO: fix nspanel to not respond to close //highlight searches as appropriate while the window is open //selecting a search restores it @@ -453,7 +456,7 @@ - (void)addBookmark:(id)sender { NoteBookmark *bookmark = [[NoteBookmark alloc] initWithNoteObject:[delegate selectedNoteObject] searchString:newString]; if (bookmark) { - unsigned existingIndex = [bookmarks indexOfObject:bookmark]; + NSUInteger existingIndex = [bookmarks indexOfObject:bookmark]; if (existingIndex != NSNotFound) { //show them what they've already got NoteBookmark *existingBookmark = [bookmarks objectAtIndex:existingIndex]; diff --git a/BookmarksTable.h b/BookmarksTable.h old mode 100644 new mode 100755 diff --git a/BookmarksTable.m b/BookmarksTable.m old mode 100644 new mode 100755 diff --git a/BufferUtils.c b/BufferUtils.c old mode 100644 new mode 100755 index eb325871..4a2a0a1d --- a/BufferUtils.c +++ b/BufferUtils.c @@ -102,12 +102,12 @@ unsigned DumbWordCount(const void *s1, size_t len) { return count; } -int genericSortContextFirst(int (*context) (void*, void*), void* one, void* two) { +NSInteger genericSortContextFirst(int (*context) (void*, void*), void* one, void* two) { return context(one, two); } -int genericSortContextLast(void* one, void* two, int (*context) (void*, void*)) { +NSInteger genericSortContextLast(void* one, void* two, int (*context) (void*, void*)) { return context(&one, &two); } @@ -170,7 +170,7 @@ CFStringRef GetRandomizedFileName() { ProcessSerialNumber psn; OSStatus err = noErr; if ((err = GetCurrentProcess(&psn)) != noErr) { - printf("error getting process serial number: %ld\n", err); + printf("error getting process serial number: %d\n", (int)err); //just use the location of our memory psn.lowLongOfPSN = (unsigned long)&psn; @@ -219,7 +219,7 @@ OSStatus FSRefMakeInDirectoryWithString(FSRef *directoryRef, FSRef *childRef, CF OSStatus FSRefReadData(FSRef *fsRef, size_t maximumReadSize, UInt64 *bufferSize, void** newBuffer, UInt16 modeOptions) { OSStatus err = noErr; HFSUniStr255 dfName; //this is just NULL / 0, anyway - SInt16 refNum; + FSIORefNum refNum; SInt64 forkSize; ByteCount readActualCount = 0, totalReadBytes = 0; @@ -229,7 +229,7 @@ OSStatus FSRefReadData(FSRef *fsRef, size_t maximumReadSize, UInt64 *bufferSize, } if ((err = FSGetDataForkName(&dfName)) != noErr) { - printf("FSGetDataForkName: error %ld\n", err); + printf("FSGetDataForkName: error %d\n", (int)err); return err; } @@ -238,27 +238,27 @@ OSStatus FSRefReadData(FSRef *fsRef, size_t maximumReadSize, UInt64 *bufferSize, //get fork size //read data if ((err = FSOpenFork(fsRef, dfName.length, dfName.unicode, fsRdPerm, &refNum)) != noErr) { - printf("FSOpenFork: error %ld\n", err); + printf("FSOpenFork: error %d\n", (int)err); return err; } if ((forkSize = *bufferSize) < 1) { if ((err = FSGetForkSize(refNum, &forkSize)) != noErr) { - printf("FSGetForkSize: error %ld\n", err); + printf("FSGetForkSize: error %d\n", (int)err); return err; } } - long copyBufferSize = MIN(maximumReadSize, forkSize); + size_t copyBufferSize = MIN(maximumReadSize, (size_t)forkSize); void *fullSizeBuffer = (void*)malloc(forkSize); - while (noErr == err && totalReadBytes < forkSize) { + while (noErr == err && totalReadBytes < (ByteCount)forkSize) { err = FSReadFork(refNum, fsAtMark + modeOptions, 0, copyBufferSize, fullSizeBuffer + totalReadBytes, &readActualCount); totalReadBytes += readActualCount; } OSErr lastReadErr = err; if ((err = FSCloseFork(refNum)) != noErr) - printf("FSCloseFork: error %ld\n", err); + printf("FSCloseFork: error %d\n", (int)err); *newBuffer = fullSizeBuffer; //in case we read less than the expected size or the size was not initially known @@ -270,7 +270,7 @@ OSStatus FSRefReadData(FSRef *fsRef, size_t maximumReadSize, UInt64 *bufferSize, OSStatus FSRefWriteData(FSRef *fsRef, size_t maximumWriteSize, UInt64 bufferSize, const void* buffer, UInt16 modeOptions, Boolean truncateFile) { OSStatus err = noErr; HFSUniStr255 dfName; //this is just NULL / 0, anyway - SInt16 refNum; + FSIORefNum refNum; ByteCount writeActualCount = 0, totalWrittenBytes = 0; if (!buffer || !fsRef) { @@ -279,14 +279,14 @@ OSStatus FSRefWriteData(FSRef *fsRef, size_t maximumWriteSize, UInt64 bufferSize } if ((err = FSGetDataForkName(&dfName)) != noErr) { - printf("FSGetDataForkName: error %ld\n", err); + printf("FSGetDataForkName: error %d\n", (int)err); return err; } //FSOpenFork //get vrefnum or whatever if ((err = FSOpenFork(fsRef, dfName.length, dfName.unicode, fsWrPerm, &refNum)) != noErr) { - printf("FSOpenFork: error %ld\n", err); + printf("FSOpenFork: error %d\n", (int)err); return err; } @@ -302,12 +302,12 @@ OSStatus FSRefWriteData(FSRef *fsRef, size_t maximumWriteSize, UInt64 bufferSize OSErr writeError = err; if (truncateFile && (err = FSSetForkSize(refNum, fsFromStart, bufferSize))) { - printf("FSOpenFork: FSSetForkSize %ld\n", err); + printf("FSOpenFork: FSSetForkSize %d\n", (int)err); return err; } if ((err = FSCloseFork(refNum)) != noErr) - printf("FSCloseFork: error %ld\n", err); + printf("FSCloseFork: error %d\n", (int)err); return writeError; } diff --git a/BufferUtils.h b/BufferUtils.h old mode 100644 new mode 100755 diff --git a/CRC32.c b/CRC32.c old mode 100644 new mode 100755 diff --git a/CRC32.h b/CRC32.h old mode 100644 new mode 100755 diff --git a/CarbonFSErrorStrings.h b/CarbonFSErrorStrings.h old mode 100644 new mode 100755 diff --git a/DeletedNoteObject.h b/DeletedNoteObject.h old mode 100644 new mode 100755 diff --git a/DeletedNoteObject.m b/DeletedNoteObject.m old mode 100644 new mode 100755 index 2336317d..c38b7d74 --- a/DeletedNoteObject.m +++ b/DeletedNoteObject.m @@ -22,19 +22,33 @@ - (id)initWithExistingObject:(id)note { - (id)initWithCoder:(NSCoder*)decoder { if ([super init]) { - //needs a case for nskeyedarchiver as well; will CFUUIDBytes just be nsdata? - [decoder decodeValueOfObjCType:@encode(CFUUIDBytes) at:&uniqueNoteIDBytes]; - [decoder decodeValueOfObjCType:@encode(unsigned int) at:&serverModifiedTime]; - [decoder decodeValueOfObjCType:@encode(unsigned int) at:&logSequenceNumber]; + + if ([decoder allowsKeyedCoding]) { + NSUInteger decodedByteCount; + const uint8_t *decodedBytes = [decoder decodeBytesForKey:VAR_STR(uniqueNoteIDBytes) returnedLength:&decodedByteCount]; + memcpy(&uniqueNoteIDBytes, decodedBytes, MIN(decodedByteCount, sizeof(CFUUIDBytes))); + serverModifiedTime = [decoder decodeInt32ForKey:VAR_STR(serverModifiedTime)]; + logSequenceNumber = [decoder decodeInt32ForKey:VAR_STR(logSequenceNumber)]; + } else { + [decoder decodeValueOfObjCType:@encode(CFUUIDBytes) at:&uniqueNoteIDBytes]; + [decoder decodeValueOfObjCType:@encode(unsigned int) at:&serverModifiedTime]; + [decoder decodeValueOfObjCType:@encode(unsigned int) at:&logSequenceNumber]; + } } return self; } - (void)encodeWithCoder:(NSCoder *)coder { - [coder encodeValueOfObjCType:@encode(CFUUIDBytes) at:&uniqueNoteIDBytes]; - [coder encodeValueOfObjCType:@encode(unsigned int) at:&serverModifiedTime]; - [coder encodeValueOfObjCType:@encode(unsigned int) at:&logSequenceNumber]; - + + if ([coder allowsKeyedCoding]) { + [coder encodeBytes:(const uint8_t *)&uniqueNoteIDBytes length:sizeof(CFUUIDBytes) forKey:VAR_STR(uniqueNoteIDBytes)]; + [coder encodeInt32:serverModifiedTime forKey:VAR_STR(serverModifiedTime)]; + [coder encodeInt32:logSequenceNumber forKey:VAR_STR(logSequenceNumber)]; + } else { + [coder encodeValueOfObjCType:@encode(CFUUIDBytes) at:&uniqueNoteIDBytes]; + [coder encodeValueOfObjCType:@encode(unsigned int) at:&serverModifiedTime]; + [coder encodeValueOfObjCType:@encode(unsigned int) at:&logSequenceNumber]; + } } - (CFUUIDBytes *)uniqueNoteIDBytes { diff --git a/DeletionManager.h b/DeletionManager.h old mode 100644 new mode 100755 diff --git a/DeletionManager.m b/DeletionManager.m old mode 100644 new mode 100755 index 4064d08b..cd3a9f19 --- a/DeletionManager.m +++ b/DeletionManager.m @@ -188,19 +188,19 @@ - (void)windowDidEndSheet:(NSNotification *)aNotification { } } -- (BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex { +- (BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex { return NO; } -- (BOOL)tableView:(NSTableView *)aTableView shouldSelectRow:(int)rowIndex { +- (BOOL)tableView:(NSTableView *)aTableView shouldSelectRow:(NSInteger)rowIndex { return NO; } -- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex { +- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex { return filenameOfNote((NoteObject *)[deletedNotes objectAtIndex:rowIndex]); } -- (int)numberOfRowsInTableView:(NSTableView *)aTableView { +- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView { return [deletedNotes count]; } diff --git a/DualField.h b/DualField.h old mode 100644 new mode 100755 diff --git a/DualField.m b/DualField.m old mode 100644 new mode 100755 diff --git a/EmptyView.h b/EmptyView.h old mode 100644 new mode 100755 diff --git a/EmptyView.m b/EmptyView.m old mode 100644 new mode 100755 diff --git a/EncodingsManager.h b/EncodingsManager.h old mode 100644 new mode 100755 diff --git a/EncodingsManager.m b/EncodingsManager.m old mode 100644 new mode 100755 diff --git a/English.lproj/BlorPasswordRetriever.nib/classes.nib b/English.lproj/BlorPasswordRetriever.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/BlorPasswordRetriever.nib/info.nib b/English.lproj/BlorPasswordRetriever.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/BlorPasswordRetriever.nib/keyedobjects.nib b/English.lproj/BlorPasswordRetriever.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/CarbonErrorStrings.plist b/English.lproj/CarbonErrorStrings.plist old mode 100644 new mode 100755 index 9e01a4a2..ac4f5e3e --- a/English.lproj/CarbonErrorStrings.plist +++ b/English.lproj/CarbonErrorStrings.plist @@ -1,5 +1,5 @@ - + -33 @@ -19,11 +19,11 @@ -40 a negative file position offset was specified -41 - the file won't fit in memory + the file won't fit in memory -42 there are too many open files -43 - the file wasn't found + the file wasn't found -44 the media is write-protected -45 @@ -41,7 +41,7 @@ -51 the file reference number is invalid -52 - the file position offset couldn't be obtained + the file position offset couldn't be obtained -53 the volume is no longer present -54 @@ -53,13 +53,13 @@ -57 the disk is not mac-formatted -58 - the volume's file system type is not handled + the volume's file system type is not handled -59 there was a problem in the middle of renaming -60 the master directory block is bad -61 - the file's permissions prevent you from writing + the file's permissions prevent you from writing -64 the drive is not installed -120 @@ -79,17 +79,19 @@ -818 the data could not be unserialized -819 - the write-ahead log file could not be initialized + the Interim Note-Changes file could not be initialized -820 - the write-ahead log couldn't be appended-to + the Interim Note-Changes file couldn't be appended-to -821 authentication failed -822 - the data couldn't be decompressed + the data couldn't be decompressed -823 you did not enter a passphrase -824 the data could not be formatted appropriately + -825 + notes had mis-matching values after decoding -1300 the specified file ID was not found on the file system -1301 @@ -101,9 +103,9 @@ -1304 the catalog changed unexpectedly -1306 - the file's contents were attempted to be exchanged with itself + the file's contents were attempted to be exchanged with itself -1307 - the file doesn't match the file ID number + the file doesn't match the file ID number -1308 the volume was improperly remounted -1309 @@ -131,11 +133,11 @@ -1407 a folder was in fact a file -1409 - the file's requested fork doesn't exist + the file's requested fork doesn't exist -1410 the requested name is too long to be valid -1411 - the file doesn't have a name + the file doesn't have a name -1412 an invalid positioning mode was specified for accessing the file -1413 diff --git a/English.lproj/Contact Information.nvhelp b/English.lproj/Contact Information.nvhelp old mode 100644 new mode 100755 diff --git a/English.lproj/DeletionManager.nib/classes.nib b/English.lproj/DeletionManager.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/DeletionManager.nib/info.nib b/English.lproj/DeletionManager.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/DeletionManager.nib/keyedobjects.nib b/English.lproj/DeletionManager.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/EncodingsManager.nib/classes.nib b/English.lproj/EncodingsManager.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/EncodingsManager.nib/info.nib b/English.lproj/EncodingsManager.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/EncodingsManager.nib/keyedobjects.nib b/English.lproj/EncodingsManager.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/Excruciatingly Useful Shortcuts.nvhelp b/English.lproj/Excruciatingly Useful Shortcuts.nvhelp old mode 100644 new mode 100755 diff --git a/English.lproj/ExporterManager.nib/classes.nib b/English.lproj/ExporterManager.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/ExporterManager.nib/info.nib b/English.lproj/ExporterManager.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/ExporterManager.nib/keyedobjects.nib b/English.lproj/ExporterManager.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/FindPanel.nib/classes.nib b/English.lproj/FindPanel.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/FindPanel.nib/info.nib b/English.lproj/FindPanel.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/FindPanel.nib/keyedobjects.nib b/English.lproj/FindPanel.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/FindPanel.strings b/English.lproj/FindPanel.strings old mode 100644 new mode 100755 diff --git a/English.lproj/How does this thing work?.nvhelp b/English.lproj/How does this thing work?.nvhelp old mode 100644 new mode 100755 diff --git a/English.lproj/InfoPlist.strings b/English.lproj/InfoPlist.strings old mode 100644 new mode 100755 diff --git a/English.lproj/KeyDerivationManager.nib/classes.nib b/English.lproj/KeyDerivationManager.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/KeyDerivationManager.nib/info.nib b/English.lproj/KeyDerivationManager.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/KeyDerivationManager.nib/keyedobjects.nib b/English.lproj/KeyDerivationManager.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/KeyDerivationManager~.nib/classes.nib b/English.lproj/KeyDerivationManager~.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/KeyDerivationManager~.nib/info.nib b/English.lproj/KeyDerivationManager~.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/KeyDerivationManager~.nib/keyedobjects.nib b/English.lproj/KeyDerivationManager~.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/Localizable.strings b/English.lproj/Localizable.strings old mode 100644 new mode 100755 index ab0942b00e17acbffa5be6b39e6ac597b001a37b..56dc6bd99618443fb2d116b81411154cfed836f3 GIT binary patch delta 122 zcmdng!gQ;JX~WYZLr;c0h7yKUh9ZVchFk^(20w;;FkhF!nIVHA5h$Aulr09zqybgr XFr-etS6n%{y4a0$oty6!hwuRafubGs delta 78 zcmccB!nCP{X~WYZ*>Z*=hD?SMhExV!hD3%8Af3pN!l1yA!;sIAK3S}IKYkUP*-AqA E09HX0o&W#< diff --git a/English.lproj/MainMenu-nssplitview.nib/designable.nib b/English.lproj/MainMenu-nssplitview.nib/designable.nib new file mode 100644 index 00000000..37d571cb --- /dev/null +++ b/English.lproj/MainMenu-nssplitview.nib/designable.nib @@ -0,0 +1,4260 @@ + + + + 1040 + 10B504 + 732 + 1038.2 + 437.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 732 + + + YES + + + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + 15 + 2 + {{201, 181}, {399, 560}} + 1618477056 + Notation + NSWindow + + View + + {3.40282e+38, 3.40282e+38} + {213, 107} + + + 256 + + YES + + + 266 + {{8, 528}, {381, 22}} + + YES + + -1804468671 + 268436480 + + + LucidaGrande + 13 + 1044 + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + 3 + MAA + + + + + + + 274 + + YES + + + 274 + + YES + + + 274 + + YES + + + 2304 + + YES + + + 4352 + {382, 137} + + YES + + + 256 + {382, 17} + + + + + + 256 + {{383, 0}, {16, 17}} + + + + YES + + 3 + 2 + + + 6 + System + gridColor + + 3 + MC41AA + + + 14 + -633307136 + + + 1 + 15 + 0 + YES + 0 + + + {{1, 17}, {382, 140}} + + + + + 6 + System + controlBackgroundColor + + 3 + MC42NjY2NjY2ODY1AA + + + 4 + + + + 256 + {{383, 17}, {15, 140}} + + + _doScroller: + 0.91269838809967041 + + + + -2147483392 + {{-100, -100}, {382, 15}} + + 1 + + _doScroller: + 0.96598637104034424 + + + + 2304 + + YES + + + {{1, 0}, {382, 17}} + + + + + 4 + + + + {399, 158} + + + 18 + + + + + + QSAAAEEgAABBgAAAQYAAAA + + + {399, 158} + + NSView + + + + 274 + + YES + + + 274 + + YES + + + 2304 + + YES + + + 2322 + + YES + + YES + Apple HTML pasteboard type + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + Apple URL pasteboard type + CorePasteboardFlavorType 0x6D6F6F76 + NSColor pasteboard type + NSFilenamesPboardType + NSStringPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT RTFD pasteboard type + NeXT Rich Text Format v1.0 pasteboard type + NeXT TIFF v4.0 pasteboard type + NeXT font pasteboard type + NeXT ruler pasteboard type + WebURLsWithTitlesPboardType + public.url + + + {384, 29} + + + + + + + + + + + YES + + + 6 + + + + 384 + 1 + + + 12263 + 0 + + + + YES + + YES + NSBackgroundColor + NSColor + + + YES + + 6 + System + selectedTextBackgroundColor + + + + 6 + System + selectedTextColor + + + + + + + YES + + YES + NSColor + NSUnderline + + + YES + + 1 + MCAwIDEAA + + + + + + + 6 + {838, 1e+07} + {297, 0} + + + + {{1, 1}, {382, 345}} + + + + + + {4, -5} + 1 + + 4 + + + + 256 + {{383, 1}, {15, 331}} + + + _doScroller: + 1 + + + + -2147483392 + {{-100, -100}, {87, 18}} + + YES + 1 + + _doScroller: + 1 + 0.94565218687057495 + + + {399, 347} + + + 146 + + + + + + {{0, 167}, {399, 347}} + + NSView + + + {399, 514} + + Notation + + + {399, 560} + + + {{0, 0}, {1920, 1178}} + {213, 129} + {3.40282e+38, 3.40282e+38} + NotationWindow + + + MainMenu + + YES + + + Notational Velocity + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + Notational Velocity + + YES + + + About Notational Velocity + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Check for Updates… + + 1048576 + 2147483647 + + + 88 + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + + Services + + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide Notational Velocity + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit Notational Velocity + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + Note + + 1048576 + 2147483647 + + + submenuAction: + 89 + + Note + + YES + + + Rename + r + 1048576 + 2147483647 + + + 90 + + + + Tag + T + 1048576 + 2147483647 + + + 92 + + + + Delete + CA + 1048576 + 2147483647 + + + 91 + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Search or Create… + l + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Import… + + 1048576 + 2147483647 + + + 93 + + + + Export… + e + 1048576 + 2147483647 + + + 94 + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup… + P + 1048576 + 2147483647 + + + 95 + + + + Print… + p + 1048576 + 2147483647 + + + 96 + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + + Edit + + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Paste as New Note + V + 1048576 + 2147483647 + + + + + + Clear + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + + Find + + + YES + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + Find Next + g + 1048576 + 2147483647 + + + 2 + + + + Find Previous + G + 1048576 + 2147483647 + + + 3 + + + + Use Selection for Find + e + 1048576 + 2147483647 + + + 7 + + + + + + + Spelling + + 1048576 + 2147483647 + + + submenuAction: + + Spelling + + YES + + + Spelling… + : + 1048576 + 2147483647 + + + + + + Check Spelling + ; + 1048576 + 2147483647 + + + + + + Check Spelling as You Type + + 1048576 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + YES + + + Columns + + 1048576 + 2147483647 + + + submenuAction: + 97 + + Columns + + YES + + + Item + + 1048576 + 2147483647 + + + + + + + + + Sort By + + 1048576 + 2147483647 + + + submenuAction: + 98 + + Sort By + + YES + + + Item + + 1048576 + 2147483647 + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Next Note + j + 1048576 + 2147483647 + + + 106 + + + + Previous Note + k + 1048576 + 2147483647 + + + 107 + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Deselect Note(s) + d + 1048576 + 2147483647 + + + 101 + + + + + + + Format + + 1048576 + 2147483647 + + + submenuAction: + + + Format + + + YES + + + Plain Text Style + t + 1048576 + 2147483647 + + + + + + Bold + b + 1048576 + 2147483647 + + + 2 + + Bold + + YES + + YES + NSFont + NSOriginalFont + + + YES + + LucidaGrande-Bold + 14 + 16 + + + + + + + + + Italic + i + 1048576 + 2147483647 + + + 1 + + Italic + + YES + + YES + NSFont + NSOriginalFont + + + YES + + LucidaGrande + 14 + 16 + + + + + + + + + Underline + u + 1048576 + 2147483647 + + + + Underline + + YES + + YES + NSFont + NSOriginalFont + NSUnderline + + + YES + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Shift Left + [ + 1048576 + 2147483647 + + + + + + Shift Right + ] + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Fix Text Encoding… + + 1048576 + 2147483647 + + + 102 + + + + + + + Bookmarks + + 1048576 + 2147483647 + + + submenuAction: + 103 + + Bookmarks + + YES + + + Item + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + + Window + + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 1048576 + 2147483647 + + + submenuAction: + + Help + + YES + + + Notational Velocity Shortcuts + ? + 1048576 + 2147483647 + + + + + + + + _NSMainMenu + + + AppController + + + + 274 + + YES + + + 319 + {{0, 43}, {147, 23}} + + YES + + 67239424 + 138412032 + No Note Selected + + Helvetica + 18 + 16 + + + + 6 + System + controlColor + + + + 3 + MC40OTU5Njc3NDU4AA + + + + + {147, 102} + EmptyView + NSView + + + NSFontManager + + + + + YES + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + runPageLayout: + + + + 87 + + + + showHelp: + + + + 122 + + + + terminate: + + + + 139 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + hideOtherApplications: + + + + 146 + + + + hide: + + + + 152 + + + + unhideAllApplications: + + + + 153 + + + + cut: + + + + 175 + + + + paste: + + + + 176 + + + + redo: + + + + 178 + + + + selectAll: + + + + 179 + + + + undo: + + + + 180 + + + + copy: + + + + 181 + + + + showGuessPanel: + + + + 188 + + + + checkSpelling: + + + + 190 + + + + toggleContinuousSpellChecking: + + + + 192 + + + + performZoom: + + + + 198 + + + + field + + + + 216 + + + + window + + + + 217 + + + + fieldAction: + + + + 218 + + + + delegate + + + + 219 + + + + initialFirstResponder + + + + 227 + + + + delegate + + + + 229 + + + + editorStatusView + + + + 348 + + + + labelText + + + + 350 + + + + nextKeyView + + + + 351 + + + + showPreferencesWindow: + + + + 381 + + + + deleteNote: + + + + 491 + + + + performClose: + + + + 496 + + + + renameNote: + + + + 526 + + + + fixFileEncoding: + + + + 536 + + + + bringFocusToControlField: + + + + 555 + + + + shiftLeftAction: + + + + 568 + + + + shiftRightAction: + + + + 569 + + + + delete: + + + + 773 + + + + defaultStyle: + + + + 978 + + + + bold: + + + + 981 + + + + italic: + + + + 982 + + + + underlineNV: + + + + 984 + + + + performFindPanelAction: + + + + 985 + + + + importNotes: + + + + 986 + + + + printNote: + + + + 987 + + + + exportNote: + + + + 988 + + + + tagNote: + + + + 995 + + + + controlField + + + + 1019 + + + + delegate + + + + 1020 + + + + notesTableView + + + + 1021 + + + + nextKeyView + + + + 1022 + + + + controlField + + + + 1023 + + + + delegate + + + + 1024 + + + + nextKeyView + + + + 1025 + + + + nextKeyView + + + + 1026 + + + + notesTableView + + + + 1027 + + + + textView + + + + 1030 + + + + notesTable + + + + 1031 + + + + nextKeyView + + + + 1032 + + + + incrementNoteSelection: + + + + 1035 + + + + incrementNoteSelection: + + + + 1036 + + + + paste: + + + + 1037 + + + + deselectAll: + + + + 1038 + + + + delegate + + + + 1040 + + + + delegate + + + + 1041 + + + + performFindPanelAction: + + + + 1042 + + + + performFindPanelAction: + + + + 1043 + + + + performFindPanelAction: + + + + 1044 + + + + sparkleUpdateItem + + + + 1052 + + + + nextKeyView + + + + 1082 + + + + splitView + + + + 1083 + + + + delegate + + + + 1084 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + 21 + + + YES + + + + notation + + + 2 + + + YES + + + + + + + 206 + + + YES + + + + + + 29 + + + YES + + + + + + + + + + + MainMenu + + + 19 + + + YES + + + + + + 24 + + + YES + + + + + + + + + + 5 + + + + + 23 + + + + + 92 + + + + + 197 + + + + + 489 + + + + + 56 + + + YES + + + + + + 57 + + + YES + + + + + + + + + + + + + + + + + + 58 + + + + + 129 + + + + + 131 + + + YES + + + + + + 130 + + + + + 134 + + + + + 136 + + + + + 143 + + + + + 144 + + + + + 145 + + + + + 149 + + + + + 150 + + + + + 196 + + + + + 990 + + + + + 991 + + + + + 83 + + + YES + + + + + + 81 + + + YES + + + + + + + + + + + + + + + + 77 + + + + + 78 + + + + + 79 + + + + + 392 + + + + + 393 + + + + + 394 + + + + + 395 + + + + + 396 + + + + + 553 + + + + + 554 + + + + + 994 + + + + + 103 + + + YES + + + + + + 106 + + + YES + + + + + + 111 + + + + + 163 + + + YES + + + + + + 169 + + + YES + + + + + + + + + + + + + + + + + + 156 + + + + + 157 + + + + + 158 + + + + + 160 + + + + + 168 + + + YES + + + + + + 159 + + + YES + + + + + + + + + 154 + + + + + 161 + + + + + 162 + + + + + 167 + + + + + 171 + + + + + 172 + + + + + 173 + + + + + 184 + + + YES + + + + + + 185 + + + YES + + + + + + + + 187 + + + + + 189 + + + + + 191 + + + + + 550 + + + + + 557 + + + + + 771 + + + + + 1000 + + + + + 382 + + + YES + + + + + + 383 + + + YES + + + + + + + + + + + + 386 + + + YES + + + + + + 387 + + + YES + + + + + + 388 + + + + + 389 + + + YES + + + + + + 390 + + + YES + + + + + + 391 + + + + + 507 + + + + + 508 + + + + + 520 + + + + + 521 + + + + + 522 + + + + + 397 + + + YES + + + + + + 398 + + + YES + + + + + + + + + + + + + + 534 + + + + + 563 + + + + + 564 + + + + + 565 + + + + + 574 + + + + + 575 + + + + + 576 + + + + + 577 + + + + + 977 + + + + + 996 + + + YES + + + + + + 997 + + + YES + + + + + + 998 + + + + + 213 + + + AppController + + + 341 + + + YES + + + + editorStatus + + + 342 + + + YES + + + + + + 452 + + + Font Manager + + + 1054 + + + + + 1055 + + + + + -3 + + + Application + + + 1061 + + + YES + + + + + + + 1063 + + + YES + + + + + + 1062 + + + YES + + + + + + 1013 + + + YES + + + + + + + + + 1014 + + + + + 1056 + + + + + 1057 + + + + + 1058 + + + + + 1016 + + + YES + + + + + + + + 1017 + + + + + 1059 + + + + + 1060 + + + + + + + YES + + YES + 1000.IBPluginDependency + 1000.ImportedFromIB2 + 1013.IBPluginDependency + 1013.ImportedFromIB2 + 1014.CustomClassName + 1014.IBPluginDependency + 1014.ImportedFromIB2 + 1016.CustomClassName + 1016.IBPluginDependency + 1016.ImportedFromIB2 + 1017.CustomClassName + 1017.IBPluginDependency + 1017.ImportedFromIB2 + 103.IBPluginDependency + 103.ImportedFromIB2 + 1056.IBShouldRemoveOnLegacySave + 1057.IBShouldRemoveOnLegacySave + 1058.IBShouldRemoveOnLegacySave + 1059.IBShouldRemoveOnLegacySave + 106.IBPluginDependency + 106.ImportedFromIB2 + 1060.IBShouldRemoveOnLegacySave + 1061.IBEditorWindowLastContentRect + 1061.IBPluginDependency + 1062.IBPluginDependency + 1063.IBPluginDependency + 111.IBPluginDependency + 111.ImportedFromIB2 + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBPluginDependency + 130.ImportedFromIB2 + 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 + 154.IBPluginDependency + 154.ImportedFromIB2 + 156.IBPluginDependency + 156.ImportedFromIB2 + 157.IBPluginDependency + 157.ImportedFromIB2 + 158.IBPluginDependency + 158.ImportedFromIB2 + 159.IBPluginDependency + 159.ImportedFromIB2 + 160.IBPluginDependency + 160.ImportedFromIB2 + 161.IBPluginDependency + 161.ImportedFromIB2 + 162.IBPluginDependency + 162.ImportedFromIB2 + 163.IBPluginDependency + 163.ImportedFromIB2 + 167.IBPluginDependency + 167.ImportedFromIB2 + 168.IBPluginDependency + 168.ImportedFromIB2 + 169.IBEditorWindowLastContentRect + 169.IBPluginDependency + 169.ImportedFromIB2 + 171.IBPluginDependency + 171.ImportedFromIB2 + 172.IBPluginDependency + 172.ImportedFromIB2 + 173.IBPluginDependency + 173.ImportedFromIB2 + 184.IBPluginDependency + 184.ImportedFromIB2 + 185.IBPluginDependency + 185.ImportedFromIB2 + 187.IBPluginDependency + 187.ImportedFromIB2 + 189.IBPluginDependency + 189.ImportedFromIB2 + 19.IBPluginDependency + 19.ImportedFromIB2 + 191.IBPluginDependency + 191.ImportedFromIB2 + 196.IBPluginDependency + 196.ImportedFromIB2 + 197.IBPluginDependency + 197.ImportedFromIB2 + 2.IBPluginDependency + 2.ImportedFromIB2 + 206.CustomClassName + 206.IBPluginDependency + 206.ImportedFromIB2 + 21.IBEditorWindowLastContentRect + 21.IBPluginDependency + 21.IBWindowTemplateEditedContentRect + 21.ImportedFromIB2 + 21.NSWindowTemplate.visibleAtLaunch + 21.windowTemplate.hasMinSize + 21.windowTemplate.minSize + 213.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 24.IBEditorWindowLastContentRect + 24.IBPluginDependency + 24.ImportedFromIB2 + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 341.IBPluginDependency + 341.ImportedFromIB2 + 342.IBPluginDependency + 342.ImportedFromIB2 + 382.IBPluginDependency + 382.ImportedFromIB2 + 383.IBEditorWindowLastContentRect + 383.IBPluginDependency + 383.ImportedFromIB2 + 386.IBPluginDependency + 386.ImportedFromIB2 + 387.IBPluginDependency + 387.ImportedFromIB2 + 388.IBPluginDependency + 388.ImportedFromIB2 + 389.IBPluginDependency + 389.ImportedFromIB2 + 390.IBPluginDependency + 390.ImportedFromIB2 + 391.IBPluginDependency + 391.ImportedFromIB2 + 392.IBPluginDependency + 392.ImportedFromIB2 + 393.IBPluginDependency + 393.ImportedFromIB2 + 394.IBPluginDependency + 394.ImportedFromIB2 + 395.IBPluginDependency + 395.ImportedFromIB2 + 396.IBPluginDependency + 396.ImportedFromIB2 + 397.IBPluginDependency + 397.ImportedFromIB2 + 398.IBEditorWindowLastContentRect + 398.IBPluginDependency + 398.ImportedFromIB2 + 452.ImportedFromIB2 + 489.IBPluginDependency + 489.ImportedFromIB2 + 5.IBPluginDependency + 5.ImportedFromIB2 + 507.IBPluginDependency + 507.ImportedFromIB2 + 508.IBPluginDependency + 508.ImportedFromIB2 + 520.IBPluginDependency + 520.ImportedFromIB2 + 521.IBPluginDependency + 521.ImportedFromIB2 + 522.IBPluginDependency + 522.ImportedFromIB2 + 534.IBPluginDependency + 534.ImportedFromIB2 + 550.IBPluginDependency + 550.ImportedFromIB2 + 553.IBPluginDependency + 553.ImportedFromIB2 + 554.IBPluginDependency + 554.ImportedFromIB2 + 557.IBPluginDependency + 557.ImportedFromIB2 + 56.IBPluginDependency + 56.ImportedFromIB2 + 563.IBPluginDependency + 563.ImportedFromIB2 + 564.IBPluginDependency + 564.ImportedFromIB2 + 565.IBPluginDependency + 565.ImportedFromIB2 + 57.IBPluginDependency + 57.ImportedFromIB2 + 574.IBPluginDependency + 574.ImportedFromIB2 + 575.IBPluginDependency + 575.ImportedFromIB2 + 576.IBPluginDependency + 576.ImportedFromIB2 + 577.IBPluginDependency + 577.ImportedFromIB2 + 58.IBPluginDependency + 58.ImportedFromIB2 + 77.IBPluginDependency + 77.ImportedFromIB2 + 771.IBPluginDependency + 771.ImportedFromIB2 + 78.IBPluginDependency + 78.ImportedFromIB2 + 79.IBPluginDependency + 79.ImportedFromIB2 + 81.IBEditorWindowLastContentRect + 81.IBPluginDependency + 81.ImportedFromIB2 + 83.IBPluginDependency + 83.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + 977.IBPluginDependency + 977.ImportedFromIB2 + 990.IBPluginDependency + 990.ImportedFromIB2 + 991.IBPluginDependency + 991.ImportedFromIB2 + 994.IBPluginDependency + 994.ImportedFromIB2 + 996.IBPluginDependency + 996.ImportedFromIB2 + 997.IBEditorWindowLastContentRect + 997.IBPluginDependency + 997.ImportedFromIB2 + 998.IBPluginDependency + 998.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + NotesTableView + com.apple.InterfaceBuilder.CocoaPlugin + + FocusRingScrollView + com.apple.InterfaceBuilder.CocoaPlugin + + LinkingEditor + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + + {{810, 50}, {494, 563}} + 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 + + 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 + + {{217, 881}, {214, 233}} + 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 + + DualField + com.apple.InterfaceBuilder.CocoaPlugin + + {{24, 498}, {399, 560}} + com.apple.InterfaceBuilder.CocoaPlugin + {{24, 498}, {399, 560}} + + + + {213, 107} + + com.apple.InterfaceBuilder.CocoaPlugin + + {{471, 1021}, {194, 93}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{0, 1114}, {603, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{261, 991}, {187, 123}} + 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 + + {{311, 951}, {211, 163}} + 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 + + 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 + + {{167, 921}, {222, 193}} + 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 + + {{377, 1091}, {97, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + + YES + + + + + YES + + + YES + + + + 1084 + + + + YES + + AppController + NSObject + + YES + + YES + bringFocusToControlField: + deleteNote: + exportNote: + fieldAction: + importNotes: + printNote: + renameNote: + showPreferencesWindow: + tagNote: + + + YES + id + id + id + id + id + id + id + id + id + + + + YES + + YES + editorStatusView + field + notesTableView + sparkleUpdateItem + splitView + textView + window + + + YES + EmptyView + DualField + NotesTableView + NSMenuItem + NSSplitView + LinkingEditor + NSWindow + + + + IBProjectSource + AppController.h + + + + AppController + NSObject + + YES + + YES + fixFileEncoding: + newNoteWithClipboard: + + + YES + id + id + + + + IBUserSource + + + + + DualField + NSTextField + + notesTable + NSTableView + + + IBProjectSource + DualField.h + + + + DualField + NSTextField + + IBUserSource + + + + + EmptyView + NSView + + labelText + NSTextField + + + IBProjectSource + EmptyView.h + + + + EmptyView + NSView + + IBUserSource + + + + + FirstResponder + + YES + + YES + bold: + defaultStyle: + deleteToBeginningOfLine: + deleteWordBackward: + italic: + shiftLeftAction: + shiftRightAction: + underlineNV: + + + YES + id + id + id + id + id + id + id + id + + + + IBUserSource + + + + + FocusRingScrollView + NSScrollView + + IBProjectSource + FocusRingScrollView.h + + + + FocusRingScrollView + NSScrollView + + IBUserSource + + + + + LinkingEditor + NSTextView + + YES + + YES + bold: + defaultStyle: + italic: + underlineNV: + + + YES + id + id + id + id + + + + YES + + YES + controlField + notesTableView + + + YES + NSTextField + NotesTableView + + + + IBProjectSource + LinkingEditor.h + + + + LinkingEditor + + YES + + YES + shiftLeftAction: + shiftRightAction: + + + YES + id + id + + + + IBProjectSource + LinkingEditor_Indentation.h + + + + LinkingEditor + NSTextView + + IBUserSource + + + + + NSObject + + IBProjectSource + GlobalPrefs.h + + + + NSObject + + IBProjectSource + NotationController.h + + + + NSObject + + IBProjectSource + NoteObject.h + + + + NSObject + + IBProjectSource + PassphrasePicker.h + + + + NSTableView + + IBProjectSource + NotesTableView.h + + + + NSTextView + + + + NSTextView + NSText + + performFindPanelAction: + id + + + IBUserSource + + + + + NSWindow + + IBProjectSource + PrefsWindowController.h + + + + NotesTableView + NSTableView + + YES + + YES + actionHideShowColumn: + incrementNoteSelection: + + + YES + id + id + + + + controlField + NSTextField + + + + + NotesTableView + NSTableView + + paste: + id + + + IBUserSource + + + + + + YES + + 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 + + + + NSBrowser + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSBrowser.h + + + + NSCell + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSCell.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSDocument + NSObject + + YES + + YES + printDocument: + revertDocumentToSaved: + runPageLayout: + saveDocument: + saveDocumentAs: + saveDocumentTo: + + + YES + id + id + id + id + id + id + + + + IBFrameworkSource + AppKit.framework/Headers/NSDocument.h + + + + NSDocument + + IBFrameworkSource + AppKit.framework/Headers/NSDocumentScripting.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 + PrintCore.framework/Headers/PDEPluginInterface.h + + + + NSObject + + IBFrameworkSource + SecurityInterface.framework/Headers/SFAuthorizationView.h + + + + NSObject + + IBFrameworkSource + SecurityInterface.framework/Headers/SFCertificatePanel.h + + + + NSObject + + IBFrameworkSource + SecurityInterface.framework/Headers/SFChooseIdentityPanel.h + + + + NSObject + + IBFrameworkSource + Sparkle.framework/Headers/SUAppcast.h + + + + NSObject + + IBFrameworkSource + Sparkle.framework/Headers/SUUpdater.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebDownload.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebEditingDelegate.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebFrameLoadDelegate.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebJavaPlugIn.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebPlugin.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebPluginContainer.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebPolicyDelegate.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebResourceLoadDelegate.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebScriptObject.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebUIDelegate.h + + + + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSInterfaceStyle.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSScrollView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSScrollView.h + + + + NSScroller + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSScroller.h + + + + NSSplitView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSSplitView.h + + + + NSTableHeaderView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSTableHeaderView.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 + + + + NSTextView + NSText + + IBFrameworkSource + AppKit.framework/Headers/NSTextView.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 + + + + WebView + NSView + + YES + + YES + goBack: + goForward: + makeTextLarger: + makeTextSmaller: + makeTextStandardSize: + reload: + reloadFromOrigin: + stopLoading: + takeStringURLFrom: + toggleContinuousSpellChecking: + toggleSmartInsertDelete: + + + YES + id + id + id + id + id + id + id + id + id + id + id + + + + IBFrameworkSource + WebKit.framework/Headers/WebView.h + + + + + 0 + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + ../Notation.xcodeproj + 3 + + diff --git a/English.lproj/MainMenu-nssplitview.nib/keyedobjects.nib b/English.lproj/MainMenu-nssplitview.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..d8ca5a14329ad11275f1d78c3df54f9e9d5da15c GIT binary patch literal 33814 zcmb@v2YeJo^fhJoP|t@RC6wKapn%j+w~R>8YHoQ4yJb?cC5 z8&X-`SgxS;CNhxIae6L^OXJeHTrQ6*=7w`4xRG2rXXUE6N4RlteG2y&_dGY7dx3kA zYvERMYq__$_1wqYC)}spR_;sgYi=j^9k++u&mHH^aKCWZkQNzH2ns_Fqwc5&>WTWJ zax@B!MYX67HKIwV87YWzI`kxZ3e7~%q1k8-T8fsT`00-hA9E?M-8C!5D4#VL%0!QK~9F1deERMrTI2q^Q z_P7h~hI`{uJOB^D?m}O$taM=}0<}Zlo{i zPll5bWGty7HKdj_k|r{lJW86$R5FcBCr^-P$g^ZNSx#OfuamdPI`TGomuw^-kdMhH zWDD6!z9QSnx8ysrhwLQ>$uV-0oFYGyTjVeDH@U-OUg8bBJ0HLY@bf2z`YC!bqW97$uAm>V!t2Nth^15}Ji4g=d6k zg_**0!VAJeVUh5Puvl0oydkU+-W1jf>xGYnPlQi}t-?;>8{u2w2jQ@AL^vv(5H1Rr zgv-Lu!mq+D;VTqjhat1TQoa0-)nYhc5C))e$pJ*oY0)qoYh>>T-E%lxu*GDb6ayq zb64au9znliCx7WVo$L|93l=Chl%ClD6v`` zFV=|lVzW3^oF-CnrudvVOMG5@NqkjYA}$q|iL1nQ;@jeS@f~frHc6YS?V|0j?V;_d zEz$PV4%b#`tF_~`leJT{k7}oBpViLOzN}rYU8{XdyH2}V`?YqT_PF+v_OkY8?KSNU z?M>~UI;lDbI`OWma& zQctOu)LZH!l}LT1QmIVpC-s*GNCTxo(qL(bG*lWU4VOkpBc*a_lvE*AN>*vKG)5XL zRY{LX2XPss5D)ALV8kq zN_twFAw45KE6tRilV(ZJOS7dHq!*<*(o51@X`b}5G+$aEEtD2XuSkofSEVJ=QfZmA zTv{QuNGqjP(rW27>2>K1X^r%zv{rgcS|`0Nt(V@B-j&{yHc0PF8>J7V&C)i5BInBm za-m!#7t8JC4su7iliXSEB6pP^lDo+d%iZN3a!F@6{FwZ>tjJWJEla=K{DuE{F@}LO3&L;X=7EE}Vs8vmqQctHP&KNmx~g$X@2bj% z{^iw8)`kbKb*!za0oPkw57*p#mG-tdV%z9pb_~vU_QBww8{k@(+M33mfa0o*`t5I2|` z!VTqyjWC*emD)I7+Bl`!+Oxa?Bm!2}_F0GWig8snV@4Q#9G}3NHd z+F!x!ZMT$FHC9`l?^F)K8riP(1<`2(R{3NG3r3Yz)LX4JY!n0R{MdGL|0?Sw_;^5B zm+JB{OoZ77D*O>fPrE?3Z)&VMglZKJx3uqrm}d%01-&kC**NJwmG ztOu@?F#;5WZKX$ZV^(rwxUpQ0%D$dWjpZQArRqQcVtX;d=--@{n4X-PoobCs%Z@j@ zyqPw*IW;8>Xi3hRc95&)#&b1XEmsFfCvf##1J}qkaTB>oTm#5JY162QfZHa{OojSd z8|rFnDy{Vn&1MXR*QHH$)_OJ+NSLVd%{d{(q!^WX%F8CiDf1PhO~fAMrnPX*+*HLw ziBNKm01>s^Ktsj4Zjb}GdH`=S8H zI@d66RD#}jv{qLu?(o-3@z$A;UI_;>d=$??otnz4yHr`LD}n4Xn3DQ>gweaX8Tgcu znyoHSHY`?Z>a=NxxjEcR++1!R_cAvhShRp!$SvYt;TChR0{JtzW!!RZg(}-jg2&X? zHq}&itgWtP{9(Y=*FYEWr>?fX5m;)MYt_(zh}YLvv(;5WbgD0()Nl_DfMAnQxd}4s ze4VNUC}zb^@l`x@N|@(e_%m<9o%S9^NMHKw=T>p6fza2u*SR;iHQbxP3bsb@i^(di z%4ii}SaB?;{!!W~{wCgQXpg3fs><@N_2sa-Hc4B@z1_mS&E>$Y%%mRR-r?Tm-s3g^ z^!K@q+y~r;+(*EA$8^=-3UNdM9)4UN|E zu%L~=rhAiC@7%|20z?7aX6`c;#elI@jn)n+oRKIYHrhVtzG&gT;Bp-JU5VSqePts~ z2~{i%*C2+X72t0e;10>01KjuAu2tMFZa4RXU9Fsg!MF|+YG1)@Eqh}ZEgKnoxqU6% zKAVYUX1{b&c^xRiA@0C^iuEIR5TyAq{2b+uaSdRST`h?6k`f7$I!AFgArED)LrG3B zB{|8RQlgYTO3tDCKqhl%xvAWF__@ek0`>S=i3VNjsYEasy+PP}*;MTcH*E!XRf$n@ zmSzX07o@N=8H!`($3LI@)Qux}#`5@9Ks2>>t0 zBvxJJ`Wo=Ds`!FieaKo4hM{A1RUP{Xr1v2(v$fUL)_Rb-2B$G~e8?ojX5;PPY!}*( zZ){LvVana%Cr-&wQkAYSBcq4X5#|)v+h}ZW<~a37f#2|>^iU^?blkMnKq)~ScbB^Z z_jXje!rd84&QW#RwcK?CkdP?2m68{Gq4)@!bMNdg%aY#3Cl=T%LnoQxqT@0wIY#ckn=m9cTT@3+F*_1kKskIuM z9juvck?b7r1e#e|+XOd{FouD_Vz!fA0z)(gOzfCW)`mu~v`q9>rwwb`w|3G))~YdM znd2<8u|y5tfMHGJYnV{iTN|n#g`3qoMi>KuiFR-{RLt{tsjcr(TTxyOp7BBYZSY4J zL;mB=UbQvq&0tJB!L-JdH!=^@wZ6(`c|o_-iP$J=2rJfd>K~nwq7)c8B`&Nu-u8)V zI*$}9oX&`h?(Bl?b52PFZ&9Emf$StJxk@&eEu+cA4F_j!ZE$i4kUC!vZcfWi1)rJ* zJ{9!>kIEdHO~`yvACSkps1%iPEShlM19FlE@|nsUW4dDeFCiVE3TZkBX*vk$Ff^PA zsnSgq!xRw16y;&N5Du~vku^=VPN)KnS%oU0=rfvGHHg1d)b}I+Oc`5kwyF-d-qx@m z)ydd(MkQt(sz&312&M^{jQlLcIKt@F4EQ0iNM;^1B@?)jHO)@R1k|t!)!Qf;Hi9X> z!*aBKXH(=RZrXAs$2Nz_Xv#`71wE?TSbMP3zP`SE3Rr&iw~OURQ_(cL<WT%q+3cYA!0}BQ0rt&ajFnY;pmgb^)jLl%07NSMy6;Sk7(Gsws zW##o_tW5FxFnzCSgpX`~NnMB-r4w6A5KDWEr z5^%8*%8RXCEZWX!-J$eVa*n$=*vDJBS4ig2H{2=o9sKM*2bqJ+_aSda3A^s#y+P! zujCwS?d{M>$9&K!v;+R0<=#hU!IWG;7ttkVOhAr0Hq|%O)++;G4ty!SG3+}!dk4udMsfBma!Xl$3|?z z9@rCmVQ=h%eX*Z1R2ilWS4Jo!m2zd2QlV5TR%Ns@Mj5MADUT@QlxhVcSAUj;Tg`pC zbu2U2l|wW;sS>A_tDBeYYu=C#R8?DRAf9jNqt2O;I>H#N;wkIarHgrDdRx=9 zGwh+Vp8q+6zGYoHJ%}-2fOQm1yJ0|8<5)HAcfmWju4xq1LK2(mA)0`g$Cd!Q(gh)s z8qPfk*D=dZT^_vVug<2v3BuR=FRJDe$K!;RH~}YeIbdxZX}GnqACLe>8eCyIq>wq& z4&W4=iqmj97l1R+S)2u}k!)~YYLw<8p{iE&D4$Z>l{+aS<+taGD8PDabukzTn;-J=J^FidQRbYfvUAoYJH;?o(lOfcrb) z&Y*)f*1@#~rCu#V;I3R{AA8{eKa6{=!rgHX+>^^`jZ6&y9lp5{DiNcaK*$`G2o{Il z_hIYXRXc|JF!OQ~wA<$RaT)I4g8SLiu~vL}kW;n=8HfkB;6W}49CKQ#eR{AY0uP?6~Yma&%9qLxoV69iPMwSe#l?!zl##+@kr#ONu{1Tqmg6Fd3hgD;wGrM2v^d|rD@zCaMRv$~T#z8r3U~_6t77H}gV3tLO z&cGxs9U_x`coBXDh**sB@T;I=57jo7*447K%H}`WnkvsKGY2$-?k8l}0u#IpuV}%` zxg4jPb-qvoKfKZ<^qa>#G=2?!-oR_rU}^~q6r1YRA~N&NVMW(eQ^3KSS@wXB#d%P_ zQloE`WESS7rKL=pc8rCVb_}ex<_y|YJnsUY4crX8(H6Mjk05Zn55;WV{UKb3uSYUV z1Sp}Z**b*F2Ii$?J7cr7^eo^c1fUS*rDWQIY!X1 z8HhkBl)BZmbbW1)=~xZbcGFkLY7bl;7;R}tPAWs5lBH5*t9yb`{vYe3EX`AMUPnO| z3hek>{9OzFj!74&w(UZhb$lIjr#Abwi<`FI*cI=_Kj1xhFW!gu;{*6dd=MYPhw%}7 z6d%Js;p6xOK8a7^)A$TNi_hWn_yWF&FX7AhXZ#Dkg0JFV@ilxM|Auei-|-*#CjJxO z!hhkv@jv)qd>h}vcL_%j!GsW=2t-3fq9r<_ClWCbnYa;mVk9QwK|F~U@m7{7Ey_w| zwep(shVrKJiLy!gO!-FnPT8gWpzKxlDc6+WlpD(L${)&2BSjBU)Ptfv6qQjlh@#;XRZvt#Q4K})6iuXP zGDXuUnoiNv6wRdQ1&ZcSG?$`z6fL4?DMc$OdV`|(DcVHQR}}4}XctBMl$`y}>j^3e@S*eV{S+12QHstBTr)`mQVXG~y$Wa% zK`SAwZLDGi=lX_w#dGHk_PI6NA$d42ptB?wAT@)-e;pus4568{|uh)jxZG%Dc)tfG*5~ zM|U_6Z866&1*|o*N{rdznw>Ro@(3Bnts&#Xic`Tv!5`&4#ouTg^pLfBqO}nkX003< znc&Rq-)D|&XoW4wRf9!)y?{)#XY=Vf89A9*S?L+s4u?agaI;r)vz_^Ja|)YTN^y~a)>KtMMNJJAK*l;xXsVjnv$m2I>OjrZfE%1$@0xDoA+iK_NT?=j%Y z4hBuN`V5LXU$&UG9tru7eAGfd;&Om1j_Cj!8|na0wY6UzYzwopDLPk`n@TpRs}-Sq z%T{YpgTuQyhk)vTp$-|Se9wjqY_!KR&JkQ8`C1(zD!bW;{*%;Bw(~kEBfH>wXHc9y zaDDBdYGx@}NaP#>!Uy&RhIpv)7-Sz$r*B%oFnJS1#*#GQVuF7lyk~?<&yG?as^87c5(d0RUpwka+F*pzmjX@ zx>G1`l0QMppyN0m_^j-Ak)tEZA*UpjD~AWzE4#xRY-4RTuv`bF*MZX8aK~}wsEx?G zV6=EnIR-712Xx~a&+`JWaS)*#aY6f&18EssLRD;dnRjd9-PE2KTkrpz9dF`2cu(HT z0hn*c`?s3YY2~B?ym6FrYCvgieWSUi~07<1o53(-FyLfaZ$Atj|^fxCe^-|JkmCxZv4Z1 zcL3B=1=Ob%pvwU0XBE)6VSVbY6RT>Q8f?JE{nw29@%>xRxD~+vyL32dztRxFWST?bJc znlaXHHR=bpVmSXEzhNc6fq$QQ2q<{j;y_jccZP%aMTd?_d;pX9h#~=IK@o0i8lUo; z_{|_OTbRVSPJ<$%d_fVnMnXbJ0)Lr-~hZT)!m8N?Cw@Nuq_n_L9H190wy zy|+lGVigan%6%^aSipbBfA3_R%|%nBbuf*U7Dqwdi3z5f_>@=jjZ@}@@R6>nY9o?tA###+lR}Iqn13T50IYp7- z-V#zIv$?ye+A_j!%lR{~gy$%_!`2Vtfj$rcjDZNi410{M5DPSMb>_&DKEvyqYWhHE zVyhC};|vMle+IIyD3E4&sf3x@ChQu2o&OC8`&}jM&-)1TV1#+9gpC{xG}OaJ?i#KU zFxL&P1A%H}!KjlF{{qH46#1+8d>&YTffJB`1ws}J0>eg;uPYP$7_N2ERMn=cluQ^5jrj4bVcr^fCqUkXAx}_|$F+sL zoA9szPVK%)`*C1I;+>NoqE5MY<5)P20PJS7RNt`1fPFh)L#t_*0p|V;bBc;NsV&Td zgu%j)`;3Dczf+X#un+@5!X`1h30RwI7+!eYHdb_2s06H|m4OsxsaVt6P(P$fJf zjDs1EXY59K6s5Z=LI#_3CgZq65hj2lG*Ilu6v5pJI}n)`R)XY>hFuVL1K9-vVbv}< zV?xzB36p`MM=2^$>3J{=6s8K(gvW%(ff~xFp(xjtmOMsFzAG(H0WC8q78xztvW~TN zQ%WlORlqNY84zXx#@Q5gP%#!gz<0nnM|eq?3m9K+17k76*q&i5g9>PE$)o*XUsS&%;3e$Y>`T=PXA>Wm@W4Nrf1t|zYx9@ zwgKAh3@!KBeQ0|zw7nVHVGM!U5&e~Py&u!=dzebv# zJR{n`qd^+10XL?xyRlXpGm_ycXL!o`T0wpX_k*6UQ+_oDewoINqOmIQ$_IdJj2e^1 zL*og+y={}Qx~k)727C+yZZ{2@c4U<%fMOFRS7~{qEm|Tpk(wx=C8iBp#xYu|87;%r0)x4<4mM&zkXe#9yne2b=&rn9DtgP7LAYNLaevca{rT! zFnfK^2ay0xZ+;onF~M9-0xXKhP_@iux6e-1gmL|VmH}+sRF#@3ZKx)HSTk5NL^Bi? zV>nw3P5FJH+M{ean%Qy~2lwx*wx~<$hd?v}y=pZ|b454?5LPjSR7Ln$+X$;Q<25ya zuueq?wW?M@>*EZeq9Pp9pY29#w3cXxusU<&g9xVpLX{IwsR*BF8{uP`$2E$B;~E&+ z3gMFurW=Qif&KU6LDX4=45HDYRpZ$fV>V5fAOILU6VT3L^L$oCJELv1FKAxW%mK5Z z8g|H=384zW&l;C0H?D}eGT+cI}_Ul+(+h8r3G|Vnr>f3w5g?u$@`DIXZg1G8MK&4z6T4~R*nJIIwHH>=~ z#+_&5USi|UL&Q*317`rB)TA=ZW(>hWJ#fU7}L@%7cq>So5Ripym)P#u1x^Yb9`t z*=oGXR-@KvQuD5Ikhcn`(VA7sGef9UQaR*YNDNLs;28eBTIYILKyhjnyg$q-;f1AEKf zwT}NZ*8$%Rie6Xot!fM3P0gR0TY&HHHt?-x_+Df9hS>1+WgB2ihOtU7L#V!OjZsAW zGLcZULB+VnrS`;XZKA-+@|vxpC~8F=Su9Fqi6}!*(?_krJ2wMVs%CF-DJ=Y#C-hqED zVt^P(5yX7!mB;N{{h_qc+kVJ`?fiH4S44{#%B>N@!yG$kDSDSRSb%ER;{yqdD79WH zMu{;kVl*qFw6P7O%@6yHf}0(JBE|z76Dj&sW#h*GVq=P!Dy9J&Gk}d*wq&A}zbmCc>p*t=?U>k@hM=^j5gHtTgIaAn3{qm=u-_lf6T1sVOF=~lr#>j zv~AT<-@2Me@dZFThndK|D&pPutq;>x{;)Vtd|8|is24KS;^O-ppjydX3e?Jgf%_krBQWqa@pbVHK=h_2g6#9#YfDuQ;qvA2NPdtu% z`4(~po|zC%E|GI!w9jxS#Y^I4GE9>SSsm>9B@4vs;&0*&%>eNaaV04eZwXgXIyaSH zF5V^=#Jl1gM95i&@k0vjezGTNTX%*41k3U=iw_tb?4Z72`lY&pT`|MHl+pwk6-k7j^Ha zwwbH6UuHW%VN1UDF>cx#rgdT>*o7^cGoXW)G@m)73q)(Ps%Ohokpt$v3@1C=YBK_b z&uM41W=PD)xdx9Zny;d6y^SNnnXf@)u;&p91aR=D1Kg3(Aj@)Jn#^fHf@F-I- z9CQ!;{cLK{u7phyElxJQ*@{h|tcbPl)V&K7{mS-kKG+#~fN6|HZ*$Yu@jJC1U`&4_ zGsPQPFY$9BT<9Y7*9t-g=%=c#V0wOIiVC&>)b=!353pRSi2;3&yhk>4aPFxmh|U)6 z*4AA6FVSg}?Ev5#?YIAL01jw>{NDj+#d)CMr1q3}NDJjJ0K;_qqU#h?6Z^+K&fgqZ z%1#wSE8#w7-&6Nrv{yiTf29bd;BThDf7zt>I#=nu*&)BbbL?CZl!D*{k^?Z4tpDQH zU)sO_?sP&j3QaF5&+XLY6N3e+i+Li~*lJ=sF5hb)6kDrUPft$_VCCEI7DK zv8Ifj7I}cja0*}7i>p*G+672g0@^LihQR5VuvB;y!l;$v1o3;}s<=r!F8&CC2MaZ@ zj(K2|qsAZmnXATn@bWAc!O+Mv{s;Gg;!(Pa`)BSF{QV!f4-m%dYW|lHTJa7bOx8^i z#_F1#yn}Gug$5RNV8cD$$z`kp-X`y!1m3ZW4&Ke+rmcc7a<{OB^%o$lg5aem#4q>Q zaX%?9=w5_Ma62a{3+^Mu$|}AND~&w{I!dh%kOPKUw-}B|Y1}lSto91g(jzQ1b9$#% zm_dMAbSq(l(oasz_qm7tun)?K*ZV$n4#l`1=G(gUe2eZ~C(I9838ez=3tYe5vpsj7S}SI ztF#RV^JYWX;A$@KpW$BJKIm>kIRl`AY1cu>-Ae6zSr^+m#gH=ArG8+7Y^{#7%}sY8 z0#|Z|0P1@Ifciib-C2l-a2UixE)7Vv+Mv6D9&KSqMQs-Hk}dsd)@&tbxszl8cS@KF znqxf7y*qwo-$Lf#Wnm7VY^f}1MtWMj1L&<@R37{`g%ArToXOa<@d zC4LJQ9IiqtHI=(6{sCfgjlm#CMHtO7n72up#)x)^x45eis4xr*AZgkO_jhLh!@15u ze2ci1;pGo=SK-bdxj_s&gUn#VhB~+giQsXDmn_g283YCgJ_C4s3)JPevcFId->NaP zJYhcUx{Fe_vQ#FQ^?SjQK=P6cV#R(#)OQRn?pH88$>lT)Z;ruBtVF;I`&jJ7GN<|M z23RKuIMdaCxoj}RDDW|WWKh|#Tu8OB55PO3LIooSLDzf+4ltd7yatk&zAONPj11fn z!wq2IZorny(iio24CG+|_b8(auELSg{meYNtMobWsVEQHhJf7$_r(ZfL#!%H8)%p# zLvowJ0}^ci;8u76Rw7)L2mLT65A|RIARQLEa93NW!{QdO>suY^u((6;;KXJtG}(kqrWS05|Xe)Bwi9EjU-B1Nhj$gNis;X z0H4^iBW;)f~jPH_*4p_bB%;@%YZp}2%%FcPH{!vnGUQQV*6 z0Td6Uco4;dDIP-cP>P39Je*<(szy>=PVp#;D=4m{7_@pc#bYQQOK}y&P}3MkaW%!` zDXyUygs6_<2^7~;+(2<7#Z44Xq<9j=lPQMs%cB%GQ#_U8X%s`4{5Zu5#gyXd6hooq zNs6DM_-Tqk0iL1wS&C;;{2axzCMieI95F2(aGewpI=6fXcdg2pU! zl4iDN*c{!uM;lXX4CZ=5v!n*Lu9=~I$F{SNhgZ@6H;o=HX1EGD+P+sf2D(@-s9g32 z!4*pfb=w}C^|c)sH?udb_$pwU3vy2(y+(Vp@0mnmJt~<6p#td=}X-xy$PXI8zUG8z#cUc=Fc4zZmq zup@G1CClpojpu)$Y1LunT<4WJL?t)czC5mcaCQZN7|(}lVVfw-v%K2Aw(!iZdmPCg zVT^H^b{pl5dz%Vl>=;>^1SFgOgJkE1EXIp=F2GxD$AN3E%k7BS@Bi4o-OPbnqsHJE!(f`<#ZT*v}h?9UG6!lP%LTxl&{j94HhRP7w7O-nO- z>XSM8{zFGF$j4=p_ZpEg!)#RAB4$?_Q$`rWU2ahowhhh$WLHU1Mad4+E}pQwE^zF} zA>g(^mrw8CZ5}hsMHUlMT(tvK5YAM=wgK}!^U#(!1N}iR7#?Up00qJ9Y)n;!t?}|8 z&+L-KBLA4-_GdMiZ4Ya3*iE?UflbKwaYPkF*9j!Mz5yy-HPN;U1R%J6XkQyJBWs(0`Z@wxj!h+*!c=59YGfMwnLSGQG7jv8|d8H+oNRT#cyn_({xA ztIN^7)?Q5QUOJ4E-DJ1|QB59$1dNVwVab1PvyXA*W7>a*3I7*o5koR6C8Ue)WocWk-w}!$XS1b8nyRBiEYh0mj z4T8^HBO;g08gRvRE^Lz;eB^2`?{662cL&?j03W#;5!-gJ`#!X7E`Sf+@ADvP4k~@9 z4O;~dn_~~*X@+cwJ!{9qk$gy>v5Q6MAST=_cm!FgGDz`sUi^w>CLgo*E51a|q8(6M zI0TgpXv^ZOaOV3w!I}ZkpuH;|$Cm}xc>PUW$u-02^23^aTAg@Hyv=*Une!{+C6ul) zicmcu7tvX*K-{7F5hi|%e$ceXr^rlxC*BQtFEn4dL6Bd*jgJv8e1yM(_VFL#6GX(v zc@F&REQ1Eo`+ja-J$5jQv!{}11S ze-O72y)c?w!#9bbZ3pe*WB9sw8P3BW68rGWg>d}4I7hqzr{@n6ou-*|7OoPaIYSJZ zPy)|7;GQEg$KwCMzp#pmup15|df@XyhOiV) z)Zc+K@;v^TaQGzg#{UuxoT)zw+4(u*DgGgJ(aaK#3$w*dQ2F^1-__jUPH9pFPy9D) zbm0T65P^~M4-{CS@&VNh=mJBz0TLObdN}@l<-B^(9cu27JB6wx3Mjk#vg*WdEZOyd zGxd;bzQW4ytlxVADlj+IqxF}S6jq;Ljp_MtS`s?N(EfP?N;GF7{br5m1~{A#d8`QM z_#rLd&I%vyYBt+V`2o(!E8nqVK4kk?xdx}};XFTN*F6-V5t1;T?J|HIf4F*Pzg}6b zrtnY_@PTImtXKX}+jg-OPWEH0`~@{?I4ufOTdAys!~9T5X;FK5bD>nLK(U~Zo#BTX zQIuNVhCHOr}nEMXNP|FV@gN$Ap?4~D1=I&GmgGepv40TJY@0#6ji9t z5}2kwsGvpxM(UB7sD09Rl~1_YliEF-wZblzZ?EA+%)`YxMldu z@VDU~!@q{xhC7D4GAAP$;~6q93$jKQWv#4}^|B-zWLb8T-DRU}l09Tk*-Q48ePmzR zPi`ms%K>tr93%(JA+lMv$f0tW94<%5k#dwAEyu{Qa-1A5C&-C%lAJ83$fB@{2Ecp1gZDPBQw3&krbUPUno@M{#mPVpNQub~)LYc0iZQM``g zw<%sv@jDd1OYwUYZ=m>niZ@dH0mUCu{1L?;Q~U|VpHjSu;>{F)M)4Mkw^IB$#a~eT zCB@q){)*!56z`z;Yl=a1zM=SAioc`ydy02ayqn@5DBeTyUW)foyq|()z&}!akm5rW zAEx*S#YZVVM)6M+AE)>P#V08~Me%8h&rp1p;&T+Ar}zTJ7b(6(@nwpCruY|%uTXrI z;$JDgM)7ruf1~&Y#lKVh2gNrj{*&Tc6oY>LP4Pbz|4Z?0itkW-mlBQ=LQ__Qyo|N>Wq&FpfC@G<&FD0d*s>Tu%nrVzOp{GpbmNDBn-MGfsV*JSXsEPb& z!aCy-6MDutUwwKFJdxnG@eN~y@eyN=iJUNzi^g3hKG($OnQ*KL#~8<$$T<^w+C=^} zk)tM@Vd6uLADhTo6PgW=i!+hGj4zwW0i(AG%`ldl_;BM_CLWo{aU;Mm84s8UF)lNH zYFuGL!%gIjiPso=nfNfHuZi3>p=&1IXhKiILzYeGALDxCN)x$hTxWdGxX8HOc+NP~ z_@c4a#ET|A#6sX!6MEj*(|E{)MwqaVafva=g#AqDlJN=SHWPZ*#G8#9jRQ>N z4-%%S~vSag&L6Gohc2vyEF#JZIu%;|3EsW+I1;hfQd@2?1mG z8a<73OlX#It#PRdN1AweQt>w9XC|C(;-idPjMT(?nsA{B7n#sdHC&Qy9edmBKeb_C z5p1=5`ESP?cs7rGTfWmG-%+0s+O31_A@}V0fgT)sdN~AQ>H{mRmF?}{+{0<%+YEx? zTMLrm3wnwmn(YmaUI&{mN5YqeJOf_~@`1Qb+$)|GFTfrXUhAPXYvZ)p+P>OB+Hu+% zZJoA3I}yGXWUBTtt)iW-eM&n+J5&3-_C@Vn?R@Pb?W@|=+IO`Zv>UZwYQNJSfDI4l zw7+X_!xw|J(}nAzbTPU(-6OikbT8`G=r-s+hp+uOru##W^#*-AeV9H;-&x;P-%a0L z-&5aPU!pJ7_tOv157H0OkJOLSSL#RWseYz@uKrd1Yx=eNb@~tVoAtY)Nc{&CmV=-e zoC{wU(igr6q!PaNV=R2-M>Txe#{~GIkE!s59#6oRdCY*X-q6~;y zx+wiDU6Fp3u1hzh+XkJ%V(4NRY#42*Gc<$KTLO;j18`5DfNT0pbxU7@6JpNi3^!-4?p7aC^<|4YxPl-g5iiZMWMVw|#C0+zz=NaXaRA-0gzfWw&44uDU0<=ea-R zKE!>Dd!74K_nGbs+!whoc34xbK(;W}dL+hdUFnG9m_g~@%YYTm&YNGQy!N+?sy8GCeH}ZLeFB)4xXJnyLxu>?Cv?rbDU?R z=XB2(Jr{Yt;`yrQYR|VkKlS|5^N{Be&tsm)Jx_XG_WaZHU(Y*UK3;KN30_HFDPCz_ zJ-h~ajq$4Ts`qO4dfIEP*ZW?ddF}Ap>GiGG_g=fb_ImC2`qArz*D0^Ry+v=McYt@K zce3{&?;+m9yhnJKdq3h`?Oo$N$$N_T%ic@9S9q`VUhVy<_jd2y-iN%;d0+GX%Ln_o z`y~6M`lS10`egg$`4spR`Ly?W*r%sYZ=VvMnLe|8X8XM8^ODazpZPuueHQyH@mc1x z!e^z=YMR}d|&ik;`_Sq2H%aoANqdm`>F3{-z~nM`+n*BmG9TS-}rv#yUX_n-{ZcQ ze1G%v^=s!B;1}c<;%D&-^Na9{@{93{^Gonc@=Nhc^ULtd^2_nd^Bd^*l;2vv9e!up z`L;`I*S%eJyJy?2Zue!oUG2`ayY1i3KhwX+zl(pV{~-Sg|H=M}|8xFJ{9pHf$NxS5 z_x(Tc|JMJo{~7#=@L1sSz>|Te18)XNL2{6LkSWMBC@LsFs4%EFs6$Yvpix2N zg6e{%1h;b0l_1J#|DoNo*4Xi@T%bT!S4od2;LO@S@722FN41d-VwYr_*95Th*yYDNJxk! zBrGI6Bq1azBqby_BtK+8$f%I!kf%dl2w51iB4l02$06H7z7N?SawX)J+1ng$PB5pM zJDYo%Pnb`c&zR4dFPJZxe>Pt+|7yN&zG42u{HOUZ^FQX>=DQYTAr`?RT67l4B3s-o zCX1)V+u~;lumoEymT*gyCDxK)Nw%a}GA%ild`pp~gQc_OAxn2lFH4D~%rd|-*fPvA z(o$g=ZK<+UTWT%!mL|(&OS9!M3$;9HnPHh}dEWA(Wv*quWszmEfof$eS zbav>Ap({dHhOQ2MJ#X(d{6kk@LS<`BjgB6L`+0lL}5hth?0oXh=CEq zB1S}%M^r>uBgRBjMLZhubi}g}vm$0k%!&9Y;;V@L5kE#8iZ~K+I^y?;+mSfZJ2Esf zJTfveIx;V^Q)IWuvdFQKQzDxqr$s&-!w#e;~ z-$x#gJQ;a9@@(Y!$ZJt3ibM%fVw5h*KPoUPILaIq8kH245|tK}5tSR&F{*D=Sycb1 zfl-5_hDHsK8W}Yz>V>F9QH!INN3D)}J!(zV+NgC=>!aR{+7PudYID?gQHP_BM*S3Z zBI;t)&rw&RevLLpdqn$22Sx`+o1;Uc!=odk_;<#4L;1 z7PCF(+n66>_Qvdw`7!2D%#oO5F_&Y0iS>^4jSY;o#D>L2#74$O$HvCS$0o$~jV+5E z6gxb2WbCNe%GlAdV`CqQofi9e?2EB4#mp4G4^uoFR@o+uf?G_5+}roak@DFxWKsJICETRTv}X4Tvl98TwYv{xL$F6;`+vw z#aZLV#8t(OiyI&JSez0!J?_c4r{m_vy&ShN?v=Pt<2J{A5w|05XWX}O-^cBa+Y@&> z?p)l(xXW=@;&HrJd{BINe13fQ_<`|5;)lnV$4`%cGXB~4+3|DY=f=;EUl{*N{L1*% z@t?+j7r!fhPyGJ)gYmz|-;Dn!{!RjyfD`xxO+siwhlJht%Ff-x# zgclNCN|={0KVf0Q>V!8E-b`4Ruq|PG!hwYI2^SN7PPm$IJ<%tzU1D%zSYl*ibYfg$ zLSj;4N@8JRabowxfr&#BhbNXNPEUL)ac1HRi7zG2OI(n+C~}^jH#2YDrp^ zv?l58q<51xBz=(dQPL+#2a*mZ{giYy=~~i_q?<{9CHp4_CR>stlVg(Ok`t4YlT(v> zCihMroIEahd~#iKL-NGr1<8w&mnN@Fel7WpxT=IqF%gI-guceq$ zJX8Eqf>O*Wp()`hktxwBDJc)93`rT5GBTwiWpv7ODYH}NrYuZZoU$Zkc}h#ls+4zA z-cR`;<>QoXDce&{rd&z6mU1KIW~y(he`-i-cxqH?Olo{;Vrp_~L27Yoht$rg52yA> z?VCCxbyTV~b!_Uhsk2h&q|Q%Wl)5-|Y3lOSmeki%*QBmb-ITf|^^4T6QqQMeO1+wT zBlTwLt<--~Z>Qc(BWXgKKFv4HKP@QDoYpz*p|qZ9ebf4-4M-cDHZ*N`+Q_siY0YV~ z(q^a4Nt>6pAZ=6Hmb7hYJJY^P+m*H_ZC~1fv@>bv(r%{RO8Y16PC81DOpi%VOixSC zOwUfwOD{+-O7E85J$+#Mko4i{<>}MYpGu#Z{zCdo>GRSTq%TTeoW3G`W%`@xAEtkj zzBzqs`l6g;4re9CLk$yA%R{Gx=LWY>(kr9#+nh}u^ozX3$M@C6T|BOKyLo$YE zjLaC7F(#ubqc&q|#^V{&GoH$LEn`i_+Zh`&KFIheG%h;WQ)X&rMrLkiQDz5tM0eNBZkgRP2WJk=9G5vcvpMszOq$t}xjOUB%=MY? zWxk*JLFPx9pJX1)yp<(nX|tp(x2&YBl&s9GysW~k;;ar?owB-Qb$BzT z)a;Dx-0Y(44%wZuyJmOG?w;KnrTJDWJuRPzpz&uM{cwS^)OkP}GLSEmzvb?&yX?aTC6M0YPy`J}G z-uk@v^FGY`IB!$lXL(!mzRmkS?_}PUylZ(k@^0q)=KJS|M#sc4h$bzhb;)0F^oeR1a3@NBAs494@U~a*pg4YVx6uecizTi;7 z(Snl&=L#+sTrRj$@N2kQ*gUbUnmzE3q1?Xg%O3(g>i++g=vMEh1rGO3i}q8 z74|P2SU9q9d|_Q-L*c~2#f3`?R~EiexVCUz;X8%z6>cp2u<-N3FAIMt+*kNx;o-tF zh1UxIEc~nR-@>~^nj&41p~$_+R1{PcTa;ClTU1a~TvT3ESyWY2Q#7Hdp{S{7Qqh#6 z$BSkZ%_~|^^h(i^qR)yxFWO%8ZPBixABy%B9Vj|jbh+r4qQ8r!V!7B@>{;wnoL5{} z+_Ctf;_k&gi~AJ!EiNnWUp%;YXtA|;V)5kS=HkbSX>m*O>f$$x*B8H6{C@F=#UB@c zTD-e>Pw}DRQ|-66|GNFR?Z0ooyZzqw``aIEf4Kdz_9xn(Zhx-*#r8k9zuNwK`~R=0 z^Zc)>Sk!Rnf^?839C{E@N-zfmDVf#Vo;{hh)3ce$nj$wGnjj)@LOn>4-g|G-ktQ7k z3`Uy7M4Es>1f=&Mc)j<2xzCsPpLl=I^C;nI!t;dUgjXO2lmul!IZy#q0#!kEP!rS! z^*{sA2s8z;pe1+@v;lD-9&`kqK^M>+0H6XLn7{!ZfFKb>Kr%=JnV<*A0t`sd6J&$l zpdT0j27%APFpvXAf-zt$7zZYRNni??4rYNlU>;Zq7K3GAC0GN#0vo{=unlYnJHa<# zA29Tmip=-@r}q2e=0wf+yg)(pYJxv{YIvZIw8sy%Mi< zP(D;TDS;xCY^AT#Um2hbR0b)7l_APdWv#Ma*`n-Fb}M_8{mMb*u=1^POvzQwE0>fj z$~EP>a!+}!zNuDLtEx5B`f5Y9iP}unR8#fTMAcW5)D$&M%}~dvW7Uc3RCT&KQ=O&G zQRk@()P?FQb&dL!x?8=bURQ6a_tb~#6ZM(;LVc;e(qgo7S}m=i7OTCZwbNA1&}_}q z!W!0+v{Wra>!DF?y!NFwO`EOF)#hspv_;wyZJD-QTd!@`j%m4Co_0z*tL1Bj+6C>h zc116*SJbQNwe&jr+j;}Nq25?;s>kXd>5lH}ef0kNK>ag)h(1gou8-3HqmR=k>XY?p z`b>Sceo#NGAJ_Brllp1>jQ*pZuNUZrMhT;o@rF^!sA5zzsv9+pT1FkCt^o|yu#Auq zHWCeNM2uu3)krf&8Dos`#$;ofG1HiB%r)j43ymelT4R@yYvdWHj5EeLcIH3L&Sn?0o7vq2rfTY@Vfy9>bF?|moMcWlXPC3hIp#cbfw{EMa9^ zeXai10BfK%$Qo=7v4&bJtu@vLYpeCOwZqzJ?Y8z<`>g%e4eOS5&w6Yj z<^1KoT>n-pWdrQ3y-VSeFZ3YvDD))sEL0r&GxQq9z*4X*EDtNf%CH)&0c*j!us&=E zo4{tU1$-C258J}_FdlYM-mo7W z06&F;;ZXQ*I2?|IW8hdg4o-xV;1oC=&V;k!Jh%`pfy?14xCX9+>)|H26>f*S;5Tp| zJOB^FZ{abR3-jPfcp9FC`LGaPfS2J_SOjmt`{9D{`S7LiFX3z9qVR9wo8jBxyWt1n z$Khw;;_xdJgG!+?=nYf>RYFx!byO48Ms-nr)DSg6%}@)}61|7opg0tdI-<^~D@s5r zGLVg21Q9|$NX`M<>x4bPg4u^XMY_1zkhe z(eLOsx{Ds5$LJXLU?@hm(SFTjiOGQ1M6!C&Excnkg-@5JBWefS_gf{)=`oQF^0vp63Y z;tTjPzKVDTt_`3?L=ep5fzZ|T41 zxAEirc)z3H+3)Hn_^NOCw(t32ANzg%P5yqr(El^iIPyWHON2!}i;RxUkF1RBikyyI zjNFVoO)8aCC&@`7NxhPClGY@Bopdm%FzIemadK>OTyk>qC&}ZJmnLsWK9KxGleN%^~PDovox+nF!)cn+2 zseh%_PV1hA(|V;1Pn(doKJ7r-g|r)KFVd@|H&5@74$@(Izx0ji1?j)0Kg}qU(IDg9 zjIJ4WMpnl7jM*7KW!%a9M`pXsXlCEcnVEYtPiNlBd=;%9Z4*_asnP7{fatJjPIN?c zRCG-Ai|Ewoyy$}HqUe(7vgpd_M$(kTl9r?ud7rc)aU`B}B%MiDl0a0V6N|V6l0*_A zDI}d_5<&vPi6lKqFVctfCj-eKGMEe{Ib;MGO~#V(WFnbFrji+C7MVlllZ9jnSw>cn z)nqOCifklX$TqTr>?V82esYi;AxFt~I@R;4xQTeJ?XN9)suv}Pa=^*+!9Y%BL2s)aMrQ_+BbPAnL zXVJNIK3znY(&cm|T|?K=4RjOTO1INpbPwH657BSwahgl>=qY-Z=FiE!S=F-Y1(Snm!OUPzFh5unEDcr!tAlmH zhG28BE!Yw44)z8Ig2Tbl;Je`a;AC(nI2RNI=YvbZmEhOlx8P>*M{qBA7(5A{2QP!y ztOP5~%CQQp606E;uv)AxtIry;CagJohqYp@Sv&Rt>%cm(F04CKn9eNbGRP8Hgr%@_ z7G;z%CfR?nf3d#o6ZR<^%!aZYHj<5DU$6;m5}V3qu-R-LTgaBMwB3%kayv)|cmc9%V1kJ&R;%wF*rUW%9H<#|P3 zg;(b_d2L>gH{gwUQy$A(^7nWf9>?Q(N8Xutl|$PpvNC^1Hi730K2F=Cd{HRQi;LnHaZMD78{(F@Bkqew;)!@JUW(T; zMwXIgWqDaqR*}_Y4OvUpm2b-ivXN{mo68pRUHQIjBiqRjWC!`7{780_K&n!gmULuD zB8g>0rpR=eDTxdummkY)*<1FN{pCP8NDh`mWsV#vN6WEtyqqW}$*FRNoGs_c<#L5w mB{#{IS}izBW}hZAHR&X&EJB6KD_i->Du|OSi0s=G zkOBe)iUV1q4L)t$^UraYmw@i0T4^59uk10seR03t87^*H+kE(B|M>V1* zQB$cHHJ2)&)=^uiUDOoQ0_p&D9A8gRCDc{w27da9`oj#&3FaE+hSVI>0&@#ena4PVYBwrNwdc|9D#_|KenawAo5!T_7}dC)Q+lBVyFs_!xN_c z@TBQL?2SPEWRtgNI4w9dEptdlPR6k8oF4j{Cu?ZN+XFNEYO}POwEjCqn}NXe|N1(? z|2>4v;d$*5CmWo~MklTC9qrX|?L`ydf9<058HzM3AZzd)*;L8)_s1dyg5a8oX3vstJPC)-hS8X{OtT z;l_OO3Xw-88rM>-CwrKB#TX=vAXdP)t?#wO2|#drep#;=7G3J>j6Q`&V zL;=yyw2T@}jUj@@BGYVxVjN2rkUgn!gbIqN2}Y9m5`jVlwrb4~$Uq=bD?;E90`H(G zIEBCt1b)zPqO{RYX*>dZ5V(lIGz2bdi?xZ`Ic+133j%foe$*1R7213RQW1CofpYDp zwnW>mZ9$+V0(Z3Y2+Tv^E&}HeSckv^1kP*C5x{E?)t+c(1RiPC5IBawV+3w$dDgz~uL!I`;F|Uk0?W1Uw4V@gBd{BRFA!*mKn#J-2xKGh9Ri27Gz97(&_ydn z5FoG+f$tIMjlc%&C;}I>-5Oqd6@oafr?mnE`XjJXtAc=vKy~dAf|Rye3n6Glpq;ia zsz=^tuv1esQ^c1wxNkfY3^~+vEor&ws_8amFy_Tw*c#ub-WBq5u)Mc#*02iskF})F ziBrUvRDT@!GNQoL+t`#!B=%A{)Bq}?9o6<>FEuN!l-GIGer;Af$VarA`kB&0eKdxAbz)DwOcHerA0`~9<9|(_ zNKYG*IdEXs;C>apoYIn(5%PqDp)ONbuoAp0XPzm+ z`;5R@=FJoO!8a^|SKw8ujQWwnFtZv#BZ5^CG)2PM!!j!t_*qL@O&-VRU=tN2?@@wr zEl%$d`1D{~ab69L#}_A28=OIUmgjM5&jW65r6-}rTuI3+1UdIW#kMPdOW^aI3DJRxtAUd@G}Cp zDpq(KuR!&{M=yq2)rie-SLvtd3O}pRcC*6uLD+R)cFv%TiflIz(UMjfUomzy_A-v8 zIv7b~b*ejws}05od~8$WhwU;xVDV#%Pj}*f?Fio6ntxC4)?F$kka@a!hIwY(qJuNe5L{^{7p%tFYjUDyW)i<{T6)-ROYnO}@SL_gv~YBa%VI3w<0Sj5O2 z2V0EG7_@)THfrlIs6$d)(W6&5jT6c!CRIo?*D52{p##CCiD9 zR5v^pq$XgwF@~F1qA?zAOhw0Fk!1W~kQ##jBDhHNL}Sw=T|h6}Sgfa^2@y0XaTy2I z3YHokQDd+g#pH#hu+-!w@?a@ehRd@4rmMxWd7vnMf1(>ek5MH$}B@8`T-_qTUcSruu^xpacg#fp~&j zs#auuV;-)W1wJ@&eY>U`joSge!NIi`w*%+! z_AQPV8Law8yb-uf(W+_tDx6vL%o+LZR7_mPHYD}%We*@F#h95 zyR`NlDtnsLBNMl6**R&$GKLM0R}kH+pRkTsD-`~MU)ul8{SNJWF>E+3k~wOaFDo-T zu&=&b?c1jh&c<4@vIkdQFm5|06Z9RNJj?Zb2StWqdUE3Ys-~}@PdJ2~Ec?{eHqdPEaexlPEI7=rq@LTu=Ily=x78n9>uVENm zii=GI?t^pw&TimtxD0NEOLUe4S3To7@FQX`Tt~Kq#n0FdEF_EJ6u1R`Q^9)RF8DPy zKxaJ|IflTQy&XfRdpfHSJT=^lY zm1z&--D#$dEUgikfWUZ+!xOZ%aRQ~`qBcH}wp+Jr!k_9Wg@|4Ya2r8)(x9WVHph;7uaRc2!qWNbD9O%Xr{uocA2_8)Hc ziS`{PZCQG!yPy(Ddspv%3vq2gVD8`f+EfH4$BQB+Y#5+%H9HvZ?-yd;rfrKOwBFq> z*9jbUU=;#m{~~Wn9I&ToH}o>}87_0U6|9~Vr*XK+)b?U7cj-Bs!+zoDwbOEShSfs* z^FJt_u=&|>ik*}?LFkED(%Qm=pJH9p{v<8`wq(URN5T;Q7h_x`TzEV(5=2?D1`Ey1 zO6Cl+o>|Po+RS#AxXr9$!LKY?jfJnUUg^0ikT9Yc+8R{vy9oqLXL$AOg6KPnZV+8i1RFQiY1ORbs3eJ&zxf>vcz3B zN}OauEOfBMLzXbI01sYeVKQ@)S;CT#nahIdOfmBnOBz_>I&+r!fCZCT;t5MqEWm2t zV#YD4%tn^@oylX#>MU`E1qw@CX5nj0EtX`M?^#gJ5*L{*EXguEnHel`jS(3mOWb3y z-<{bgX=PzmmLym(mLm_imzV!=ZeCNk@orOYQRe2JODf=A3O z7K~?!r_3CtQItt$i8D-?C23|a3&t_inJWxpfy}(dLMO9<>B8(_i9cBIJ_~xWWJ4Bq zWLh$-Sy-33#(W-!P(zNju9mdqIh<+uj?zQ{vLAzjA?Qh!q+XvbQ+yBQt%s$_~!2XGS zsePG!h5b|e2Kz?)9{WD~e*1U!!}dG&d-ezRNA@QUL)1YySVs*|PR9dA=-BL>>YU-6?aXz~bLKf0Iu|?hohzK5I#)YC zcdmDCaBg&Nc5ZbRId?jDJByuro!>eSI=^=wbsl$~be?vWI4?LaIWIe}I?J5bo#oD( z&R?C;-<|iI51fyjPdUhu9K|JYR<0_?ay7WxTs^KK*O+U{HRD=vt++N^TdqCVkxSxU zHPJQMHPtoEHN!R2 zHQSZzn(O-7wafL5tJt;Iwa>NRb!It3+u)8uH|aLHX?F*ACwG!N+1=G` zb35Fe+v5(o6?eM3mpjAV$DQe(?ap=2bt!KUGtmmBPg69X%B~Pj6iszc=M=#^8?yc#q z>V45Gc*EW|yrMVF8}TaMbZ>WWU++8KLEaJGQQmRh54{t;lfBctGrU{8 zTfN)8Mc%KyJH5NT#ooQ%linvjgD(nwMjz#)eHLF;AM2~_YvOys*W8!rOY_OTbYFL0 zPhT%zhOe)$pD)Wd)TjBz`6l=#`DXiaee-;IzHPoD-%j6dU$JkmZ@=%D?}YE1@2aoN z_rUka_tX#lM!(r_@mKY;{+fQ9-{I%{F2Bd`_51xnzu+J49~t$(>mTiZ&p*~5^&|f{ zf3AO?KhM9&zr?@FzuLdiU*!MVztexr|Iq(9Ut%9wCF9$mZ?LlWy3`T-#uv@Tauy?Re@SR{*aCR^^ zI5#*yxFEPFxHy;}ToK$BEDr7smIki`%Yrw8KL>9GZwK!N{|NpWd=z|=0#b++CM7wg zYl=OEOL3=oQ~W6@DWQ}%Q{GPLmog+}C?AOOJRj!Y;L~`8f0OUd_vCx?efUhiAD_h! z;0N*9d=5XHAH|R6$MR7g@#FcA_{scKemXyskMVQ(kNG@)5xC7=J)d7@(1`s{1N^be}X^Fm+%+(OZ;U%dX@i?zrmODH~C-r z-}$@zAN)i9G5=Hm0wEX$N}vU+P)%TknnE3+p3p#OBs3A43C)E>;U%Gs&{k+CbQC%Z zuL@m+*9E)42_C^GqzaO-T39Qr7Yc<=bqj#lk*ezi?3aUN|Bg6HW?e zqC$yqLAWTC3Ri?O;f7Ey+!THj?g;mU2f{<)vG6nmL&lIfln}Cps)m?Q^-zOQ^ z=+M}Z78)0t5SkR45}F>G70M0G3+06tg_eYtg$hEeLTf_nLK{MxLR&)HLOVjcLdBtd zp#z~qp(CN=p;Mu=q4S}Oq06D@wb1oYdFW>7x6tpQdtn%+!ZpJ$hF=c14Yvy?hr5Pt z;b2$_N5Z|s1H+@jRp~hwx9~`>BRhm`bKrNv)R3 zrZ!FOlxj;&Nli;tQhTLlr1nY8OzoFCBz0)&d#UfIYN;Qjj!&JIIy3sl{Wt!6^oksv;xS5NnI|#D-!Mv6uZmqno9GZZ(Jgw#fS4kN z#5cq=Q5Mt1?qW}|mzW{;75j<(#X;f_F-IIGju1zQqs8~csEEYz;z#0Sahf<&jEQr^ zkHu)7xJXGE6qZCOBB@e0si)LS%8>d>??_qFKq*`LA8D90LV8yk zBfT$a(l}{?G)bB&O_yd#xzapozO+#KL|P){ODm+6(r41=(mLr2sZiP^ZIQM~JEUFG zH_{&ITj_xGope$<6LCab5pN_A;UnRQ7>PvG$cx<~JtMs%eIoBfvLXW`*^!*c@W`mh zn8^DP6d51+C^9)REp}_rzoI81rz0hi3z18aE0MCujmXcDTanw5yOBR44sq+smEgSLH6UO?Jv|*(V2OK~9w=S(ek~?($o5 zhTK=~C-;{J$wTC!@(B4|`8_!*e;|J-Pn4&~)8$!FIai)1=gEuYCGs-4Kwc%Uk=Mx^ zyUKm#f$~UsssfczO)9Ng)oN;WwWeBIt*bUr8>vmz7u7`dCG};st=eAg zs3xh&YFE{+I#rkIRsCvE71XdQsu5LHyQw|Z-fAE99rfSp0CkX>t>&o1)RF3Fb*!qX zKb*e`h~ht-K>74Zc~fYo$79NkGfAi zpdL~Wt4G!2>M8Y%dQQEdUQ#csSJg80hFY%PRDV@(t9R7<>YwW4bVE9kZcL}r6Vk2e tRnzOF*GsRT{$hG!ddu{7=^fKMrQ6b7hWHPJ`mLtHU~TqnpyHY?{x5teAVB~C delta 8142 zcma)AcYM=U*Y>@VB`YyRVs9vgFv1=w6yjL6L6UQ8r~7 z+7f7iu=fZX(o#w(qwF1KfB*$bT1wgDyE3HE-~0aYIr&*v_ny1Xc+Ppez8EYj2CHoV zhaTW4aDYiLe3&>*oF^_5H;9|WE#gn&0r8M{L_8-6k|Zr;IkGZYg{*3-PSzktkz>gz zfAGHIP5c=*;jv;1-Egzz0f6HJ?Tl5@m8E=_}p3^N0EGsP=E!!CLSd#PWk{nP>KF!&3erjCFBb(A_roup1t zMeqrAhB`}~qs~*s)FtXNb%iRSu2a8JH>lsK+f*qP`v-NOdKOa<`%!FWlD{~z@c0ugIh++=ZG3Cb|h&>p4DE4sdk=UcL$6}Aio`^jedn)#HY>~Mn zvfUhLMeemiD`v&5W-DPOtrja~jj_gBt=4kZ@k#PRX%D)Zn41~V<0}``i*E<<>pJ+YAgyt8h~Lz~?*(IS&(^6)4;M(lyd;R$#Wo`R=gk!cz{YZ{Ke&%+DwBEfYJ zr1}P=X7o?bPS458)~0BcD6Nt}vltw;6?|-59yOBw@HnGH0^Gq$GrRw1O$S1aH1PS0-5=L&=+Q-G#w{@^H(yCKsnv6rIe|dJyM^=iYCQIS!8m@y~M@;2S99fgBrNg*YbSAa|7GqaI zLsJeRnkx`J$%a@0UW1rGHonMl5ccPBfVo10f+ z1eS;QCX-1!QHsZqF?b`AGxs1pq}P-{rjR^-4-}ctl0jmO$r~mmGS$4Fl+B$m6%-Py zO}EK+$!=tK{H8e%9wLhI_QZCKB{R%8HjtQV&c}9P<=%Bq0zShC7T6ng0 zRR;w+*srb9ko6DfV2KWn>fmE7Pb;U*(9Y=KZ5>?D!DSs>(VpnwnhtC__)wd!6>86P zfVBIE4z_5;hN^Gq;4d8nb?~?3VS#)qrhe+#LI;6rn zaB9mmzYbPu4Rml`2Pbu~R|k!B&{G?&gAIoH)@TcKfYxrMt<%9G9i(f&>HzJ1S_f}v z3w2OIJFD?JSgV7o+8iBBK>nZuRg2fQ=`cnI@yHu>FiQvLwE8+&u5HpmEp3Mmp6k%W z8kSEo*~l>(p{SYt{*yH@>I6Q#)5c}O=%@6oIFJQHD3DoyQ-hmq&(e6>3Atv%#kV|}F5<7JU~ zOa~|EUMSY!QPa2ZGQ2|WCl8PZb+Al_P>1Dph`r;;%Ie)WJ-hdSqtUAxLOV$`aT!`i z2dB!;b5cv3OZGvAIQ2p!kui;}krnQ8A9OP|U0Sx|$xt9GC!=iAWi4?Te$;#xUr(ms z_sC)9mB|0!#VVW8&EJT+N!6&|Bp`z!M>G5coY!U`m;5iiN9MTx(eA&R^xLo9&tkQd zvy_h>{-O>p>7e+fYAuXLq@`wLf13G0#(xzvlcRQsj+fAEVlG~bzxGn zWT0Kf=-|)SB=3~DUSyavu90NvXURfB$T^E%6S_;k^WS>u<89Oi%d>p`uN`zW8M(pz z*Cs#spHm~6FRr>|i6D8T_Q$WuKj}eNG;*R`cJHqZC97m_+`z#Y1jBEUBe8)9$VZYq z#%jo=5tLLg-~b>kBjmb*a6wy#@DKsTLv6wT+P~tz9i&F2kN1Cc(J9?}1X9`l{rhD2 zGy3JG`O`D|8I7`&?bH$%lR=Ury(n3vk}XI(IV1{_2t*Nl-j1T=Q3GIMjA4;5e$#U3 zU-~+3xL_k4nqMgZ5{f%3yKj2b$q=$xPW*!(mNQ!75|p7jnR}Rrl8I*AT!EBv1nf41 z!cp8-qd4En$PbW0$oa3k!$^Hkb0ZWYx45{lWVwfwKSzhLukCFOc{BR-FT39(1P@q( zHv3(qg;#ff%hbX04CLm6TvMm0Bw3RJFY|65X~*(RPfQBI;Wx27^w$=9MsVoqGv0`) zq=eNWIg=L)*TJ4)c_``L#C)c@DB<43>cC>si;}QJN+?f0!+hvnGR8>>Nz_40)Bz}I zlM=z1>YC~rOW`-8^Gk`brd%}A0?kM@=fh%izNs#;+St?>C&rM?j3bcUkW3IgGfcT* zbgDY!5P~!3<2OyW(NWM=WU|p~oZi?xdTO8H&wrp?8LyR#=AlNYU8v15!gV5QEHqxD zS?!n+Hh*arlz7h?U00B0(J(aHjZi0wyn99hM)8UM!|6zBq0xz6kQ{m<(LB_Zr}>SQ zQ1?XC1C0Un+UUhKh$L(Oe@7ryFae8*;0R!@OKHH)!m znP8MGMxkI-Ek?nS9<6tN)#8vEEYUNfD8HsXG1P06E?bZlictd9W*emfs(xUMQ4Ae0 zs*%0XO6FWy8Pn4M;0@X@WtW+$hmArp0q;nCOMOSprshy{seEc4HJ@5QEu&SWSo3by!1(HFb!J)Y@8@(P14O*41G>9loK%`Z|0wDu84f=&+#<<8_FT zp>cGbCecPy9VSF2o9VE5v>$EJBHGhZhiJ4_wB6dcB|;8rk4A`zFJDY~D0j6+pKd6Y z5r&0*IT?Lhw=EMrghboF`(nr#NqntcHYGZvRoM&#OWoX=eKHyis23dAFC#mxUsg_f zPG(lWmjad_H6pcjo7UYjP{Pd0PDO*c1A5R*AT^XRD90UX8jPv_+9vJF*1d>M(k9X~ zP&M54y+CT}2iaMD`Y4$h16#L#O}b5)^fe^?`oLTNn$zYVRop^yZ*_BL^~7oZe)w17ry zAuZwMV2mjmD{B!A`H>t67r>w4N;nF;3TK0caFQtpM&Ne11}=qL;6g%#KNu7R?t<&! zJhCC&jU^Bh;8wCpm~3H$3tWUMj9$b%xD$>o<1DZcy9d8Bcnkar=EEtbx^UC$3woC9aTZ%Hrw2Bk3`uEp=cnQ&v2--Ls3 zF);>?FrwPvIB-5G!@Y0`{0UBl1qR=Nb3q{j&2Hqo#A-O6>~6Y^IL|)#^$Xqu*Tcy# zxDOlyM-x-w4zdrn%bZX4Hn`9W1_W1O&)_&yDZZWC#qx@-H8HJjwgCRPo7p=+GYqO(VYB(y>5JDb}qKOXLp+as| zlvmBvmZCD&fJmdB9c7R!loZ}ZRiyTt4r*$L3>Zd~2&LrLxt0!;GP>0xin3dbl!Blu z%D6^oKWdM(t2UNN$c1}Pi$IxPbT zJy7;XxSphguQXKg5026_9aJ%}5h4A_C{+CFrT7qm^A zuYDKIZ&MLZFpAgoXu%cbaxd7M4l)rWuQVuJ)hLUbfY_T3)@dc$#wfp;_=?E&Gjb4u z*#~2V;&znA8>! zauGK5Q6xDOh)fCvpw_$KTxcK&(<>M}mY&SO1O|^|up(NezhyuV2D?YEr4P{C7@T6T z%M5m$!7&DQU?9cd76!IsuF?+% z3>d-S<>`rZfEH;#gA?>t2E4~$7(JX0?_$6o^g0Fy3}opq7$DQL80;_u#xvL{+DtED zfWly>88D1qL|3E>8SFg$GlQGy)pQBHih;=t_MDzXpJBjG28?6CP`Zc#-RODrX*!jj z&R~xj*p$A^;3fup$Y7V~4h&{yz;L=DU74=UfC*s+e96FS3~bL}M;N>uy`I6IFwjQ7 z&48N>_J9Es8LWhXO&BnW{)WN+qUSPrE&3E)mCmD&GuSh_fB~cFG4v*SJUxT~Uog0p z!LHKF>Dly72DYU~F<=bck=7aP48572%3yaHFqQ#mj~E8pnJ~`K+vyo}K7&j#hk;cX z>@0)bp@R%~On=XSkqmZ%{)%qI;E=)oX25R@UXfnL;3R`xpsPhqZpyY+(GuspG`|%k z&bWVGj9+-r3o1gbb*y#st#wVE5ajzD!S_GT_#nrXo>R~zZCbhTu%s`OCMHcznvxVr znx6D^QeM&zNk1n2l(aKxSJLjJy-E9%&L>?=x|DP!>1xvbq=!k5lb+dtE#B7HmSAgP zYh`O=Yj3mL9JW-OY*TGrZQX6dZ6j=>ZR2cT+9ukj*k;^N7~2O$J-~^C)uakr`x}_&#=$3&$j2=7uXlsm)MutSJ+qE z3+x;0o9$ce-`jt*@3il-@3!x?@3$YaAGII1pRyO(&)F~9!?Z4S?*-Pzr?04<= z?T_qF?ax`rnpq1Q%a&(pwgOw3t;*J5YqRy(H`#c$F`K|PXIrst*!FA(_H8zawX+VE zW4$cT`q?h5#D-Xv?aFpzd$8}b8Eh{$lkLN1vDs`cJBS^^4rRmaaCQVcnjObR!t8W* z7Q295#I9x6u^ZXV>^Am$_8NPay~jRaAF_|xC+sta$pIaV<84Q0hs}}fU>y#J%i(r- z9iKP`IC34IItDogJ3ey^b%Y&@9ZMZ69IG8`9qSw$9Ge_l9orpy9Qz!{948zX9G4s= zj_Zz_&T7sY&f3m;&ic-9182OmiL;rrg)`adaB@zslXuF__njHekDR@oInGa=gPor{ zzje-b<~!#*7djU^mpNBEH#@gFk2sGzPdU#x&pV5qSDe?JH=MsaOPzOIHC?q`bzSvb z^<8he8oC;}nz$ra$fdYc*E_DRu5PaPTs>W5UE^I7ToYZB!>%c=h-Tn*;#|d1J6S-7Q=2WgL_XRhS z8_kX3#&P4h3EU)Z3YW*t;^uNox#iq1+#YTpcYr&@9pR2~C%Gc-9Cv}c#FcQ@-Hbb2 z(OubH&0WJ?%U#D^&;6#mnY+FFEw{~WcRSoJcVBmwJKLS>9_SwI{>(kht-F`Hm%CTG z*SHJZ>)jjOTik{28}3`~+wMQzf4Tp5-*-Q9KXpI%H1;(0H1jm~wDh#{wDGj_Bzk&y z(mfw|KJiecRjFYxA;Rr?-!{pSQpF6Yl_Tj`vgVAny?G zJnsVUBJX1FQtvYF3hyfK8gG&JtoOY4g16Xv$$Q0n)qCChxA&Qk^ijTW4PR|vJ>Q$Y zcwZA=Gha(z8{fOW?!KPB4}2NEUcO9UA77U5Q(xGp`^Ndc^v(9=`xf{X`Kbep4U-94YdHgJXHlNSW=NIuy_+|VGeigrlFW@)u zoB6GLA-|p9!T-$f=J)cy@(20D{89b{e~J&E;m`9I`OAC>f1SU<-{MR8Kl!`-ef}Z; zn13di1WYgs79mC`C&URAgvvrSp{7tNH`~4 z5Q>G%LWyu)xFP&5lnQr*zl8_FW8s+}_%T1>xA+-mTI*%sR;hs?Jw|e@Nf2S^Z(%A;s4pc+rQ6$z<=0( z%zx5f z!FPi12D=A83}yzigE_%ZgM)%Yf?otjb@{zZX}HUsE`N7<(B*NLXQD}jqFE$GN{kiD ziL_WztRhwyYl(Hm`eH+|v6vvX5L=7w#J9wbVrMZ~bcmej5mQ9J7!*Y@B&y;&VmI+U zv8VXHm?8EOKNkCn{l#oCR~#q~7C#rm;&5?-48tqJ(W!|CKECxTje;pf?Qdy zCfAhf$ZyCEvMKo;eYtjb;G?s8B01NlQaQ|=>Y z$=PzQJV^db9wzJZ2zj(TPM#o74$BewD|v=IOP(#~%M0Yi@-lg)yhdIpZfXbXB@3?(fbyv_SovHDE5ntM${1z5GEteLOjEv6W+=0i*-E}LUsJ!Y*w}^-z(ddpOjt7Ze_2sUpc58QI0Dol_KS=azVMIlqlDf-;`TQsd7iT8&>Wq z50uBsQ`MwG6;}zBQmtxvl~yaNRn+QgO|_0%Ppz*uP~+7mYBRNk+FEU=zNL0lJFCem zt2$Lq^{TuYP(?MQs_HvxH?@bFuKq{urGBjTRr{+0)LeCtIz%0+hE-ktLLI4&QOBth z)Jf_THKK;6tKXQCw}b&tAF-LD>0 zkEqAglWLKAPQ9RBQm?4j)Enw8^|tz_dRM)#K2o2k&(mNUo>nd`E{#sBo>nWZc3ON| cleDI3ZPPlKq8|ufJgxOi=+}hTK53r+1A4|a^8f$< diff --git a/English.lproj/MainMenu~.nib/classes.nib b/English.lproj/MainMenu~.nib/classes.nib new file mode 100644 index 00000000..973650b1 --- /dev/null +++ b/English.lproj/MainMenu~.nib/classes.nib @@ -0,0 +1,113 @@ +{ + IBClasses = ( + { + ACTIONS = { + bringFocusToControlField = id; + deleteNote = id; + exportNote = id; + fieldAction = id; + fixFileEncoding = id; + importNotes = id; + newNoteWithClipboard = id; + printNote = id; + renameNote = id; + showPreferencesWindow = id; + tagNote = id; + }; + CLASS = AppController; + LANGUAGE = ObjC; + OUTLETS = { + editorStatusView = EmptyView; + field = DualField; + notesTableView = NotesTableView; + sparkleUpdateItem = NSMenuItem; + splitSubview = RBSplitSubview; + splitView = RBSplitView; + textView = LinkingEditor; + window = NSWindow; + }; + SUPERCLASS = NSObject; + }, + { + CLASS = DualField; + LANGUAGE = ObjC; + OUTLETS = { + notesTable = NotesTableView; + }; + SUPERCLASS = NSTextField; + }, + { + CLASS = EmptyView; + LANGUAGE = ObjC; + OUTLETS = { + labelText = NSTextField; + }; + SUPERCLASS = NSView; + }, + { + ACTIONS = { + bold = id; + defaultStyle = id; + deleteToBeginningOfLine = id; + deleteWordBackward = id; + italic = id; + shiftLeftAction = id; + shiftRightAction = id; + underlineNV = id; + }; + CLASS = FirstResponder; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + CLASS = FocusRingScrollView; + LANGUAGE = ObjC; + SUPERCLASS = NSScrollView; + }, + { + CLASS = HeaderViewWithMenu; + LANGUAGE = ObjC; + SUPERCLASS = NSTableHeaderView; + }, + { + ACTIONS = { + bold = id; + italic = id; + underlineNV = id; + }; + CLASS = LinkingEditor; + LANGUAGE = ObjC; + OUTLETS = { + controlField = DualField; + notesTableView = id; + }; + SUPERCLASS = NSTextView; + }, + { + ACTIONS = { + performFindPanelAction = id; + }; + CLASS = NSTextView; + LANGUAGE = ObjC; + SUPERCLASS = NSText; + }, + { + CLASS = NoteAttributeColumn; + LANGUAGE = ObjC; + SUPERCLASS = NSTableColumn; + }, + { + ACTIONS = { + incrementNoteSelection = id; + paste = id; + }; + CLASS = NotesTableView; + LANGUAGE = ObjC; + OUTLETS = { + controlField = NSTextField; + }; + SUPERCLASS = NSTableView; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/English.lproj/MainMenu~.nib/data.dependency b/English.lproj/MainMenu~.nib/data.dependency new file mode 100644 index 00000000..71914e28 --- /dev/null +++ b/English.lproj/MainMenu~.nib/data.dependency @@ -0,0 +1,10 @@ + + + + + IBPaletteDependency + + RBSplitView + + + diff --git a/English.lproj/MainMenu~.nib/info.nib b/English.lproj/MainMenu~.nib/info.nib new file mode 100644 index 00000000..facc8b7d --- /dev/null +++ b/English.lproj/MainMenu~.nib/info.nib @@ -0,0 +1,31 @@ + + + + + IBDocumentLocation + 112 343 380 431 0 0 1680 1028 + IBEditorPositions + + 29 + 34 1134 574 44 0 0 1920 1178 + 341 + 735 613 167 144 0 0 1680 1028 + + IBFramework Version + 489.0 + IBLockedObjects + + 233 + 208 + + IBOldestOS + 3 + IBOpenObjects + + 21 + 29 + + IBSystem Version + 9L30 + + diff --git a/English.lproj/MainMenu~.nib/keyedobjects.nib b/English.lproj/MainMenu~.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..88e34e7b548089d78d49eaec097d60b0ec1b4ccb GIT binary patch literal 28839 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 literal 0 HcmV?d00001 diff --git a/English.lproj/NotationPrefsView.nib/classes.nib b/English.lproj/NotationPrefsView.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/NotationPrefsView.nib/info.nib b/English.lproj/NotationPrefsView.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/NotationPrefsView.nib/keyedobjects.nib b/English.lproj/NotationPrefsView.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PTKeyComboPanel.nib/classes.nib b/English.lproj/PTKeyComboPanel.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PTKeyComboPanel.nib/info.nib b/English.lproj/PTKeyComboPanel.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PTKeyComboPanel.nib/keyedobjects.nib b/English.lproj/PTKeyComboPanel.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PTKeyComboPanel~.nib/classes.nib b/English.lproj/PTKeyComboPanel~.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PTKeyComboPanel~.nib/info.nib b/English.lproj/PTKeyComboPanel~.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PTKeyComboPanel~.nib/keyedobjects.nib b/English.lproj/PTKeyComboPanel~.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PassphraseChanger.nib/classes.nib b/English.lproj/PassphraseChanger.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PassphraseChanger.nib/info.nib b/English.lproj/PassphraseChanger.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PassphraseChanger.nib/keyedobjects.nib b/English.lproj/PassphraseChanger.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PassphrasePicker.nib/classes.nib b/English.lproj/PassphrasePicker.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PassphrasePicker.nib/info.nib b/English.lproj/PassphrasePicker.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PassphrasePicker.nib/keyedobjects.nib b/English.lproj/PassphrasePicker.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PassphraseRetriever.nib/classes.nib b/English.lproj/PassphraseRetriever.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PassphraseRetriever.nib/info.nib b/English.lproj/PassphraseRetriever.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/PassphraseRetriever.nib/keyedobjects.nib b/English.lproj/PassphraseRetriever.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/Preferences.nib/classes.nib b/English.lproj/Preferences.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/Preferences.nib/info.nib b/English.lproj/Preferences.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/Preferences.nib/keyedobjects.nib b/English.lproj/Preferences.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/SavedSearches.nib/classes.nib b/English.lproj/SavedSearches.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/SavedSearches.nib/info.nib b/English.lproj/SavedSearches.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/SavedSearches.nib/keyedobjects.nib b/English.lproj/SavedSearches.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/SavedSearches~.nib/classes.nib b/English.lproj/SavedSearches~.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/SavedSearches~.nib/info.nib b/English.lproj/SavedSearches~.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/SavedSearches~.nib/keyedobjects.nib b/English.lproj/SavedSearches~.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/TagEditingManager.nib/classes.nib b/English.lproj/TagEditingManager.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/TagEditingManager.nib/info.nib b/English.lproj/TagEditingManager.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/TagEditingManager.nib/keyedobjects.nib b/English.lproj/TagEditingManager.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/This is the title of a note.nvhelp b/English.lproj/This is the title of a note.nvhelp old mode 100644 new mode 100755 diff --git a/English.lproj/URLGetter.nib/classes.nib b/English.lproj/URLGetter.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/URLGetter.nib/info.nib b/English.lproj/URLGetter.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/URLGetter.nib/keyedobjects.nib b/English.lproj/URLGetter.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/English.lproj/URLGetter~.nib/classes.nib b/English.lproj/URLGetter~.nib/classes.nib old mode 100644 new mode 100755 diff --git a/English.lproj/URLGetter~.nib/info.nib b/English.lproj/URLGetter~.nib/info.nib old mode 100644 new mode 100755 diff --git a/English.lproj/URLGetter~.nib/keyedobjects.nib b/English.lproj/URLGetter~.nib/keyedobjects.nib old mode 100644 new mode 100755 diff --git a/ExporterManager.h b/ExporterManager.h old mode 100644 new mode 100755 diff --git a/ExporterManager.m b/ExporterManager.m old mode 100644 new mode 100755 diff --git a/FSExchangeObjectsCompat.c b/FSExchangeObjectsCompat.c old mode 100644 new mode 100755 index 30457ef3..8c9e864e --- a/FSExchangeObjectsCompat.c +++ b/FSExchangeObjectsCompat.c @@ -4,36 +4,34 @@ */ #include "FSExchangeObjectsCompat.h" +#include +#include +#include -#define GetVolParmsInfoExtendedAttributes(volParms) (((volParms)->vMVersion >= 3) ? (volParms)->vMExtendedAttributes : 0) +__private_extern__ u_int32_t volumeCapabilities(const char *path) +{ + struct attrlist alist; + bzero(&alist, sizeof(alist)); + alist.bitmapcount = ATTR_BIT_MAP_COUNT; + alist.volattr = ATTR_VOL_INFO|ATTR_VOL_CAPABILITIES; // XXX: VOL_INFO must always be set -OSErr FSGetVolParms(FSVolumeRefNum volRefNum, UInt32 bufferSize, GetVolParmsInfoBuffer *volParmsInfo, UInt32 *actualInfoSize) { - OSErr result; - HParamBlockRec pb; - - /* check parameters */ - require_action((NULL != volParmsInfo) && (NULL != actualInfoSize), - BadParameter, result = paramErr); - - pb.ioParam.ioNamePtr = NULL; - pb.ioParam.ioVRefNum = volRefNum; - pb.ioParam.ioBuffer = (Ptr)volParmsInfo; - pb.ioParam.ioReqCount = (SInt32)bufferSize; - result = PBHGetVolParmsSync(&pb); - require_noerr(result, PBHGetVolParmsSync); - - /* return number of bytes the file system returned in volParmsInfo buffer */ - *actualInfoSize = (UInt32)pb.ioParam.ioActCount; - -PBHGetVolParmsSync: -BadParameter: - - return ( result ); + struct { + u_int32_t v_size; + /* Fixed storage */ + vol_capabilities_attr_t v_caps; + } vinfo; + bzero(&vinfo, sizeof(vinfo)); + if (0 == getattrlist(path, &alist, &vinfo, sizeof(vinfo), 0) + && 0 != (alist.volattr & ATTR_VOL_CAPABILITIES)) { + return (vinfo.v_caps.capabilities[VOL_CAPABILITIES_FORMAT]); + } + + return (0); } -Boolean VolSupportsFSExchangeObjects(const GetVolParmsInfoBuffer *volParms) +Boolean VolSupportsFSExchangeObjects(u_int32_t volCapabilities) { - return ( (GetVolParmsInfoExtendedAttributes(volParms) & (1L << bSupportsFSExchangeObjects)) != 0 ); + return ( 0 != (volCapabilities & VOL_CAP_INT_EXCHANGEDATA)); } @@ -96,23 +94,19 @@ static OSErr GenerateUniqueHFSUniStr(long *startSeed, const FSRef *dir1, const F } Boolean VolumeOfFSRefSupportsExchangeObjects(const FSRef *fsRef) { - OSErr result; - GetVolParmsInfoBuffer volParmsInfo; - FSCatalogInfo sourceCatalogInfo; - UInt32 infoSize; - - /* get source volume's vRefNum */ - result = FSGetCatalogInfo(fsRef, kFSCatInfoVolume, &sourceCatalogInfo, NULL, NULL, NULL); - require_noerr(result, DetermineSourceVRefNumFailed); + /* get source volume's path */ + char path[PATH_MAX+1]; + (void)FSRefMakePath(fsRef, (UInt8*)path, PATH_MAX); + + char root[PATH_MAX+1]; + root[0] = root[PATH_MAX] = 0; + struct statfs sb; + if (0 == statfs(path, &sb)) { + bcopy(sb.f_mntonname, root, MIN(PATH_MAX, sizeof(sb.f_mntonname))); + } /* see if that volume supports FSExchangeObjects */ - result = FSGetVolParms(sourceCatalogInfo.volume, sizeof(GetVolParmsInfoBuffer), - &volParmsInfo, &infoSize); - return (noErr == result) && VolSupportsFSExchangeObjects(&volParmsInfo); - -DetermineSourceVRefNumFailed: - - return false; + return (VolSupportsFSExchangeObjects(volumeCapabilities(root))); } OSErr FSExchangeObjectsEmulate(const FSRef *sourceRef, const FSRef *destRef, FSRef *newSourceRef, FSRef *newDestRef) { diff --git a/FSExchangeObjectsCompat.h b/FSExchangeObjectsCompat.h old mode 100644 new mode 100755 diff --git a/FastListDataSource.h b/FastListDataSource.h old mode 100644 new mode 100755 index 9ef32d79..31123f92 --- a/FastListDataSource.h +++ b/FastListDataSource.h @@ -11,25 +11,25 @@ @interface FastListDataSource : NSObject { id *objects; - unsigned int count; + NSUInteger count; IMP objRetain, objRelease; } - (id)initWithClass:(Class)aClass; - (const id *)immutableObjects; -- (unsigned int)count; +- (NSUInteger)count; -- (unsigned)indexOfObjectIdenticalTo:(id)address; +- (NSUInteger)indexOfObjectIdenticalTo:(id)address; - (NSArray*)objectsAtFilteredIndexes:(NSIndexSet*)indexSet; - (void)fillArrayFromArray:(NSArray*)array; - (BOOL)filterArrayUsingFunction:(BOOL (*)(id, void*))present context:(void*)context; -- (void)sortStableUsingFunction:(int (*)(id *, id *))compare; +- (void)sortStableUsingFunction:(NSInteger (*)(id *, id *))compare; - (void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject - forTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex; -- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex; -- (int)numberOfRowsInTableView:(NSTableView *)aTableView; + forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex; +- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex; +- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView; @end diff --git a/FastListDataSource.m b/FastListDataSource.m old mode 100644 new mode 100755 index c1679ad3..7dbe3609 --- a/FastListDataSource.m +++ b/FastListDataSource.m @@ -31,12 +31,12 @@ - (const id *)immutableObjects { return (const id *)objects; } -- (unsigned int)count { +- (NSUInteger)count { return count; } -- (unsigned)indexOfObjectIdenticalTo:(id)address { - register unsigned i; +- (NSUInteger)indexOfObjectIdenticalTo:(id)address { + register NSUInteger i; if (address) { for (i=0; iCFBundleExecutable Notational Velocity CFBundleGetInfoString - 2.0 β0, Copyright © 2009 Zachary Schneirov, All Rights Reserved. + 2.0 β1, Copyright © 2009 Zachary Schneirov, All Rights Reserved. CFBundleIconFile Notality CFBundleIdentifier @@ -142,13 +142,28 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.0 β0 + 2.0 β1 CFBundleSignature N†l√ CFBundleVersion - 2.0 β0 + 2.0 β1 LSMinimumSystemVersion 10.3.9 + LSMinimumSystemVersionByArchitecture + + i386 + 10.4.4 + x86_64 + 10.6.0 + ppc + 10.3.9 + + LSArchitecturePriority + + x86_64 + i386 + ppc + NSMainNibFile MainMenu NSPrincipalClass diff --git a/KeyDerivationDelaySlider.h b/KeyDerivationDelaySlider.h old mode 100644 new mode 100755 diff --git a/KeyDerivationDelaySlider.m b/KeyDerivationDelaySlider.m old mode 100644 new mode 100755 diff --git a/KeyDerivationManager.h b/KeyDerivationManager.h old mode 100644 new mode 100755 diff --git a/KeyDerivationManager.m b/KeyDerivationManager.m old mode 100644 new mode 100755 diff --git a/LabelEditor.h b/LabelEditor.h old mode 100644 new mode 100755 diff --git a/LabelEditor.m b/LabelEditor.m old mode 100644 new mode 100755 diff --git a/LabelObject.h b/LabelObject.h old mode 100644 new mode 100755 diff --git a/LabelObject.m b/LabelObject.m old mode 100644 new mode 100755 diff --git a/LabelsListController.h b/LabelsListController.h old mode 100644 new mode 100755 diff --git a/LabelsListController.m b/LabelsListController.m old mode 100644 new mode 100755 index 2a198b0c..bb95c477 --- a/LabelsListController.m +++ b/LabelsListController.m @@ -59,8 +59,8 @@ - (NSSet*)notesAtFilteredIndex:(int)labelIndex { //figure out which notes to display given some selected labels - (NSSet*)notesAtFilteredIndexes:(NSIndexSet*)anIndexSet { - unsigned int i, numLabels = [anIndexSet count]; - unsigned int *labelsBuffer = malloc(numLabels * sizeof(unsigned int)); + NSUInteger i, numLabels = [anIndexSet count]; + NSUInteger *labelsBuffer = malloc(numLabels * sizeof(NSUInteger)); NSRange range = NSMakeRange([anIndexSet firstIndex], ([anIndexSet lastIndex]-[anIndexSet firstIndex]) + 1); [anIndexSet getIndexes:labelsBuffer maxCount:numLabels inIndexRange:&range]; diff --git a/License.txt b/License.txt old mode 100644 new mode 100755 diff --git a/LinkingEditor.h b/LinkingEditor.h old mode 100644 new mode 100755 diff --git a/LinkingEditor.m b/LinkingEditor.m old mode 100644 new mode 100755 index f3f30d68..4df4ccbd --- a/LinkingEditor.m +++ b/LinkingEditor.m @@ -11,6 +11,11 @@ #import "NSString_NV.h" #include +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 +#include +#endif + +static long (*GetGetScriptManagerVariablePointer())(short); @implementation LinkingEditor @@ -717,7 +722,7 @@ - (IBAction)performFindPanelAction:(id)sender { rowNumber = (tag == NSFindPanelActionPrevious ? totalNotes - 1 : 0); - } else if (textFinder && [textFinder lastFindWasSuccessful] == LAST_FIND_NO && //if the last find op. didn't work + } else if (textFinder && [textFinder nv_lastFindWasSuccessful] == LAST_FIND_NO && //if the last find op. didn't work selectedRangeDuringFind.location == [self selectedRange].location && //and user didn't change the selection noteDuringFind == [controller selectedNoteObject] && //or select a different note [stringDuringFind isEqualToString:currentFindString]) { //or type a new search string @@ -857,7 +862,7 @@ - (void)insertTabIgnoringFieldEditor:(id)sender { } }*/ -- (BOOL)validateMenuItem:(id )menuItem { +- (BOOL)validateMenuItem:(NSMenuItem*)menuItem { //need to fix this for better style detection SEL action = [menuItem action]; @@ -953,7 +958,7 @@ - (id)highlightLinkAtIndex:(unsigned)givenIndex { return aLink; } -- (void)clickedOnLink:(id)aLink atIndex:(unsigned)charIndex { +- (void)clickedOnLink:(id)aLink atIndex:(NSUInteger)charIndex { NSEvent *currentEvent = [[self window] currentEvent]; if (![prefsController URLsAreClickable] && [currentEvent modifierFlags] & NSCommandKeyMask) { @@ -1027,13 +1032,13 @@ - (BOOL)shouldChangeTextInRange:(NSRange)affectedCharRange replacementString:(NS //changedRange = NSMakeRange(affectedCharRange.location, affectedCharRange.length); - int begin = [string rangeOfCharacterFromSet:separatorCharacterSet options:NSBackwardsSearch + NSUInteger begin = [string rangeOfCharacterFromSet:separatorCharacterSet options:NSBackwardsSearch range:NSMakeRange(0, affectedCharRange.location)].location; if (begin == NSNotFound) { begin = 0; } - int end = [string rangeOfCharacterFromSet:separatorCharacterSet options:0 + NSUInteger end = [string rangeOfCharacterFromSet:separatorCharacterSet options:0 range:NSMakeRange(affectedCharRange.location + affectedCharRange.length, [string length] - (affectedCharRange.location + affectedCharRange.length))].location; if (end == NSNotFound) { @@ -1062,15 +1067,49 @@ - (BOOL)shouldChangeTextInRange:(NSRange)affectedCharRange replacementString:(NS return [super shouldChangeTextInRange:affectedCharRange replacementString:replacementString]; } +static long (*GetGetScriptManagerVariablePointer())(short) { + static long (*_GetScriptManagerVariablePointer)(short) = NULL; + if (!_GetScriptManagerVariablePointer) { + NSLog(@"looking up"); + CFBundleRef csBundle = CFBundleCreate(NULL, CFURLCreateWithFileSystemPath(NULL, CFSTR("/System/Library/Frameworks/CoreServices.framework"), kCFURLPOSIXPathStyle, TRUE)); + if (csBundle) _GetScriptManagerVariablePointer = (long (*)(short))CFBundleGetDataPointerForName(csBundle, CFSTR("GetScriptManagerVariable")); + } + return _GetScriptManagerVariablePointer; +} + - (void)fixTypingAttributesForSubstitutedFonts { - //this check helps prevent NSTextView from being repeatedly punched in the face when it can't help it + //fixes a problem with fonts substituted by non-system input languages that Apple should have fixed themselves + + //if the user has chosen a default font that does not support the current input script, and then changes back to a language input that _does_ + //then the font in the typing attributes will be changed back to match. the problem is that this change occurs only upon changing the input language + //if the user starts typing in the middle of a block of font-substituted text, the typing attributes will change to that font + //the result is that typing english in the middle of a block of japanese will use Hiragino Kaku Gothic instead of whatever else the user had chosen + //this method detects these types of spurious font-changes and reverts to the default font, but only if the font would not be immediately switched back + //as a result of continuing to type in the native script. //we'd ideally check smKeyScript against available scripts of current note body font: //call RevertTextEncodingToScriptInfo on ATSFontFamilyGetEncoding(ATSFontFamilyFindFromName(CFStringRef([bodyFont familyName]), kATSOptionFlagsDefault)) //because someone on a japanese-localized system could see their font changing around a lot if they didn't set their note body font to something suitable for their language - if (GetScriptManagerVariable(smSysScript) == GetScriptManagerVariable(smKeyScript)) { - //only attempt to restore fonts (with styles of course) if the current script is system default--that is, not using an input manager that would change the font + BOOL currentKeyboardInputIsSystemLanguage = NO; + +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 + if (IsLeopardOrLater) { + TISInputSourceRef inputRef = TISCopyCurrentKeyboardInputSource(); + NSArray* inputLangs = [[(NSArray*)TISGetInputSourceProperty(inputRef, kTISPropertyInputSourceLanguages) retain] autorelease]; + CFRelease(inputRef); + NSString *preferredLang = [[(NSArray*)CFPreferencesCopyAppValue(CFSTR("AppleLanguages"), kCFPreferencesCurrentApplication) autorelease] objectAtIndex:0]; + currentKeyboardInputIsSystemLanguage = [inputLangs containsObject:preferredLang]; + } else { + currentKeyboardInputIsSystemLanguage = GetGetScriptManagerVariablePointer()(smSysScript) == GetGetScriptManagerVariablePointer()(smKeyScript); + } +#else + currentKeyboardInputIsSystemLanguage = GetScriptManagerVariable(smSysScript) == GetScriptManagerVariable(smKeyScript); +#endif + + if (currentKeyboardInputIsSystemLanguage) { + //only attempt to restore fonts (with styles of course) if the current script is system default--that is, not using an input method that would change the font + //this check helps prevent NSTextView from being repeatedly punched in the face when it can't help it NSFont *currentFont = [prefsController noteBodyFont]; if (![[[[self typingAttributes] objectForKey:NSFontAttributeName] familyName] isEqualToString:[currentFont familyName]]) { diff --git a/LinkingEditor_Indentation.h b/LinkingEditor_Indentation.h old mode 100644 new mode 100755 diff --git a/LinkingEditor_Indentation.m b/LinkingEditor_Indentation.m old mode 100644 new mode 100755 diff --git a/MultiTextFinder.h b/MultiTextFinder.h old mode 100644 new mode 100755 diff --git a/MultiTextFinder.m b/MultiTextFinder.m old mode 100644 new mode 100755 diff --git a/MultiplePageView.h b/MultiplePageView.h old mode 100644 new mode 100755 diff --git a/MultiplePageView.m b/MultiplePageView.m old mode 100644 new mode 100755 index a2d14a6a..da29a49c --- a/MultiplePageView.m +++ b/MultiplePageView.m @@ -293,7 +293,7 @@ - (BOOL)knowsPageRange:(NSRangePointer)aRange { return YES; } -- (NSRect)rectForPage:(int)page { +- (NSRect)rectForPage:(NSInteger)page { return [self documentRectForPageNumber:page-1]; /* Our page numbers start from 0; the kit's from 1 */ } diff --git a/NSCollection_utils.h b/NSCollection_utils.h old mode 100644 new mode 100755 index 6a1f5238..554aea7f --- a/NSCollection_utils.h +++ b/NSCollection_utils.h @@ -33,11 +33,11 @@ @interface NSArray (NoteUtilities) //- (NSRange)nextRangeForString:(NSString*)string activeNote:(NoteObject*)startNote options:(unsigned)opts range:(NSRange)inRange; - (void)addMenuItemsForURLsInNotes:(NSMenu*)urlsMenu; -- (unsigned int)indexOfNoteWithUUIDBytes:(CFUUIDBytes*)bytes; +- (NSUInteger)indexOfNoteWithUUIDBytes:(CFUUIDBytes*)bytes; @end @interface NSMutableArray (Sorting) -- (void)sortUnstableUsingFunction:(int (*)(id *, id *))compare; -- (void)sortStableUsingFunction:(int (*)(id *, id *))compare usingBuffer:(id **)buffer ofSize:(unsigned int*)bufSize; +- (void)sortUnstableUsingFunction:(NSInteger (*)(id *, id *))compare; +- (void)sortStableUsingFunction:(NSInteger (*)(id *, id *))compare usingBuffer:(id **)buffer ofSize:(unsigned int*)bufSize; @end \ No newline at end of file diff --git a/NSCollection_utils.m b/NSCollection_utils.m old mode 100644 new mode 100755 index 0f3a0ed6..7143136e --- a/NSCollection_utils.m +++ b/NSCollection_utils.m @@ -83,8 +83,8 @@ - (NSMutableSet*)setIntersectedWithSet:(NSSet*)set { @implementation NSArray (NoteUtilities) -- (unsigned int)indexOfNoteWithUUIDBytes:(CFUUIDBytes*)bytes { - unsigned int i; +- (NSUInteger)indexOfNoteWithUUIDBytes:(CFUUIDBytes*)bytes { + NSUInteger i; for (i=0; i<[self count]; i++) { NoteObject *note = [self objectAtIndex:i]; CFUUIDBytes *noteBytes = [note uniqueNoteIDBytes]; @@ -174,12 +174,12 @@ - (void)addMenuItemsForURLsInNotes:(NSMenu*)urlsMenu { @implementation NSMutableArray (Sorting) -- (void)sortUnstableUsingFunction:(int (*)(id *, id *))compare { - [self sortUsingFunction:(int (*)(id, id, void *))genericSortContextLast context:compare]; +- (void)sortUnstableUsingFunction:(NSInteger (*)(id *, id *))compare { + [self sortUsingFunction:(NSInteger (*)(id, id, void *))genericSortContextLast context:compare]; } -- (void)sortStableUsingFunction:(int (*)(id *, id *))compare usingBuffer:(id **)buffer ofSize:(unsigned int*)bufSize { - unsigned int count = CFArrayGetCount((CFArrayRef)self); +- (void)sortStableUsingFunction:(NSInteger (*)(id *, id *))compare usingBuffer:(id **)buffer ofSize:(unsigned int*)bufSize { + CFIndex count = CFArrayGetCount((CFArrayRef)self); ResizeBuffer((void***)buffer, count, bufSize); diff --git a/NSData_transformations.h b/NSData_transformations.h old mode 100644 new mode 100755 diff --git a/NSData_transformations.m b/NSData_transformations.m old mode 100644 new mode 100755 diff --git a/NSString_NV.h b/NSString_NV.h old mode 100644 new mode 100755 diff --git a/NSString_NV.m b/NSString_NV.m old mode 100644 new mode 100755 index 458e2f07..738b6d7e --- a/NSString_NV.m +++ b/NSString_NV.m @@ -108,7 +108,7 @@ + (NSString*)relativeDateStringWithAbsoluteTime:(CFAbsoluteTime)absTime { (CFDictionaryCopyDescriptionCallBack)NULL, (CFDictionaryEqualCallBack)NULL, (CFDictionaryHashCallBack)NULL }; dateStringsCache = CFDictionaryCreateMutable(kCFAllocatorDefault, 0, &keyCallbacks, &kCFTypeDictionaryValueCallBacks); } - int minutesCount = (int)((int)absTime / 60); + NSInteger minutesCount = (NSInteger)((NSInteger)absTime / 60); NSString *dateString = (NSString*)CFDictionaryGetValue(dateStringsCache, (const void *)minutesCount); @@ -243,9 +243,9 @@ - (void)copyItemToPasteboard:(id)sender { - (NSURL*)linkForWord { //full of annoying little hacks to catch (hopefully) the most common non-links - unsigned length = [self length]; + NSUInteger length = [self length]; - unsigned protocolSpecLoc = [self rangeOfString:@"://" options:NSLiteralSearch].location; + NSUInteger protocolSpecLoc = [self rangeOfString:@"://" options:NSLiteralSearch].location; if (length >= 5 && protocolSpecLoc != NSNotFound && protocolSpecLoc > 0) return [NSURL URLWithString:self]; @@ -258,11 +258,11 @@ - (NSURL*)linkForWord { } if (length >= 5) { - unsigned atSignLoc = [self rangeOfString:@"@" options:NSLiteralSearch].location; + NSUInteger atSignLoc = [self rangeOfString:@"@" options:NSLiteralSearch].location; if (atSignLoc != NSNotFound && atSignLoc > 0) { //if we contain an @, but do not start with one, and have a period somewhere after the @ but not at the end, then make it an email address - unsigned periodLoc = [self rangeOfString:@"." options:NSLiteralSearch range:NSMakeRange(atSignLoc, length - atSignLoc)].location; + NSUInteger periodLoc = [self rangeOfString:@"." options:NSLiteralSearch range:NSMakeRange(atSignLoc, length - atSignLoc)].location; if (periodLoc != NSNotFound && periodLoc > atSignLoc + 1 && periodLoc != length - 1) { //make sure it's not some kind of SCP or CVS path @@ -397,7 +397,7 @@ - (unsigned)numberOfLeadingSpacesFromRange:(NSRange*)range tabWidth:(unsigned)ta unsigned spaceCount = 0; BOOL done = NO; unsigned tabW = tabWidth; - unsigned endOfWhiteSpaceIndex = NSNotFound; + NSUInteger endOfWhiteSpaceIndex = NSNotFound; if (range->length == 0) { return 0; @@ -571,6 +571,7 @@ + (NSMutableString*)getShortLivedStringFromData:(NSMutableData*)data ofGuessedEn } //try UTF-8 here, if any bytes are greater than 127 + //TODO: also use UTF-8 if string is 7-bit (might make ContainsHighAscii() moot here) if (ContainsHighAscii([data bytes], [data length])) { if (RunningTigerAppKitOrHigher) stringFromData = [[NSMutableString alloc] initWithBytesNoCopy:[data mutableBytes] length:[data length] encoding:NSUTF8StringEncoding freeWhenDone:NO]; diff --git a/NSTextFinder.h b/NSTextFinder.h old mode 100644 new mode 100755 index d14a95b2..49fff4ed --- a/NSTextFinder.h +++ b/NSTextFinder.h @@ -62,6 +62,6 @@ enum {LAST_FIND_UNKNOWN, LAST_FIND_NO, LAST_FIND_YES}; @end @interface NSTextFinder (LastFind) -- (int)lastFindWasSuccessful; +- (int)nv_lastFindWasSuccessful; @end diff --git a/NSTextFinder_LastFind.m b/NSTextFinder_LastFind.m old mode 100644 new mode 100755 index e5f089f4..d52b3df8 --- a/NSTextFinder_LastFind.m +++ b/NSTextFinder_LastFind.m @@ -10,8 +10,13 @@ @implementation NSTextFinder (LastFind) -- (int)lastFindWasSuccessful { - int i; +- (int)nv_lastFindWasSuccessful { + #if defined(OBJC2_UNAVAILABLE) + NSNumber *success = [self valueForKey:@"lastFindWasSuccessful"]; + if (success) + return ([success boolValue] ? LAST_FIND_YES : LAST_FIND_NO); + #else + int i; Ivar ivar; //this might not work so well with Obj-C 2 @@ -24,7 +29,8 @@ - (int)lastFindWasSuccessful { return *lastFind ? LAST_FIND_YES : LAST_FIND_NO; } } - + #endif + NSLog(@"No lastFindWasSuccessful ivars found!"); return LAST_FIND_UNKNOWN; } diff --git a/Notality.icns b/Notality.icns old mode 100644 new mode 100755 diff --git a/Notation.freqorder b/Notation.freqorder old mode 100644 new mode 100755 diff --git a/Notation.launchorder b/Notation.launchorder old mode 100644 new mode 100755 diff --git a/Notation.xcodeproj/project.pbxproj b/Notation.xcodeproj/project.pbxproj old mode 100644 new mode 100755 index 3e02f29b..1a7103b0 --- a/Notation.xcodeproj/project.pbxproj +++ b/Notation.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 42; + objectVersion = 45; objects = { /* Begin PBXBuildFile section */ @@ -27,7 +27,6 @@ 2114C2A80958D24800614E74 /* hmacsha1.c in Sources */ = {isa = PBXBuildFile; fileRef = 2114C2A70958D24800614E74 /* hmacsha1.c */; }; 212089B10B0C24F500A15A69 /* AlienNoteImporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 212089B00B0C24F500A15A69 /* AlienNoteImporter.m */; }; 212089D80B0C2CA500A15A69 /* StickiesDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 212089D70B0C2CA500A15A69 /* StickiesDocument.m */; }; - 2127E80A0A86727C00F802AB /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2127E8080A86727C00F802AB /* MainMenu.nib */; }; 212850880B56E549005F6E34 /* CarbonErrorStrings.plist in Resources */ = {isa = PBXBuildFile; fileRef = 212850860B56E549005F6E34 /* CarbonErrorStrings.plist */; }; 212B84620978422300F3597F /* NSString_NV.m in Sources */ = {isa = PBXBuildFile; fileRef = 212B84610978422300F3597F /* NSString_NV.m */; }; 212DCA470A6AD28700F74E46 /* EncodingsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 212DCA460A6AD28700F74E46 /* EncodingsManager.m */; }; @@ -67,9 +66,10 @@ 217EB3CE0B0F62FB0041A8A9 /* NSTextFinder_LastFind.m in Sources */ = {isa = PBXBuildFile; fileRef = 217EB3CD0B0F62FB0041A8A9 /* NSTextFinder_LastFind.m */; }; 2181171309F311110020A252 /* DeletedNoteObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 2181171209F311110020A252 /* DeletedNoteObject.m */; }; 21813562105AF27400A0AE18 /* Acknowledgements.txt in Resources */ = {isa = PBXBuildFile; fileRef = 21813561105AF27400A0AE18 /* Acknowledgements.txt */; }; + 2182B39A106B2296008641E4 /* RBSplitSubview.m in Sources */ = {isa = PBXBuildFile; fileRef = 2182B396106B2296008641E4 /* RBSplitSubview.m */; }; + 2182B39B106B2296008641E4 /* RBSplitView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2182B398106B2296008641E4 /* RBSplitView.m */; }; + 2182B3C3106B2509008641E4 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2182B3C1106B2509008641E4 /* MainMenu.nib */; }; 218D43330AA2ABC600F36CCA /* NotesTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2191930209CFBEBD00586B15 /* NotesTableView.m */; }; - 2191858809BEAB6400586B15 /* RBSplitSubview.m in Sources */ = {isa = PBXBuildFile; fileRef = 2191858409BEAB6400586B15 /* RBSplitSubview.m */; }; - 2191858909BEAB6400586B15 /* RBSplitView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2191858609BEAB6400586B15 /* RBSplitView.m */; }; 21918FD009C49B2500586B15 /* EmptyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 21918FCE09C49B2400586B15 /* EmptyView.m */; }; 219190F109C4A60700586B15 /* DualField.m in Sources */ = {isa = PBXBuildFile; fileRef = 219190F009C4A60700586B15 /* DualField.m */; }; 2191926409C52A9200586B15 /* libcrypto.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2191926309C52A9100586B15 /* libcrypto.dylib */; }; @@ -162,7 +162,6 @@ 212089B00B0C24F500A15A69 /* AlienNoteImporter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AlienNoteImporter.m; sourceTree = ""; }; 212089D60B0C2CA500A15A69 /* StickiesDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StickiesDocument.h; sourceTree = ""; }; 212089D70B0C2CA500A15A69 /* StickiesDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StickiesDocument.m; sourceTree = ""; }; - 2127E8090A86727C00F802AB /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = ""; }; 212850870B56E549005F6E34 /* English */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; name = English; path = English.lproj/CarbonErrorStrings.plist; sourceTree = ""; }; 212B84600978422300F3597F /* NSString_NV.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSString_NV.h; sourceTree = ""; }; 212B84610978422300F3597F /* NSString_NV.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSString_NV.m; sourceTree = ""; }; @@ -226,11 +225,12 @@ 2181171209F311110020A252 /* DeletedNoteObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DeletedNoteObject.m; sourceTree = ""; }; 2181193909FA9CF90020A252 /* SynchronizedNoteProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SynchronizedNoteProtocol.h; sourceTree = ""; }; 21813561105AF27400A0AE18 /* Acknowledgements.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Acknowledgements.txt; sourceTree = ""; }; - 2191858309BEAB6400586B15 /* RBSplitSubview.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RBSplitSubview.h; path = RBSplitView/RBSplitSubview.h; sourceTree = ""; }; - 2191858409BEAB6400586B15 /* RBSplitSubview.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = RBSplitSubview.m; path = RBSplitView/RBSplitSubview.m; sourceTree = ""; }; - 2191858509BEAB6400586B15 /* RBSplitView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RBSplitView.h; path = RBSplitView/RBSplitView.h; sourceTree = ""; }; - 2191858609BEAB6400586B15 /* RBSplitView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = RBSplitView.m; path = RBSplitView/RBSplitView.m; sourceTree = ""; }; - 2191858709BEAB6400586B15 /* RBSplitViewPrivateDefines.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RBSplitViewPrivateDefines.h; path = RBSplitView/RBSplitViewPrivateDefines.h; sourceTree = ""; }; + 2182B395106B2296008641E4 /* RBSplitSubview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RBSplitSubview.h; path = RBSplitView/RBSplitSubview.h; sourceTree = ""; }; + 2182B396106B2296008641E4 /* RBSplitSubview.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RBSplitSubview.m; path = RBSplitView/RBSplitSubview.m; sourceTree = ""; }; + 2182B397106B2296008641E4 /* RBSplitView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RBSplitView.h; path = RBSplitView/RBSplitView.h; sourceTree = ""; }; + 2182B398106B2296008641E4 /* RBSplitView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RBSplitView.m; path = RBSplitView/RBSplitView.m; sourceTree = ""; }; + 2182B399106B2296008641E4 /* RBSplitViewPrivateDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RBSplitViewPrivateDefines.h; path = RBSplitView/RBSplitViewPrivateDefines.h; sourceTree = ""; }; + 2182B3C2106B2509008641E4 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = ""; }; 21918FCE09C49B2400586B15 /* EmptyView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = EmptyView.m; sourceTree = ""; }; 21918FCF09C49B2500586B15 /* EmptyView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = EmptyView.h; sourceTree = ""; }; 219190EF09C4A60600586B15 /* DualField.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DualField.h; sourceTree = ""; }; @@ -481,14 +481,14 @@ name = "Help Notes"; sourceTree = ""; }; - 2191857D09BEAB5300586B15 /* RBSplitView */ = { + 2182B38E106B2286008641E4 /* RBSplitView */ = { isa = PBXGroup; children = ( - 2191858309BEAB6400586B15 /* RBSplitSubview.h */, - 2191858409BEAB6400586B15 /* RBSplitSubview.m */, - 2191858509BEAB6400586B15 /* RBSplitView.h */, - 2191858609BEAB6400586B15 /* RBSplitView.m */, - 2191858709BEAB6400586B15 /* RBSplitViewPrivateDefines.h */, + 2182B395106B2296008641E4 /* RBSplitSubview.h */, + 2182B396106B2296008641E4 /* RBSplitSubview.m */, + 2182B397106B2296008641E4 /* RBSplitView.h */, + 2182B398106B2296008641E4 /* RBSplitView.m */, + 2182B399106B2296008641E4 /* RBSplitViewPrivateDefines.h */, ); name = RBSplitView; sourceTree = ""; @@ -577,8 +577,8 @@ 29B97315FDCFA39411CA2CEA /* Other Sources */ = { isa = PBXGroup; children = ( + 2182B38E106B2286008641E4 /* RBSplitView */, 21F1CD490B3A38CB001FB5F6 /* HotKeys */, - 2191857D09BEAB5300586B15 /* RBSplitView */, 211345A10B35D8340081B064 /* Crypto */, 32CA4F630368D1EE00C91783 /* Notation_Prefix.pch */, 29B97316FDCFA39411CA2CEA /* main.m */, @@ -603,7 +603,7 @@ 8D1107310486CEB800E47090 /* Info.plist */, 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, 212850860B56E549005F6E34 /* CarbonErrorStrings.plist */, - 2127E8080A86727C00F802AB /* MainMenu.nib */, + 2182B3C1106B2509008641E4 /* MainMenu.nib */, 212DCFF50A6E005000F74E46 /* DeletionManager.nib */, 212DCB2F0A6AE38500F74E46 /* EncodingsManager.nib */, 219195E409D3A20F00586B15 /* Preferences.nib */, @@ -642,7 +642,6 @@ 8D11072C0486CEB800E47090 /* Sources */, 8D11072E0486CEB800E47090 /* Frameworks */, 213FB6AD0B52E1B2004C74BD /* CopyFiles */, - 2146A4710BF221040094835F /* ShellScript */, ); buildRules = ( ); @@ -660,7 +659,7 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; buildConfigurationList = 212B842709780B5000F3597F /* Build configuration list for PBXProject "Notation" */; - compatibilityVersion = "Xcode 2.4"; + compatibilityVersion = "Xcode 3.1"; hasScannedForEncodings = 1; mainGroup = 29B97314FDCFA39411CA2CEA /* Notation */; projectDirPath = ""; @@ -689,7 +688,6 @@ 215DEE1309F1AA4C009A710B /* Editing.tiff in Resources */, 212DCB310A6AE38500F74E46 /* EncodingsManager.nib in Resources */, 212DCFF70A6E005000F74E46 /* DeletionManager.nib in Resources */, - 2127E80A0A86727C00F802AB /* MainMenu.nib in Resources */, 2144950F0ADC883100E2A2B6 /* PasswordAssistantButton.tif in Resources */, 214495100ADC883100E2A2B6 /* PasswordAssistantButtonPressed.tif in Resources */, 2144957A0ADCC06300E2A2B6 /* PassphrasePicker.nib in Resources */, @@ -712,27 +710,12 @@ 213621ED0B92413F008C0830 /* FindPanel.nib in Resources */, 214C6C59105445410085D386 /* Notality.icns in Resources */, 21813562105AF27400A0AE18 /* Acknowledgements.txt in Resources */, + 2182B3C3106B2509008641E4 /* MainMenu.nib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 2146A4710BF221040094835F /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = "/usr/bin/perl -w"; - shellScript = "# /usr/bin/perl -w\n#\n# Last updated: 21MAR06, Andy O'Meara and Rob Barris\n#\n# This is an Xcode post-build phase script for devs who sleep better at night knowing\n# that their deployment binaries are as stripped as possible. This makes life more difficult\n# for a hacker/cracker to locate sensitive code to trace, study, and/or extract.\n#\n# This script will execute only if the Xcode \"Deployment Postprocessing\" setting\n# is set (aka DEPLOYMENT_POSTPROCESSING).\n#\n# The downside to shipping a stripped binary is that your user's crash reports\n# will be useless unless you have a link map to convert code offsets (from a stack trace)\n# into proc names. To address this, this script moves your pre-stripped executable\n# to the build dir, appending \"_full\" to the filename, allowing you to retain it for\n# the day you need it in order to decipher a stack trace. You do this by using 'atos'\n# with the original generated binary (type 'man atos' for info).\n#\n# Recommended Xcode build settings:\n# Dead Code Stripping YES\n# Only Link In Essential Symbols NO\n# Deployment Postprocessing YES (this activates this script)\n# Strip Linked Product NO\n# Use Separate Strip NO\n# Strip Style All Symbols\n# Strip Debug Symbols During Copy NO\n# Preserve Private External Symbols NO\n# Separate PCH Symbols YES\n# Symbols Hidden By Default YES (Critical!)\n# Inline Functions Hidden YES\n#\n# Note that if you're building a dynamic library, you'll need to explicitly\n# declare any symbols that you want to be exported. See the following:\n# file:///Developer/ADC%20Reference%20Library/documentation/DeveloperTools/Conceptual/CppRuntimeEnv/Articles/SymbolVisibility.html\n#\n\nuse strict;\n\ndie \"$0: Must be run from Xcode\" unless $ENV{\"BUILT_PRODUCTS_DIR\"};\n\n# This script is activated via an Xcode env flag.\nif ( $ENV{DEPLOYMENT_POSTPROCESSING} ne \"YES\" ) {\n exit 0;\n}\n\nprint \"\\n\\n==================== Commencing external stripping phase...\\n\";\n \nmy $BINARY = \"$ENV{BUILT_PRODUCTS_DIR}/$ENV{WRAPPER_NAME}/Contents/MacOS/$ENV{EXECUTABLE_NAME}\";\nmy $BINARY_FULL = \"$ENV{BUILT_PRODUCTS_DIR}/$ENV{EXECUTABLE_NAME}_full\";\nmy $BINARY_i386 = \"${BINARY}_i386\";\nmy $BINARY_ppc = \"${BINARY}_ppc\";\n\n \n# Extract each arch into a \"thin\" binary for stripping\n`lipo \"$BINARY\" -thin ppc -output \"$BINARY_ppc\" `;\n`lipo \"$BINARY\" -thin i386 -output \"$BINARY_i386\"`;\n\n# Retain the orignal binary for QA and use with the util 'atos'\n`mv -f \"$BINARY\" \"$BINARY_FULL\"`;\n\n# Perform desired stripping on each thin binary. \n`strip -S -x -o \"${BINARY_ppc}_tmp\" -r \"$BINARY_ppc\" `;\n`strip -S -x -o \"${BINARY_i386}_tmp\" -r \"$BINARY_i386\"`;\n\n# We're now done with the original thin binaries, so chuck them.\n`rm -f \"$BINARY_ppc\" `;\n`rm -f \"$BINARY_i386\"`;\n\n# Make the new universal binary from our stripped thin pieces.\n`lipo -arch i386 \"${BINARY_i386}_tmp\" -arch ppc \"${BINARY_ppc}_tmp\" -create -output \"$BINARY\"`;\n\n# We're now done with the temp thin binaries, so chuck them.\n`rm -f \"${BINARY_ppc}_tmp\" `;\n`rm -f \"${BINARY_i386}_tmp\"`;\n\n\nprint \"\\n==================== External strip phase complete\\n\";\n\n\n#EOF\n"; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 8D11072C0486CEB800E47090 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -755,8 +738,6 @@ 2155DF44097C992800163A10 /* AttributedPlainText.m in Sources */, 21D60128098FDB46007440DF /* GlobalPrefs.m in Sources */, 21A73DC8099712A8009F8A6C /* WALController.m in Sources */, - 2191858809BEAB6400586B15 /* RBSplitSubview.m in Sources */, - 2191858909BEAB6400586B15 /* RBSplitView.m in Sources */, 21918FD009C49B2500586B15 /* EmptyView.m in Sources */, 219190F109C4A60700586B15 /* DualField.m in Sources */, 219192D409CFBC8800586B15 /* NoteAttributeColumn.m in Sources */, @@ -797,6 +778,8 @@ 217D02D60B77061E0004E02D /* BodyScroller.m in Sources */, 213621F20B92414F008C0830 /* MultiTextFinder.m in Sources */, 21469C8C0BEBA6A10094835F /* TemporaryFileCache.m in Sources */, + 2182B39A106B2296008641E4 /* RBSplitSubview.m in Sources */, + 2182B39B106B2296008641E4 /* RBSplitView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -867,14 +850,6 @@ name = Localizable.strings; sourceTree = ""; }; - 2127E8080A86727C00F802AB /* MainMenu.nib */ = { - isa = PBXVariantGroup; - children = ( - 2127E8090A86727C00F802AB /* English */, - ); - name = MainMenu.nib; - sourceTree = ""; - }; 212850860B56E549005F6E34 /* CarbonErrorStrings.plist */ = { isa = PBXVariantGroup; children = ( @@ -931,6 +906,14 @@ name = KeyDerivationManager.nib; sourceTree = ""; }; + 2182B3C1106B2509008641E4 /* MainMenu.nib */ = { + isa = PBXVariantGroup; + children = ( + 2182B3C2106B2509008641E4 /* English */, + ); + name = MainMenu.nib; + sourceTree = ""; + }; 219195E409D3A20F00586B15 /* Preferences.nib */ = { isa = PBXVariantGroup; children = ( @@ -985,10 +968,6 @@ 212B842409780B5000F3597F /* Development */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - ppc, - i386, - ); COPY_PHASE_STRIP = NO; DEAD_CODE_STRIPPING = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -1045,10 +1024,6 @@ 212B842509780B5000F3597F /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - ppc, - i386, - ); COPY_PHASE_STRIP = NO; DEPLOYMENT_POSTPROCESSING = YES; FRAMEWORK_SEARCH_PATHS = ( @@ -1086,9 +1061,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; LIBRARY_SEARCH_PATHS = "$(LIBRARY_SEARCH_PATHS)"; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; + ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = ""; PREBINDING = NO; PRODUCT_NAME = "Notational Velocity"; + "SDKROOT[arch=x86_64]" = macosx10.5; SECTORDER_FLAGS = ( "-sectorder", __TEXT, @@ -1106,10 +1084,6 @@ 212B842609780B5000F3597F /* Default */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - ppc, - i386, - ); FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", @@ -1157,6 +1131,7 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = ( + x86_64, ppc, i386, ); @@ -1165,12 +1140,16 @@ GCC_ENABLE_CPP_EXCEPTIONS = NO; GCC_ENABLE_CPP_RTTI = NO; GCC_THREADSAFE_STATICS = NO; + "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; GCC_WARN_SHADOW = YES; GCC_WARN_SIGN_COMPARE = YES; GCC_WARN_UNUSED_VALUE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.3; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + MACOSX_DEPLOYMENT_TARGET = 10.4; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx10.4; + "SDKROOT[arch=x86_64]" = macosx10.5; }; name = Development; }; @@ -1178,6 +1157,7 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = ( + x86_64, ppc, i386, ); @@ -1186,12 +1166,15 @@ GCC_ENABLE_CPP_EXCEPTIONS = NO; GCC_ENABLE_CPP_RTTI = NO; GCC_THREADSAFE_STATICS = NO; + "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; GCC_WARN_SHADOW = YES; GCC_WARN_SIGN_COMPARE = YES; GCC_WARN_UNUSED_VALUE = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.3; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; + SDKROOT = macosx10.4; + "SDKROOT[arch=x86_64]" = macosx10.5; }; name = Deployment; }; @@ -1199,6 +1182,7 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = ( + x86_64, ppc, i386, ); @@ -1207,12 +1191,15 @@ GCC_ENABLE_CPP_EXCEPTIONS = NO; GCC_ENABLE_CPP_RTTI = NO; GCC_THREADSAFE_STATICS = NO; + "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; GCC_WARN_SHADOW = YES; GCC_WARN_SIGN_COMPARE = YES; GCC_WARN_UNUSED_VALUE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.3; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + MACOSX_DEPLOYMENT_TARGET = 10.4; + "MACOSX_DEPLOYMENT_TARGET[arch=x86_64]" = 10.5; + SDKROOT = macosx10.4; + "SDKROOT[arch=x86_64]" = macosx10.5; }; name = Default; }; @@ -1222,22 +1209,22 @@ 212B842309780B5000F3597F /* Build configuration list for PBXNativeTarget "Notation" */ = { isa = XCConfigurationList; buildConfigurations = ( - 212B842409780B5000F3597F /* Development */, 212B842509780B5000F3597F /* Deployment */, + 212B842409780B5000F3597F /* Development */, 212B842609780B5000F3597F /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Deployment; }; 212B842709780B5000F3597F /* Build configuration list for PBXProject "Notation" */ = { isa = XCConfigurationList; buildConfigurations = ( - 212B842809780B5000F3597F /* Development */, 212B842909780B5000F3597F /* Deployment */, + 212B842809780B5000F3597F /* Development */, 212B842A09780B5000F3597F /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Deployment; }; /* End XCConfigurationList section */ }; diff --git a/Notation.xcodeproj/scrod.mode1 b/Notation.xcodeproj/scrod.mode1 old mode 100644 new mode 100755 diff --git a/Notation.xcodeproj/scrod.mode1v3 b/Notation.xcodeproj/scrod.mode1v3 old mode 100644 new mode 100755 index 7003face..7fc2aaf0 --- a/Notation.xcodeproj/scrod.mode1v3 +++ b/Notation.xcodeproj/scrod.mode1v3 @@ -193,31 +193,51 @@ Name Default Notifications - + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + + OpenEditors Content PBXProjectModuleGUID - 21B544E2105D901A002097C4 + 21313DEB106C9BFC00C8D785 PBXProjectModuleLabel - LinkingEditor.m + NoteObject.m PBXSplitModuleInNavigatorKey Split0 PBXProjectModuleGUID - 21B544E3105D901A002097C4 + 21313DEC106C9BFC00C8D785 PBXProjectModuleLabel - LinkingEditor.m + NoteObject.m _historyCapacity 0 bookmark - 2139CF5C105D986E00FD961B + 2170B4AE106D228100AF1CAC history - 21C8157C105D9679006479FC + 21313DED106C9BFC00C8D785 + 21313DF6106C9CFF00C8D785 SplitCount @@ -229,35 +249,36 @@ Geometry Frame - {{0, 20}, {987, 717}} + {{0, 20}, {1100, 702}} PBXModuleWindowStatusBarHidden2 RubberWindowFrame - 318 120 987 758 0 0 1440 878 + 526 435 1100 743 0 0 1920 1178 Content PBXProjectModuleGUID - 210092411059673F003BFE5E + 21313DDD106C9B2200C8D785 PBXProjectModuleLabel - NotationController.m + NoteObject.m PBXSplitModuleInNavigatorKey Split0 PBXProjectModuleGUID - 210092421059673F003BFE5E + 21313DDE106C9B2200C8D785 PBXProjectModuleLabel - NotationController.m + NoteObject.m _historyCapacity 0 bookmark - 2139CF5D105D986E00FD961B + 2170B4AF106D228100AF1CAC history - 21C8157D105D9679006479FC + 21313DDF106C9B2200C8D785 + 21313DF7106C9CFF00C8D785 SplitCount @@ -269,35 +290,35 @@ Geometry Frame - {{0, 20}, {966, 717}} + {{0, 20}, {1063, 704}} PBXModuleWindowStatusBarHidden2 RubberWindowFrame - 285 120 966 758 0 0 1440 878 + 277 433 1063 745 0 0 1920 1178 Content PBXProjectModuleGUID - 218134B0105AE47A00A0AE18 + 21313DC8106C97F100C8D785 PBXProjectModuleLabel - NotationFileManager.m + PrefsWindowController.m PBXSplitModuleInNavigatorKey Split0 PBXProjectModuleGUID - 218134B1105AE47A00A0AE18 + 21313DC9106C97F100C8D785 PBXProjectModuleLabel - NotationFileManager.m + PrefsWindowController.m _historyCapacity 0 bookmark - 2139CF5E105D986E00FD961B + 2170B4B0106D228100AF1CAC history - 21C8157E105D9679006479FC + 21313DF8106C9CFF00C8D785 SplitCount @@ -309,11 +330,51 @@ Geometry Frame - {{0, 20}, {1144, 717}} + {{0, 20}, {936, 704}} PBXModuleWindowStatusBarHidden2 RubberWindowFrame - 115 120 1144 758 0 0 1440 878 + 689 433 936 745 0 0 1920 1178 + + + + Content + + PBXProjectModuleGUID + 21ED6C73106C162D00D37194 + PBXProjectModuleLabel + Notation_Prefix.pch + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 21ED6C74106C162D00D37194 + PBXProjectModuleLabel + Notation_Prefix.pch + _historyCapacity + 0 + bookmark + 2170B4B1106D228100AF1CAC + history + + 21313DF9106C9CFF00C8D785 + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {775, 665}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 988 397 775 706 0 0 1920 1178 @@ -355,7 +416,6 @@ 1C37FBAC04509CD000000102 1C37FAAC04509CD000000102 - 1C08E77C0454961000C914BD 1C37FABC05509CD000000102 1C37FABC05539CD112110102 E2644B35053B69B200211256 @@ -373,7 +433,7 @@ PBXSmartGroupTreeModuleColumnWidthsKey - 337 + 270 PBXSmartGroupTreeModuleColumnsKey_v4 @@ -390,8 +450,8 @@ 2191930609CFBED200586B15 212089CF0B0C2BCF00A15A69 29B97315FDCFA39411CA2CEA + 2182B38E106B2286008641E4 21F1CD490B3A38CB001FB5F6 - 2191857D09BEAB5300586B15 211345A10B35D8340081B064 29B97317FDCFA39411CA2CEA 217DB1810B7CE5B9008CD564 @@ -409,13 +469,13 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 152 - 131 + 64 + 1 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 2070}, {337, 700}} + {{0, 0}, {270, 687}} PBXTopSmartGroupGIDs @@ -427,19 +487,19 @@ GeometryConfiguration Frame - {{0, 0}, {354, 718}} + {{0, 0}, {287, 705}} GroupTreeTableConfiguration MainColumn - 337 + 270 RubberWindowFrame - 45 119 359 759 0 0 1440 878 + 34 432 292 746 0 0 1920 1178 Module PBXSmartGroupTreeModule Proportion - 354pt + 287pt Dock @@ -450,7 +510,7 @@ PBXProjectModuleGUID 1CE0B20306471E060097A5F4 PBXProjectModuleLabel - AppController.m + NoteObject.h PBXSplitModuleInNavigatorKey Split0 @@ -458,78 +518,55 @@ PBXProjectModuleGUID 1CE0B20406471E060097A5F4 PBXProjectModuleLabel - AppController.m + NoteObject.h _historyCapacity 0 bookmark - 2139CF5B105D986E00FD961B + 2170B4AB106D228100AF1CAC history 21C61FAB10542D40004D5948 21C61FAC10542D40004D5948 21C61FAD10542D40004D5948 - 21C61FC410542EA3004D5948 - 21C61FD410542F10004D5948 21C61FEC10542FB9004D5948 21C61FED10542FB9004D5948 21C61FEE10542FB9004D5948 - 21C6206410543D7D004D5948 21C6206510543D7D004D5948 21C6206610543D7D004D5948 - 21C6206710543D7D004D5948 21C6206810543D7D004D5948 - 21C6206910543D7D004D5948 21C6206A10543D7D004D5948 21C6206B10543D7D004D5948 - 21C6206C10543D7D004D5948 - 21C6206D10543D7D004D5948 21C6206E10543D7D004D5948 - 21C6206F10543D7D004D5948 - 21C6207010543D7D004D5948 21C6207110543D7D004D5948 214C6C641054454C0085D386 214C6C651054454C0085D386 21B5447D105D7963002097C4 - 21B54535105D953C002097C4 - 21B54536105D953C002097C4 21B54537105D953C002097C4 2139CF51105D985D00FD961B - 2139CF52105D985D00FD961B - 2139CF53105D985D00FD961B - - prevStack - - 21C61FAF10542D40004D5948 - 21C61FB010542D40004D5948 - 21C61FB110542D40004D5948 - 21C61FC610542EA3004D5948 - 21C61FD710542F10004D5948 - 21C61FF010542FB9004D5948 - 21C61FF110542FB9004D5948 - 21C61FF210542FB9004D5948 - 21C6200B10542FD1004D5948 - 21C620151054311C004D5948 - 21C6207410543D7D004D5948 - 21C6207510543D7D004D5948 - 21C6207610543D7D004D5948 - 21C6207710543D7D004D5948 - 21C6207810543D7D004D5948 - 21C6207910543D7D004D5948 - 21C6207A10543D7D004D5948 - 21C6207B10543D7D004D5948 - 21C6207C10543D7D004D5948 - 21C6207D10543D7D004D5948 - 21C6207E10543D7D004D5948 - 21C6207F10543D7D004D5948 - 21C6208010543D7D004D5948 - 21C6208110543D7D004D5948 - 214C6C681054454C0085D386 - 21B5447F105D7963002097C4 - 21B5453A105D953C002097C4 - 21B5453B105D953C002097C4 - 21B5453D105D953C002097C4 - 2139CF54105D985D00FD961B - 2139CF55105D985D00FD961B + 2182B39D106B2359008641E4 + 2182B3BB106B24FA008641E4 + 2182B3D1106B2561008641E4 + 2182B429106B35CC008641E4 + 2182B42A106B35CC008641E4 + 2182B42B106B35CC008641E4 + 2182B42D106B35CC008641E4 + 2182B46E106B3E9E008641E4 + 2182B46F106B3E9E008641E4 + 2182B479106B3EDA008641E4 + 21313D28106C7F1700C8D785 + 21313D86106C908300C8D785 + 21313D87106C908300C8D785 + 21313DBE106C97F100C8D785 + 21313DC0106C97F100C8D785 + 21313DC1106C97F100C8D785 + 21313DC2106C97F100C8D785 + 21313DC3106C97F100C8D785 + 21313DC4106C97F100C8D785 + 21313DD5106C9B2200C8D785 + 21313DD6106C9B2200C8D785 + 21313DD7106C9B2200C8D785 + 21313DE8106C9BFC00C8D785 + 21313DF5106C9CFF00C8D785 SplitCount @@ -543,7 +580,7 @@ Frame {{0, 0}, {0, 0}} RubberWindowFrame - 45 119 359 759 0 0 1440 878 + 34 432 292 746 0 0 1920 1178 Module PBXNavigatorGroup @@ -561,14 +598,14 @@ GeometryConfiguration Frame - {{0, 5}, {0, 713}} + {{0, 5}, {0, 700}} RubberWindowFrame - 45 119 359 759 0 0 1440 878 + 34 432 292 746 0 0 1920 1178 Module XCDetailModule Proportion - 713pt + 700pt Proportion @@ -587,12 +624,14 @@ TableOfContents - 2139CF31105D96EA00FD961B + 2170B4AC106D228100AF1CAC 1CE0B1FE06471DED0097A5F4 - 2139CF32105D96EA00FD961B + 2170B4AD106D228100AF1CAC 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 + ToolbarConfigUserDefaultsMinorVersion + 2 ToolbarConfiguration xcode.toolbar.config.defaultV3 @@ -706,7 +745,7 @@ StatusbarIsVisible TimeStamp - 0.0 + 275587708.90259397 ToolbarDisplayMode 1 ToolbarIsVisible @@ -721,18 +760,15 @@ 5 WindowOrderList - 1C530D57069F1CE1000CFCEE - 1C78EAAD065D492600B07095 1CD10A99069EF8BA00B06720 - 21B54540105D953C002097C4 - 218134B0105AE47A00A0AE18 - 210092411059673F003BFE5E - 21C6208410543D7D004D5948 - /Users/scrod/Projects/Notation/Notation.xcodeproj - 21B544E2105D901A002097C4 + 21ED6C73106C162D00D37194 + 21313DC8106C97F100C8D785 + 21313DDD106C9B2200C8D785 + 21313DEB106C9BFC00C8D785 + /Users/scrod/Projects/Notation-64bit/Notation.xcodeproj WindowString - 45 119 359 759 0 0 1440 878 + 34 432 292 746 0 0 1920 1178 WindowToolsV3 @@ -748,36 +784,36 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID 1CD0528F0623707200166675 PBXProjectModuleLabel - + NotesTableView.m StatusBarVisibility GeometryConfiguration Frame - {{0, 0}, {759, 226}} + {{0, 0}, {740, 402}} RubberWindowFrame - 625 382 759 496 0 0 1440 878 + 623 133 740 745 0 0 1440 878 Module PBXNavigatorGroup Proportion - 226pt + 402pt - BecomeActive - ContentConfiguration PBXProjectModuleGUID XCMainBuildResultsModuleGUID PBXProjectModuleLabel - Build + Build Results XCBuildResultsTrigger_Collapse 1021 XCBuildResultsTrigger_Open @@ -786,18 +822,18 @@ GeometryConfiguration Frame - {{0, 231}, {759, 224}} + {{0, 407}, {740, 297}} RubberWindowFrame - 625 382 759 496 0 0 1440 878 + 623 133 740 745 0 0 1440 878 Module PBXBuildResultsModule Proportion - 224pt + 297pt Proportion - 455pt + 704pt Name @@ -811,14 +847,14 @@ TableOfContents 21C6208410543D7D004D5948 - 2139CF3B105D985900FD961B + 21313D0A106C7CD900C8D785 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID ToolbarConfiguration xcode.toolbar.config.buildV3 WindowString - 625 382 759 496 0 0 1440 878 + 623 133 740 745 0 0 1440 878 WindowToolGUID 21C6208410543D7D004D5948 WindowToolIsVisible @@ -905,10 +941,10 @@ Frame {{381, 0}, {775, 325}} RubberWindowFrame - 257 192 1156 650 0 0 1440 878 + 705 385 1156 650 0 0 1920 1178 RubberWindowFrame - 257 192 1156 650 0 0 1440 878 + 705 385 1156 650 0 0 1920 1178 Module PBXDebugSessionModule @@ -931,18 +967,18 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 2139CF3C105D985900FD961B + 2170B4B2106D228100AF1CAC 1C162984064C10D400B95A72 - 2139CF3D105D985900FD961B - 2139CF3E105D985900FD961B - 2139CF3F105D985900FD961B - 2139CF40105D985900FD961B - 2139CF41105D985900FD961B + 2170B4B3106D228100AF1CAC + 2170B4B4106D228100AF1CAC + 2170B4B5106D228100AF1CAC + 2170B4B6106D228100AF1CAC + 2170B4B7106D228100AF1CAC ToolbarConfiguration xcode.toolbar.config.debugV3 WindowString - 257 192 1156 650 0 0 1440 878 + 705 385 1156 650 0 0 1920 1178 WindowToolGUID 1CD10A99069EF8BA00B06720 WindowToolIsVisible @@ -971,25 +1007,25 @@ PBXProjectModuleGUID 1CDD528C0622207200134675 PBXProjectModuleLabel - LinkingEditor.m + AppController.m StatusBarVisibility GeometryConfiguration Frame - {{0, 0}, {1242, 488}} + {{0, 0}, {1173, 445}} RubberWindowFrame - 187 64 1242 814 0 0 1440 878 + 233 77 1173 801 0 0 1440 878 Module PBXNavigatorGroup Proportion - 1242pt + 1173pt Proportion - 488pt + 445pt ContentConfiguration @@ -1002,18 +1038,18 @@ GeometryConfiguration Frame - {{0, 493}, {1242, 280}} + {{0, 450}, {1173, 310}} RubberWindowFrame - 187 64 1242 814 0 0 1440 878 + 233 77 1173 801 0 0 1440 878 Module PBXProjectFindModule Proportion - 280pt + 310pt Proportion - 773pt + 760pt Name @@ -1027,13 +1063,13 @@ TableOfContents 1C530D57069F1CE1000CFCEE - 2139CF4E105D985900FD961B - 2139CF4F105D985900FD961B + 21313D19106C7D3800C8D785 + 21313D1A106C7D3800C8D785 1CDD528C0622207200134675 1CD0528E0623707200166675 WindowString - 187 64 1242 814 0 0 1440 878 + 233 77 1173 801 0 0 1440 878 WindowToolGUID 1C530D57069F1CE1000CFCEE WindowToolIsVisible @@ -1058,6 +1094,8 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID @@ -1070,7 +1108,7 @@ Frame {{0, 0}, {928, 577}} RubberWindowFrame - 194 260 928 618 0 0 1440 878 + 429 260 928 618 0 0 1440 878 Module PBXDebugCLIModule @@ -1093,17 +1131,17 @@ TableOfContents 1C78EAAD065D492600B07095 - 2139CF50105D985900FD961B + 21313D27106C7F1600C8D785 1C78EAAC065D492600B07095 ToolbarConfiguration xcode.toolbar.config.consoleV3 WindowString - 194 260 928 618 0 0 1440 878 + 429 260 928 618 0 0 1440 878 WindowToolGUID 1C78EAAD065D492600B07095 WindowToolIsVisible - + Identifier diff --git a/Notation.xcodeproj/scrod.pbxuser b/Notation.xcodeproj/scrod.pbxuser old mode 100644 new mode 100755 index 7539febe..cf72b2e4 --- a/Notation.xcodeproj/scrod.pbxuser +++ b/Notation.xcodeproj/scrod.pbxuser @@ -33,8 +33,9 @@ }; 2110BADD0B640D2100F5C52E /* BookmarksController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {771, 1400}}"; - sepNavSelRange = "{531, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {861, 1287}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{698, 1240}"; sepNavVisRect = "{{0, 0}, {771, 748}}"; sepNavWindowFrame = "{{539, 181}, {810, 877}}"; }; @@ -86,18 +87,18 @@ }; 211344440B354E000081B064 /* idea_ossl.c */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {420, 5320}}"; - sepNavSelRange = "{7795, 19}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {679, 5239}}"; + sepNavSelRange = "{8704, 0}"; + sepNavVisRange = "{8302, 420}"; sepNavVisRect = "{{0, 0}, {728, 635}}"; sepNavWindowFrame = "{{61, 114}, {767, 764}}"; }; }; 211345A90B35D8540081B064 /* broken_md5.c */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {24, 3612}}"; + sepNavIntBoundsRect = "{{0, 0}, {679, 3302}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 0}"; + sepNavVisRange = "{0, 1043}"; sepNavVisRect = "{{0, 0}, {724, 671}}"; sepNavWindowFrame = "{{84, 78}, {763, 800}}"; }; @@ -132,7 +133,7 @@ argumentStrings = ( ); autoAttachOnCrash = 1; - breakpointsEnabled = 0; + breakpointsEnabled = 1; configStateDict = { "PBXLSLaunchAction-0" = { PBXLSLaunchAction = 0; @@ -194,6 +195,9 @@ scmConfiguration = { CVSToolPath = /usr/bin/ocvs; CVSUseSSH = YES; + repositoryNamesForRoots = { + "" = ""; + }; }; scmType = scm.cvs; }; @@ -203,81 +207,81 @@ }; 2114C11409575BD400614E74 /* AppController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {546, 1078}}"; - sepNavSelRange = "{1226, 0}"; - sepNavVisRange = "{781, 1151}"; + sepNavIntBoundsRect = "{{0, 0}, {1112, 1014}}"; + sepNavSelRange = "{678, 17}"; + sepNavVisRange = "{423, 968}"; sepNavVisRect = "{{0, 38}, {566, 526}}"; - sepNavWindowFrame = "{{1032, 51}, {605, 656}}"; + sepNavWindowFrame = "{{835, 77}, {605, 656}}"; }; }; 2114C11509575BD400614E74 /* AppController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {672, 18284}}"; - sepNavSelRange = "{28418, 14}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {1209, 16744}}"; + sepNavSelRange = "{19903, 0}"; + sepNavVisRange = "{18756, 1188}"; sepNavVisRect = "{{0, 15945}, {1000, 995}}"; - sepNavWindowFrame = "{{375, 97}, {1351, 1081}}"; + sepNavWindowFrame = "{{89, 77}, {1351, 801}}"; }; }; 2114C13D0957732800614E74 /* NotationController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {708, 2674}}"; - sepNavSelRange = "{1657, 45}"; - sepNavVisRange = "{818, 1355}"; + sepNavIntBoundsRect = "{{0, 0}, {1112, 2327}}"; + sepNavSelRange = "{4204, 23}"; + sepNavVisRange = "{3620, 1502}"; sepNavVisRect = "{{0, 637}, {619, 618}}"; - sepNavWindowFrame = "{{299, 65}, {658, 747}}"; + sepNavWindowFrame = "{{198, 83}, {966, 795}}"; }; }; 2114C13E0957732800614E74 /* NotationController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {984, 21756}}"; - sepNavSelRange = "{7099, 0}"; - sepNavVisRange = "{6382, 1994}"; + sepNavIntBoundsRect = "{{0, 0}, {1244, 21099}}"; + sepNavSelRange = "{48171, 0}"; + sepNavVisRange = "{49697, 1761}"; sepNavVisRect = "{{0, 17808}, {927, 898}}"; - sepNavWindowFrame = "{{285, 64}, {966, 814}}"; + sepNavWindowFrame = "{{198, 83}, {966, 795}}"; }; }; 2114C1440957733200614E74 /* NoteObject.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {982, 2534}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 800}"; + sepNavIntBoundsRect = "{{0, 0}, {24, 2478}}"; + sepNavSelRange = "{288, 0}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 1495}, {708, 899}}"; sepNavWindowFrame = "{{252, 0}, {747, 1028}}"; }; }; 2114C1450957733200614E74 /* NoteObject.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1181, 17990}}"; - sepNavSelRange = "{26691, 0}"; - sepNavVisRange = "{26233, 1028}"; + sepNavIntBoundsRect = "{{0, 0}, {1004, 18788}}"; + sepNavSelRange = "{35593, 27}"; + sepNavVisRange = "{34847, 1559}"; sepNavVisRect = "{{0, 1728}, {1024, 899}}"; - sepNavWindowFrame = "{{122, 64}, {1063, 814}}"; + sepNavWindowFrame = "{{122, 77}, {1063, 801}}"; }; }; 2114C23B095883A600614E74 /* NSData_transformations.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {766, 686}}"; - sepNavSelRange = "{341, 0}"; - sepNavVisRange = "{0, 1393}"; + sepNavIntBoundsRect = "{{0, 0}, {628, 598}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 479}, {718, 206}}"; sepNavWindowFrame = "{{571, 64}, {825, 814}}"; }; }; 2114C23C095883A600614E74 /* NSData_transformations.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1181, 6776}}"; - sepNavSelRange = "{5455, 0}"; - sepNavVisRange = "{4903, 1062}"; + sepNavIntBoundsRect = "{{0, 0}, {1118, 6487}}"; + sepNavSelRange = "{8861, 0}"; + sepNavVisRange = "{8361, 1356}"; sepNavVisRect = "{{0, 2346}, {801, 615}}"; - sepNavWindowFrame = "{{526, 134}, {840, 744}}"; + sepNavWindowFrame = "{{546, 134}, {840, 744}}"; }; }; 2114C25A095885C800614E74 /* English */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1860, 6258}}"; - sepNavSelRange = "{16663, 0}"; - sepNavVisRange = "{0, 1591}"; + sepNavIntBoundsRect = "{{0, 0}, {1678, 5837}}"; + sepNavSelRange = "{14825, 0}"; + sepNavVisRange = "{14112, 1622}"; sepNavVisRect = "{{0, 2894}, {1160, 752}}"; sepNavWindowFrame = "{{208, 64}, {1199, 814}}"; }; @@ -328,11 +332,11 @@ }; 212089B00B0C24F500A15A69 /* AlienNoteImporter.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1181, 7420}}"; - sepNavSelRange = "{1968, 73}"; - sepNavVisRange = "{1265, 1737}"; + sepNavIntBoundsRect = "{{0, 0}, {1237, 6695}}"; + sepNavSelRange = "{1373, 0}"; + sepNavVisRange = "{0, 1770}"; sepNavVisRect = "{{0, 4774}, {718, 99}}"; - sepNavWindowFrame = "{{180, 64}, {1151, 814}}"; + sepNavWindowFrame = "{{139, 77}, {1151, 801}}"; }; }; 212089D60B0C2CA500A15A69 /* StickiesDocument.h */ = { @@ -357,7 +361,7 @@ sepNavIntBoundsRect = "{{0, 0}, {838, 2310}}"; sepNavSelRange = "{2304, 0}"; sepNavVisRect = "{{0, 1411}, {838, 899}}"; - sepNavWindowFrame = "{{462, 150}, {877, 1028}}"; + sepNavWindowFrame = "{{462, 71}, {877, 807}}"; }; }; 212B84600978422300F3597F /* NSString_NV.h */ = { @@ -371,12 +375,12 @@ }; 212B84610978422300F3597F /* NSString_NV.m */ = { uiCtxt = { - sepNavFolds = "{\n c = (\n {\n l = \"CFComparatorFunction comparator\";\n r = \"{6602, 35}\";\n s = 1;\n },\n {\n l = \"void * context\";\n r = \"{6638, 18}\";\n s = 1;\n }\n );\n r = \"{0, 23682}\";\n s = 0;\n}"; - sepNavIntBoundsRect = "{{0, 0}, {1062, 8890}}"; - sepNavSelRange = "{23329, 0}"; - sepNavVisRange = "{21826, 1805}"; + sepNavFolds = "{\n c = (\n {\n l = \"CFComparatorFunction comparator\";\n r = \"{6620, 35}\";\n s = 1;\n },\n {\n l = \"void * context\";\n r = \"{6656, 18}\";\n s = 1;\n }\n );\n r = \"{0, 23796}\";\n s = 0;\n}"; + sepNavIntBoundsRect = "{{0, 0}, {1237, 8164}}"; + sepNavSelRange = "{21259, 27}"; + sepNavVisRange = "{21199, 2247}"; sepNavVisRect = "{{0, 3436}, {989, 899}}"; - sepNavWindowFrame = "{{146, 64}, {1028, 814}}"; + sepNavWindowFrame = "{{337, 77}, {1028, 801}}"; }; }; 212DCA450A6AD28700F74E46 /* EncodingsManager.h */ = { @@ -390,9 +394,9 @@ }; 212DCA460A6AD28700F74E46 /* EncodingsManager.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1320, 4074}}"; - sepNavSelRange = "{7567, 0}"; - sepNavVisRange = "{7324, 1931}"; + sepNavIntBoundsRect = "{{0, 0}, {1538, 3809}}"; + sepNavSelRange = "{9848, 2}"; + sepNavVisRange = "{8530, 1922}"; sepNavVisRect = "{{0, 3637}, {727, 244}}"; sepNavWindowFrame = "{{299, 64}, {1224, 814}}"; }; @@ -408,13 +412,238 @@ }; 212DCF600A6DEECB00F74E46 /* DeletionManager.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {174, 2884}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {1112, 2782}}"; + sepNavSelRange = "{1318, 12}"; + sepNavVisRange = "{882, 809}"; sepNavVisRect = "{{0, 2014}, {866, 898}}"; sepNavWindowFrame = "{{282, 151}, {905, 1027}}"; }; }; + 21313D28106C7F1700C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 21A6E6FC0974204F008436A9 /* LabelsListController.m */; + name = "LabelsListController.m: 17"; + rLen = 0; + rLoc = 305; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313D86106C908300C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 212B84610978422300F3597F /* NSString_NV.m */; + name = "NSString_NV.m: 402"; + rLen = 0; + rLoc = 15145; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313D87106C908300C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 219588D00961D7F200972B8C /* LinkingEditor.h */; + name = "LinkingEditor.h: 51"; + rLen = 0; + rLoc = 1500; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313DB8106C978100C8D785 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 2191982109D607C600586B15 /* PrefsWindowController.m */; + }; + 21313DBE106C97F100C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 219588D10961D7F200972B8C /* LinkingEditor.m */; + name = "LinkingEditor.m: 956"; + rLen = 5; + rLoc = 36176; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313DC0106C97F100C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 219FD3140B2CC655004E132B /* LinkingEditor_Indentation.h */; + name = "LinkingEditor_Indentation.h: 17"; + rLen = 0; + rLoc = 333; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313DC1106C97F100C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 219190EF09C4A60600586B15 /* DualField.h */; + name = "DualField.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313DC2106C97F100C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 219192D309CFBC8700586B15 /* NoteAttributeColumn.m */; + name = "NoteAttributeColumn.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313DC3106C97F100C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 219190F009C4A60700586B15 /* DualField.m */; + name = "DualField.m: 194"; + rLen = 18; + rLoc = 6017; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313DC4106C97F100C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2191982109D607C600586B15 /* PrefsWindowController.m */; + name = "PrefsWindowController.m: 432"; + rLen = 0; + rLoc = 16297; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313DD5106C9B2200C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 21A2F95C09DF3FDC001AF0B5 /* NotationPrefs.h */; + name = "NotationPrefs.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313DD6106C9B2200C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2191930109CFBEBD00586B15 /* NotesTableView.h */; + name = "NotesTableView.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313DD7106C9B2200C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C1450957733200614E74 /* NoteObject.m */; + name = "NoteObject.m: 493"; + rLen = 0; + rLoc = 17658; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313DDF106C9B2200C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C1440957733200614E74 /* NoteObject.h */; + name = "NoteObject.h: 16"; + rLen = 0; + rLoc = 288; + rType = 0; + vrLen = 1261; + vrLoc = 0; + }; + 21313DE0106C9B2200C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C1450957733200614E74 /* NoteObject.m */; + name = "NoteObject.m: 34"; + rLen = 20; + rLoc = 712; + rType = 0; + vrLen = 1423; + vrLoc = 144; + }; + 21313DE8106C9BFC00C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C11509575BD400614E74 /* AppController.m */; + name = "AppController.m: 303"; + rLen = 9; + rLoc = 10826; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313DE9106C9BFC00C8D785 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 2114C1440957733200614E74 /* NoteObject.h */; + }; + 21313DED106C9BFC00C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C1440957733200614E74 /* NoteObject.h */; + name = "NoteObject.h: 16"; + rLen = 0; + rLoc = 288; + rType = 0; + vrLen = 1362; + vrLoc = 0; + }; + 21313DEE106C9BFC00C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C1450957733200614E74 /* NoteObject.m */; + rLen = 1; + rLoc = 1017; + rType = 1; + }; + 21313DF5106C9CFF00C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C1440957733200614E74 /* NoteObject.h */; + name = "NoteObject.h: 16"; + rLen = 0; + rLoc = 288; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21313DF6106C9CFF00C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C1450957733200614E74 /* NoteObject.m */; + name = "NoteObject.m: 987"; + rLen = 0; + rLoc = 34099; + rType = 0; + vrLen = 1519; + vrLoc = 33280; + }; + 21313DF7106C9CFF00C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C1450957733200614E74 /* NoteObject.m */; + name = "NoteObject.m: 1036"; + rLen = 27; + rLoc = 35593; + rType = 0; + vrLen = 1596; + vrLoc = 34847; + }; + 21313DF8106C9CFF00C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2191982109D607C600586B15 /* PrefsWindowController.m */; + name = "PrefsWindowController.m: 217"; + rLen = 0; + rLoc = 7900; + rType = 0; + vrLen = 1996; + vrLoc = 6770; + }; + 21313DF9106C9CFF00C8D785 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 32CA4F630368D1EE00C91783 /* Notation_Prefix.pch */; + name = "Notation_Prefix.pch: 67"; + rLen = 0; + rLoc = 1677; + rType = 0; + vrLen = 1371; + vrLoc = 500; + }; 213621EF0B92414F008C0830 /* MultiTextFinder.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {138, 392}}"; @@ -426,8 +655,9 @@ }; 213621F00B92414F008C0830 /* MultiTextFinder.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1004, 2772}}"; - sepNavSelRange = "{4941, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {782, 2600}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 514}"; sepNavVisRect = "{{0, 2114}, {718, 99}}"; sepNavWindowFrame = "{{317, 179}, {915, 999}}"; }; @@ -460,87 +690,6 @@ vrLen = 0; vrLoc = 0; }; - 2139CF52105D985D00FD961B /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D1107310486CEB800E47090 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - CFBundleGetInfoString, - ); - name = /Users/scrod/Projects/Notation/Info.plist; - rLen = 0; - rLoc = 2147483647; - }; - 2139CF53105D985D00FD961B /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2114C11509575BD400614E74 /* AppController.m */; - rLen = 14; - rLoc = 28418; - rType = 0; - }; - 2139CF54105D985D00FD961B /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 089C165DFE840E0CC02AAC07 /* English */; - name = "InfoPlist.strings: 3"; - rLen = 0; - rLoc = 82; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 2139CF55105D985D00FD961B /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D1107310486CEB800E47090 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - CFBundleGetInfoString, - ); - name = /Users/scrod/Projects/Notation/Info.plist; - rLen = 0; - rLoc = 2147483647; - }; - 2139CF5B105D986E00FD961B /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2114C11509575BD400614E74 /* AppController.m */; - name = "AppController.m: 716"; - rLen = 14; - rLoc = 28418; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 2139CF5C105D986E00FD961B /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 219588D10961D7F200972B8C /* LinkingEditor.m */; - name = "LinkingEditor.m: 770"; - rLen = 0; - rLoc = 29121; - rType = 0; - vrLen = 1314; - vrLoc = 28397; - }; - 2139CF5D105D986E00FD961B /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2114C13E0957732800614E74 /* NotationController.m */; - name = "NotationController.m: 246"; - rLen = 0; - rLoc = 7099; - rType = 0; - vrLen = 1994; - vrLoc = 6382; - }; - 2139CF5E105D986E00FD961B /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 217CEBA209E9885500DF0E09 /* NotationFileManager.m */; - name = "NotationFileManager.m: 167"; - rLen = 16; - rLoc = 5277; - rType = 0; - vrLen = 2001; - vrLoc = 4087; - }; 213FAD510B3C6B52004C74BD /* FSExchangeObjectsCompat.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {30, 210}}"; @@ -552,9 +701,9 @@ }; 213FAD520B3C6B52004C74BD /* FSExchangeObjectsCompat.c */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {186, 4298}}"; - sepNavSelRange = "{56, 0}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {1112, 3848}}"; + sepNavSelRange = "{11120, 4}"; + sepNavVisRange = "{10252, 961}"; sepNavVisRect = "{{0, 623}, {883, 899}}"; sepNavWindowFrame = "{{598, 62}, {922, 1028}}"; }; @@ -624,10 +773,6 @@ isa = PBXBookmark; fRef = 215DEE1209F1AA4C009A710B /* Editing.tiff */; }; - 214C6C681054454C0085D386 /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 215DEE1209F1AA4C009A710B /* Editing.tiff */; - }; 21544FBF0B06332600C0D1D5 /* KeyDerivationManager.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {907, 888}}"; @@ -672,7 +817,7 @@ }; 2155DEA4097B5F0300163A10 /* BufferUtils.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {24, 434}}"; + sepNavIntBoundsRect = "{{0, 0}, {26, 403}}"; sepNavSelRange = "{0, 0}"; sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 307}, {718, 99}}"; @@ -681,9 +826,9 @@ }; 2155DEA5097B5F0300163A10 /* BufferUtils.c */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {982, 4648}}"; - sepNavSelRange = "{206, 20}"; - sepNavVisRange = "{0, 823}"; + sepNavIntBoundsRect = "{{0, 0}, {985, 4004}}"; + sepNavSelRange = "{5170, 0}"; + sepNavVisRange = "{4764, 811}"; sepNavVisRect = "{{0, 52}, {985, 891}}"; sepNavWindowFrame = "{{468, 64}, {1024, 814}}"; }; @@ -698,9 +843,9 @@ }; 2155DF43097C992800163A10 /* AttributedPlainText.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {12, 2380}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {1112, 3874}}"; + sepNavSelRange = "{7059, 0}"; + sepNavVisRange = "{6964, 1203}"; sepNavVisRect = "{{20, 1404}, {1002, 483}}"; sepNavWindowFrame = "{{240, 64}, {1176, 814}}"; }; @@ -731,10 +876,11 @@ }; 21582DC40B73F59A00711663 /* BookmarksController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1256, 7070}}"; - sepNavSelRange = "{12691, 2}"; + sepNavIntBoundsRect = "{{0, 0}, {12, 6591}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 5360}, {881, 970}}"; - sepNavWindowFrame = "{{148, -115}, {920, 1099}}"; + sepNavWindowFrame = "{{148, 77}, {920, 801}}"; }; }; 215DE83609ECC4FE009A710B /* HeaderViewWIthMenu.h */ = { @@ -760,35 +906,88 @@ }; 2168EC5109E33B0300778D02 /* FrozenNotation.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {751, 898}}"; - sepNavSelRange = "{468, 28}"; + sepNavIntBoundsRect = "{{0, 0}, {26, 416}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 0}, {751, 898}}"; - sepNavWindowFrame = "{{794, 1}, {790, 1027}}"; + sepNavWindowFrame = "{{650, 71}, {790, 807}}"; }; }; 2168EC5209E33B0300778D02 /* FrozenNotation.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {860, 2380}}"; - sepNavSelRange = "{2001, 8}"; + sepNavIntBoundsRect = "{{0, 0}, {12, 3052}}"; + sepNavSelRange = "{631, 31}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 1481}, {856, 899}}"; - sepNavWindowFrame = "{{212, 0}, {895, 1028}}"; + sepNavWindowFrame = "{{212, 73}, {895, 805}}"; }; }; + 2170B4AB106D228100AF1CAC /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C1440957733200614E74 /* NoteObject.h */; + name = "NoteObject.h: 16"; + rLen = 0; + rLoc = 288; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 2170B4AE106D228100AF1CAC /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C1450957733200614E74 /* NoteObject.m */; + name = "NoteObject.m: 987"; + rLen = 0; + rLoc = 34099; + rType = 0; + vrLen = 1366; + vrLoc = 33433; + }; + 2170B4AF106D228100AF1CAC /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C1450957733200614E74 /* NoteObject.m */; + name = "NoteObject.m: 1036"; + rLen = 27; + rLoc = 35593; + rType = 0; + vrLen = 1559; + vrLoc = 34847; + }; + 2170B4B0106D228100AF1CAC /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2191982109D607C600586B15 /* PrefsWindowController.m */; + name = "PrefsWindowController.m: 217"; + rLen = 0; + rLoc = 7900; + rType = 0; + vrLen = 1902; + vrLoc = 6864; + }; + 2170B4B1106D228100AF1CAC /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 32CA4F630368D1EE00C91783 /* Notation_Prefix.pch */; + name = "Notation_Prefix.pch: 67"; + rLen = 0; + rLoc = 1677; + rType = 0; + vrLen = 1341; + vrLoc = 530; + }; 217CEBA109E9885500DF0E09 /* NotationFileManager.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {839, 709}}"; - sepNavSelRange = "{586, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {819, 726}}"; + sepNavSelRange = "{2172, 0}"; + sepNavVisRange = "{0, 2283}"; sepNavVisRect = "{{0, 0}, {839, 709}}"; - sepNavWindowFrame = "{{1045, 64}, {878, 838}}"; + sepNavWindowFrame = "{{435, 159}, {878, 838}}"; }; }; 217CEBA209E9885500DF0E09 /* NotationFileManager.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1085, 7952}}"; - sepNavSelRange = "{5277, 16}"; - sepNavVisRange = "{4087, 2001}"; + sepNavIntBoundsRect = "{{0, 0}, {1181, 7761}}"; + sepNavSelRange = "{4528, 0}"; + sepNavVisRange = "{3842, 1485}"; sepNavVisRect = "{{0, 1987}, {1002, 483}}"; - sepNavWindowFrame = "{{115, 64}, {1144, 814}}"; + sepNavWindowFrame = "{{806, 159}, {982, 1019}}"; }; }; 217D02D30B77061E0004E02D /* BodyScroller.h */ = { @@ -825,9 +1024,9 @@ }; 217D4B570A61F42700887100 /* NSTextFinder.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1036, 952}}"; + sepNavIntBoundsRect = "{{0, 0}, {12, 884}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{525, 1345}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 335}, {1056, 617}}"; sepNavWindowFrame = "{{216, 132}, {1095, 746}}"; }; @@ -842,16 +1041,16 @@ }; 217EB3CD0B0F62FB0041A8A9 /* NSTextFinder_LastFind.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {711, 618}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 642}"; + sepNavIntBoundsRect = "{{0, 0}, {711, 634}}"; + sepNavSelRange = "{185, 0}"; + sepNavVisRange = "{0, 856}"; sepNavVisRect = "{{0, 0}, {731, 617}}"; sepNavWindowFrame = "{{277, 132}, {770, 746}}"; }; }; 2181171109F311110020A252 /* DeletedNoteObject.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {24, 434}}"; + sepNavIntBoundsRect = "{{0, 0}, {26, 403}}"; sepNavSelRange = "{0, 0}"; sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 117}, {739, 289}}"; @@ -860,17 +1059,18 @@ }; 2181171209F311110020A252 /* DeletedNoteObject.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {881, 784}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 1428}"; + sepNavIntBoundsRect = "{{0, 0}, {922, 871}}"; + sepNavSelRange = "{620, 0}"; + sepNavVisRange = "{0, 1888}"; sepNavVisRect = "{{0, 509}, {739, 289}}"; - sepNavWindowFrame = "{{452, 64}, {940, 814}}"; + sepNavWindowFrame = "{{226, 77}, {940, 801}}"; }; }; 2181193909FA9CF90020A252 /* SynchronizedNoteProtocol.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1158, 895}}"; - sepNavSelRange = "{326, 12}"; + sepNavIntBoundsRect = "{{0, 0}, {26, 273}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 0}, {1158, 895}}"; sepNavWindowFrame = "{{389, 4}, {1197, 1024}}"; }; @@ -883,68 +1083,143 @@ sepNavWindowFrame = "{{15, 92}, {1351, 1081}}"; }; }; - 2191858309BEAB6400586B15 /* RBSplitSubview.h */ = { + 2182B395106B2296008641E4 /* RBSplitSubview.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {12, 1442}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 2054}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 0}"; - sepNavVisRect = "{{0, 0}, {772, 540}}"; - sepNavWindowFrame = "{{138, 116}, {811, 669}}"; + sepNavVisRange = "{0, 376}"; }; }; - 2191858409BEAB6400586B15 /* RBSplitSubview.m */ = { + 2182B396106B2296008641E4 /* RBSplitSubview.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {752, 13118}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 1242}"; - sepNavVisRect = "{{0, 5190}, {929, 806}}"; - sepNavWindowFrame = "{{256, 93}, {968, 935}}"; + sepNavIntBoundsRect = "{{0, 0}, {1416, 12670}}"; + sepNavSelRange = "{24114, 16}"; + sepNavVisRange = "{23175, 2100}"; + sepNavWindowFrame = "{{47, 132}, {1086, 807}}"; }; }; - 2191858509BEAB6400586B15 /* RBSplitView.h */ = { + 2182B398106B2296008641E4 /* RBSplitView.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1154, 3164}}"; - sepNavSelRange = "{8917, 0}"; - sepNavVisRect = "{{0, 2284}, {880, 616}}"; - sepNavWindowFrame = "{{557, 70}, {919, 746}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 22685}}"; + sepNavSelRange = "{63248, 0}"; + sepNavVisRange = "{62932, 855}"; + sepNavWindowFrame = "{{19, 133}, {1051, 801}}"; }; }; - 2191858609BEAB6400586B15 /* RBSplitView.m */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1472, 24360}}"; - sepNavSelRange = "{53597, 7}"; - sepNavVisRect = "{{0, 20507}, {727, 244}}"; - sepNavWindowFrame = "{{763, 1}, {910, 1027}}"; - }; + 2182B39D106B2359008641E4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 21F1CD680B3A38DB001FB5F6 /* PTKeyBroadcaster.h */; + name = "PTKeyBroadcaster.h: 4"; + rLen = 0; + rLoc = 40; + rType = 0; + vrLen = 237; + vrLoc = 0; }; - 2191858709BEAB6400586B15 /* RBSplitViewPrivateDefines.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {980, 1372}}"; - sepNavSelRange = "{1609, 0}"; - sepNavVisRect = "{{0, 0}, {802, 710}}"; - sepNavWindowFrame = "{{15, 183}, {841, 840}}"; - }; + 2182B3BB106B24FA008641E4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2182B395106B2296008641E4 /* RBSplitSubview.h */; + name = "RBSplitSubview.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 376; + vrLoc = 0; }; - 21918FCE09C49B2400586B15 /* EmptyView.m */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {138, 672}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 0}"; - sepNavVisRect = "{{0, 252}, {955, 211}}"; - sepNavWindowFrame = "{{231, 191}, {811, 668}}"; - }; + 2182B3D1106B2561008641E4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 213621F00B92414F008C0830 /* MultiTextFinder.m */; + name = "MultiTextFinder.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 514; + vrLoc = 0; }; - 21918FCF09C49B2500586B15 /* EmptyView.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {772, 540}}"; - sepNavSelRange = "{0, 0}"; + 2182B429106B35CC008641E4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2181171109F311110020A252 /* DeletedNoteObject.h */; + name = "DeletedNoteObject.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 2182B42A106B35CC008641E4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2181193909FA9CF90020A252 /* SynchronizedNoteProtocol.h */; + name = "SynchronizedNoteProtocol.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 2182B42B106B35CC008641E4 /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 215DEA4609EF6446009A710B /* Notes.tiff */; + }; + 2182B42D106B35CC008641E4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 21F1CD6C0B3A38DB001FB5F6 /* PTKeyComboPanel.m */; + name = "PTKeyComboPanel.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 2182B46E106B3E9E008641E4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2155DEA4097B5F0300163A10 /* BufferUtils.h */; + name = "BufferUtils.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 2182B46F106B3E9E008641E4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2114C23B095883A600614E74 /* NSData_transformations.h */; + name = "NSData_transformations.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 2182B479106B3EDA008641E4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 21A6E6FB0974204F008436A9 /* LabelsListController.h */; + name = "LabelsListController.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 21918FCE09C49B2400586B15 /* EmptyView.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {138, 672}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 0}"; + sepNavVisRect = "{{0, 252}, {955, 211}}"; + sepNavWindowFrame = "{{231, 191}, {811, 668}}"; + }; + }; + 21918FCF09C49B2500586B15 /* EmptyView.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {772, 540}}"; + sepNavSelRange = "{0, 0}"; sepNavVisRect = "{{0, 0}, {772, 540}}"; sepNavWindowFrame = "{{15, 72}, {811, 669}}"; }; }; 219190EF09C4A60600586B15 /* DualField.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {12, 182}}"; + sepNavIntBoundsRect = "{{0, 0}, {117, 364}}"; sepNavSelRange = "{0, 0}"; sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 0}, {1031, 616}}"; @@ -953,9 +1228,9 @@ }; 219190F009C4A60700586B15 /* DualField.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1181, 4550}}"; - sepNavSelRange = "{6316, 7}"; - sepNavVisRange = "{6118, 1124}"; + sepNavIntBoundsRect = "{{0, 0}, {999, 4082}}"; + sepNavSelRange = "{6017, 18}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 1362}, {1002, 483}}"; sepNavWindowFrame = "{{453, 54}, {947, 1028}}"; }; @@ -970,27 +1245,29 @@ }; 219192D309CFBC8700586B15 /* NoteAttributeColumn.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {823, 896}}"; - sepNavSelRange = "{370, 7}"; + sepNavIntBoundsRect = "{{0, 0}, {229, 845}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 280}, {823, 616}}"; sepNavWindowFrame = "{{190, 101}, {862, 745}}"; }; }; 2191930109CFBEBD00586B15 /* NotesTableView.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {566, 1260}}"; - sepNavSelRange = "{764, 23}"; + sepNavIntBoundsRect = "{{0, 0}, {152, 1183}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 148}, {566, 531}}"; sepNavWindowFrame = "{{85, 106}, {605, 660}}"; }; }; 2191930209CFBEBD00586B15 /* NotesTableView.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {879, 10752}}"; - sepNavSelRange = "{248, 0}"; - sepNavVisRange = "{0, 2245}"; + sepNavIntBoundsRect = "{{0, 0}, {978, 9971}}"; + sepNavSelRange = "{17835, 0}"; + sepNavVisRange = "{17247, 1262}"; sepNavVisRect = "{{0, 977}, {899, 899}}"; - sepNavWindowFrame = "{{330, 64}, {938, 814}}"; + sepNavWindowFrame = "{{330, 73}, {938, 805}}"; }; }; 2191982009D607C600586B15 /* PrefsWindowController.h */ = { @@ -1003,27 +1280,29 @@ }; 2191982109D607C600586B15 /* PrefsWindowController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {897, 6384}}"; - sepNavSelRange = "{7134, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {882, 6482}}"; + sepNavSelRange = "{7900, 0}"; + sepNavVisRange = "{6864, 1902}"; sepNavVisRect = "{{0, 2355}, {897, 822}}"; - sepNavWindowFrame = "{{491, 110}, {936, 951}}"; + sepNavWindowFrame = "{{353, 77}, {936, 801}}"; }; }; 219588D00961D7F200972B8C /* LinkingEditor.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {776, 952}}"; - sepNavSelRange = "{1467, 4}"; + sepNavIntBoundsRect = "{{0, 0}, {894, 819}}"; + sepNavSelRange = "{1500, 0}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 374}, {536, 578}}"; sepNavWindowFrame = "{{305, 129}, {575, 707}}"; }; }; 219588D10961D7F200972B8C /* LinkingEditor.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1458, 15568}}"; - sepNavSelRange = "{29121, 0}"; - sepNavVisRange = "{28397, 1314}"; + sepNavIntBoundsRect = "{{0, 0}, {1251, 14690}}"; + sepNavSelRange = "{36536, 0}"; + sepNavVisRange = "{35777, 1839}"; sepNavVisRect = "{{0, 12943}, {718, 341}}"; - sepNavWindowFrame = "{{318, 64}, {987, 814}}"; + sepNavWindowFrame = "{{249, 77}, {1191, 801}}"; }; }; 219739F90AFE42A10046683E /* PassphraseRetriever.h */ = { @@ -1045,18 +1324,18 @@ }; 219FD3140B2CC655004E132B /* LinkingEditor_Indentation.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {982, 414}}"; + sepNavIntBoundsRect = "{{0, 0}, {418, 348}}"; sepNavSelRange = "{333, 0}"; - sepNavVisRange = "{0, 340}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 0}, {1075, 916}}"; sepNavWindowFrame = "{{211, 133}, {1114, 1045}}"; }; }; 219FD3150B2CC655004E132B /* LinkingEditor_Indentation.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1181, 2982}}"; - sepNavSelRange = "{3104, 17}"; - sepNavVisRange = "{2272, 1596}"; + sepNavIntBoundsRect = "{{0, 0}, {1181, 2940}}"; + sepNavSelRange = "{2600, 18}"; + sepNavVisRange = "{2278, 1590}"; sepNavVisRect = "{{0, 644}, {718, 99}}"; sepNavWindowFrame = "{{65, 64}, {1114, 814}}"; }; @@ -1081,16 +1360,18 @@ }; 21A2F95C09DF3FDC001AF0B5 /* NotationPrefs.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {751, 1638}}"; - sepNavSelRange = "{3077, 11}"; + sepNavIntBoundsRect = "{{0, 0}, {26, 1573}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 739}, {751, 899}}"; sepNavWindowFrame = "{{487, 150}, {790, 1028}}"; }; }; 21A2F95D09DF3FDC001AF0B5 /* NotationPrefs.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1002, 10192}}"; - sepNavSelRange = "{1594, 7}"; + sepNavIntBoundsRect = "{{0, 0}, {964, 9152}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 661}"; sepNavVisRect = "{{0, 578}, {1002, 483}}"; sepNavWindowFrame = "{{291, 115}, {851, 1063}}"; }; @@ -1105,10 +1386,11 @@ }; 21A2FA1609DF6174001AF0B5 /* NotationPrefsViewController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1272, 6188}}"; - sepNavSelRange = "{14671, 2}"; + sepNavIntBoundsRect = "{{0, 0}, {12, 3429}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 5404}, {1272, 771}}"; - sepNavWindowFrame = "{{118, 184}, {1311, 900}}"; + sepNavWindowFrame = "{{105, 77}, {1311, 801}}"; }; }; 21A30EA50971D11D0071E9AF /* FastListDataSource.h */ = { @@ -1121,54 +1403,53 @@ }; 21A30EA60971D11D0071E9AF /* FastListDataSource.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {12, 924}}"; + sepNavIntBoundsRect = "{{0, 0}, {674, 2184}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 0}"; + sepNavVisRange = "{0, 345}"; sepNavVisRect = "{{0, 1414}, {893, 616}}"; sepNavWindowFrame = "{{389, 105}, {932, 745}}"; }; }; 21A6E6FB0974204F008436A9 /* LabelsListController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {744, 541}}"; - sepNavSelRange = "{308, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {26, 507}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 0}, {744, 541}}"; sepNavWindowFrame = "{{76, 330}, {783, 671}}"; }; }; 21A6E6FC0974204F008436A9 /* LabelsListController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {982, 1974}}"; + sepNavIntBoundsRect = "{{0, 0}, {96, 1664}}"; sepNavSelRange = "{305, 0}"; - sepNavVisRange = "{0, 582}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 0}, {718, 174}}"; sepNavWindowFrame = "{{274, 78}, {902, 848}}"; }; }; 21A73DC6099712A8009F8A6C /* WALController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {621, 966}}"; - sepNavSelRange = "{593, 15}"; + sepNavIntBoundsRect = "{{0, 0}, {601, 994}}"; + sepNavSelRange = "{1320, 0}"; + sepNavVisRange = "{433, 1363}"; sepNavVisRect = "{{0, 154}, {621, 702}}"; - sepNavWindowFrame = "{{101, 49}, {660, 832}}"; + sepNavWindowFrame = "{{122, 235}, {660, 832}}"; }; }; 21A73DC7099712A8009F8A6C /* WALController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {928, 7574}}"; - sepNavSelRange = "{12551, 6}"; + sepNavIntBoundsRect = "{{0, 0}, {1013, 6708}}"; + sepNavSelRange = "{10694, 0}"; + sepNavVisRange = "{9908, 1464}"; sepNavVisRect = "{{0, 4900}, {928, 882}}"; - sepNavWindowFrame = "{{972, -39}, {967, 1011}}"; + sepNavWindowFrame = "{{206, 77}, {985, 801}}"; }; }; 21B5447D105D7963002097C4 /* PBXBookmark */ = { isa = PBXBookmark; fRef = 214C6C58105445410085D386 /* Notality.icns */; }; - 21B5447F105D7963002097C4 /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 214C6C58105445410085D386 /* Notality.icns */; - }; 21B544CA105D8FAB002097C4 /* -[NSException raise] */ = { isa = PBXSymbolicBreakpoint; actions = ( @@ -1211,26 +1492,6 @@ state = 1; symbolName = "-[NSException raise]"; }; - 21B54535105D953C002097C4 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 217CEBA209E9885500DF0E09 /* NotationFileManager.m */; - name = "NotationFileManager.m: 216"; - rLen = 18; - rLoc = 7028; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21B54536105D953C002097C4 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 219588D10961D7F200972B8C /* LinkingEditor.m */; - name = "LinkingEditor.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 21B54537105D953C002097C4 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 212B84600978422300F3597F /* NSString_NV.h */; @@ -1241,38 +1502,6 @@ vrLen = 0; vrLoc = 0; }; - 21B5453A105D953C002097C4 /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 8D1107310486CEB800E47090 /* Info.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - CFBundleGetInfoString, - ); - name = /Users/scrod/Projects/Notation/Info.plist; - rLen = 0; - rLoc = 2147483647; - }; - 21B5453B105D953C002097C4 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 217CEBA209E9885500DF0E09 /* NotationFileManager.m */; - name = "NotationFileManager.m: 216"; - rLen = 18; - rLoc = 7028; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21B5453D105D953C002097C4 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 212B84600978422300F3597F /* NSString_NV.h */; - name = "NSString_NV.h: 6"; - rLen = 39; - rLoc = 101; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 21C61FAB10542D40004D5948 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 213FAD510B3C6B52004C74BD /* FSExchangeObjectsCompat.h */; @@ -1303,76 +1532,6 @@ vrLen = 0; vrLoc = 0; }; - 21C61FAF10542D40004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 213FAD510B3C6B52004C74BD /* FSExchangeObjectsCompat.h */; - name = "FSExchangeObjectsCompat.h: 5"; - rLen = 0; - rLoc = 49; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C61FB010542D40004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 215453EE0B067A5100C0D1D5 /* KeyDerivationDelaySlider.h */; - name = "KeyDerivationDelaySlider.h: 12"; - rLen = 0; - rLoc = 236; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C61FB110542D40004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 211345A90B35D8540081B064 /* broken_md5.c */; - name = "broken_md5.c: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C61FC410542EA3004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2114C23B095883A600614E74 /* NSData_transformations.h */; - name = "NSData_transformations.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C61FC610542EA3004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2114C23B095883A600614E74 /* NSData_transformations.h */; - name = "NSData_transformations.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C61FD410542F10004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 213FAD520B3C6B52004C74BD /* FSExchangeObjectsCompat.c */; - name = "FSExchangeObjectsCompat.c: 3"; - rLen = 0; - rLoc = 56; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C61FD710542F10004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 213FAD520B3C6B52004C74BD /* FSExchangeObjectsCompat.c */; - name = "FSExchangeObjectsCompat.c: 3"; - rLen = 0; - rLoc = 56; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 21C61FEC10542FB9004D5948 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 2114C2870958CC9100614E74 /* pbkdf2.c */; @@ -1403,66 +1562,6 @@ vrLen = 0; vrLoc = 0; }; - 21C61FF010542FB9004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2114C2870958CC9100614E74 /* pbkdf2.c */; - name = "pbkdf2.c: 12"; - rLen = 34; - rLoc = 112; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C61FF110542FB9004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 213621EF0B92414F008C0830 /* MultiTextFinder.h */; - name = "MultiTextFinder.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C61FF210542FB9004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 21469C890BEBA6A10094835F /* TemporaryFileCache.h */; - name = "TemporaryFileCache.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6200B10542FD1004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 21FF94F50B5AD23B00DB6A2F /* ExporterManager.m */; - name = "ExporterManager.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C620151054311C004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 219588D10961D7F200972B8C /* LinkingEditor.m */; - name = "LinkingEditor.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6206410543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2155DEA4097B5F0300163A10 /* BufferUtils.h */; - name = "BufferUtils.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 21C6206510543D7D004D5948 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 21395BB30B7FDB85007BCFAA /* Notation.freqorder */; @@ -1483,16 +1582,6 @@ vrLen = 0; vrLoc = 0; }; - 21C6206710543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 212DCF600A6DEECB00F74E46 /* DeletionManager.m */; - name = "DeletionManager.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 21C6206810543D7D004D5948 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 212DCA450A6AD28700F74E46 /* EncodingsManager.h */; @@ -1503,16 +1592,6 @@ vrLen = 0; vrLoc = 0; }; - 21C6206910543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 219FD3150B2CC655004E132B /* LinkingEditor_Indentation.m */; - name = "LinkingEditor_Indentation.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 21C6206A10543D7D004D5948 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 214495120ADC8A6600E2A2B6 /* PassphrasePicker.m */; @@ -1533,26 +1612,6 @@ vrLen = 0; vrLoc = 0; }; - 21C6206C10543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 212B84610978422300F3597F /* NSString_NV.m */; - name = "NSString_NV.m: 345"; - rLen = 0; - rLoc = 13244; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6206D10543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2181171109F311110020A252 /* DeletedNoteObject.h */; - name = "DeletedNoteObject.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 21C6206E10543D7D004D5948 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 211344430B354E000081B064 /* idea_ossl.h */; @@ -1563,26 +1622,6 @@ vrLen = 0; vrLoc = 0; }; - 21C6206F10543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 32CA4F630368D1EE00C91783 /* Notation_Prefix.pch */; - name = "Notation_Prefix.pch: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6207010543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2114C13E0957732800614E74 /* NotationController.m */; - name = "NotationController.m: 435"; - rLen = 0; - rLoc = 13754; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 21C6207110543D7D004D5948 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 21FF94F50B5AD23B00DB6A2F /* ExporterManager.m */; @@ -1593,147 +1632,6 @@ vrLen = 0; vrLoc = 0; }; - 21C6207410543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2155DEA4097B5F0300163A10 /* BufferUtils.h */; - name = "BufferUtils.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6207510543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 21395BB30B7FDB85007BCFAA /* Notation.freqorder */; - name = "Notation.freqorder: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6207610543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 212DCF5F0A6DEECB00F74E46 /* DeletionManager.h */; - name = "DeletionManager.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6207710543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 212DCF600A6DEECB00F74E46 /* DeletionManager.m */; - name = "DeletionManager.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6207810543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 212DCA450A6AD28700F74E46 /* EncodingsManager.h */; - name = "EncodingsManager.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6207910543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 219FD3150B2CC655004E132B /* LinkingEditor_Indentation.m */; - name = "LinkingEditor_Indentation.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6207A10543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 214495120ADC8A6600E2A2B6 /* PassphrasePicker.m */; - name = "PassphrasePicker.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6207B10543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 21DC788D097894B600E59B09 /* NSCollection_utils.h */; - name = "NSCollection_utils.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6207C10543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 212B84610978422300F3597F /* NSString_NV.m */; - name = "NSString_NV.m: 345"; - rLen = 0; - rLoc = 13244; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6207D10543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2181171109F311110020A252 /* DeletedNoteObject.h */; - name = "DeletedNoteObject.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6207E10543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 211344430B354E000081B064 /* idea_ossl.h */; - name = "idea_ossl.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6207F10543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 32CA4F630368D1EE00C91783 /* Notation_Prefix.pch */; - name = "Notation_Prefix.pch: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; - 21C6208010543D7D004D5948 /* PlistBookmark */ = { - isa = PlistBookmark; - fRef = 21F1CD6A0B3A38DB001FB5F6 /* PTKeyCodes.plist */; - fallbackIsa = PBXBookmark; - isK = 0; - kPath = ( - ); - name = /Users/scrod/Notation/PTHotKeys/PTKeyCodes.plist; - rLen = 0; - rLoc = 2147483647; - }; - 21C6208110543D7D004D5948 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2114C13E0957732800614E74 /* NotationController.m */; - name = "NotationController.m: 435"; - rLen = 0; - rLoc = 13754; - rType = 0; - vrLen = 0; - vrLoc = 0; - }; 21C737930B50C73E0048C08A /* MultiplePageView.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1117, 896}}"; @@ -1752,36 +1650,6 @@ sepNavWindowFrame = "{{307, 0}, {1176, 1028}}"; }; }; - 21C8157C105D9679006479FC /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 219588D10961D7F200972B8C /* LinkingEditor.m */; - name = "LinkingEditor.m: 770"; - rLen = 0; - rLoc = 29121; - rType = 0; - vrLen = 1314; - vrLoc = 28397; - }; - 21C8157D105D9679006479FC /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 2114C13E0957732800614E74 /* NotationController.m */; - name = "NotationController.m: 246"; - rLen = 0; - rLoc = 7099; - rType = 0; - vrLen = 1994; - vrLoc = 6382; - }; - 21C8157E105D9679006479FC /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 217CEBA209E9885500DF0E09 /* NotationFileManager.m */; - name = "NotationFileManager.m: 167"; - rLen = 16; - rLoc = 5277; - rType = 0; - vrLen = 2067; - vrLoc = 4021; - }; 21D60126098FDB46007440DF /* GlobalPrefs.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {663, 1974}}"; @@ -1792,9 +1660,9 @@ }; 21D60127098FDB46007440DF /* GlobalPrefs.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {882, 9156}}"; - sepNavSelRange = "{9913, 0}"; - sepNavVisRange = "{9630, 1440}"; + sepNavIntBoundsRect = "{{0, 0}, {1181, 8814}}"; + sepNavSelRange = "{13149, 1}"; + sepNavVisRange = "{12616, 871}"; sepNavVisRect = "{{0, 753}, {845, 895}}"; sepNavWindowFrame = "{{377, 64}, {884, 814}}"; }; @@ -1810,9 +1678,9 @@ }; 21DC788E097894B600E59B09 /* NSCollection_utils.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {24, 2702}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {1112, 2912}}"; + sepNavSelRange = "{2436, 0}"; + sepNavVisRange = "{1608, 1081}"; sepNavVisRect = "{{0, 1894}, {1002, 483}}"; sepNavWindowFrame = "{{481, 64}, {1178, 814}}"; }; @@ -1833,6 +1701,16 @@ sepNavWindowFrame = "{{436, 0}, {851, 1028}}"; }; }; + 21ED6CE0106C22D900D37194 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 32CA4F630368D1EE00C91783 /* Notation_Prefix.pch */; + name = "Notation_Prefix.pch: 67"; + rLen = 0; + rLoc = 1677; + rType = 0; + vrLen = 1341; + vrLoc = 530; + }; 21F1CD650B3A38DB001FB5F6 /* PTHotKeyCenter.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {760, 686}}"; @@ -1844,16 +1722,18 @@ }; 21F1CD660B3A38DB001FB5F6 /* PTHotKeyCenter.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {718, 3360}}"; - sepNavSelRange = "{4328, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {726, 3094}}"; + sepNavSelRange = "{2350, 0}"; + sepNavVisRange = "{2073, 616}"; sepNavVisRect = "{{0, 2912}, {718, 99}}"; sepNavWindowFrame = "{{180, 94}, {819, 746}}"; }; }; 21F1CD680B3A38DB001FB5F6 /* PTKeyBroadcaster.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {780, 899}}"; - sepNavSelRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {474, 273}}"; + sepNavSelRange = "{40, 0}"; + sepNavVisRange = "{0, 237}"; sepNavVisRect = "{{0, 0}, {780, 899}}"; sepNavWindowFrame = "{{15, -5}, {819, 1028}}"; }; @@ -1885,9 +1765,9 @@ }; 21F1CD6C0B3A38DB001FB5F6 /* PTKeyComboPanel.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {760, 2604}}"; + sepNavIntBoundsRect = "{{0, 0}, {474, 2431}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 861}"; + sepNavVisRange = "{0, 0}"; sepNavVisRect = "{{0, 336}, {955, 211}}"; sepNavWindowFrame = "{{322, 64}, {819, 814}}"; }; @@ -1926,9 +1806,9 @@ }; 21FF94F50B5AD23B00DB6A2F /* ExporterManager.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1181, 2212}}"; - sepNavSelRange = "{2689, 0}"; - sepNavVisRange = "{1419, 1880}"; + sepNavIntBoundsRect = "{{0, 0}, {1258, 2171}}"; + sepNavSelRange = "{4555, 0}"; + sepNavVisRange = "{3430, 1682}"; sepNavVisRect = "{{0, 1415}, {1152, 825}}"; sepNavWindowFrame = "{{380, 83}, {1191, 954}}"; }; @@ -1942,8 +1822,10 @@ }; }; 29B97313FDCFA39411CA2CEA /* Project object */ = { + activeArchitecturePreference = x86_64; activeBuildConfigurationName = Deployment; activeExecutable = 2114C0D00957570800614E74 /* Notational Velocity */; + activeSDKPreference = macosx10.5; activeTarget = 8D1107260486CEB800E47090 /* Notation */; addToTargets = ( 8D1107260486CEB800E47090 /* Notation */, @@ -2050,7 +1932,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFindDataSource_LocationID; PBXFileTableDataSourceColumnWidthsKey = ( 200, - 45.2085, + 45.20849609375, ); PBXFileTableDataSourceColumnsKey = ( PBXFindDataSource_MessageID, @@ -2119,79 +2001,68 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 274568937; - PBXWorkspaceStateSaveDate = 274568937; + PBXPerProjectTemplateStateSaveDate = 275587708; + PBXWorkspaceStateSaveDate = 275587708; }; perUserProjectItems = { - 2139CF51105D985D00FD961B /* PBXTextBookmark */ = 2139CF51105D985D00FD961B /* PBXTextBookmark */; - 2139CF52105D985D00FD961B /* PlistBookmark */ = 2139CF52105D985D00FD961B /* PlistBookmark */; - 2139CF53105D985D00FD961B /* PBXTextBookmark */ = 2139CF53105D985D00FD961B /* PBXTextBookmark */; - 2139CF54105D985D00FD961B /* PBXTextBookmark */ = 2139CF54105D985D00FD961B /* PBXTextBookmark */; - 2139CF55105D985D00FD961B /* PlistBookmark */ = 2139CF55105D985D00FD961B /* PlistBookmark */; - 2139CF5B105D986E00FD961B /* PBXTextBookmark */ = 2139CF5B105D986E00FD961B /* PBXTextBookmark */; - 2139CF5C105D986E00FD961B /* PBXTextBookmark */ = 2139CF5C105D986E00FD961B /* PBXTextBookmark */; - 2139CF5D105D986E00FD961B /* PBXTextBookmark */ = 2139CF5D105D986E00FD961B /* PBXTextBookmark */; - 2139CF5E105D986E00FD961B /* PBXTextBookmark */ = 2139CF5E105D986E00FD961B /* PBXTextBookmark */; - 214C6C641054454C0085D386 /* PlistBookmark */ = 214C6C641054454C0085D386 /* PlistBookmark */; - 214C6C651054454C0085D386 /* PBXBookmark */ = 214C6C651054454C0085D386 /* PBXBookmark */; - 214C6C681054454C0085D386 /* PBXBookmark */ = 214C6C681054454C0085D386 /* PBXBookmark */; - 21B5447D105D7963002097C4 /* PBXBookmark */ = 21B5447D105D7963002097C4 /* PBXBookmark */; - 21B5447F105D7963002097C4 /* PBXBookmark */ = 21B5447F105D7963002097C4 /* PBXBookmark */; - 21B54535105D953C002097C4 /* PBXTextBookmark */ = 21B54535105D953C002097C4 /* PBXTextBookmark */; - 21B54536105D953C002097C4 /* PBXTextBookmark */ = 21B54536105D953C002097C4 /* PBXTextBookmark */; - 21B54537105D953C002097C4 /* PBXTextBookmark */ = 21B54537105D953C002097C4 /* PBXTextBookmark */; - 21B5453A105D953C002097C4 /* PlistBookmark */ = 21B5453A105D953C002097C4 /* PlistBookmark */; - 21B5453B105D953C002097C4 /* PBXTextBookmark */ = 21B5453B105D953C002097C4 /* PBXTextBookmark */; - 21B5453D105D953C002097C4 /* PBXTextBookmark */ = 21B5453D105D953C002097C4 /* PBXTextBookmark */; - 21C61FAB10542D40004D5948 /* PBXTextBookmark */ = 21C61FAB10542D40004D5948 /* PBXTextBookmark */; - 21C61FAC10542D40004D5948 /* PBXTextBookmark */ = 21C61FAC10542D40004D5948 /* PBXTextBookmark */; - 21C61FAD10542D40004D5948 /* PBXTextBookmark */ = 21C61FAD10542D40004D5948 /* PBXTextBookmark */; - 21C61FAF10542D40004D5948 /* PBXTextBookmark */ = 21C61FAF10542D40004D5948 /* PBXTextBookmark */; - 21C61FB010542D40004D5948 /* PBXTextBookmark */ = 21C61FB010542D40004D5948 /* PBXTextBookmark */; - 21C61FB110542D40004D5948 /* PBXTextBookmark */ = 21C61FB110542D40004D5948 /* PBXTextBookmark */; - 21C61FC410542EA3004D5948 /* PBXTextBookmark */ = 21C61FC410542EA3004D5948 /* PBXTextBookmark */; - 21C61FC610542EA3004D5948 /* PBXTextBookmark */ = 21C61FC610542EA3004D5948 /* PBXTextBookmark */; - 21C61FD410542F10004D5948 /* PBXTextBookmark */ = 21C61FD410542F10004D5948 /* PBXTextBookmark */; - 21C61FD710542F10004D5948 /* PBXTextBookmark */ = 21C61FD710542F10004D5948 /* PBXTextBookmark */; - 21C61FEC10542FB9004D5948 /* PBXTextBookmark */ = 21C61FEC10542FB9004D5948 /* PBXTextBookmark */; - 21C61FED10542FB9004D5948 /* PBXTextBookmark */ = 21C61FED10542FB9004D5948 /* PBXTextBookmark */; - 21C61FEE10542FB9004D5948 /* PBXTextBookmark */ = 21C61FEE10542FB9004D5948 /* PBXTextBookmark */; - 21C61FF010542FB9004D5948 /* PBXTextBookmark */ = 21C61FF010542FB9004D5948 /* PBXTextBookmark */; - 21C61FF110542FB9004D5948 /* PBXTextBookmark */ = 21C61FF110542FB9004D5948 /* PBXTextBookmark */; - 21C61FF210542FB9004D5948 /* PBXTextBookmark */ = 21C61FF210542FB9004D5948 /* PBXTextBookmark */; - 21C6200B10542FD1004D5948 /* PBXTextBookmark */ = 21C6200B10542FD1004D5948 /* PBXTextBookmark */; - 21C620151054311C004D5948 /* PBXTextBookmark */ = 21C620151054311C004D5948 /* PBXTextBookmark */; - 21C6206410543D7D004D5948 /* PBXTextBookmark */ = 21C6206410543D7D004D5948 /* PBXTextBookmark */; - 21C6206510543D7D004D5948 /* PBXTextBookmark */ = 21C6206510543D7D004D5948 /* PBXTextBookmark */; - 21C6206610543D7D004D5948 /* PBXTextBookmark */ = 21C6206610543D7D004D5948 /* PBXTextBookmark */; - 21C6206710543D7D004D5948 /* PBXTextBookmark */ = 21C6206710543D7D004D5948 /* PBXTextBookmark */; - 21C6206810543D7D004D5948 /* PBXTextBookmark */ = 21C6206810543D7D004D5948 /* PBXTextBookmark */; - 21C6206910543D7D004D5948 /* PBXTextBookmark */ = 21C6206910543D7D004D5948 /* PBXTextBookmark */; - 21C6206A10543D7D004D5948 /* PBXTextBookmark */ = 21C6206A10543D7D004D5948 /* PBXTextBookmark */; - 21C6206B10543D7D004D5948 /* PBXTextBookmark */ = 21C6206B10543D7D004D5948 /* PBXTextBookmark */; - 21C6206C10543D7D004D5948 /* PBXTextBookmark */ = 21C6206C10543D7D004D5948 /* PBXTextBookmark */; - 21C6206D10543D7D004D5948 /* PBXTextBookmark */ = 21C6206D10543D7D004D5948 /* PBXTextBookmark */; - 21C6206E10543D7D004D5948 /* PBXTextBookmark */ = 21C6206E10543D7D004D5948 /* PBXTextBookmark */; - 21C6206F10543D7D004D5948 /* PBXTextBookmark */ = 21C6206F10543D7D004D5948 /* PBXTextBookmark */; - 21C6207010543D7D004D5948 /* PBXTextBookmark */ = 21C6207010543D7D004D5948 /* PBXTextBookmark */; - 21C6207110543D7D004D5948 /* PBXTextBookmark */ = 21C6207110543D7D004D5948 /* PBXTextBookmark */; - 21C6207410543D7D004D5948 /* PBXTextBookmark */ = 21C6207410543D7D004D5948 /* PBXTextBookmark */; - 21C6207510543D7D004D5948 /* PBXTextBookmark */ = 21C6207510543D7D004D5948 /* PBXTextBookmark */; - 21C6207610543D7D004D5948 /* PBXTextBookmark */ = 21C6207610543D7D004D5948 /* PBXTextBookmark */; - 21C6207710543D7D004D5948 /* PBXTextBookmark */ = 21C6207710543D7D004D5948 /* PBXTextBookmark */; - 21C6207810543D7D004D5948 /* PBXTextBookmark */ = 21C6207810543D7D004D5948 /* PBXTextBookmark */; - 21C6207910543D7D004D5948 /* PBXTextBookmark */ = 21C6207910543D7D004D5948 /* PBXTextBookmark */; - 21C6207A10543D7D004D5948 /* PBXTextBookmark */ = 21C6207A10543D7D004D5948 /* PBXTextBookmark */; - 21C6207B10543D7D004D5948 /* PBXTextBookmark */ = 21C6207B10543D7D004D5948 /* PBXTextBookmark */; - 21C6207C10543D7D004D5948 /* PBXTextBookmark */ = 21C6207C10543D7D004D5948 /* PBXTextBookmark */; - 21C6207D10543D7D004D5948 /* PBXTextBookmark */ = 21C6207D10543D7D004D5948 /* PBXTextBookmark */; - 21C6207E10543D7D004D5948 /* PBXTextBookmark */ = 21C6207E10543D7D004D5948 /* PBXTextBookmark */; - 21C6207F10543D7D004D5948 /* PBXTextBookmark */ = 21C6207F10543D7D004D5948 /* PBXTextBookmark */; - 21C6208010543D7D004D5948 /* PlistBookmark */ = 21C6208010543D7D004D5948 /* PlistBookmark */; - 21C6208110543D7D004D5948 /* PBXTextBookmark */ = 21C6208110543D7D004D5948 /* PBXTextBookmark */; - 21C8157C105D9679006479FC /* PBXTextBookmark */ = 21C8157C105D9679006479FC /* PBXTextBookmark */; - 21C8157D105D9679006479FC /* PBXTextBookmark */ = 21C8157D105D9679006479FC /* PBXTextBookmark */; - 21C8157E105D9679006479FC /* PBXTextBookmark */ = 21C8157E105D9679006479FC /* PBXTextBookmark */; + 21313D28106C7F1700C8D785 = 21313D28106C7F1700C8D785 /* PBXTextBookmark */; + 21313D86106C908300C8D785 = 21313D86106C908300C8D785 /* PBXTextBookmark */; + 21313D87106C908300C8D785 = 21313D87106C908300C8D785 /* PBXTextBookmark */; + 21313DB8106C978100C8D785 = 21313DB8106C978100C8D785 /* PBXBookmark */; + 21313DBE106C97F100C8D785 = 21313DBE106C97F100C8D785 /* PBXTextBookmark */; + 21313DC0106C97F100C8D785 = 21313DC0106C97F100C8D785 /* PBXTextBookmark */; + 21313DC1106C97F100C8D785 = 21313DC1106C97F100C8D785 /* PBXTextBookmark */; + 21313DC2106C97F100C8D785 = 21313DC2106C97F100C8D785 /* PBXTextBookmark */; + 21313DC3106C97F100C8D785 = 21313DC3106C97F100C8D785 /* PBXTextBookmark */; + 21313DC4106C97F100C8D785 = 21313DC4106C97F100C8D785 /* PBXTextBookmark */; + 21313DD5106C9B2200C8D785 = 21313DD5106C9B2200C8D785 /* PBXTextBookmark */; + 21313DD6106C9B2200C8D785 = 21313DD6106C9B2200C8D785 /* PBXTextBookmark */; + 21313DD7106C9B2200C8D785 = 21313DD7106C9B2200C8D785 /* PBXTextBookmark */; + 21313DDF106C9B2200C8D785 = 21313DDF106C9B2200C8D785 /* PBXTextBookmark */; + 21313DE0106C9B2200C8D785 = 21313DE0106C9B2200C8D785 /* PBXTextBookmark */; + 21313DE8106C9BFC00C8D785 = 21313DE8106C9BFC00C8D785 /* PBXTextBookmark */; + 21313DE9106C9BFC00C8D785 = 21313DE9106C9BFC00C8D785 /* PBXBookmark */; + 21313DED106C9BFC00C8D785 = 21313DED106C9BFC00C8D785 /* PBXTextBookmark */; + 21313DEE106C9BFC00C8D785 = 21313DEE106C9BFC00C8D785 /* PBXTextBookmark */; + 21313DF5106C9CFF00C8D785 = 21313DF5106C9CFF00C8D785 /* PBXTextBookmark */; + 21313DF6106C9CFF00C8D785 = 21313DF6106C9CFF00C8D785 /* PBXTextBookmark */; + 21313DF7106C9CFF00C8D785 = 21313DF7106C9CFF00C8D785 /* PBXTextBookmark */; + 21313DF8106C9CFF00C8D785 = 21313DF8106C9CFF00C8D785 /* PBXTextBookmark */; + 21313DF9106C9CFF00C8D785 = 21313DF9106C9CFF00C8D785 /* PBXTextBookmark */; + 2139CF51105D985D00FD961B = 2139CF51105D985D00FD961B /* PBXTextBookmark */; + 214C6C641054454C0085D386 = 214C6C641054454C0085D386 /* PlistBookmark */; + 214C6C651054454C0085D386 = 214C6C651054454C0085D386 /* PBXBookmark */; + 2170B4AB106D228100AF1CAC /* PBXTextBookmark */ = 2170B4AB106D228100AF1CAC /* PBXTextBookmark */; + 2170B4AE106D228100AF1CAC /* PBXTextBookmark */ = 2170B4AE106D228100AF1CAC /* PBXTextBookmark */; + 2170B4AF106D228100AF1CAC /* PBXTextBookmark */ = 2170B4AF106D228100AF1CAC /* PBXTextBookmark */; + 2170B4B0106D228100AF1CAC /* PBXTextBookmark */ = 2170B4B0106D228100AF1CAC /* PBXTextBookmark */; + 2170B4B1106D228100AF1CAC /* PBXTextBookmark */ = 2170B4B1106D228100AF1CAC /* PBXTextBookmark */; + 2182B39D106B2359008641E4 = 2182B39D106B2359008641E4 /* PBXTextBookmark */; + 2182B3BB106B24FA008641E4 = 2182B3BB106B24FA008641E4 /* PBXTextBookmark */; + 2182B3D1106B2561008641E4 = 2182B3D1106B2561008641E4 /* PBXTextBookmark */; + 2182B429106B35CC008641E4 = 2182B429106B35CC008641E4 /* PBXTextBookmark */; + 2182B42A106B35CC008641E4 = 2182B42A106B35CC008641E4 /* PBXTextBookmark */; + 2182B42B106B35CC008641E4 = 2182B42B106B35CC008641E4 /* PBXBookmark */; + 2182B42D106B35CC008641E4 = 2182B42D106B35CC008641E4 /* PBXTextBookmark */; + 2182B46E106B3E9E008641E4 = 2182B46E106B3E9E008641E4 /* PBXTextBookmark */; + 2182B46F106B3E9E008641E4 = 2182B46F106B3E9E008641E4 /* PBXTextBookmark */; + 2182B479106B3EDA008641E4 = 2182B479106B3EDA008641E4 /* PBXTextBookmark */; + 21B5447D105D7963002097C4 = 21B5447D105D7963002097C4 /* PBXBookmark */; + 21B54537105D953C002097C4 = 21B54537105D953C002097C4 /* PBXTextBookmark */; + 21C61FAB10542D40004D5948 = 21C61FAB10542D40004D5948 /* PBXTextBookmark */; + 21C61FAC10542D40004D5948 = 21C61FAC10542D40004D5948 /* PBXTextBookmark */; + 21C61FAD10542D40004D5948 = 21C61FAD10542D40004D5948 /* PBXTextBookmark */; + 21C61FEC10542FB9004D5948 = 21C61FEC10542FB9004D5948 /* PBXTextBookmark */; + 21C61FED10542FB9004D5948 = 21C61FED10542FB9004D5948 /* PBXTextBookmark */; + 21C61FEE10542FB9004D5948 = 21C61FEE10542FB9004D5948 /* PBXTextBookmark */; + 21C6206510543D7D004D5948 = 21C6206510543D7D004D5948 /* PBXTextBookmark */; + 21C6206610543D7D004D5948 = 21C6206610543D7D004D5948 /* PBXTextBookmark */; + 21C6206810543D7D004D5948 = 21C6206810543D7D004D5948 /* PBXTextBookmark */; + 21C6206A10543D7D004D5948 = 21C6206A10543D7D004D5948 /* PBXTextBookmark */; + 21C6206B10543D7D004D5948 = 21C6206B10543D7D004D5948 /* PBXTextBookmark */; + 21C6206E10543D7D004D5948 = 21C6206E10543D7D004D5948 /* PBXTextBookmark */; + 21C6207110543D7D004D5948 = 21C6207110543D7D004D5948 /* PBXTextBookmark */; + 21ED6CE0106C22D900D37194 = 21ED6CE0106C22D900D37194 /* PBXTextBookmark */; }; sourceControlManager = 2114C0D90957570F00614E74 /* Source Control */; userBookmarkGroup = 215826490B72482B00711663 /* PBXBookmarkGroup */; @@ -2208,11 +2079,11 @@ }; 32CA4F630368D1EE00C91783 /* Notation_Prefix.pch */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {24, 532}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {716, 980}}"; + sepNavSelRange = "{1677, 0}"; + sepNavVisRange = "{530, 1341}"; sepNavVisRect = "{{0, 0}, {736, 617}}"; - sepNavWindowFrame = "{{614, 109}, {775, 746}}"; + sepNavWindowFrame = "{{574, 93}, {775, 762}}"; }; }; 8D1107260486CEB800E47090 /* Notation */ = { diff --git a/NotationController.h b/NotationController.h old mode 100644 new mode 100755 index b531d901..5eeb7119 --- a/NotationController.h +++ b/NotationController.h @@ -41,9 +41,9 @@ typedef struct _NoteCatalogEntry { NoteAttributeColumn* sortColumn; NoteObject **allNotesBuffer; - unsigned int allNotesBufferSize; + unsigned allNotesBufferSize; - unsigned selectedNoteIndex; + NSUInteger selectedNoteIndex; char *currentFilterStr, *manglingString; int lastWordInFilterStr; @@ -76,8 +76,8 @@ typedef struct _NoteCatalogEntry { NSUndoManager *undoManager; } -int compareCatalogEntryName(const void *one, const void *two); -int compareCatalogValueNodeID(id *a, id *b); +NSInteger compareCatalogEntryName(const void *one, const void *two); +NSInteger compareCatalogValueNodeID(id *a, id *b); void NotesDirFNSubscriptionProc(FNMessage message, OptionBits flags, void * refcon, FNSubscriptionRef subscription); - (id)init; @@ -140,12 +140,12 @@ void NotesDirFNSubscriptionProc(FNMessage message, OptionBits flags, void * refc - (void)refilterNotes; - (BOOL)filterNotesFromString:(NSString*)string; - (BOOL)filterNotesFromUTF8String:(const char*)searchString forceUncached:(BOOL)forceUncached; -- (unsigned)preferredSelectedNoteIndex; +- (NSUInteger)preferredSelectedNoteIndex; - (NoteObject*)noteObjectAtFilteredIndex:(int)noteIndex; - (NSArray*)notesAtIndexes:(NSIndexSet*)indexSet; - (NSIndexSet*)indexesOfNotes:(NSArray*)noteSet; -- (unsigned)indexInFilteredListForNoteIdenticalTo:(NoteObject*)note; -- (unsigned int)totalNoteCount; +- (NSUInteger)indexInFilteredListForNoteIdenticalTo:(NoteObject*)note; +- (NSUInteger)totalNoteCount; - (void)scheduleUpdateListForAttribute:(NSString*)attribute; - (NoteAttributeColumn*)sortColumn; diff --git a/NotationController.m b/NotationController.m old mode 100644 new mode 100755 index 0aef9342..791478aa --- a/NotationController.m +++ b/NotationController.m @@ -22,12 +22,12 @@ @implementation NotationController -int compareCatalogEntryName(const void *one, const void *two) { +NSInteger compareCatalogEntryName(const void *one, const void *two) { return (int)CFStringCompare((CFStringRef)((*(NoteCatalogEntry **)one)->filename), (CFStringRef)((*(NoteCatalogEntry **)two)->filename), kCFCompareCaseInsensitive); } -int compareCatalogValueNodeID(id *a, id *b) { +NSInteger compareCatalogValueNodeID(id *a, id *b) { NoteCatalogEntry* aEntry = (NoteCatalogEntry*)[*(id*)a pointerValue]; NoteCatalogEntry* bEntry = (NoteCatalogEntry*)[*(id*)b pointerValue]; @@ -163,11 +163,73 @@ - (void)setDelegate:(id)theDelegate { [self refilterNotes]; CFUUIDBytes bytes = [prefsController UUIDBytesOfLastSelectedNote]; - unsigned noteIndex = [allNotes indexOfNoteWithUUIDBytes:&bytes]; + NSUInteger noteIndex = [allNotes indexOfNoteWithUUIDBytes:&bytes]; if (noteIndex != NSNotFound) [delegate notation:self revealNote:[allNotes objectAtIndex:noteIndex]]; } +//used to ensure a newly-written Notes & Settings file is valid before finalizing the save +//read the file back from disk, deserialize it, decrypt and decompress it, and compare the notes roughly to our current notes +- (NSNumber*)verifyDataAtTemporaryFSRef:(NSValue*)fsRefValue withFinalName:(NSString*)filename { + + NSDate *date = [NSDate date]; + + NSAssert([filename isEqualToString:@"Notes & Settings"], @"attempting to verify something other than the database"); + + FSRef *notesFileRef = [fsRefValue pointerValue]; + UInt64 fileSize = 0; + char *notesData = NULL; + OSStatus err = noErr, result = noErr; + if ((err = FSRefReadData(notesFileRef, BlockSizeForNotation(self), &fileSize, (void**)¬esData, 0)) != noErr) + return [NSNumber numberWithInt:err]; + + FrozenNotation *frozenNotation = nil; + if (fileSize > 0) { + NSData *archivedNotation = [[NSData alloc] initWithBytesNoCopy:notesData length:fileSize freeWhenDone:NO]; + @try { + frozenNotation = [NSKeyedUnarchiver unarchiveObjectWithData:archivedNotation]; + } @catch (NSException *e) { + NSLog(@"(VERIFY) Error unarchiving notes and preferences from data (%@, %@)", [e name], [e reason]); + result = kCoderErr; + goto returnResult; + } + + [archivedNotation autorelease]; + } + NSMutableArray *notesToVerify = nil; + + //unpack notes using the current NotationPrefs instance (not the just-unarchived one), with which we presumably just used to encrypt it + if (!(notesToVerify = [[frozenNotation unpackedNotesWithPrefs:notationPrefs returningError:&err] retain])) { + //notesToVerify has no excuse for being nil here + if (err != noErr) { + result = err; + goto returnResult; + } + } else { + //notes were unpacked--now roughly compare notesToVerify with allNotes, plus deletedNotes and notationPrefs + if ([notesToVerify count] != [allNotes count] || + [[frozenNotation deletedNotes] count] != [deletedNotes count] || + [[frozenNotation notationPrefs] notesStorageFormat] != [notationPrefs notesStorageFormat] || + [[frozenNotation notationPrefs] hashIterationCount] != [notationPrefs hashIterationCount]) { + result = kItemVerifyErr; + goto returnResult; + } + unsigned int i; + for (i=0; i<[notesToVerify count]; i++) { + if ([[[notesToVerify objectAtIndex:i] contentString] length] != [[[allNotes objectAtIndex:i] contentString] length]) { + result = kItemVerifyErr; + goto returnResult; + } + } + } + + NSLog(@"verify time: %g", (float)[[NSDate date] timeIntervalSinceDate:date]); +returnResult: + if (notesData) free(notesData); + return [NSNumber numberWithInt:result]; +} + + - (OSStatus)_readAndInitializeSerializedNotes { OSStatus err = noErr; @@ -183,17 +245,17 @@ - (OSStatus)_readAndInitializeSerializedNotes { if (fileSize > 0) { NSData *archivedNotation = [[NSData alloc] initWithBytesNoCopy:notesData length:fileSize freeWhenDone:NO]; - NS_DURING + @try { frozenNotation = [NSKeyedUnarchiver unarchiveObjectWithData:archivedNotation]; - NS_HANDLER - NSLog(@"Error unarchiving notes and preferences from data (%@, %@)", [localException name], [localException reason]); + } @catch (NSException *e) { + NSLog(@"Error unarchiving notes and preferences from data (%@, %@)", [e name], [e reason]); if (notesData) free(notesData); //perhaps this shouldn't be an error, but the user should instead have the option of overwriting the DB with a new one? - NS_VALUERETURN(kCoderErr, OSStatus); - NS_ENDHANDLER + return kCoderErr; + } [archivedNotation autorelease]; } @@ -252,20 +314,24 @@ - (BOOL)initializeJournaling { WALRecoveryController *walReader = [[[WALRecoveryController alloc] initWithParentFSRep:(char*)convertedPath encryptionKey:walSessionKey] autorelease]; if (walReader) { + BOOL databaseCouldNotBeFlushed = NO; NSDictionary *recoveredNotes = [walReader recoveredNotes]; if ([recoveredNotes count] > 0) { [self processRecoveredNotes:recoveredNotes]; if (![self flushAllNoteChanges]) { //we shouldn't continue because the journal is still the sole record of the unsaved notes, so we can't delete it + //BUT: what if the database can't be verified? We should be able to continue, and just keep adding to the WAL + //in this case the WAL should be destroyed, re-initialized, and the recovered (and de-duped) notes added back NSLog(@"Unable to flush recovered notes back to database"); - goto bail; + databaseCouldNotBeFlushed = YES; + //goto bail; } } //is there a way that recoverNextObject could fail that would indicate a failure with the file as opposed to simple non-recovery? //if so, it perhaps the recoveredNotes method should also return an error condition, to be checked here - //there could be other issues, too + //there could be other issues, too (1) if (![walReader destroyLogFile]) { //couldn't delete the log file, so we can't create a new one @@ -275,16 +341,24 @@ - (BOOL)initializeJournaling { if (!(walWriter = [[WALStorageController alloc] initWithParentFSRep:(char*)convertedPath encryptionKey:walSessionKey])) { //couldn't create a journal after recovering the old one + //if databaseCouldNotBeFlushed is true here, then we've potentially lost notes; perhaps exchangeobjects would be better here? NSLog(@"Unable to create a new write-ahead-log after deleting the old one"); goto bail; } if ([recoveredNotes count] > 0) { + if (databaseCouldNotBeFlushed) { + //re-add the contents of recoveredNotes to walWriter; LSNs should take care of the order; no need to sort + //this allows for an ever-growing journal in the case of broken database serialization + //it should not be an acceptable condition for permanent use; hopefully an update would come soon + //warn the user, perhaps + [walWriter writeNoteObjects:[recoveredNotes allValues]]; + } [self refilterNotes]; } } else { NSLog(@"Unable to recover unsaved notes from write-ahead-log"); - //should we give the user to attempt to remove it without recovery? + //1) should we let the user attempt to remove it without recovery? goto bail; } } @@ -318,7 +392,7 @@ - (void)processRecoveredNotes:(NSDictionary*)dict { CFUUIDBytes *objUUIDBytes = (CFUUIDBytes *)keys[i]; id obj = (id)values[i]; - unsigned int existingNoteIndex = [allNotes indexOfNoteWithUUIDBytes:objUUIDBytes]; + NSUInteger existingNoteIndex = [allNotes indexOfNoteWithUUIDBytes:objUUIDBytes]; if ([obj isKindOfClass:[DeletedNoteObject class]]) { @@ -418,7 +492,8 @@ - (BOOL)flushAllNoteChanges { //we should have all journal records on disk by now - if ([self storeDataAtomicallyInNotesDirectory:serializedData withName:@"Notes & Settings" destinationRef:¬eDatabaseRef] != noErr) + if ([self storeDataAtomicallyInNotesDirectory:serializedData withName:@"Notes & Settings" destinationRef:¬eDatabaseRef + verifyWithSelector:@selector(verifyDataAtTemporaryFSRef:withFinalName:) verificationDelegate:self] != noErr) return NO; [notationPrefs setPreferencesAreStored]; @@ -441,7 +516,7 @@ - (void)handleJournalError { [self flushAllNoteChanges]; - NSRunAlertPanel(NSLocalizedString(@"Unable to create or access the write-ahead log. Is another copy of Notational Velocity currently running?",nil), + NSRunAlertPanel(NSLocalizedString(@"Unable to create or access the Interim Note-Changes file. Is another copy of Notational Velocity currently running?",nil), NSLocalizedString(@"Open Console in /Applications/Utilities/ for more information.",nil), NSLocalizedString(@"Quit",nil), NULL, NULL); @@ -1148,7 +1223,6 @@ - (void)_addNote:(NoteObject*)aNoteObject { notesChanged = YES; } -//TODO: wrap these methods or modify them to allow moving deletion warnings here //the gateway methods must always show warnings, or else flash overlay window if show-warnings-pref is off - (void)removeNotes:(NSArray*)noteArray { NSEnumerator *enumerator = [noteArray objectEnumerator]; @@ -1197,7 +1271,7 @@ - (void)removeNote:(NoteObject*)aNoteObject { } - (void)_registerDeletionUndoForNote:(NoteObject*)aNote { - //TODO: aNote can be released prematurely via successive undo/redos? + //TODO: aNote can be released prematurely via successive undo/redos? cannot reproduce after preventing undo of creation [undoManager registerUndoWithTarget:self selector:@selector(addNewNote:) object:aNote]; if (![undoManager isUndoing] && ![undoManager isRedoing]) [undoManager setActionName:[NSString stringWithFormat:NSLocalizedString(@"Delete quotemark%@quotemark",@"undo action name for deleting a single note"), titleOfNote(aNote)]]; @@ -1301,7 +1375,7 @@ - (BOOL)filterNotesFromUTF8String:(const char*)searchString forceUncached:(BOOL) BOOL stringHasExistingPrefix = YES; BOOL didFilterNotes = NO; size_t oldLen = 0, newLen = 0; - unsigned int i, initialCount = [notesListDataSource count]; + NSUInteger i, initialCount = [notesListDataSource count]; NSAssert(searchString != NULL, @"filterNotesFromUTF8String requires a non-NULL argument"); @@ -1357,7 +1431,7 @@ - (BOOL)filterNotesFromUTF8String:(const char*)searchString forceUncached:(BOOL) } //PHASE 3: reset found pointers in case have been cleared - unsigned int filteredNoteCount = [notesListDataSource count]; + NSUInteger filteredNoteCount = [notesListDataSource count]; NoteObject **notesBuffer = [notesListDataSource immutableObjects]; if (didFilterNotes) { @@ -1398,7 +1472,7 @@ - (BOOL)filterNotesFromUTF8String:(const char*)searchString forceUncached:(BOOL) return didFilterNotes; } -- (unsigned)preferredSelectedNoteIndex { +- (NSUInteger)preferredSelectedNoteIndex { return selectedNoteIndex; } @@ -1420,13 +1494,13 @@ - (NSArray*)notesAtIndexes:(NSIndexSet*)indexSet { - (NSIndexSet*)indexesOfNotes:(NSArray*)noteArray { NSMutableIndexSet *noteIndexes = [[NSMutableIndexSet alloc] init]; - unsigned int i, noteCount = [noteArray count]; + NSUInteger i, noteCount = [noteArray count]; id *notes = (id*)malloc(noteCount * sizeof(id)); [noteArray getObjects:notes]; for (i=0; i +#ifndef MAC_OS_X_VERSION_10_6 +#define MAC_OS_X_VERSION_10_6 1060 +#endif + +#if __OBJC__ +#import +#endif + +#ifndef NSFoundationVersionNumber10_6 +#define NSFoundationVersionNumber10_6 751.00 +#endif +#ifndef NSFoundationVersionNumber10_5 +#define NSFoundationVersionNumber10_5 677.00 +#endif +#ifndef NSAppKitVersionNumber10_3 +#define NSAppKitVersionNumber10_3 743.0 +#endif + +#ifndef NSUIntegerMax +#define NSUInteger unsigned int +#define NSUIntegerMax UINT_MAX +#endif + +#ifndef NSIntegerMax +#define NSInteger int +#define NSIntegerMax INT_MAX +#endif + +#if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 +typedef short FSIORefNum; +typedef float CGFloat; +#endif + #define VAR_STR(x) @#x #define SEL_STR(name) NSStringFromSelector(@selector(name)) @@ -24,14 +58,13 @@ #define kCompressionErr -822 #define kPassCanceledErr -823 #define kDataFormattingErr -824 +#define kItemVerifyErr -825 #define VERIFY_SALT "Salt for verifying master key in a single iteration" #define LOG_SESSION_SALT "Salt for encrypting a write-ahead-log session" -#ifndef NSAppKitVersionNumber10_3 -#define NSAppKitVersionNumber10_3 743 -#endif - #define RunningTigerAppKitOrHigher (floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_3) +#define IsLeopardOrLater (floor(NSFoundationVersionNumber) >= NSFoundationVersionNumber10_5) +#define IsSnowLeopardOrLater (floor(NSFoundationVersionNumber) >= NSFoundationVersionNumber10_6) -#define USE_KEYED_ARCHIVING 0 \ No newline at end of file +#define USE_KEYED_ARCHIVING 1 \ No newline at end of file diff --git a/NoteAttributeColumn.h b/NoteAttributeColumn.h old mode 100644 new mode 100755 index 8498c974..b41196f3 --- a/NoteAttributeColumn.h +++ b/NoteAttributeColumn.h @@ -4,8 +4,8 @@ @interface NoteAttributeColumn : NSTableColumn { - int (*sortFunction) (id*, id*); - int (*reverseSortFunction) (id*, id*); + NSInteger (*sortFunction) (id*, id*); + NSInteger (*reverseSortFunction) (id*, id*); id (*objectAttribute) (id); SEL mutateObjectSelector; @@ -18,9 +18,9 @@ SEL columnAttributeMutator(NoteAttributeColumn *col); id columnAttributeForObject(NoteAttributeColumn *col, id object); - (void)updateWidthForHighlight; - (void)setDereferencingFunction:(id (*)(id))attributeFunction; -- (void)setSortingFunction:(int (*)(id*, id*))sortFunction; -- (int (*)(id*, id*))sortFunction; -- (void)setReverseSortingFunction:(int (*)(id*, id*))aFunction; -- (int (*)(id*, id*))reverseSortFunction; +- (void)setSortingFunction:(NSInteger (*)(id*, id*))sortFunction; +- (NSInteger (*)(id*, id*))sortFunction; +- (void)setReverseSortingFunction:(NSInteger (*)(id*, id*))aFunction; +- (NSInteger (*)(id*, id*))reverseSortFunction; @end diff --git a/NoteAttributeColumn.m b/NoteAttributeColumn.m old mode 100644 new mode 100755 index 7eff9129..177d4bac --- a/NoteAttributeColumn.m +++ b/NoteAttributeColumn.m @@ -44,19 +44,19 @@ - (void)setDereferencingFunction:(id (*)(id))attributeFunction { objectAttribute = attributeFunction; } -- (void)setSortingFunction:(int (*)(id *, id *))aFunction { +- (void)setSortingFunction:(NSInteger (*)(id *, id *))aFunction { sortFunction = aFunction; } -- (int (*)(id *, id *))sortFunction { +- (NSInteger (*)(id *, id *))sortFunction { return sortFunction; } -- (void)setReverseSortingFunction:(int (*)(id*, id*))aFunction { +- (void)setReverseSortingFunction:(NSInteger (*)(id*, id*))aFunction { reverseSortFunction = aFunction; } -- (int (*)(id*, id*))reverseSortFunction { +- (NSInteger (*)(id*, id*))reverseSortFunction { return reverseSortFunction; } diff --git a/NoteObject.h b/NoteObject.h old mode 100644 new mode 100755 index b1eb455e..871f90cd --- a/NoteObject.h +++ b/NoteObject.h @@ -62,20 +62,20 @@ typedef struct _NoteFilterContext { } -int compareDateModified(id *a, id *b); -int compareDateCreated(id *a, id *b); -int compareLabelString(id *a, id *b); -int compareTitleString(id *a, id *b); -int compareUniqueNoteIDBytes(id *a, id *b); +NSInteger compareDateModified(id *a, id *b); +NSInteger compareDateCreated(id *a, id *b); +NSInteger compareLabelString(id *a, id *b); +NSInteger compareTitleString(id *a, id *b); +NSInteger compareUniqueNoteIDBytes(id *a, id *b); -int compareDateModifiedReverse(id *a, id *b); -int compareDateCreatedReverse(id *a, id *b); -int compareLabelStringReverse(id *a, id *b); -int compareTitleStringReverse(id *a, id *b); +NSInteger compareDateModifiedReverse(id *a, id *b); +NSInteger compareDateCreatedReverse(id *a, id *b); +NSInteger compareLabelStringReverse(id *a, id *b); +NSInteger compareTitleStringReverse(id *a, id *b); -int compareFilename(id *a, id *b); -int compareNodeID(id *a, id *b); +NSInteger compareFilename(id *a, id *b); +NSInteger compareNodeID(id *a, id *b); //syncing w/ server and from journal - (CFUUIDBytes *)uniqueNoteIDBytes; diff --git a/NoteObject.m b/NoteObject.m old mode 100644 new mode 100755 index 29f8897b..429fc7c8 --- a/NoteObject.m +++ b/NoteObject.m @@ -19,6 +19,16 @@ #define CURRENT_NOTE_ARCHIVING_VERSION 1 +#if __LP64__ +// Needed for compatability with data created by 32bit app +typedef struct NSRange32 { + unsigned int location; + unsigned int length; +} NSRange32; +#else +typedef NSRange NSRange32; +#endif + @implementation NoteObject static NSStringEncoding systemStringEncoding; @@ -45,6 +55,7 @@ - (id)init { modifiedDate = createdDate = 0.0; currentFormatID = SingleDatabaseFormat; nodeID = 0; + //TODO: use UTF-8 instead fileEncoding = systemStringEncoding; contentsWere7Bit = NO; @@ -107,23 +118,23 @@ - (void)setDelegate:(id)theDelegate { return obj->noteFileRef; } -int compareFilename(id *one, id *two) { +NSInteger compareFilename(id *one, id *two) { return (int)CFStringCompare((CFStringRef)((*(NoteObject**)one)->filename), (CFStringRef)((*(NoteObject**)two)->filename), kCFCompareCaseInsensitive); } -int compareDateModified(id *a, id *b) { +NSInteger compareDateModified(id *a, id *b) { return (*(NoteObject**)a)->modifiedDate - (*(NoteObject**)b)->modifiedDate; } -int compareDateCreated(id *a, id *b) { +NSInteger compareDateCreated(id *a, id *b) { return (*(NoteObject**)a)->createdDate - (*(NoteObject**)b)->createdDate; } -int compareLabelString(id *a, id *b) { +NSInteger compareLabelString(id *a, id *b) { return (int)CFStringCompare((CFStringRef)(labelsOfNote(*(NoteObject **)a)), (CFStringRef)(labelsOfNote(*(NoteObject **)b)), kCFCompareCaseInsensitive); } -int compareTitleString(id *a, id *b) { +NSInteger compareTitleString(id *a, id *b) { CFComparisonResult stringResult = CFStringCompare((CFStringRef)(titleOfNote(*(NoteObject**)a)), (CFStringRef)(titleOfNote(*(NoteObject**)b)), kCFCompareCaseInsensitive); @@ -138,22 +149,22 @@ int compareTitleString(id *a, id *b) { return (int)stringResult; } -int compareUniqueNoteIDBytes(id *a, id *b) { +NSInteger compareUniqueNoteIDBytes(id *a, id *b) { return memcmp((&(*(NoteObject**)a)->uniqueNoteIDBytes), (&(*(NoteObject**)b)->uniqueNoteIDBytes), sizeof(CFUUIDBytes)); } -int compareDateModifiedReverse(id *a, id *b) { +NSInteger compareDateModifiedReverse(id *a, id *b) { return (*(NoteObject**)b)->modifiedDate - (*(NoteObject**)a)->modifiedDate; } -int compareDateCreatedReverse(id *a, id *b) { +NSInteger compareDateCreatedReverse(id *a, id *b) { return (*(NoteObject**)b)->createdDate - (*(NoteObject**)a)->createdDate; } -int compareLabelStringReverse(id *a, id *b) { +NSInteger compareLabelStringReverse(id *a, id *b) { return (int)CFStringCompare((CFStringRef)(labelsOfNote(*(NoteObject **)b)), (CFStringRef)(labelsOfNote(*(NoteObject **)a)), kCFCompareCaseInsensitive); } -int compareTitleStringReverse(id *a, id *b) { +NSInteger compareTitleStringReverse(id *a, id *b) { CFComparisonResult stringResult = CFStringCompare((CFStringRef)(titleOfNote(*(NoteObject **)b)), (CFStringRef)(titleOfNote(*(NoteObject **)a)), kCFCompareCaseInsensitive); @@ -168,7 +179,7 @@ int compareTitleStringReverse(id *a, id *b) { return (int)stringResult; } -int compareNodeID(id *a, id *b) { +NSInteger compareNodeID(id *a, id *b) { return (*(NoteObject**)a)->nodeID - (*(NoteObject**)b)->nodeID; } @@ -263,9 +274,9 @@ - (id)initWithCoder:(NSCoder*)decoder { fileModifiedDate.fraction = [decoder decodeInt32ForKey:@"fileModDateFrac"]; fileEncoding = [decoder decodeInt32ForKey:VAR_STR(fileEncoding)]; - unsigned decodedByteCount; + NSUInteger decodedByteCount; const uint8_t *decodedBytes = [decoder decodeBytesForKey:VAR_STR(uniqueNoteIDBytes) returnedLength:&decodedByteCount]; - memcpy(&uniqueNoteIDBytes, decodedBytes, MAX(decodedByteCount, sizeof(CFUUIDBytes))); + memcpy(&uniqueNoteIDBytes, decodedBytes, MIN(decodedByteCount, sizeof(CFUUIDBytes))); serverModifiedTime = [decoder decodeInt32ForKey:VAR_STR(serverModifiedTime)]; titleString = [[decoder decodeObjectForKey:VAR_STR(titleString)] retain]; @@ -284,20 +295,43 @@ - (id)initWithCoder:(NSCoder*)decoder { } DidCheckNoteVersion = YES; } + NSRange32 range32; + #if __LP64__ + unsigned long longTemp; + #endif #if DECODE_INDIVIDUALLY [decoder decodeValueOfObjCType:@encode(CFAbsoluteTime) at:&modifiedDate]; [decoder decodeValueOfObjCType:@encode(CFAbsoluteTime) at:&createdDate]; - [decoder decodeValueOfObjCType:@encode(NSRange) at:&selectedRange]; + #if __LP64__ + [decoder decodeValueOfObjCType:"{_NSRange=II}" at:&range32]; + #else + [decoder decodeValueOfObjCType:@encode(NSRange) at:&range32]; + #endif [decoder decodeValueOfObjCType:@encode(float) at:&scrolledProportion]; [decoder decodeValueOfObjCType:@encode(unsigned int) at:&logSequenceNumber]; [decoder decodeValueOfObjCType:@encode(int) at:¤tFormatID]; + #if __LP64__ + [decoder decodeValueOfObjCType:"L" at:&longTemp]; + nodeID = (UInt32)longTemp; + #else [decoder decodeValueOfObjCType:@encode(UInt32) at:&nodeID]; + #endif [decoder decodeValueOfObjCType:@encode(UInt16) at:&fileModifiedDate.highSeconds]; - [decoder decodeValueOfObjCType:@encode(UInt32) at:&fileModifiedDate.lowSeconds]; + #if __LP64__ + [decoder decodeValueOfObjCType:"L" at:&longTemp]; + fileModifiedDate.lowSeconds = (UInt32)longTemp; + #else + [decoder decodeValueOfObjCType:@encode(UInt32) at:&fileModifiedDate.lowSeconds]; + #endif [decoder decodeValueOfObjCType:@encode(UInt16) at:&fileModifiedDate.fraction]; - [decoder decodeValueOfObjCType:@encode(NSStringEncoding) at:&fileEncoding]; + + #if __LP64__ + [decoder decodeValueOfObjCType:"I" at:&fileEncoding]; + #else + [decoder decodeValueOfObjCType:@encode(NSStringEncoding) at:&fileEncoding]; + #endif [decoder decodeValueOfObjCType:@encode(CFUUIDBytes) at:&uniqueNoteIDBytes]; [decoder decodeValueOfObjCType:@encode(unsigned int) at:&serverModifiedTime]; @@ -307,10 +341,12 @@ - (id)initWithCoder:(NSCoder*)decoder { contentString = [[decoder decodeObject] retain]; filename = [[decoder decodeObject] retain]; #else - [decoder decodeValuesOfObjCTypes: "dd{NSRange=ii}fIiI{UTCDateTime=SIS}I[16C]I@@@@", &modifiedDate, &createdDate, &selectedRange, + [decoder decodeValuesOfObjCTypes: "dd{NSRange=ii}fIiI{UTCDateTime=SIS}I[16C]I@@@@", &modifiedDate, &createdDate, &range32, &scrolledProportion, &logSequenceNumber, ¤tFormatID, &nodeID, &fileModifiedDate, &fileEncoding, &uniqueNoteIDBytes, &serverModifiedTime, &titleString, &labelString, &contentString, &filename]; #endif + selectedRange.location = range32.location; + selectedRange.length = range32.length; } contentsWere7Bit = (*(unsigned int*)&scrolledProportion) != 0; //hacko wacko @@ -336,8 +372,8 @@ - (void)encodeWithCoder:(NSCoder *)coder { [coder encodeDouble:modifiedDate forKey:VAR_STR(modifiedDate)]; [coder encodeDouble:createdDate forKey:VAR_STR(createdDate)]; - [coder encodeInt32:selectedRange.location forKey:@"selectionRangeLocation"]; - [coder encodeInt32:selectedRange.length forKey:@"selectionRangeLength"]; + [coder encodeInt32:(unsigned int)selectedRange.location forKey:@"selectionRangeLocation"]; + [coder encodeInt32:(unsigned int)selectedRange.length forKey:@"selectionRangeLength"]; [coder encodeFloat:scrolledProportion forKey:VAR_STR(scrolledProportion)]; [coder encodeInt32:logSequenceNumber forKey:VAR_STR(logSequenceNumber)]; @@ -359,10 +395,12 @@ - (void)encodeWithCoder:(NSCoder *)coder { [coder encodeObject:filename forKey:VAR_STR(filename)]; } else { +// 64bit encoding would break 32bit reading - keyed archives should be used +#if !__LP64__ #if DECODE_INDIVIDUALLY [coder encodeValueOfObjCType:@encode(CFAbsoluteTime) at:&modifiedDate]; [coder encodeValueOfObjCType:@encode(CFAbsoluteTime) at:&createdDate]; - [coder encodeValueOfObjCType:@encode(NSRange) at:&selectedRange]; + [coder encodeValueOfObjCType:@encode(NSRange) at:&selectedRange]; [coder encodeValueOfObjCType:@encode(float) at:&scrolledProportion]; [coder encodeValueOfObjCType:@encode(unsigned int) at:&logSequenceNumber]; @@ -383,10 +421,11 @@ - (void)encodeWithCoder:(NSCoder *)coder { [coder encodeObject:filename]; #else - [coder encodeValuesOfObjCTypes: "dd{NSRange=ii}fIiI{UTCDateTime=SIS}I[16C]I@@@@", &modifiedDate, &createdDate, &selectedRange, + [coder encodeValuesOfObjCTypes: "dd{NSRange=ii}fIiI{UTCDateTime=SIS}I[16C]I@@@@", &modifiedDate, &createdDate, &range32, &scrolledProportion, &logSequenceNumber, ¤tFormatID, &nodeID, &fileModifiedDate, &fileEncoding, &uniqueNoteIDBytes, &serverModifiedTime, &titleString, &labelString, &contentString, &filename]; #endif +#endif // !__LP64__ } } @@ -451,7 +490,7 @@ - (id)initWithCatalogEntry:(NoteCatalogEntry*)entry delegate:(id)aDelegate { labelString = @""; //I'd like to get labels from getxattr cLabelsFoundPtr = cLabels = strdup(""); - createdDate = modifiedDate = CFAbsoluteTimeGetCurrent(); + createdDate = modifiedDate = CFAbsoluteTimeGetCurrent(); //TODO: use the file's mod/create dates instead dateCreatedString = [dateModifiedString = [[NSString relativeDateStringWithAbsoluteTime:modifiedDate] retain] retain]; contentString = [[NSMutableAttributedString alloc] initWithString:@""]; @@ -891,6 +930,7 @@ - (BOOL)writeUsingCurrentFileFormat { [delegate noteDidNotWrite:self errorCode:err]; return NO; } + //TODO: if writing plaintext set the file encoding with setxattr if (!resetFilename) { NSLog(@"resetting the file name just because."); @@ -945,6 +985,7 @@ - (BOOL)updateFromFile { NSLog(@"Couldn't update note from file on disk"); return NO; } + //TODO: also grab the com.apple.TextEncoding xattr to help getShortLivedStringFromData: in updateFromData: figure out ambiguous cases if ([self updateFromData:data]) { FSCatalogInfo info; diff --git a/NotesTableView.h b/NotesTableView.h old mode 100644 new mode 100755 index 8135c4fa..8ba509a3 --- a/NotesTableView.h +++ b/NotesTableView.h @@ -34,7 +34,7 @@ typedef struct _ViewLocationContext { IBOutlet NSTextField *controlField; NSMutableArray *allColumns; - unsigned firstRowIndexBeforeSplitResize; + NSInteger firstRowIndexBeforeSplitResize; BOOL viewMenusValid; BOOL hadHighlightInForeground, hadHighlightInBackground; @@ -57,8 +57,8 @@ typedef struct _ViewLocationContext { - (ViewLocationContext)viewingLocation; - (void)setViewingLocation:(ViewLocationContext)ctx; -- (void)scrollRowToVisible:(int)rowIndex withVerticalOffset:(float)offset; -- (void)selectRowAndScroll:(int)row; +- (void)scrollRowToVisible:(NSInteger)rowIndex withVerticalOffset:(float)offset; +- (void)selectRowAndScroll:(NSInteger)row; //- (BOOL)clickedOnEmptyRegion; - (void)setShouldUseSecondaryHighlightColor:(BOOL)value; diff --git a/NotesTableView.m b/NotesTableView.m old mode 100644 new mode 100755 index 58b8b7ac..7b42bfbe --- a/NotesTableView.m +++ b/NotesTableView.m @@ -40,8 +40,8 @@ - (id)initWithCoder:(NSCoder *)decoder { NSString *colStrings[] = { NoteTitleColumnString, NoteLabelsColumnString, NoteDateModifiedColumnString, NoteDateCreatedColumnString }; SEL colMutators[] = { @selector(setTitleString:), @selector(setLabelString:), NULL, NULL }; id (*colReferencors[])(id) = { titleOfNote, labelsOfNote, dateModifiedStringOfNote, dateCreatedStringOfNote }; - int (*sortFunctions[])(id*, id*) = { compareTitleString, compareLabelString, compareDateModified, compareDateCreated }; - int (*reverseSortFunctions[])(id*, id*) = { compareTitleStringReverse, compareLabelStringReverse, compareDateModifiedReverse, + NSInteger (*sortFunctions[])(id*, id*) = { compareTitleString, compareLabelString, compareDateModified, compareDateCreated }; + NSInteger (*reverseSortFunctions[])(id*, id*) = { compareTitleStringReverse, compareLabelStringReverse, compareDateModifiedReverse, compareDateCreatedReverse }; unsigned int i; @@ -62,8 +62,10 @@ - (id)initWithCoder:(NSCoder *)decoder { [self addTableColumn:column]; [column updateWidthForHighlight];*/ } - - [self setRowHeight:[font defaultLineHeightForFont] + 1]; + + NSLayoutManager *lm = [[NSLayoutManager alloc] init]; + [self setRowHeight:[lm defaultLineHeightForFont:font] + 1.0f]; + [lm release]; //[self setAutosaveName:@"notesTable"]; //[self setAutosaveTableColumns:YES]; @@ -190,11 +192,13 @@ - (void)settingChangedForSelectorString:(NSString*)selectorString { NSFont *font = [NSFont systemFontOfSize:[globalPrefs tableFontSize]]; - unsigned int i; + NSUInteger i; for (i=0; i<[allColumns count]; i++) [[[allColumns objectAtIndex:i] dataCell] setFont:font]; - [self setRowHeight:[font defaultLineHeightForFont] + 1]; + NSLayoutManager *lm = [[NSLayoutManager alloc] init]; + [self setRowHeight:[lm defaultLineHeightForFont:font] + 1.0f]; + [lm release]; } } @@ -233,11 +237,11 @@ - (ViewLocationContext)viewingLocation { - (void)setViewingLocation:(ViewLocationContext)ctx { if (ctx.nonRetainedPivotObject) { - unsigned int pivotIndex = [(FastListDataSource*)[self dataSource] indexOfObjectIdenticalTo:ctx.nonRetainedPivotObject]; + NSInteger pivotIndex = [(FastListDataSource*)[self dataSource] indexOfObjectIdenticalTo:ctx.nonRetainedPivotObject]; if (pivotIndex != NSNotFound) { //figure out how to determine top/bottom condition: //if pivotRow was 0 or nRows-1, and pivotIndex is not either, then scroll maximally in the nearest direction? - unsigned int lastRow = [self numberOfRows] - 1; + NSInteger lastRow = [self numberOfRows] - 1; if (ctx.pivotRowWasEdge && (pivotIndex != 0 && pivotIndex != lastRow)) { pivotIndex = abs(pivotIndex - 0) < abs(pivotIndex - lastRow) ? 0 : lastRow; @@ -250,7 +254,7 @@ - (void)setViewingLocation:(ViewLocationContext)ctx { } } -- (void)scrollRowToVisible:(int)rowIndex withVerticalOffset:(float)offset { +- (void)scrollRowToVisible:(NSInteger)rowIndex withVerticalOffset:(float)offset { NSRect rowRect = [self rectOfRow:rowIndex]; rowRect.origin.y -= offset; @@ -615,7 +619,7 @@ - (void)keyDown:(NSEvent*)theEvent { return; } - unsigned int modifiers = [theEvent modifierFlags]; + NSUInteger modifiers = [theEvent modifierFlags]; if (modifiers & NSCommandKeyMask) { //replicating up/down with option key @@ -717,7 +721,7 @@ - (void)deselectAll:(id)sender { [self scrollRowToVisible:0]; } -- (void)selectRowAndScroll:(int)row { +- (void)selectRowAndScroll:(NSInteger)row { if (row > -1 && row < [self numberOfRows]) { [self selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO]; @@ -725,7 +729,7 @@ - (void)selectRowAndScroll:(int)row { } } -- (void)editColumn:(int)columnIndex row:(int)rowIndex withEvent:(NSEvent *)theEvent select:(BOOL)flag { +- (void)editColumn:(NSInteger)columnIndex row:(NSInteger)rowIndex withEvent:(NSEvent *)theEvent select:(BOOL)flag { [super editColumn:columnIndex row:rowIndex withEvent:theEvent select:flag]; @@ -770,7 +774,7 @@ - (void)makeFirstPreviouslyVisibleRowVisibleIfNecessary { - (void)noteFirstVisibleRow { firstRowIndexBeforeSplitResize = NSNotFound; - unsigned newFirstRow = [[self selectedRowIndexes] firstIndex]; + NSUInteger newFirstRow = [[self selectedRowIndexes] firstIndex]; NSRange range = [self rowsInRect:[self visibleRect]]; if (NSLocationInRange(newFirstRow, range)) { diff --git a/PTHotKeys/PTHotKey.h b/PTHotKeys/PTHotKey.h old mode 100644 new mode 100755 diff --git a/PTHotKeys/PTHotKey.m b/PTHotKeys/PTHotKey.m old mode 100644 new mode 100755 diff --git a/PTHotKeys/PTHotKeyCenter.h b/PTHotKeys/PTHotKeyCenter.h old mode 100644 new mode 100755 index 67a9fc95..65a3eb05 --- a/PTHotKeys/PTHotKeyCenter.h +++ b/PTHotKeys/PTHotKeyCenter.h @@ -13,6 +13,8 @@ @interface PTHotKeyCenter : NSObject { NSMutableDictionary* mHotKeys; //Keys are NSValue of EventHotKeyRef + NSMutableDictionary* mHotKeyMap; + u_int32_t mNextKeyID; BOOL mEventHandlerInstalled; } diff --git a/PTHotKeys/PTHotKeyCenter.m b/PTHotKeys/PTHotKeyCenter.m old mode 100644 new mode 100755 index da5365b1..24bf6913 --- a/PTHotKeys/PTHotKeyCenter.m +++ b/PTHotKeys/PTHotKeyCenter.m @@ -39,6 +39,8 @@ - (id)init if( self ) { mHotKeys = [[NSMutableDictionary alloc] init]; + mHotKeyMap = [[NSMutableDictionary alloc] init]; + mNextKeyID = 1; } return self; @@ -70,13 +72,14 @@ - (BOOL)registerHotKey: (PTHotKey*)hotKey hotKeyID.signature = UTGetOSTypeFromString(CFSTR("PTHk")); - hotKeyID.id = (long)hotKey; + hotKeyID.id = mNextKeyID; + //NSLog(@"registering..."); err = RegisterEventHotKey( [[hotKey keyCombo] keyCode], [[hotKey keyCombo] modifiers], hotKeyID, GetEventDispatcherTarget(), - nil, + 0, &carbonHotKey ); if( err ) @@ -84,7 +87,11 @@ - (BOOL)registerHotKey: (PTHotKey*)hotKey //NSLog(@"error --"); return NO; } - + + NSNumber *kid = [NSNumber numberWithUnsignedInt:mNextKeyID]; + [mHotKeyMap setObject:hotKey forKey:kid]; + mNextKeyID += 1; + [hotKey setCarbonHotKey:carbonHotKey]; [mHotKeys setObject: hotKey forKey: [hotKey name]]; @@ -210,9 +217,11 @@ - (OSStatus)sendCarbonEvent: (EventRef)event NSAssert( hotKeyID.signature == UTGetOSTypeFromString(CFSTR("PTHk")), @"Invalid hot key id" ); - NSAssert( hotKeyID.id != nil, @"Invalid hot key id" ); - hotKey = (PTHotKey*)hotKeyID.id; + NSNumber *kid = [NSNumber numberWithUnsignedInt:hotKeyID.id]; + hotKey = [mHotKeyMap objectForKey:kid]; + + NSAssert( hotKey != nil, @"Invalid hot key id" ); switch( GetEventKind( event ) ) { diff --git a/PTHotKeys/PTKeyBroadcaster.h b/PTHotKeys/PTKeyBroadcaster.h old mode 100644 new mode 100755 diff --git a/PTHotKeys/PTKeyBroadcaster.m b/PTHotKeys/PTKeyBroadcaster.m old mode 100644 new mode 100755 diff --git a/PTHotKeys/PTKeyCodes.plist b/PTHotKeys/PTKeyCodes.plist old mode 100644 new mode 100755 diff --git a/PTHotKeys/PTKeyCombo.h b/PTHotKeys/PTKeyCombo.h old mode 100644 new mode 100755 diff --git a/PTHotKeys/PTKeyCombo.m b/PTHotKeys/PTKeyCombo.m old mode 100644 new mode 100755 index 40b1d085..ff463ab7 --- a/PTHotKeys/PTKeyCombo.m +++ b/PTHotKeys/PTKeyCombo.m @@ -105,7 +105,7 @@ + (NSDictionary*)_keyCodesDictionary NSString* contents; path = [[NSBundle bundleForClass: self] pathForResource: @"PTKeyCodes" ofType: @"plist"]; - contents = [NSString stringWithContentsOfFile: path]; + contents = [NSString stringWithContentsOfFile: path encoding:NSUTF8StringEncoding error:nil]; keyCodes = [[contents propertyList] retain]; } diff --git a/PTHotKeys/PTKeyComboPanel.h b/PTHotKeys/PTKeyComboPanel.h old mode 100644 new mode 100755 diff --git a/PTHotKeys/PTKeyComboPanel.m b/PTHotKeys/PTKeyComboPanel.m old mode 100644 new mode 100755 diff --git a/PassphraseChanger.h b/PassphraseChanger.h old mode 100644 new mode 100755 diff --git a/PassphraseChanger.m b/PassphraseChanger.m old mode 100644 new mode 100755 diff --git a/PassphrasePicker.h b/PassphrasePicker.h old mode 100644 new mode 100755 diff --git a/PassphrasePicker.m b/PassphrasePicker.m old mode 100644 new mode 100755 diff --git a/PassphraseRetriever.h b/PassphraseRetriever.h old mode 100644 new mode 100755 diff --git a/PassphraseRetriever.m b/PassphraseRetriever.m old mode 100644 new mode 100755 diff --git a/PrefsWindowController.h b/PrefsWindowController.h old mode 100644 new mode 100755 diff --git a/PrefsWindowController.m b/PrefsWindowController.m old mode 100644 new mode 100755 index b7699157..5347b56b --- a/PrefsWindowController.m +++ b/PrefsWindowController.m @@ -100,7 +100,7 @@ - (void)changeFont:(id)sender { } } -- (unsigned int)validModesForFontPanel:(NSFontPanel *)fontPanel { +- (NSUInteger)validModesForFontPanel:(NSFontPanel *)fontPanel { return NSFontPanelSizeModeMask | NSFontPanelCollectionModeMask; } diff --git a/QuickSearchTable.h b/QuickSearchTable.h old mode 100644 new mode 100755 diff --git a/QuickSearchTable.m b/QuickSearchTable.m old mode 100644 new mode 100755 diff --git a/RBSplitView/RBSplitSubview.h b/RBSplitView/RBSplitSubview.h index d0582305..bc98f69f 100644 --- a/RBSplitView/RBSplitSubview.h +++ b/RBSplitView/RBSplitSubview.h @@ -24,9 +24,9 @@ typedef enum { // Most getter methods simply return the corresponding instance variable, so with some care, subclasses // could reference them directly. NSString* identifier; // An identifier string for the subview, default is @"". - int tag; // A tag integer for the subview, default is 0. - float minDimension; // The minimum dimension. Must be 1.0 or any larger integer. - float maxDimension; // The maximum dimension. Must be at least equal to the minDimension. + NSInteger tag; // A tag integer for the subview, default is 0. + CGFloat minDimension; // The minimum dimension. Must be 1.0 or any larger integer. + CGFloat maxDimension; // The maximum dimension. Must be at least equal to the minDimension. // Set to a large number if there's no maximum. double fraction; // A fractional part of the dimension, used for proportional resizing. // Normally varies between -0.999... and 0.999... @@ -35,7 +35,7 @@ typedef enum { NSRect previous; // Holds the frame rect for the last delegate notification. NSSize savedSize; // This holds the size the subview had before it was resized beyond // its minimum or maximum limits. Valid if notInLimits is YES. - unsigned int actDivider; // This is set temporarily while an alternate drag view is being dragged. + NSUInteger actDivider; // This is set temporarily while an alternate drag view is being dragged. BOOL canDragWindow; // This is set temporarily during a mouseDown on a non-opaque subview. BOOL canCollapse; // YES if the subview can be collapsed. BOOL notInLimits; // YES if the subview's dimensions are outside the set limits. @@ -70,11 +70,11 @@ typedef enum { - (BOOL)splitViewIsHorizontal; // Returns the number of subviews. Just a convenience method. -- (unsigned)numberOfSubviews; +- (NSUInteger)numberOfSubviews; // Sets and gets the tag. -- (void)setTag:(int)theTag; -- (int)tag; +- (void)setTag:(NSInteger)theTag; +- (NSInteger)tag; // Sets and gets the identifier string. Will never be nil. - (void)setIdentifier:(NSString*)aString; @@ -84,8 +84,8 @@ typedef enum { // or top to bottom. Setting it will move the subview to another position without changing its size, // status or attributes. Set position to 0 to move it to the start, or to some large number to move it // to the end of the RBSplitView. -- (unsigned)position; -- (void)setPosition:(unsigned)newPosition; +- (NSUInteger)position; +- (void)setPosition:(NSUInteger)newPosition; // Returns YES if the subview is collapsed. Collapsed subviews are squashed down to zero but never // made smaller than the minimum dimension as far as their own subviews are concerned. If the @@ -107,17 +107,17 @@ typedef enum { // Sets and gets the minimum and maximum dimensions. They're set at the same time to make sure values // are consistent. Despite being floats, they'll always have integer values. The minimum value for the // minimum is 1.0. Pass 0.0 for the maximum to set it to some huge number. -- (float)minDimension; -- (float)maxDimension; -- (void)setMinDimension:(float)newMinDimension andMaxDimension:(float)newMaxDimension; +- (CGFloat)minDimension; +- (CGFloat)maxDimension; +- (void)setMinDimension:(CGFloat)newMinDimension andMaxDimension:(CGFloat)newMaxDimension; // Call this to expand a subview programmatically. It will return the subview's dimension after // expansion. -- (float)expand; +- (CGFloat)expand; // Call this to collapse a subview programmatically. It will return the negative // of the subview's dimension _before_ collapsing, or 0.0 if the subview can't be collapsed. -- (float)collapse; +- (CGFloat)collapse; // These calls collapse and expand subviews with animation. They return YES if animation // startup was successful. @@ -131,16 +131,16 @@ typedef enum { - (BOOL)expandWithAnimation:(BOOL)animate withResize:(BOOL)resize; // Returns the current dimension of the subview. -- (float)dimension; +- (CGFloat)dimension; // Sets the current dimension of the subview, subject to the current maximum and minimum. // If the subview is collapsed, this has no immediate effect. -- (void)setDimension:(float)value; +- (void)setDimension:(CGFloat)value; // This method is used internally when a divider is dragged. It tries to change the subview's dimension // and returns the actual change, collapsing or expanding whenever possible. You usually won't need // to call this directly. -- (float)changeDimensionBy:(float)increment mayCollapse:(BOOL)mayCollapse move:(BOOL)move; +- (CGFloat)changeDimensionBy:(CGFloat)increment mayCollapse:(BOOL)mayCollapse move:(BOOL)move; @end diff --git a/RBSplitView/RBSplitSubview.m b/RBSplitView/RBSplitSubview.m index 97748bfa..3085e7ed 100644 --- a/RBSplitView/RBSplitSubview.m +++ b/RBSplitView/RBSplitSubview.m @@ -144,11 +144,11 @@ - (BOOL)splitViewIsHorizontal { // You can use either tags (ints) or identifiers (NSStrings) to identify individual subviews. // We take care not to have nil identifiers. -- (void)setTag:(int)theTag { +- (void)setTag:(NSInteger)theTag { tag = theTag; } -- (int)tag { +- (NSInteger)tag { return tag; } @@ -169,12 +169,12 @@ - (NSString*)description { // This pair of methods allows you to get and change the position of a subview (within the split view); // this counts from zero from the left or top of the split view. -- (unsigned)position { +- (NSUInteger)position { RBSplitView* sv = [self splitView]; return sv?[[sv subviews] indexOfObjectIdenticalTo:self]:0; } -- (void)setPosition:(unsigned)newPosition { +- (void)setPosition:(NSUInteger)newPosition { RBSplitView* sv = [self splitView]; if (sv) { [self retain]; @@ -239,7 +239,7 @@ - (void)setCanCollapse:(BOOL)flag { // As a convenience to other methods, it returns the subview's dimension after expanding (this may be // off by 1 pixel due to rounding) or 0.0 if it couldn't be expanded. // The delegate should not change the subview's frame. -- (float)expand { +- (CGFloat)expand { return [self RB___expandAndSetToMinimum:NO]; } @@ -248,7 +248,7 @@ - (float)expand { // As a convenience to other methods, it returns the negative of the subview's dimension before // collapsing (or 0.0 if it couldn't be collapsed). // The delegate should not change the subview's frame. -- (float)collapse { +- (CGFloat)collapse { return [self RB___collapse]; } @@ -299,21 +299,21 @@ - (BOOL)expandWithAnimation:(BOOL)animate withResize:(BOOL)resize { // The minimum dimension ought to be an integer at least equal to 1.0 but we make sure. // The maximum dimension ought to be an integer at least equal to the minimum. As a convenience, // pass in zero to set it to some huge number. -- (float)minDimension { +- (CGFloat)minDimension { return minDimension; } -- (float)maxDimension { +- (CGFloat)maxDimension { return maxDimension; } -- (void)setMinDimension:(float)newMinDimension andMaxDimension:(float)newMaxDimension { +- (void)setMinDimension:(CGFloat)newMinDimension andMaxDimension:(CGFloat)newMaxDimension { minDimension = MAX(1.0,floorf(newMinDimension)); if (newMaxDimension<1.0) { newMaxDimension = WAYOUT; } maxDimension = MAX(minDimension,floorf(newMaxDimension)); - float dim = [self dimension]; + CGFloat dim = [self dimension]; if ((dimmaxDimension)) { [[self splitView] setMustAdjust]; } @@ -321,8 +321,8 @@ - (void)setMinDimension:(float)newMinDimension andMaxDimension:(float)newMaxDime // This returns the subview's dimension. If it's collapsed, it returns the dimension it would have // after expanding. -- (float)dimension { - float dim = [self RB___visibleDimension]; +- (CGFloat)dimension { + CGFloat dim = [self RB___visibleDimension]; if (dim<=0.0) { dim = [[self splitView] RB___dimensionWithoutDividers]*fraction; if (dim=(anim&&!anim->resizing?anim->dimension:minDimension))&&(dim<=maxDimension)&&(other>=[sv minDimension])&&(other<=[sv maxDimension])) { @@ -413,15 +413,15 @@ - (void)resizeSubviewsWithOldSize:(NSSize)oldBoundsSize { // This method is used internally when a divider is dragged. It tries to change the subview's dimension // and returns the actual change, collapsing or expanding whenever possible. You usually won't need // to call this directly. -- (float)changeDimensionBy:(float)increment mayCollapse:(BOOL)mayCollapse move:(BOOL)move { +- (CGFloat)changeDimensionBy:(CGFloat)increment mayCollapse:(BOOL)mayCollapse move:(BOOL)move { RBSplitView* sv = [self splitView]; if (!sv||(fabsf(increment)<1.0)) { return 0.0; } BOOL ishor = [sv isHorizontal]; NSRect frame = [self frame]; - float olddim = DIM(frame.size); - float newdim = MAX(0.0,olddim+increment); + CGFloat olddim = DIM(frame.size); + CGFloat newdim = MAX(0.0,olddim+increment); if (newdim=FRAMETIME) { - float dim = DIM(frame.size); - float avg = anim->elapsedTime; + CGFloat avg = anim->elapsedTime; // We try to keep a record of how long it takes, on the average, to resize and adjust // one animation frame. if (anim->stepsDone) { @@ -693,7 +692,7 @@ - (void)RB___stepAnimation { } NSTimeInterval delay = MIN(0.0,FRAMETIME-avg); // We adjust the new dimension proportionally to how much of the designated time has passed. - dim = floorf(anim->dimension*(remain-avg)/anim->totalTime); + CGFloat dim = floorf(anim->dimension*(remain-avg)/anim->totalTime); if (dim>4.0) { if (!anim->collapsing) { dim = anim->dimension-dim; @@ -715,8 +714,8 @@ - (void)RB___stepAnimation { DIM(frame.size) = 0.0; [self RB___finishCollapse:frame withFraction:anim->dimension/[sv RB___dimensionWithoutDividers]]; } else { - float savemin,savemax; - float dim = [self RB___setMinAndMaxTo:anim->dimension savingMin:&savemin andMax:&savemax]; + CGFloat savemin,savemax; + CGFloat dim = [self RB___setMinAndMaxTo:anim->dimension savingMin:&savemin andMax:&savemax]; DIM(frame.size) = dim; [self RB___finishExpand:frame withFraction:0.0]; minDimension = savemin; @@ -740,7 +739,7 @@ - (BOOL)RB___stopAnimation { // This internal method returns the actual visible dimension of the subview. Differs from -dimension in // that it returns 0.0 if the subview is collapsed. -- (float)RB___visibleDimension { +- (CGFloat)RB___visibleDimension { BOOL ishor = [self splitViewIsHorizontal]; NSRect frame = [self frame]; return MAX(0.0,DIM(frame.size)); @@ -756,8 +755,8 @@ - (void)RB___copyIntoCache:(subviewCache*)cache { cache->constrain = NO; } -- (void)RB___updateFromCache:(subviewCache*)cache withTotalDimension:(float)value { - float dim = [self RB___visibleDimension]; +- (void)RB___updateFromCache:(subviewCache*)cache withTotalDimension:(CGFloat)value { + CGFloat dim = [self RB___visibleDimension]; if (cache->size>=1.0) { // New state is not collapsed. if (dim>=1.0) { @@ -782,7 +781,7 @@ - (void)RB___updateFromCache:(subviewCache*)cache withTotalDimension:(float)valu // This internal method sets minimum and maximum values to the same value, saves the old values, // and returns the new value (which will be limited to the old values). -- (float)RB___setMinAndMaxTo:(float)value savingMin:(float*)oldmin andMax:(float*)oldmax { +- (CGFloat)RB___setMinAndMaxTo:(CGFloat)value savingMin:(CGFloat*)oldmin andMax:(CGFloat*)oldmax { *oldmin = [self minDimension]; *oldmax = [self maxDimension]; if (value<*oldmin) { @@ -816,8 +815,8 @@ - (BOOL)RB___clearResponder { // This internal method collapses a subview. // It returns the negative of the size of the subview before collapsing, or 0.0 if it wasn't collapsed. -- (float)RB___collapse { - float result = 0.0; +- (CGFloat)RB___collapse { + CGFloat result = 0.0; if (![self isCollapsed]) { RBSplitView* sv = [self splitView]; if (sv&&[self canCollapse]) { @@ -851,8 +850,8 @@ - (void)RB___finishCollapse:(NSRect)rect withFraction:(double)value { // This internal method expands a subview. setToMinimum will usually be YES during a divider drag. // It returns the size of the subview after expanding, or 0.0 if it wasn't expanded. -- (float)RB___expandAndSetToMinimum:(BOOL)setToMinimum { - float result = 0.0; +- (CGFloat)RB___expandAndSetToMinimum:(BOOL)setToMinimum { + CGFloat result = 0.0; RBSplitView* sv = [self splitView]; if (sv&&[self isCollapsed]) { NSRect frame = [super frame]; @@ -863,7 +862,7 @@ - (float)RB___expandAndSetToMinimum:(BOOL)setToMinimum { } else { result = [sv RB___dimensionWithoutDividers]*frac; // We need to apply a compensation factor for proportional resizing in adjustSubviews. - float newdim = floorf((frac>=1.0)?result:result/(1.0-frac)); + CGFloat newdim = floorf((frac>=1.0)?result:result/(1.0-frac)); DIM(frame.size) = newdim; result = floorf(result); } diff --git a/RBSplitView/RBSplitView.h b/RBSplitView/RBSplitView.h index 0c786c2b..72cf9fc8 100644 --- a/RBSplitView/RBSplitView.h +++ b/RBSplitView/RBSplitView.h @@ -27,7 +27,7 @@ typedef enum { NSColor* background; // The color used to paint the view's background (may be nil). NSImage* divider; // The image used for the divider "dimple". NSRect* dividers; // A C array of NSRects, one for each divider. - float dividerThickness; // Actual divider width; should be an integer and at least 1.0. + CGFloat dividerThickness; // Actual divider width; should be an integer and at least 1.0. BOOL mustAdjust; // Set internally if the subviews need to be adjusted. BOOL mustClearFractions; // Set internally if fractions should be cleared before adjusting. BOOL isHorizontal; // The divider's orientation; default is vertical. @@ -86,7 +86,7 @@ typedef enum { - (id)initWithFrame:(NSRect)frame; // This convenience initializer adds any number of subviews and adjusts them proportionally. -- (id)initWithFrame:(NSRect)frame andSubviews:(unsigned)count; +- (id)initWithFrame:(NSRect)frame andSubviews:(NSUInteger)count; // Sets and gets the delegate. (Delegates aren't retained.) See further down for delegate methods. - (void)setDelegate:(id)anObject; @@ -96,17 +96,17 @@ typedef enum { - (RBSplitSubview*)subviewWithIdentifier:(NSString*)anIdentifier; // Returns the subview at a certain position. Returns nil if the position is invalid. -- (RBSplitSubview*)subviewAtPosition:(unsigned)position; +- (RBSplitSubview*)subviewAtPosition:(NSUInteger)position; // Adds a subview at a certain position. -- (void)addSubview:(NSView*)aView atPosition:(unsigned)position; +- (void)addSubview:(NSView*)aView atPosition:(NSUInteger)position; // Sets and gets the divider thickness, which should be a positive integer or zero. // Setting the divider image also resets this automatically, so you would call this // only if you want the divider to be larger or smaller than the image. Zero means that // the image dimensions will be used. -- (void)setDividerThickness:(float)thickness; -- (float)dividerThickness; +- (void)setDividerThickness:(CGFloat)thickness; +- (CGFloat)dividerThickness; // Sets and gets the divider image. The default image can also be set in Interface Builder, so usually // there's no need to call this. Passing in nil means that the default divider thickness will be zero, @@ -181,7 +181,7 @@ typedef enum { // This method will be called after a RBSplitView is resized with setFrameSize: but before // adjustSubviews is called on it. -- (void)splitView:(RBSplitView*)sender wasResizedFrom:(float)oldDimension to:(float)newDimension; +- (void)splitView:(RBSplitView*)sender wasResizedFrom:(CGFloat)oldDimension to:(CGFloat)newDimension; // This method will be called when a divider is double-clicked and both leading and trailing // subviews can be collapsed. Return either of the parameters to collapse that subview, or nil @@ -192,16 +192,16 @@ typedef enum { // proposed rect is passed in. Return the actual rect, or NSZeroRect to suppress cursor setting // for this divider. This won't be called for two-axis thumbs, however. The rects are in // sender's local coordinates. -- (NSRect)splitView:(RBSplitView*)sender cursorRect:(NSRect)rect forDivider:(unsigned int)divider; +- (NSRect)splitView:(RBSplitView*)sender cursorRect:(NSRect)rect forDivider:(NSUInteger)divider; // This method will be called whenever a mouse-down event is received in a divider. Return YES to have // the event handled by the split view, NO if you wish to ignore it or handle it in the delegate. -- (BOOL)splitView:(RBSplitView*)sender shouldHandleEvent:(NSEvent*)theEvent inDivider:(unsigned int)divider betweenView:(RBSplitSubview*)leading andView:(RBSplitSubview*)trailing; +- (BOOL)splitView:(RBSplitView*)sender shouldHandleEvent:(NSEvent*)theEvent inDivider:(NSUInteger)divider betweenView:(RBSplitSubview*)leading andView:(RBSplitSubview*)trailing; // This method will be called just before a subview will be collapsed or expanded with animation. // Return the approximate time the animation should take, or 0.0 to disallow animation. // If not implemented, it will use the default of 0.2 seconds per 150 pixels. -- (NSTimeInterval)splitView:(RBSplitView*)sender willAnimateSubview:(RBSplitSubview*)subview withDimension:(float)dimension; +- (NSTimeInterval)splitView:(RBSplitView*)sender willAnimateSubview:(RBSplitSubview*)subview withDimension:(CGFloat)dimension; // This method will be called whenever a subview's frame is changed, usually from inside adjustSubviews' final loop. // You'd normally use this to move some auxiliary view to keep it aligned with the subview. @@ -211,11 +211,11 @@ typedef enum { // should act as an alternate drag view. Usually, the delegate will check the point (which is in sender's // local coordinates) against the frame of one or several auxiliary views, and return a valid divider number. // Returning NSNotFound means the point is not valid. -- (unsigned int)splitView:(RBSplitView*)sender dividerForPoint:(NSPoint)point inSubview:(RBSplitSubview*)subview; +- (NSUInteger)splitView:(RBSplitView*)sender dividerForPoint:(NSPoint)point inSubview:(RBSplitSubview*)subview; // This method is called continuously while a divider is dragged, just before the leading subview is resized. // Return NO to resize the trailing view by the same amount, YES to resize the containing window by the same amount. -- (BOOL)splitView:(RBSplitView*)sender shouldResizeWindowForDivider:(unsigned int)divider betweenView:(RBSplitSubview*)leading andView:(RBSplitSubview*)trailing willGrow:(BOOL)grow; +- (BOOL)splitView:(RBSplitView*)sender shouldResizeWindowForDivider:(NSUInteger)divider betweenView:(RBSplitSubview*)leading andView:(RBSplitSubview*)trailing willGrow:(BOOL)grow; // This method is called by each subview's drawRect: method, just after filling it with the background color but // before the contained subviews are drawn. Usually you would use this to draw a frame inside the subview. diff --git a/RBSplitView/RBSplitView.m b/RBSplitView/RBSplitView.m index ba025ed3..5f223857 100644 --- a/RBSplitView/RBSplitView.m +++ b/RBSplitView/RBSplitView.m @@ -12,6 +12,7 @@ #import "AppController.h" + // Please don't remove this copyright notice! static const unsigned char RBSplitView_Copyright[] __attribute__ ((used)) = "RBSplitView 1.1.4 Copyright(c)2004-2006 by Rainer Brockerhoff ."; @@ -20,11 +21,11 @@ static NSCursor* cursors[RBSVCursorTypeCount] = {nil}; // Our own fMIN and fMAX -static inline float fMIN(float a,float b) { +static inline CGFloat fMIN(CGFloat a,CGFloat b) { return ab?a:b; } @@ -96,8 +97,8 @@ - (void)setAutosaveName:(NSString*)aString recursively:(BOOL)flag { autosaveName = [aString retain]; if (flag) { NSArray* subviews = [self subviews]; - int subcount = [subviews count]; - int i; + NSInteger subcount = [subviews count]; + NSInteger i; for (i=0;i1)&&([[parts objectAtIndex:0] intValue]==subcount)&&(k==subcount)) { - int i; + NSInteger subcount = [subviews count]; + NSInteger k = [parts count]; + if ((k-->1)&&((NSInteger)[[parts objectAtIndex:0] intValue]==subcount)&&(k==subcount)) { + NSInteger i; NSRect frame = [self frame]; BOOL ishor = [self isHorizontal]; for (i=0;i0) { @@ -436,9 +437,9 @@ - (RBSplitSubview*)subviewWithIdentifier:(NSString*)anIdentifier { } // Returns the subview at a given position -- (RBSplitSubview*)subviewAtPosition:(unsigned)position { +- (RBSplitSubview*)subviewAtPosition:(NSUInteger)position { NSArray* subviews = [super subviews]; - unsigned int subcount = [subviews count]; + NSUInteger subcount = [subviews count]; if (position0.0) { return dividerThickness; } @@ -495,9 +496,9 @@ - (float)dividerThickness { return 0.0; } -- (void)setDividerThickness:(float)thickness { - float t = fMAX(0.0,floorf(thickness)); - if ((int)dividerThickness!=(int)t) { +- (void)setDividerThickness:(CGFloat)thickness { + CGFloat t = fMAX(0.0,floorf(thickness)); + if ((NSInteger)dividerThickness!=(NSInteger)t) { dividerThickness = t; [self setMustAdjust]; } @@ -532,7 +533,7 @@ - (void)addSubview:(NSView*)aView positioned:(NSWindowOrderingMode)place relativ [self setMustAdjust]; } -- (void)addSubview:(NSView*)aView atPosition:(unsigned)position { +- (void)addSubview:(NSView*)aView atPosition:(NSUInteger)position { RBSplitSubview* suv = [self subviewAtPosition:position]; if (suv) { [self addSubview:aView positioned:NSWindowBelow relativeTo:suv]; @@ -570,10 +571,10 @@ - (void)setFrameSize:(NSSize)size { [self setMustAdjust]; if ([delegate respondsToSelector:@selector(splitView:wasResizedFrom:to:)]) { BOOL ishor = [self isHorizontal]; - float olddim = DIM(oldsize); - float newdim = DIM(size); + CGFloat olddim = DIM(oldsize); + CGFloat newdim = DIM(size); // The delegate is not called if the dimension hasn't changed. - if (((int)newdim!=(int)olddim)) { + if (((NSInteger)newdim!=(NSInteger)olddim)) { [delegate splitView:self wasResizedFrom:olddim to:newdim]; } } @@ -591,7 +592,7 @@ - (void)mouseDown:(NSEvent*)theEvent { return; } NSArray* subviews = [self RB___subviews]; - int subcount = [subviews count]; + NSInteger subcount = [subviews count]; if (subcount<2) { return; } @@ -602,7 +603,7 @@ - (void)mouseDown:(NSEvent*)theEvent { } NSPoint where = [self convertPoint:[theEvent locationInWindow] fromView:nil]; BOOL ishor = [self isHorizontal]; - int i; + NSInteger i; --subcount; // Loop over the divider rectangles. for (i=0;iorigin); + CGFloat divt = [self dividerThickness]; + CGFloat offset = DIM(where)-DIM(divdr->origin); // Check if the leading subview is nested and if yes, if one of its two-axis thumbs was hit. - int ldivdr = NSNotFound; - float loffset = 0.0; + NSInteger ldivdr = NSNotFound; + CGFloat loffset = 0.0; NSPoint lwhere = where; NSRect lrect = NSZeroRect; if ((leading = [leading coupledSplitView])) { @@ -678,8 +679,8 @@ - (void)mouseDown:(NSEvent*)theEvent { } } // Check if the trailing subview is nested and if yes, if one of its two-axis thumbs was hit. - int tdivdr = NSNotFound; - float toffset = 0.0; + NSInteger tdivdr = NSNotFound; + CGFloat toffset = 0.0; NSPoint twhere = where; NSRect trect = NSZeroRect; if ((trailing = [trailing coupledSplitView])) { @@ -753,10 +754,11 @@ - (void)awakeFromNib { } //called from //if (![self splitView]) { - //[self restoreState:YES]; + //[self restoreState:YES]; //} outletObjectAwoke(self); + } // We check if subviews must be adjusted before redisplaying programmatically. @@ -774,16 +776,16 @@ - (void)drawRect:(NSRect)rect { return; } NSArray* subviews = [self RB___subviews]; - int subcount = [subviews count]; + NSInteger subcount = [subviews count]; // Return if there are no dividers to draw. if (subcount<2) { return; } --subcount; - int i; + NSInteger i; // Cache the divider image. NSImage* divdr = [self divider]; - float divt = [self dividerThickness]; + CGFloat divt = [self dividerThickness]; // Loop over the divider rectangles. for (i=0;i=0;i--) { RBSplitSubview* view = [result objectAtIndex:i]; if ([view isHidden]) { @@ -1009,12 +1011,12 @@ - (NSArray*)RB___subviews { } // This returns the actual value set in dividerThickness. -- (float)RB___dividerThickness { +- (CGFloat)RB___dividerThickness { return dividerThickness; } // This method returns the actual dimension occupied by the subviews; that is, without dividers. -- (float)RB___dimensionWithoutDividers { +- (CGFloat)RB___dimensionWithoutDividers { BOOL ishor = [self isHorizontal]; NSSize size = [self frame].size; return fMAX(1.0,DIM(size)-[self dividerThickness]*([self RB___numberOfSubviews]-1)); @@ -1023,7 +1025,7 @@ - (float)RB___dimensionWithoutDividers { // This method returns one of the divider rectangles, or NSZeroRect if the index is invalid. // If view is non-nil, the rect will be expressed in that view's coordinates. We assume // that view is a superview of self. -- (NSRect)RB___dividerRect:(unsigned)indx relativeToView:(RBSplitView*)view { +- (NSRect)RB___dividerRect:(NSUInteger)indx relativeToView:(RBSplitView*)view { if (dividers&&(indx<[self RB___numberOfSubviews]-1)) { NSRect result = dividers[indx]; if (view&&(view!=self)) { @@ -1037,15 +1039,15 @@ - (NSRect)RB___dividerRect:(unsigned)indx relativeToView:(RBSplitView*)view { // Returns the index of the divider hit by the point, or NSNotFound if none. // point is in coordinates relative to view. delta is the divider thickness added // to both ends of the divider rect, to accomodate two-axis thumbs. -- (unsigned)RB___dividerHitBy:(NSPoint)point relativeToView:(RBSplitView*)view thickness:(float)delta { +- (NSUInteger)RB___dividerHitBy:(NSPoint)point relativeToView:(RBSplitView*)view thickness:(CGFloat)delta { if (!dividers) { return NSNotFound; } - int divcount = [self RB___numberOfSubviews]-1; + NSInteger divcount = [self RB___numberOfSubviews]-1; if (divcount<1) { return NSNotFound; } - int i; + NSInteger i; BOOL ishor = [self isHorizontal]; point = [self convertPoint:point fromView:view]; for (i=0;idimension) { return; } @@ -1303,11 +1305,11 @@ - (void)RB___tryToExpandTrailing:(RBSplitSubview*)trailing leading:(RBSplitSubvi // and expressed in local coordinates. // base is an offset (x,y) applied to the mouse location (usually will be zero) // indx is the number of the divider that's being dragged. -- (void)RB___trackMouseEvent:(NSEvent*)theEvent from:(NSPoint)where withBase:(NSPoint)base inDivider:(unsigned)indx { +- (void)RB___trackMouseEvent:(NSEvent*)theEvent from:(NSPoint)where withBase:(NSPoint)base inDivider:(NSUInteger)indx { NSPoint result; NSArray* subviews = [self RB___subviews]; - int subcount = [subviews count]; - int k; + NSInteger subcount = [subviews count]; + NSInteger k; // leading and trailing point at the subviews immediately leading and trailing the divider being tracked RBSplitSubview* leading = [subviews objectAtIndex:indx]; RBSplitSubview* trailing = [subviews objectAtIndex:indx+1]; @@ -1319,7 +1321,7 @@ - (void)RB___trackMouseEvent:(NSEvent*)theEvent from:(NSPoint)where withBase:(NS result.y = mouse.y-where.y; // delta is the actual amount the mouse has moved in the relevant coordinate since the last event. BOOL ishor = [self isHorizontal]; - float delta = DIM(result); + CGFloat delta = DIM(result); if (delta<0.0) { // Negative delta means the mouse is being moved left or upwards. // firstLeading will point at the first expanded subview to the left (or upwards) of the divider. @@ -1369,14 +1371,14 @@ - (void)RB___trackMouseEvent:(NSEvent*)theEvent from:(NSPoint)where withBase:(NS } // This is called for nested RBSplitViews, to add the cursor rects for the two-axis thumbs. -- (void)RB___addCursorRectsTo:(RBSplitView*)masterView forDividerRect:(NSRect)rect thickness:(float)delta { +- (void)RB___addCursorRectsTo:(RBSplitView*)masterView forDividerRect:(NSRect)rect thickness:(CGFloat)delta { if (dividers&&[self divider]) { NSArray* subviews = [self RB___subviews]; - int divcount = [subviews count]-1; + NSInteger divcount = [subviews count]-1; if (divcount<1) { return; } - int i; + NSInteger i; NSCursor* cursor = [RBSplitView cursor:RBSV2WayCursor]; BOOL ishor = [self isHorizontal]; // Loop over the divider rectangles, intersect them with the view's own, and add the thumb rectangle @@ -1395,16 +1397,16 @@ - (void)RB___addCursorRectsTo:(RBSplitView*)masterView forDividerRect:(NSRect)re } // This is called for nested RBSplitViews, to draw the two-axis thumbs. -- (void)RB___drawDividersIn:(RBSplitView*)masterView forDividerRect:(NSRect)rect thickness:(float)delta { +- (void)RB___drawDividersIn:(RBSplitView*)masterView forDividerRect:(NSRect)rect thickness:(CGFloat)delta { if (!dividers) { return; } NSArray* subviews = [self RB___subviews]; - int divcount = [subviews count]-1; + NSInteger divcount = [subviews count]-1; if (divcount<1) { return; } - int i; + NSInteger i; BOOL ishor = [self isHorizontal]; // Get the outer split view's divider image. NSImage* image = [masterView divider]; @@ -1442,7 +1444,7 @@ - (void)RB___adjustOutermostIfNeeded { - (void)RB___adjustSubviewsExcepting:(RBSplitSubview*)excepting { mustAdjust = NO; NSArray* subviews = [self RB___subviews]; - unsigned subcount = [subviews count]; + NSUInteger subcount = [subviews count]; if (subcount<1) { return; } @@ -1461,7 +1463,7 @@ - (void)RB___adjustSubviewsExcepting:(RBSplitSubview*)excepting { [delegate willAdjustSubviews:self]; bounds = [self bounds]; } - unsigned divcount = subcount-1; + NSUInteger divcount = subcount-1; if (divcount<1) { // No dividers at all. if (dividers) { @@ -1470,7 +1472,7 @@ - (void)RB___adjustSubviewsExcepting:(RBSplitSubview*)excepting { } } else { // Try to allocate or resize if we already have a dividers array. - unsigned long divsiz = sizeof(NSRect)*divcount; + NSUInteger divsiz = sizeof(NSRect)*divcount; dividers = dividers?reallocf(dividers,divsiz):malloc(divsiz); if (!dividers) { return; @@ -1480,20 +1482,20 @@ - (void)RB___adjustSubviewsExcepting:(RBSplitSubview*)excepting { subviewCache* caches = malloc(sizeof(subviewCache)*subcount); double realsize = 0.0; double expsize = 0.0; - float newsize = 0.0; - float effsize = 0.0; - float limit; + CGFloat newsize = 0.0; + CGFloat effsize = 0.0; + CGFloat limit; subviewCache* curr; - unsigned int i; + NSUInteger i; BOOL ishor = [self isHorizontal]; - float divt = [self dividerThickness]; + CGFloat divt = [self dividerThickness]; // First we loop over subviews and cache their information. for (i=0;iconstrain) { // Check non-constrained subviews only; calculate the proposed new size. - float cursize = (curr->size+curr->fraction)*scale; + CGFloat cursize = (curr->size+curr->fraction)*scale; // Check if we hit a limit. limit will contain either the max or min dimension, whichever was hit. if (([curr->sub RB___animationData:NO resize:NO]&&((limit = curr->size)>=0.0))|| ((curr->sub==excepting)&&((limit = [curr->sub dimension])>0.0))|| @@ -1653,8 +1655,7 @@ - (void)RB___adjustSubviewsExcepting:(RBSplitSubview*)excepting { // divider rectangles as we go along, and collapsing and expanding subviews whenever requested. RBSplitSubview* last = nil; // And we make a note if there's any nested RBSplitView. - int nested = NSNotFound; - newsize = DIM(bounds.size)-divcount*divt; + NSInteger nested = NSNotFound; for (i=0;i0.0)) { // We'll resize the last expanded subview to whatever it takes to squeeze within the frame. // Normally the change should be at most one pixel, but if too many subviews were constrained, diff --git a/RBSplitView/RBSplitViewPrivateDefines.h b/RBSplitView/RBSplitViewPrivateDefines.h index 601f9ee9..b348d075 100644 --- a/RBSplitView/RBSplitViewPrivateDefines.h +++ b/RBSplitView/RBSplitViewPrivateDefines.h @@ -15,10 +15,10 @@ // This selects the main horizontal or vertical coordinate according to the split view's orientation. // It can be used as an lvalue, too. You need to have BOOL ishor declared to use it. -#define DIM(x) (((float*)&(x))[ishor]) +#define DIM(x) (((CGFloat *)&(x))[ishor]) // This selects the other coordinate. -#define OTHER(x) (((float*)&(x))[!ishor]) +#define OTHER(x) (((CGFloat *)&(x))[!ishor]) // This value for the view offsets is guaranteed to be out of view for quite some time and is used // to mark the view as collapsed. @@ -32,15 +32,15 @@ typedef struct subviewCache { NSRect rect; // the subview's frame double fraction; // fractional extra RBSplitSubview* sub; // points at the subview - float size; // current dimension (integer) + CGFloat size; // current dimension (integer) BOOL constrain; // set if constrained } subviewCache; // This struct is used internally for doing collapse/expand animation. typedef struct animationData { RBSplitSubview* owner; // the subview being animated - float dimension; // the subview's starting or ending dimension - int stepsDone; // counts already done animation steps + CGFloat dimension; // the subview's starting or ending dimension + NSInteger stepsDone; // counts already done animation steps NSTimeInterval elapsedTime; // time already spent in resizing and adjusting subviews NSTimeInterval finishTime; // the animation should be finished at this time NSTimeInterval totalTime; // total time the animation should take @@ -57,17 +57,17 @@ typedef struct animationData { - (animationData*)RB___animationData:(BOOL)start resize:(BOOL)resize; - (void)RB___stepAnimation; - (BOOL)RB___stopAnimation; -- (float)RB___visibleDimension; -- (float)RB___setMinAndMaxTo:(float)value savingMin:(float*)oldmin andMax:(float*)oldmax; -- (float)RB___collapse; -- (float)RB___expandAndSetToMinimum:(BOOL)setToMinimum; +- (CGFloat)RB___visibleDimension; +- (CGFloat)RB___setMinAndMaxTo:(CGFloat)value savingMin:(CGFloat*)oldmin andMax:(CGFloat*)oldmax; +- (CGFloat)RB___collapse; +- (CGFloat)RB___expandAndSetToMinimum:(BOOL)setToMinimum; - (void)RB___finishCollapse:(NSRect)rect withFraction:(double)value; - (void)RB___finishExpand:(NSRect)rect withFraction:(double)value; - (void)RB___setFrameSize:(NSSize)size withFraction:(double)value; - (void)RB___setFrame:(NSRect)rect withFraction:(double)value notify:(BOOL)notify; - (double)RB___fraction; - (void)RB___copyIntoCache:(subviewCache*)cache; -- (void)RB___updateFromCache:(subviewCache*)cache withTotalDimension:(float)value; +- (void)RB___updateFromCache:(subviewCache*)cache withTotalDimension:(CGFloat)value; - (BOOL)RB___clearResponder; @end @@ -76,23 +76,23 @@ typedef struct animationData { - (void)RB___adjustOutermostIfNeeded; - (void)RB___setDragging:(BOOL)flag; -- (float)RB___dividerOrigin:(int)indx; +- (CGFloat)RB___dividerOrigin:(NSInteger)indx; - (NSArray*)RB___subviews; -- (unsigned int)RB___numberOfSubviews; +- (NSUInteger)RB___numberOfSubviews; - (void)RB___adjustSubviewsExcepting:(RBSplitSubview*)excepting; -- (float)RB___dimensionWithoutDividers; -- (float)RB___dividerThickness; -- (NSRect)RB___dividerRect:(unsigned)indx relativeToView:(RBSplitView*)view; +- (CGFloat)RB___dimensionWithoutDividers; +- (CGFloat)RB___dividerThickness; +- (NSRect)RB___dividerRect:(NSUInteger)indx relativeToView:(RBSplitView*)view; - (void)RB___setMustClearFractions; -- (BOOL)RB___shouldResizeWindowForDivider:(unsigned int)indx betweenView:(RBSplitSubview*)leading andView:(RBSplitSubview*)trailing willGrow:(BOOL)grow; -- (void)RB___tryToExpandLeading:(RBSplitSubview*)leading divider:(unsigned int)indx trailing:(RBSplitSubview*)trailing delta:(float)delta; -- (void)RB___tryToShortenLeading:(RBSplitSubview*)leading divider:(unsigned int)indx trailing:(RBSplitSubview*)trailing delta:(float)delta always:(BOOL)always; -- (void)RB___tryToExpandTrailing:(RBSplitSubview*)trailing leading:(RBSplitSubview*)leading delta:(float)delta; -- (void)RB___tryToShortenTrailing:(RBSplitSubview*)trailing divider:(unsigned int)indx leading:(RBSplitSubview*)leading delta:(float)delta always:(BOOL)always; -- (void)RB___trackMouseEvent:(NSEvent*)theEvent from:(NSPoint)where withBase:(NSPoint)base inDivider:(unsigned)indx; -- (void)RB___addCursorRectsTo:(RBSplitView*)masterView forDividerRect:(NSRect)rect thickness:(float)delta; -- (unsigned)RB___dividerHitBy:(NSPoint)point relativeToView:(RBSplitView*)view thickness:(float)delta; -- (void)RB___drawDividersIn:(RBSplitView*)masterView forDividerRect:(NSRect)rect thickness:(float)delta; +- (BOOL)RB___shouldResizeWindowForDivider:(NSUInteger)indx betweenView:(RBSplitSubview*)leading andView:(RBSplitSubview*)trailing willGrow:(BOOL)grow; +- (void)RB___tryToExpandLeading:(RBSplitSubview*)leading divider:(NSUInteger)indx trailing:(RBSplitSubview*)trailing delta:(CGFloat)delta; +- (void)RB___tryToShortenLeading:(RBSplitSubview*)leading divider:(NSUInteger)indx trailing:(RBSplitSubview*)trailing delta:(CGFloat)delta always:(BOOL)always; +- (void)RB___tryToExpandTrailing:(RBSplitSubview*)trailing leading:(RBSplitSubview*)leading delta:(CGFloat)delta; +- (void)RB___tryToShortenTrailing:(RBSplitSubview*)trailing divider:(NSUInteger)indx leading:(RBSplitSubview*)leading delta:(CGFloat)delta always:(BOOL)always; +- (void)RB___trackMouseEvent:(NSEvent*)theEvent from:(NSPoint)where withBase:(NSPoint)base inDivider:(NSUInteger)indx; +- (void)RB___addCursorRectsTo:(RBSplitView*)masterView forDividerRect:(NSRect)rect thickness:(CGFloat)delta; +- (NSUInteger)RB___dividerHitBy:(NSPoint)point relativeToView:(RBSplitView*)view thickness:(CGFloat)delta; +- (void)RB___drawDividersIn:(RBSplitView*)masterView forDividerRect:(NSRect)rect thickness:(CGFloat)delta; @end diff --git a/SFPasswordAssistantInspectorController.h b/SFPasswordAssistantInspectorController.h old mode 100644 new mode 100755 diff --git a/SavedSearchesController.m b/SavedSearchesController.m old mode 100644 new mode 100755 diff --git a/Sparkle.framework/Versions/A/Headers/NSApplication+AppCopies.h b/Sparkle.framework/Versions/A/Headers/NSApplication+AppCopies.h deleted file mode 100644 index ee901e68..00000000 --- a/Sparkle.framework/Versions/A/Headers/NSApplication+AppCopies.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// NSApplication+AppCopies.h -// Sparkle -// -// Created by Andy Matuschak on 3/16/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#import - -@interface NSApplication (SUAppCopies) -- (int)copiesRunning; -@end diff --git a/Sparkle.framework/Versions/A/Headers/NSFileManager+Authentication.h b/Sparkle.framework/Versions/A/Headers/NSFileManager+Authentication.h deleted file mode 100644 index c995911c..00000000 --- a/Sparkle.framework/Versions/A/Headers/NSFileManager+Authentication.h +++ /dev/null @@ -1,11 +0,0 @@ -// -// NSFileManager+Authentication.m -// Sparkle -// -// Created by Andy Matuschak on 3/9/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -@interface NSFileManager (SUAuthenticationAdditions) -- (BOOL)movePathWithAuthentication:(NSString *)src toPath:(NSString *)dst; -@end diff --git a/Sparkle.framework/Versions/A/Headers/NSFileManager+Verification.h b/Sparkle.framework/Versions/A/Headers/NSFileManager+Verification.h deleted file mode 100644 index f0ce7c20..00000000 --- a/Sparkle.framework/Versions/A/Headers/NSFileManager+Verification.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// NSFileManager+Verification.h -// Sparkle -// -// Created by Andy Matuschak on 3/16/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#import - -// For the paranoid folks! -@interface NSFileManager (SUVerification) -- (BOOL)validatePath:(NSString *)path withMD5Hash:(NSString *)hash; -- (BOOL)validatePath:(NSString *)path withEncodedDSASignature:(NSString *)encodedSignature; -@end diff --git a/Sparkle.framework/Versions/A/Headers/NSString+extras.h b/Sparkle.framework/Versions/A/Headers/NSString+extras.h deleted file mode 100755 index 498e4d01..00000000 --- a/Sparkle.framework/Versions/A/Headers/NSString+extras.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - -BSD License - -Copyright (c) 2002, Brent Simmons -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of ranchero.com or Brent Simmons nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT -OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - - -/* - NSString+extras.h - NetNewsWire - - Created by Brent Simmons on Fri Jun 14 2002. - Copyright (c) 2002 Brent Simmons. All rights reserved. -*/ - - -#import -#import - - -@interface NSString (extras) - -- (NSString *)stringWithSubstitute:(NSString *)subs forCharactersFromSet:(NSCharacterSet *)set; - -- (NSString *) trimWhiteSpace; - -- (NSString *) stripHTML; - -- (NSString *) ellipsizeAfterNWords: (int) n; - -+ (BOOL) stringIsEmpty: (NSString *) s; - - -@end diff --git a/Sparkle.framework/Versions/A/Headers/RSS.h b/Sparkle.framework/Versions/A/Headers/RSS.h deleted file mode 100755 index 82da04a4..00000000 --- a/Sparkle.framework/Versions/A/Headers/RSS.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - -BSD License - -Copyright (c) 2002, Brent Simmons -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of ranchero.com or Brent Simmons nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT -OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -*/ - -/* - RSS.h - A class for reading RSS feeds. - - Created by Brent Simmons on Wed Apr 17 2002. - Copyright (c) 2002 Brent Simmons. All rights reserved. -*/ - - -#import -#import -#import "NSString+extras.h" - - -@interface RSS : NSObject { - - NSDictionary *headerItems; - NSMutableArray *newsItems; - NSString *version; - - BOOL flRdf; - BOOL normalize; - } - - -/*Public*/ - -- (RSS *) initWithTitle: (NSString *) title andDescription: (NSString *) description; - -- (RSS *) initWithData: (NSData *) rssData normalize: (BOOL) fl; - -- (RSS *) initWithURL: (NSURL *) url normalize: (BOOL) fl; -- (RSS *) initWithURL: (NSURL *) url normalize: (BOOL) fl userAgent:(NSString *)userAgent; - -- (NSDictionary *) headerItems; - -- (NSMutableArray *) newsItems; - -- (NSString *) version; - -// AMM's extensions for Sparkle -- (NSDictionary *)newestItem; - - -/*Private*/ - -- (void) createheaderdictionary: (CFXMLTreeRef) tree; - -- (void) createitemsarray: (CFXMLTreeRef) tree; - -- (void) setversionstring: (CFXMLTreeRef) tree; - -- (void) flattenimagechildren: (CFXMLTreeRef) tree into: (NSMutableDictionary *) dictionary; - -- (void) flattensourceattributes: (CFXMLNodeRef) node into: (NSMutableDictionary *) dictionary; - -- (CFXMLTreeRef) getchanneltree: (CFXMLTreeRef) tree; - -- (CFXMLTreeRef) getnamedtree: (CFXMLTreeRef) currentTree name: (NSString *) name; - -- (void) normalizeRSSItem: (NSMutableDictionary *) rssItem; - -- (NSString *) getelementvalue: (CFXMLTreeRef) tree; - -@end diff --git a/Sparkle.framework/Versions/A/Headers/SUAppcast.h b/Sparkle.framework/Versions/A/Headers/SUAppcast.h index 209fe206..171148a4 100644 --- a/Sparkle.framework/Versions/A/Headers/SUAppcast.h +++ b/Sparkle.framework/Versions/A/Headers/SUAppcast.h @@ -6,22 +6,28 @@ // Copyright 2006 Andy Matuschak. All rights reserved. // -#import +#ifndef SUAPPCAST_H +#define SUAPPCAST_H -@class RSS, SUAppcastItem; +@class SUAppcastItem; @interface SUAppcast : NSObject { NSArray *items; + NSString *userAgentString; id delegate; + NSMutableData *incrementalData; } - (void)fetchAppcastFromURL:(NSURL *)url; - (void)setDelegate:delegate; +- (void)setUserAgentString:(NSString *)userAgentString; -- (SUAppcastItem *)newestItem; - (NSArray *)items; @end @interface NSObject (SUAppcastDelegate) -- appcastDidFinishLoading:(SUAppcast *)appcast; -@end \ No newline at end of file +- (void)appcastDidFinishLoading:(SUAppcast *)appcast; +- (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error; +@end + +#endif diff --git a/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h b/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h index c0202e3d..7f1ca65c 100644 --- a/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h +++ b/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h @@ -6,52 +6,42 @@ // Copyright 2006 Andy Matuschak. All rights reserved. // -#import - +#ifndef SUAPPCASTITEM_H +#define SUAPPCASTITEM_H @interface SUAppcastItem : NSObject { NSString *title; NSDate *date; - NSString *description; + NSString *itemDescription; NSURL *releaseNotesURL; - NSString *DSASignature; - NSString *MD5Sum; + NSString *DSASignature; + NSString *minimumSystemVersion; NSURL *fileURL; - NSString *fileVersion; NSString *versionString; + NSString *displayVersionString; + + NSDictionary *propertiesDictionary; } // Initializes with data from a dictionary provided by the RSS class. - initWithDictionary:(NSDictionary *)dict; - (NSString *)title; -- (void)setTitle:(NSString *)aTitle; - +- (NSString *)versionString; +- (NSString *)displayVersionString; - (NSDate *)date; -- (void)setDate:(NSDate *)aDate; - -- (NSString *)description; -- (void)setDescription:(NSString *)aDescription; - +- (NSString *)itemDescription; - (NSURL *)releaseNotesURL; -- (void)setReleaseNotesURL:(NSURL *)aReleaseNotesURL; - -- (NSString *)DSASignature; -- (void)setDSASignature:(NSString *)aDSASignature; - -- (NSString *)MD5Sum; -- (void)setMD5Sum:(NSString *)aMd5Sum; - - (NSURL *)fileURL; -- (void)setFileURL:(NSURL *)aFileURL; - -- (NSString *)fileVersion; -- (void)setFileVersion:(NSString *)aFileVersion; +- (NSString *)DSASignature; +- (NSString *)minimumSystemVersion; -- (NSString *)versionString; -- (void)setVersionString:(NSString *)versionString; +// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions. +- (NSDictionary *)propertiesDictionary; @end + +#endif diff --git a/Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateAlert.h b/Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateAlert.h deleted file mode 100644 index fc0ac9fd..00000000 --- a/Sparkle.framework/Versions/A/Headers/SUAutomaticUpdateAlert.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// SUAutomaticUpdateAlert.h -// Sparkle -// -// Created by Andy Matuschak on 3/18/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#import - -@class SUAppcastItem; -@interface SUAutomaticUpdateAlert : NSWindowController { - SUAppcastItem *updateItem; -} - -- initWithAppcastItem:(SUAppcastItem *)item; - -- (IBAction)relaunchNow:sender; -- (IBAction)relaunchLater:sender; - -@end diff --git a/Sparkle.framework/Versions/A/Headers/SUConstants.h b/Sparkle.framework/Versions/A/Headers/SUConstants.h deleted file mode 100644 index bfbe625b..00000000 --- a/Sparkle.framework/Versions/A/Headers/SUConstants.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// SUConstants.h -// Sparkle -// -// Created by Andy Matuschak on 3/16/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -extern NSString *SUUpdaterWillRestartNotification; - -extern NSString *SUCheckAtStartupKey; -extern NSString *SUFeedURLKey; -extern NSString *SUShowReleaseNotesKey; -extern NSString *SUSkippedVersionKey; -extern NSString *SUScheduledCheckIntervalKey; -extern NSString *SULastCheckTimeKey; -extern NSString *SUExpectsDSASignatureKey; -extern NSString *SUPublicDSAKeyKey; -extern NSString *SUAutomaticallyUpdateKey; -extern NSString *SUAllowsAutomaticUpdatesKey; \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Headers/SUStatusChecker.h b/Sparkle.framework/Versions/A/Headers/SUStatusChecker.h deleted file mode 100644 index e83d1520..00000000 --- a/Sparkle.framework/Versions/A/Headers/SUStatusChecker.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// SUStatusChecker.h -// Sparkle -// -// Created by Evan Schoenberg on 7/6/06. -// - -#import -#import - -@class SUStatusChecker; - -@protocol SUStatusCheckerDelegate -//versionString will be nil and isNewVersion will be NO if version checking fails. -- (void)statusChecker:(SUStatusChecker *)statusChecker foundVersion:(NSString *)versionString isNewVersion:(BOOL)isNewVersion; -@end - -@interface SUStatusChecker : SUUpdater { - id scDelegate; -} - -// Create a status checker which will notifiy delegate once the appcast version is determined. -// Notification occurs via the method defined in the SUStatusCheckerDelegate informal protocol. -+ (SUStatusChecker *)statusCheckerForDelegate:(id)delegate; - -@end diff --git a/Sparkle.framework/Versions/A/Headers/SUStatusController.h b/Sparkle.framework/Versions/A/Headers/SUStatusController.h deleted file mode 100644 index 19a3f89e..00000000 --- a/Sparkle.framework/Versions/A/Headers/SUStatusController.h +++ /dev/null @@ -1,33 +0,0 @@ -// -// SUStatusController.h -// Sparkle -// -// Created by Andy Matuschak on 3/14/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#import - - -@interface SUStatusController : NSWindowController { - double progressValue, maxProgressValue; - NSString *title, *statusText, *buttonTitle; - IBOutlet NSButton *actionButton; -} - -// Pass 0 for the max progress value to get an indeterminate progress bar. -// Pass nil for the status text to not show it. -- (void)beginActionWithTitle:(NSString *)title maxProgressValue:(double)maxProgressValue statusText:(NSString *)statusText; - -// If isDefault is YES, the button's key equivalent will be \r. -- (void)setButtonTitle:(NSString *)buttonTitle target:target action:(SEL)action isDefault:(BOOL)isDefault; -- (void)setButtonEnabled:(BOOL)enabled; - -- (double)progressValue; -- (void)setProgressValue:(double)value; -- (double)maxProgressValue; -- (void)setMaxProgressValue:(double)value; - -- (void)setStatusText:(NSString *)statusText; - -@end diff --git a/Sparkle.framework/Versions/A/Headers/SUUnarchiver.h b/Sparkle.framework/Versions/A/Headers/SUUnarchiver.h deleted file mode 100644 index da111c15..00000000 --- a/Sparkle.framework/Versions/A/Headers/SUUnarchiver.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// SUUnarchiver.h -// Sparkle -// -// Created by Andy Matuschak on 3/16/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#import - - -@interface SUUnarchiver : NSObject { - id delegate; -} - -- (void)unarchivePath:(NSString *)path; -- (void)setDelegate:delegate; - -@end - -@interface NSObject (SUUnarchiverDelegate) -- (void)unarchiver:(SUUnarchiver *)unarchiver extractedLength:(long)length; -- (void)unarchiverDidFinish:(SUUnarchiver *)unarchiver; -- (void)unarchiverDidFail:(SUUnarchiver *)unarchiver; -@end \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Headers/SUUpdateAlert.h b/Sparkle.framework/Versions/A/Headers/SUUpdateAlert.h deleted file mode 100644 index 69c28174..00000000 --- a/Sparkle.framework/Versions/A/Headers/SUUpdateAlert.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// SUUpdateAlert.h -// Sparkle -// -// Created by Andy Matuschak on 3/12/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#import - -typedef enum -{ - SUInstallUpdateChoice, - SURemindMeLaterChoice, - SUSkipThisVersionChoice -} SUUpdateAlertChoice; - -@class WebView, SUAppcastItem; -@interface SUUpdateAlert : NSWindowController { - SUAppcastItem *updateItem; - id delegate; - - IBOutlet WebView *releaseNotesView; - IBOutlet NSTextField *description; - NSProgressIndicator *releaseNotesSpinner; - BOOL webViewFinishedLoading; -} - -- initWithAppcastItem:(SUAppcastItem *)item; -- (void)setDelegate:delegate; - -- (IBAction)installUpdate:sender; -- (IBAction)skipThisVersion:sender; -- (IBAction)remindMeLater:sender; - -@end - -@interface NSObject (SUUpdateAlertDelegate) -- (void)updateAlert:(SUUpdateAlert *)updateAlert finishedWithChoice:(SUUpdateAlertChoice)updateChoice; -@end diff --git a/Sparkle.framework/Versions/A/Headers/SUUpdater.h b/Sparkle.framework/Versions/A/Headers/SUUpdater.h index 5f82914b..e78c4d35 100644 --- a/Sparkle.framework/Versions/A/Headers/SUUpdater.h +++ b/Sparkle.framework/Versions/A/Headers/SUUpdater.h @@ -6,50 +6,113 @@ // Copyright 2006 Andy Matuschak. All rights reserved. // -#import +#ifndef SUUPDATER_H +#define SUUPDATER_H -// Before you use Sparkle in your app, you must set SUFeedURL in Info.plist to the -// address of the appcast on your webserver. If you don't already have an -// appcast, please see the Sparkle documentation to learn about how to set one up. +#import -// .zip, .dmg, .tar, .tbz, .tgz archives are supported at this time. - -// By default, Sparkle offers to show the user the release notes of the build they'll be -// getting, which it assumes are in the description (or body) field of the relevant RSS item. -// Set SUShowReleaseNotes to in Info.plist to hide the button. - -@class SUAppcastItem, SUUpdateAlert, SUStatusController; +@class SUUpdateDriver, SUAppcastItem, SUHost, SUAppcast; @interface SUUpdater : NSObject { - SUAppcastItem *updateItem; - - SUStatusController *statusController; - SUUpdateAlert *updateAlert; - - NSURLDownload *downloader; - NSString *downloadPath; - NSTimer *checkTimer; - NSTimeInterval checkInterval; + SUUpdateDriver *driver; - BOOL verbose; - BOOL updateInProgress; + SUHost *host; + IBOutlet id delegate; } ++ (SUUpdater *)sharedUpdater; ++ (SUUpdater *)updaterForBundle:(NSBundle *)bundle; +- (NSBundle *)hostBundle; + +- (void)setDelegate:(id)delegate; +- delegate; + +- (void)setAutomaticallyChecksForUpdates:(BOOL)automaticallyChecks; +- (BOOL)automaticallyChecksForUpdates; + +- (void)setUpdateCheckInterval:(NSTimeInterval)interval; +- (NSTimeInterval)updateCheckInterval; + +- (void)setFeedURL:(NSURL *)feedURL; +- (NSURL *)feedURL; + +- (void)setSendsSystemProfile:(BOOL)sendsSystemProfile; +- (BOOL)sendsSystemProfile; + +- (void)setAutomaticallyDownloadsUpdates:(BOOL)automaticallyDownloadsUpdates; +- (BOOL)automaticallyDownloadsUpdates; + // This IBAction is meant for a main menu item. Hook up any menu item to this action, // and Sparkle will check for updates and report back its findings verbosely. - (IBAction)checkForUpdates:sender; -// This method is similar to the above, but it's intended for updates initiated by -// the computer instead of by the user. It does not alert the user when he is up to date, -// and it remains silent about network errors in fetching the feed. This is what you -// want to call to update programmatically; only use checkForUpdates: with buttons and menu items. +// This kicks off an update meant to be programmatically initiated. That is, it will display no UI unless it actually finds an update, +// in which case it proceeds as usual. If the fully automated updating is turned on, however, this will invoke that behavior, and if an +// update is found, it will be downloaded and prepped for installation. - (void)checkForUpdatesInBackground; -// This method allows you to schedule a check to run every time interval. You can -// pass 0 to this method to cancel a previously scheduled timer. You probably don't want -// to call this directly: if you set a SUScheduledCheckInterval key in Info.plist or -// the user defaults, Sparkle will set this up for you automatically on startup. You might -// just want to call this every time the user changes the setting in the preferences. -- (void)scheduleCheckWithInterval:(NSTimeInterval)interval; +// Date of last update check. Returns null if no check has been performed. +- (NSDate*)lastUpdateCheckDate; + +// This begins a "probing" check for updates which will not actually offer to update to that version. The delegate methods, though, +// (up to updater:didFindValidUpdate: and updaterDidNotFindUpdate:), are called, so you can use that information in your UI. +- (void)checkForUpdateInformation; + +// Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks. This call does not change the date of the next check, but only the internal NSTimer. +- (void)resetUpdateCycle; + +- (BOOL)updateInProgress; +@end + +@interface NSObject (SUUpdaterDelegateInformalProtocol) +// This method allows you to add extra parameters to the appcast URL, potentially based on whether or not Sparkle will also be sending along the system profile. This method should return an array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user. +- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile; + +// Use this to override the default behavior for Sparkle prompting the user about automatic update checks. +- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)bundle; + +// Implement this if you want to do some special handling with the appcast once it finishes loading. +- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast; + +// If you're using special logic or extensions in your appcast, implement this to use your own logic for finding +// a valid update, if any, in the given appcast. +- (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)bundle; + +// Sent when a valid update is found by the update driver. +- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)update; + +// Sent when a valid update is not found. +- (void)updaterDidNotFindUpdate:(SUUpdater *)update; + +// Sent immediately before installing the specified update. +- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update; + +// Return YES to delay the relaunch until you do some processing; invoke the given NSInvocation to continue. +- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)update untilInvoking:(NSInvocation *)invocation; + +// Called immediately before relaunching. +- (void)updaterWillRelaunchApplication:(SUUpdater *)updater; + +// This method allows you to provide a custom version comparator. +// If you don't implement this method or return nil, the standard version comparator will be used. +- (id )versionComparatorForUpdater:(SUUpdater *)updater; + +// Returns the path which is used to relaunch the client after the update is installed. By default, the path of the host bundle. +- (NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater; + +@end + +// Define some minimum intervals to avoid DOS-like checking attacks. These are in seconds. +#ifdef DEBUG +#define SU_MIN_CHECK_INTERVAL 60 +#else +#define SU_MIN_CHECK_INTERVAL 60*60 +#endif + +#ifdef DEBUG +#define SU_DEFAULT_CHECK_INTERVAL 60 +#else +#define SU_DEFAULT_CHECK_INTERVAL 60*60*24 +#endif -@end \ No newline at end of file +#endif diff --git a/Sparkle.framework/Versions/A/Headers/SUUtilities.h b/Sparkle.framework/Versions/A/Headers/SUUtilities.h deleted file mode 100644 index 5af35508..00000000 --- a/Sparkle.framework/Versions/A/Headers/SUUtilities.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// SUUtilities.h -// Sparkle -// -// Created by Andy Matuschak on 3/12/06. -// Copyright 2006 Andy Matuschak. All rights reserved. -// - -#import - -id SUInfoValueForKey(NSString *key); -NSString *SUHostAppName(); -NSString *SUHostAppDisplayName(); -NSString *SUHostAppVersion(); -NSString *SUHostAppVersionString(); - -NSComparisonResult SUStandardVersionComparison(NSString * versionA, NSString * versionB); - -// If running make localizable-strings for genstrings, ignore the error on this line. -NSString *SULocalizedString(NSString *key, NSString *comment); diff --git a/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h b/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h new file mode 100644 index 00000000..3d11ae87 --- /dev/null +++ b/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h @@ -0,0 +1,27 @@ +// +// SUVersionComparisonProtocol.h +// Sparkle +// +// Created by Andy Matuschak on 12/21/07. +// Copyright 2007 Andy Matuschak. All rights reserved. +// + +#ifndef SUVERSIONCOMPARISONPROTOCOL_H +#define SUVERSIONCOMPARISONPROTOCOL_H + +/*! + @protocol + @abstract Implement this protocol to provide version comparison facilities for Sparkle. +*/ +@protocol SUVersionComparison + +/*! + @method + @abstract An abstract method to compare two version strings. + @discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent. +*/ +- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; + +@end + +#endif diff --git a/Sparkle.framework/Versions/A/Headers/Sparkle.h b/Sparkle.framework/Versions/A/Headers/Sparkle.h index 13e9b215..08dd5777 100644 --- a/Sparkle.framework/Versions/A/Headers/Sparkle.h +++ b/Sparkle.framework/Versions/A/Headers/Sparkle.h @@ -2,21 +2,20 @@ // Sparkle.h // Sparkle // -// Created by Andy Matuschak on 3/16/06. +// Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07) // Copyright 2006 Andy Matuschak. All rights reserved. // -#import "SUUpdater.h" -#import "SUUtilities.h" -#import "SUConstants.h" -#import "SUAppcast.h" -#import "SUAppcastItem.h" -#import "SUUpdateAlert.h" -#import "SUAutomaticUpdateAlert.h" -#import "SUStatusController.h" -#import "SUUnarchiver.h" -#import "SUStatusChecker.h" +#ifndef SPARKLE_H +#define SPARKLE_H -#import "NSApplication+AppCopies.h" -#import "NSFileManager+Authentication.h" -#import "NSFileManager+Verification.h" \ No newline at end of file +// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless +// there are name-space collisions) so we can list all of them to start with: + +#import + +#import +#import +#import + +#endif diff --git a/Sparkle.framework/Versions/A/Resources/Info.plist b/Sparkle.framework/Versions/A/Resources/Info.plist index c154cb61..c7f277d0 100644 --- a/Sparkle.framework/Versions/A/Resources/Info.plist +++ b/Sparkle.framework/Versions/A/Resources/Info.plist @@ -1,9 +1,9 @@ - + CFBundleDevelopmentRegion - English + en CFBundleExecutable Sparkle CFBundleIdentifier @@ -14,9 +14,11 @@ Sparkle CFBundlePackageType FMWK + CFBundleShortVersionString + 1.5 Beta 6 CFBundleSignature ???? CFBundleVersion - 1.1 + 313 diff --git a/Sparkle.framework/Versions/A/Resources/License.txt b/Sparkle.framework/Versions/A/Resources/License.txt new file mode 100644 index 00000000..20466c41 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/License.txt @@ -0,0 +1,7 @@ +Copyright (c) 2006 Andy Matuschak + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist b/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist new file mode 100644 index 00000000..92ef9471 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist @@ -0,0 +1,174 @@ + + + + + ADP2,1 + Developer Transition Kit + MacBook1,1 + MacBook (Core Duo) + MacBook2,1 + MacBook (Core 2 Duo) + MacBook4,1 + MacBook (Core 2 Duo Feb 2008) + MacBookAir1,1 + MacBook Air (January 2008) + MacBookPro1,1 + MacBook Pro Core Duo (15-inch) + MacBookPro1,2 + MacBook Pro Core Duo (17-inch) + MacBookPro2,1 + MacBook Pro Core 2 Duo (17-inch) + MacBookPro2,2 + MacBook Pro Core 2 Duo (15-inch) + MacBookPro3,1 + MacBook Pro Core 2 Duo (15-inch LED, Core 2 Duo) + MacBookPro3,2 + MacBook Pro Core 2 Duo (17-inch HD, Core 2 Duo) + MacBookPro4,1 + MacBook Pro (Core 2 Duo Feb 2008) + MacPro1,1 + Mac Pro (four-core) + MacPro2,1 + Mac Pro (eight-core) + MacPro3,1 + Mac Pro (January 2008 4- or 8- core "Harpertown") + Macmini1,1 + Mac Mini (Core Solo/Duo) + PowerBook1,1 + PowerBook G3 + PowerBook2,1 + iBook G3 + PowerBook2,2 + iBook G3 (FireWire) + PowerBook2,3 + iBook G3 + PowerBook2,4 + iBook G3 + PowerBook3,1 + PowerBook G3 (FireWire) + PowerBook3,2 + PowerBook G4 + PowerBook3,3 + PowerBook G4 (Gigabit Ethernet) + PowerBook3,4 + PowerBook G4 (DVI) + PowerBook3,5 + PowerBook G4 (1GHz / 867MHz) + PowerBook4,1 + iBook G3 (Dual USB, Late 2001) + PowerBook4,2 + iBook G3 (16MB VRAM) + PowerBook4,3 + iBook G3 Opaque 16MB VRAM, 32MB VRAM, Early 2003) + PowerBook5,1 + PowerBook G4 (17 inch) + PowerBook5,2 + PowerBook G4 (15 inch FW 800) + PowerBook5,3 + PowerBook G4 (17-inch 1.33GHz) + PowerBook5,4 + PowerBook G4 (15 inch 1.5/1.33GHz) + PowerBook5,5 + PowerBook G4 (17-inch 1.5GHz) + PowerBook5,6 + PowerBook G4 (15 inch 1.67GHz/1.5GHz) + PowerBook5,7 + PowerBook G4 (17-inch 1.67GHz) + PowerBook5,8 + PowerBook G4 (Double layer SD, 15 inch) + PowerBook5,9 + PowerBook G4 (Double layer SD, 17 inch) + PowerBook6,1 + PowerBook G4 (12 inch) + PowerBook6,2 + PowerBook G4 (12 inch, DVI) + PowerBook6,3 + iBook G4 + PowerBook6,4 + PowerBook G4 (12 inch 1.33GHz) + PowerBook6,5 + iBook G4 (Early-Late 2004) + PowerBook6,7 + iBook G4 (Mid 2005) + PowerBook6,8 + PowerBook G4 (12 inch 1.5GHz) + PowerMac1,1 + Power Macintosh G3 (Blue & White) + PowerMac1,2 + Power Macintosh G4 (PCI Graphics) + PowerMac10,1 + Mac Mini G4 + PowerMac10,2 + Mac Mini (Late 2005) + PowerMac11,2 + Power Macintosh G5 (Late 2005) + PowerMac12,1 + iMac G5 (iSight) + PowerMac2,1 + iMac G3 (Slot-loading CD-ROM) + PowerMac2,2 + iMac G3 (Summer 2000) + PowerMac3,1 + Power Macintosh G4 (AGP Graphics) + PowerMac3,2 + Power Macintosh G4 (AGP Graphics) + PowerMac3,3 + Power Macintosh G4 (Gigabit Ethernet) + PowerMac3,4 + Power Macintosh G4 (Digital Audio) + PowerMac3,5 + Power Macintosh G4 (Quick Silver) + PowerMac3,6 + Power Macintosh G4 (Mirrored Drive Door) + PowerMac4,1 + iMac G3 (Early/Summer 2001) + PowerMac4,2 + iMac G4 (Flat Panel) + PowerMac4,4 + eMac + PowerMac4,5 + iMac G4 (17-inch Flat Panel) + PowerMac5,1 + Power Macintosh G4 Cube + PowerMac6,1 + iMac G4 (USB 2.0) + PowerMac6,3 + iMac G4 (20-inch Flat Panel) + PowerMac6,4 + eMac (USB 2.0, 2005) + PowerMac7,2 + Power Macintosh G5 + PowerMac7,3 + Power Macintosh G5 + PowerMac8,1 + iMac G5 + PowerMac8,2 + iMac G5 (Ambient Light Sensor) + PowerMac9,1 + Power Macintosh G5 (Late 2005) + RackMac1,1 + Xserve G4 + RackMac1,2 + Xserve G4 (slot-loading, cluster node) + RackMac3,1 + Xserve G5 + Xserve1,1 + Xserve (Intel Xeon) + Xserve2,1 + Xserve (January 2008 quad-core) + iMac1,1 + iMac G3 (Rev A-D) + iMac4,1 + iMac (Core Duo) + iMac4,2 + iMac for Education (17-inch, Core Duo) + iMac5,1 + iMac (Core 2 Duo, 17 or 20 inch, SuperDrive) + iMac5,2 + iMac (Core 2 Duo, 17 inch, Combo Drive) + iMac6,1 + iMac (Core 2 Duo, 24 inch, SuperDrive) + iMac8,1 + iMac (April 2008) + + diff --git a/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib index ff40c9dd..22f13f8b 100644 --- a/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib +++ b/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib @@ -1,12 +1,56 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - CLASS = SUStatusController; - LANGUAGE = ObjC; - OUTLETS = {actionButton = id; }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file + + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + CLASS + NSApplication + LANGUAGE + ObjC + SUPERCLASS + NSResponder + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + CLASS + SUStatusController + LANGUAGE + ObjC + OUTLETS + + actionButton + NSButton + progressBar + NSProgressIndicator + + SUPERCLASS + SUWindowController + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib b/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib index 99183444..a9ac8673 100644 --- a/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib +++ b/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib @@ -1,16 +1,20 @@ - + - IBDocumentLocation - 69 10 356 240 0 0 1280 832 IBFramework Version - 443.0 + 670 + IBLastKnownRelativeProjectPath + Sparkle.xcodeproj + IBOldestOS + 5 IBOpenObjects - 5 + 6 IBSystem Version - 8H14 + 10A96 + targetFramework + IBCocoaFramework diff --git a/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib index 378b22f2a6e3c51f385cd62f3c93f35a69cedf27..4f1d598179ccecb32c7a12eead96bb5fe3663eb0 100644 GIT binary patch literal 7344 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 I{hK-Azn((800000 literal 6873 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 + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + doNotInstall + id + installLater + id + installNow + id + + CLASS + SUAutomaticUpdateAlert + LANGUAGE + ObjC + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib new file mode 100644 index 00000000..2e04cfa0 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 667 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 9D34 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..6b926302ea4751c08c4de4d180bdee22f01709ff GIT binary patch literal 7278 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 f{!{!>{8{{^8|{{$9#l~I + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + CLASS + NSApplication + LANGUAGE + ObjC + SUPERCLASS + NSResponder + + + ACTIONS + + installUpdate + id + remindMeLater + id + skipThisVersion + id + + CLASS + SUUpdateAlert + LANGUAGE + ObjC + OUTLETS + + delegate + id + description + NSTextField + releaseNotesView + WebView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 00000000..2e04cfa0 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 667 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 9D34 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..b4353d2f7c1f412919b46c5526549892ff7ab525 GIT binary patch literal 10493 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 + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + finishPrompt + id + toggleMoreInfo + id + + CLASS + SUUpdatePermissionPrompt + LANGUAGE + ObjC + OUTLETS + + delegate + id + descriptionTextField + NSTextField + moreInfoButton + NSButton + moreInfoView + NSView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib new file mode 100644 index 00000000..2e04cfa0 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 667 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 9D34 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..b403a3e45f6ac2ba253f8f9747b79ecd2acb28e1 GIT binary patch literal 13189 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 literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings new file mode 100644 index 0000000000000000000000000000000000000000..b31f928fd57dad14168601c6c9bc3bacb27c9cdc GIT binary patch literal 9806 zcmeI2TTdHD6vyW|pJG!rrHu-`y|t|yBYdH!b^ZMm&h>qu z?=yY6p&v$izX$`hT!vnp*-=Y7yw*4UM{4cssjD#?YJ03b9)u6VBdz&i*i_4-@a6RB zIJCkr&SrdHPaUm0(bK8^x2{%isfAs7ar8iA>0`%{#uZ_#_HKBnr(g6w)@(+aU)wiRKO>?SnmrCQV@tbVM7xBtkyb$7$n#K7STB(>h&><9W7p1G;vK68=3FX$z#R+kdVb^?6S)5x@^Vs0a?dAbTeA# zJXxcfnJiKu`FV1J%hT-bFuavtwnYcg;NvUHw_cC;G{?y-EC7y)aqO1i6-+*%n^rLUY?H+Gtz35@a*RCv*wVJa)osA_Kcw9^ID))+2#FLvz zXBLGb56eHq$lH>Yqr<(@ZV5$H5#lPW%+Le5ihNt>`#>MhUWViugA73`4`u_0wIixC^ae$Syy&SzHlT(h z?dQmm8SKk0j+ct?gVsNew81--#9@rpbr>ke9gcqte+-2X|J1rff7V_t8rc%(Mn$tu z!O&m~v{8-Wu3JN^W&FJyT|T|aQ1fZgqTIXmMqWX~e3Or%^?lM~H~bO#Z^?i0J@Zi4 zBKXBnJlSM9dfe3>BiTMXQnh1ucqKUg`mAqbw=$ZT?{J&+>TPG@G++ zg~j~wexjJgCH=KzSgsQiDp|d}6LoieW_MGZL1qT!fy^uunVtLTCueAF^^)g3Yc*9s zlZak85wS;o%$Gl1<5BNzmr$vT8!9eHgc@uLn*qI(f(S6}mWN$Oc*VU6c%Pn^D=JktF zVl|)P>iKIv*Cg}&Jk+8g_Ylxe=J%V2?GpCC`$+P=w2O6Osi_K~_GnA0-6%UOVYQSM z;iXWQS2j7F&6N<<&3)hkTnJipbI6q3_B1sKu{G)x}Eq-L0)V7UvetRjP^`@YNh|xb5VIr7rIL zs7f(eo4wt2J}qNx{MGIoe~!^8<;_HAc?S7|7)4Yk+F~zx2CLrlm1EfQPKK*gS(abi z9`GN_N}SbYT+UcUv+jvE+*8--{z*yq_Ll3uc~vk)lSMr%t!i)is>_r2^YA3IU3|$Ho(pi=v zL)i^46;y7!L;a?p2*1X48I70XtEY<6Ev*2WdG{Jc+`F%p)6Ug<;)G5ajbD!|Ig$Hk zFmN+xc5@4=oI7WV1JAYn$g7`qp6J&L+&^1{Ih*R1`XAk*acWaeQ$fMBIbG}eB&+iM$C&&qD*JpI3a2NCvGx;4vxo)ke z$q;>B%Wx-lI}ybF2CFANcr;1(ydG_>@@u*!Pd8v?lxQ^+tDy-zlm8xx@XhLNYtt=x xSsu5iGn2?#q|qV`^(w!Va(tg#oBJYnftKO%CvGy`550a&72dwqGc0k%#lIFPR=NNH literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib index 3e65b1ff..4b1ab30e 100644 --- a/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib +++ b/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib @@ -1,12 +1,50 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - ACTIONS = {relaunchLater = id; relaunchNow = id; }; - CLASS = SUAutomaticUpdateAlert; - LANGUAGE = ObjC; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file + + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + doNotInstall + id + installLater + id + installNow + id + + CLASS + SUAutomaticUpdateAlert + LANGUAGE + ObjC + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib index 2f65f2f4..ab36d310 100644 --- a/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib +++ b/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib @@ -1,16 +1,20 @@ - + - IBDocumentLocation - 188 142 356 240 0 0 1280 1002 IBFramework Version - 443.0 + 658 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 IBOpenObjects - 5 + 6 IBSystem Version - 8H14 + 9C7010 + targetFramework + IBCocoaFramework diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib index c4201cf26aa4490d0092bd8c36f61259550aa224..7630390c89e63ae4aa0af3491cb03518c1321d8a 100644 GIT binary patch literal 7148 zcmbVQ34B!5)j#LX`euDIZ{`VM8$)DI%mxWz%SJFPNnk?Q3B%-(3=A`2mV_9=D=I3e zpyFB=nutrGqSRX3DxbAhEk)}>we{1Vwbm|f#Ud_M1HK1$!d|!!?uY&GFgy-Fg;mddo{~O=N zck$2o9)5@);m3FqKf}+NiCLMz>})6-$I4hao60KKG&Y^hU^Ce)R>`VZHLGEDte&l5 z-E1@K!3FGM*2^woTi8~1DdX%iwvAoRu3%TP?d&RcHM@rGVArwT?54$ev2-;0w&(>X zxWEk}c)$x1_`nY`oCiZ-DCEE}7!D&~B#eRpoDaD$8uH)*7z1Nr9E^tvFcBs}J`})( zP}tHCTojL|TJpltP%^oyA=s!#mO_`*VpyX-SCTEEXj-8sLmPrs;jofSM%G56kyKA( zq%HG~#@57RF@gmFCb^;^*bv&NBvm{{4NgM%)9vA;syNbS11C-Py(f7pJtP)KR0qit0)H- zSEW<&jiFQ|yttDxLaB->iPS4l2IVjnDwgW*R+7v0ix`dUg9@0onnb0OG*VZ8X*M2Y zWqox`JRA=Vcv78yCd`6La$+X+lH9UapQ9RT`k@ADVH%mWAe{=4cY;c4aYK-f`p7z% z!&@GJi=ZCn!aSG{3!niSxxk0=^Z6RSmbddLj~}C17Q!M3LNmds1(uNaYn5aw5+mE< zF;XxXPbb34l7`^?&{`$Rhmh-R{Jh`8G8(xYR=`SF1*@SI)<6i>LKxaWfpxG(1DERh zMM|$}-l8dGlL95hTeiFfDY7aJUC<4ip$9I8UbqCdz*e{vI9vwX;BvSEu7vGy z6&+h(2keAvRd|p+nk}uOL_mzDlmz)tAxx)~Sc(AaZ3s3giAcOH60WCbiLOwTpirGo zrQ$JdV6letfsyqa3Hw=&oxLd?p#da`%*)CouaS#73H^CmbnIfxtn@(z~P&C(RwsG(1$_XToe%#|R`c}?Qha+vF zISCS`=y<*jZtsKJVHyopbH8b!Q-6LJ+mBvKsjsETTp>H4b zK|kCJ`(PT)u76FA%DP7-5~Z8sHGs(#5#6qacz1;^}L zCQLr0V^WPNMRFt`LC2g`wei^4R3H;Wl^%Wx&%hnznSx|05s9_)QM&QZ!gKxb96YZY zPxU=ZEZR5Z(4cm)sx96SPi2HvoH745aFi(IMc&GDi6d6O2`|w^FT*SFDjb8~!E5k3 z{2u-QZxBO(F6Gpp;XMkep8aZ&=q4CWC`xP*`J6zjziE!7q6(?K zq*(*jz;lhB2ga*I=%WRp%_wpH|G1qM?+QDs3Wxk3Ft5>vk?c&G|! zA}KsdEm_Oz%_rpKnIDA4Ja)M%Zl8@zOypG%WT%N-l-^h^b=LGvN1`+JP;44DT zDfk9X>j)w~nB5l9*q_v{O@!K;dpeaQsXc{XDDXl)&VvpOUi#Ft(8MkGp&2b`MFDMS z=i~VVK9Nu2`MiLte^qB^R0%ZI)&)94$&|7-9!j(YQY7=tyM{U6eOJ_=ENu?Vj)g;= z$#j&MuPx9NPo^k>kLNsH#1zRUZ6a0oR&k^ztGT|eF3?q4Q25<} zIT6R_OS7{x6a54H(hOKxW4#A1WO$tLrYao?Yels_9FJ-FhGTGSAC6VCjhY<2G02M1KNyb_`f-BFeiUC# z*Z|+*B+TE3`B}cpzE^Q}4(7o^EW+X}ZU`W=c{!h&VV?5{%Y~Cw<|$O&R#L8Fxh(6q z@=O`ric^7O1x|x)I0KI3EUeTrNzJPEL_8g9tBFVB2~wn)%D#5ZYx#5{q6%K-6)P!& zs?I7IScA3P%cps)LrBozqL5!5kGB1eVm1da!g`#G^Kd>czy@q2pK6jR*|l@9GZa=+ zR=ZJMuU11^p+w{DS|BRCXF^y{>@+xf*b94bi(1*osC8Yd?2h5*& zs<>1Go{GDo63X2Fpbf*FcrBH@6K9pY2EKqw-dyr&wq=RO0t?fT)WTus)@~2pd{#kj z;tS7cr=`W@ay={5+FbsBYZBkZyC_TU!7exnJFpM?wSpX^Tv){Gd83!s;o!Y!`a){0 z$_G{w)L-=kXn_-p#zSpdriHkqks)fmDYQSeH(v6Vy4m@IJgBAIPS@2KdFi zS*_IFkyN-thwgqn(1!<9lA+#I?};=f(HndHn}_gVKOV$~wG~RH>{lfcp&rT#?Y#U< zh0{m;2=2{vTGS`?_7+YGXxvd$Tuzr|W#lIsQdFc8N$HkWF{ihrptP{KyjYo7LVfq3 z8!DJ;f<2Bu?ZcmDs4!FQm5rThF=^@6)_wYSPvDdN_@v&S`Ls@~F-=VY@lB>ZJJXP; zE1DDdwAPQ!<)Kv>Z_X!?iHg^Wz8B)J@L6^7gU{jfFba?0ZwT}+z`N89(BiQvlW;1_xd|VkmvtKM*IUm(2QU_Mn;U~8_&2gbawG12Y&0xxnzDqGLPe@8JU|% zW*P4!e`G93slB8clw|`~T9brd;FmnTA77)stOZX|pSFf5<|rjH^=ste9O}}Nq@JC6 zwOsNw^=;}n+9_ZbZscmSI;hrbo@O?DxKB;4%mmCy6A(Dp(4TrdnmN-wfyhpO>M=KS zru*!;VLW|ckYXn?qra`%+|2j^4^Ytc!hRjjS) zP{JDm)$z@NasOYg9ls)&Qa5`7DqvO(y3Q}k#%4B8)8-8A*^sX<8gxC6rw@ug6-*kG zG$2t7>xpSj(e8{I!@26t4DHX%hj|*jRB-9g>Y&}4I)a-(U}LmzLpwIKZ?l%K$r7>lz`wuvQJlBHOhb@6NX4!)CL%dg|t^Id#5zk%P# zZ{mCS&HNUAE5D83&hOyg<9CW9MYm`XO`=D%ie7QFC}?{Dv>k9tJYN*WJW&>HqFt0k zmzb-m0(ID#CPT!KF!UO>8+ID*F!UQ9GyIp~ zh~cQ=1;cBGw+!zajvKx-d}VYPT}IL9HTsOQafmU;INX?ToMx;w&Nns~n~aN$&BnCx zD&sEWEyjC{4;l{{4;!B{K5cx)_^k2Q#v{g~#utqr7(X*HlhI^0Sxt76)8saJOcPA4 zrVXacOt+Z!nI1PCG5yZ;w&^3&X|uzeV;*Hb-#prUfqATXym_KI-+ZCD$XsGBH&>aL znj_{;bGMnBx0!dEuQTs9-(|kfyx)At{3G*^&4vujUWnnLV-{rOc!Pf zl|r>JN2nL(2@8ZqVWAKdVnVmjBWx3{5Uvq!6!r-H!am`C;Xz@)@I&FC@QCn+@SgCA za6&jKd@g(;{7d*+IBf$Pvl(qpo7*`nH?_7;2Cp0KCvUG~jHlzZ%V+57B2wjZ|t%Kozb4f}icPaIx{ z&mlX8IC31r93vc~98(?39Wlqnj!PU{9o(_aafRa=$4Q%5mC>PJ`3rbU24P$2bd|h0bEwLv|!g&Go+PL)XWy-6PJtRFW9g-fE9+MuIekMI39hRPwo|b+iy&(NX`kVB=^r7^z zbX@wU^r`fj^o8^<>1*j5pT#Hma(#KeF}`uW3BF0b0$-u8*jMVC;w$%6_~!f8`*!)h z=X=8Urtj~*&wQu+wf-jmYJa;w;$QDi`qTa{|E2!R{0ICG`5*Ql@;~Z-%>TImXZ|Pr zhy73apY}iFf7buJ|A_yn|3&{x{#X3R{BQZ+mTj^_cFCgbm3^`-50P`^;qpj1Am_?? z@)&uXJVBl$7s!Qjv0N%ok;~-@dAdAPu9U0gT6uxoC@++Q@?v?3yi8spuaaBk4tc%2 jK~BkCa<|OoZSv*vwek(xS__!E13^D_i+;`?<-Pv{v&~w{ literal 6571 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 Zr5sj{Vqu9tM%(ey&U1`&=fCpCKLLTjt6~5E diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib index 0071ac07..994d4c36 100644 --- a/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib +++ b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib @@ -1,21 +1,67 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - {CLASS = NSObject; LANGUAGE = ObjC; }, - { - ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; - CLASS = SUUpdateAlert; - LANGUAGE = ObjC; - OUTLETS = {description = NSTextField; releaseNotesView = WebView; }; - SUPERCLASS = NSWindowController; - }, - { - ACTIONS = {installUpdate = id; remindMeLater = id; skipThisVersion = id; }; - CLASS = SUUpdateAlertController; - LANGUAGE = ObjC; - OUTLETS = {releaseNotesView = id; }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file + + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + CLASS + NSApplication + LANGUAGE + ObjC + SUPERCLASS + NSResponder + + + ACTIONS + + installUpdate + id + remindMeLater + id + skipThisVersion + id + + CLASS + SUUpdateAlert + LANGUAGE + ObjC + OUTLETS + + delegate + id + description + NSTextField + releaseNotesView + WebView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib index 2b25ad03..2fb8a837 100644 --- a/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib +++ b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib @@ -1,16 +1,20 @@ - + - IBDocumentLocation - 425 40 356 240 0 0 1280 832 IBFramework Version - 446.1 + 670 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 IBOpenObjects - 5 + 18 IBSystem Version - 8I127 + 10A96 + targetFramework + IBCocoaFramework diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib index be3dbd9069137fd7dfa8bbde36f0a264de1c690c..e7e7497db4bbc8e89d15986ad7531f1b0a07c217 100644 GIT binary patch literal 10623 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 literal 10634 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

( zpR+I6QFe@d%YI-#vE%Fn`;GmkWy#}`FHf#djwjDczAkw|^1|dr$%~WkNPaN+vE)t3k0(Ewye)Zm@}cBUlYcQK znWll7T9jH-Dg{C+hlv%_PXs| z+dd!Ssln74sST--)GJeCsZFV~Qs<;Lr_N2iHub*L z$5KB`{VDZinkTI=Z9-Zs?bfulX-}rTnD%6 zl4L?Bvr4H_N2!z4S?VfvmwHI~QlZpS>Miw^ilzS27^zm8E8Qc#A{|aoNpGKCoL-TB zUHbLucckB$epmY4>C4kw($}ZInEp=sf%Fg3kEI_^KV>)CQ|*eqi#^{y)IP~R#Xikm zX%E=1v2*);`}Ot(_C@xa?EkT^v43Fy&i;=h)zRLO?-=Nq zqK>#@j$^Uo0mlkQi(`%BamQB2YmPS@yB!A|#~jBUCo_^V92rVRmyDhn12V>BOwI^o z%*nVZ<3Aa|9mO?6eeu6AAH;;#9w>s$+5 zH@H@~4!91w4!J&b9d>=<`pk92b=-Br-PzsCJ=9&{p6(90XS!#*uX11QzQ)bn^WE3G z7r1Y5-{`)>z0|$Tz1-d6UgKWtUhjU%{ib`j`y2Pqo>Y(Iv3oK+PLJEu+0)h2-P6M} z$TQe8)N`3XU)u-m-Rr_6It7`Ue4N|bvWyXte>)uXPwCU zHS1KiFZ;smF4^6(bF=fZ3$lx{du5N!o|N5?eO30{>}#{&n&WAaF`7(X&d>wtAd|iCqe7U~izLCCBzA?UX-#Fg{U!!lnZ;5ZIZ<%ko z?_S?p-zMKq-!9)C-#*^~-$CCY--o`#zE6Cg`HuL$^d0pb^L^_(;rqi+{eHjVZ}0Eu z@8s|7@9OXF@8Qq)7y5hpd;9zPi~armgZ#XpM0v-o2l=)bMs%2WRb8qh0> diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib new file mode 100644 index 00000000..5220a221 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib @@ -0,0 +1,59 @@ + + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + finishPrompt + id + toggleMoreInfo + id + + CLASS + SUUpdatePermissionPrompt + LANGUAGE + ObjC + OUTLETS + + delegate + id + descriptionTextField + NSTextField + moreInfoButton + NSButton + moreInfoView + NSView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib new file mode 100644 index 00000000..b1cd28ed --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib @@ -0,0 +1,21 @@ + + + + + IBFramework Version + 670 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + 41 + + IBSystem Version + 10A96 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..e8dc5b88028a8bf491e46d29e25091c39735c921 GIT binary patch literal 13263 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 C5g()g literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings index 6bf42f79b03ffd17af6b43ea71a0ba4eda2c5f7e..16e0787b46dd69d9a9d59133dfdfc683787f5293 100644 GIT binary patch literal 8216 zcmeHM+fEcg5UppP{eXdpBt$goqcMO=j3J=$6653S1(>kRlD)9<^XfTWTXfH5*;%s< z8)691)0dj+s#Dcxs(=5H=dvw{97`X6+xUBdpRVLG!tO?f$Ook=P~x0>^Fv^tPGL92)V>5cRhJ$y^%W)Coz zV|?QX^AZ`Ozbor#{lN1Wt2z7HwG%vLa*lDEP5p*gnPQ}e-puXE-a+X-jEym?EoT__ zn&*%>kzMR2kvI5#XuEn1Ppw7td>eMnWy{&SR5P9uy` zTjHaGu?#Z14$nszXFJ4&qEPWhIs1@siM1+&vZx!8eu5U!$>?~B=PKG1jed_KXA#ch zd_(C7E4fqZpF(~P-Re;J-{NsC9xGxrPx7zkyf)B0aA;u$R+K9;68OH0xaqo_M(h(? z!zt#7kSm7}=Cl@862)~$@mV>}8}G_enxpIXy(2p}X97O*G*22^66w}N3(N5 z?K)Gx3-rMweD+or%Q@7M zr+9|{WYT2LWU`(QF}viBF$^42F&@EO@Y!W@vS;PBWi~+8qpXT7+{fTPB(9=<_vZ~V z&dgb}nw!ikcG8C4iS32E)N3`Y-<4l3B2vT)v91wewoef&{2ud6JZ21p){m{%YFMB4 z_Fu(i>)#jh<7%}UmcK-%R>odLd}woiIkHC5SvZ@ANM8I+t6?FYm0?ZB&}o$!ei^rL zcCt2Q`C=B^nz(Gw?|Q93RJoQiHRd8pW0instW}c+cn{A|d-tNJYv_+v-&g2;vnzLR zH40@oto^Zm!}^9*``!kegY8h#F*wn3YKrd=IjqtV9iHP9d*i=3k?#R(tJkAECze*M zp0!c!v7V2<$V~ba=S@Ui@gAw@Bag!QGvjFZ72iAlKFb&f zB^-^WaU#1np~=jpxfq+`Dt=p|@zP z;gs(zJV)Ye-s+4Cr_RINT^uBY3?q>PoV8kC3TtGy&55m*Wx!&U)oWB7kE4xYnusJ9 rvDo&te#?Eg-9bv=gE4isb}jh%C|I ziZ=HcZIv9N{1xM-n3MC*^*ceS0E!%AvvQpQR+?hoE@bBXC8T)=H0!9^&WPjgclUa+ z>b7?n-wF!of~Q~#jS_2~g26(o*Qy8VbB2d|OK>u1{S~xSqA%^^77uMBg(cBy+V^NC z&WgK2%B*kIz7u)!+lqO%h?H6WQ)P=L)}ET-SvIA_#d@qsKv3|4m4mqy3C+1UTEsI4g-GO z_PqPuJvFq7SvT47y18QQlKzn1kr5*JS$^D+OFLO=&k5Oold;(9iyJT885}w!Y<|dJJ9E8mjojrJ^JD{{@9)XR0hVFtYYU^)x_2Y9|Jht|c6oyH%Nsc3OYd#!wXs%aRNK`E z+QqpcLPXl`qW<>H_Ao@(&pkN9t3}?A+z@ zbuu>}5l7-PU~G0_*(;aNx=>5@c_nYt%}4A);wE-cmw4TXI1-=3mOXw}inG!u`53HZ zr8q0mKI-{R;_59aWbGz><4F0X7TKP{r`X*ilx|(0*it!LWd7G%h?l6|9!Hw>c{j^U zTZV{n=w_Z~Ih*71*~}=>r*o&wJ{2gt9F%3B!c}=A8N&Zt2A(&*o@$i&9~Yyo&Q>Lw wY3JC`WBiMIk7Grbu#76OVONf|8viqLq%oq!gYN$!?j9SS@JsOT{k + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + doNotInstall + id + installLater + id + installNow + id + + CLASS + SUAutomaticUpdateAlert + LANGUAGE + ObjC + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib new file mode 100644 index 00000000..2e04cfa0 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 667 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 9D34 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..6b2f938f90ecd44f661ea8b2d6ec06e2fd5cc720 GIT binary patch literal 7273 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 J + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + CLASS + NSApplication + LANGUAGE + ObjC + SUPERCLASS + NSResponder + + + ACTIONS + + installUpdate + id + remindMeLater + id + skipThisVersion + id + + CLASS + SUUpdateAlert + LANGUAGE + ObjC + OUTLETS + + delegate + id + description + NSTextField + releaseNotesView + WebView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 00000000..2e04cfa0 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 667 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 9D34 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..c9b1e7d8831c67d3f55c8044ba2b1fdad7eb1248 GIT binary patch literal 10668 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 GrT+t(0j`Vy literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib new file mode 100644 index 00000000..5220a221 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib @@ -0,0 +1,59 @@ + + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + finishPrompt + id + toggleMoreInfo + id + + CLASS + SUUpdatePermissionPrompt + LANGUAGE + ObjC + OUTLETS + + delegate + id + descriptionTextField + NSTextField + moreInfoButton + NSButton + moreInfoView + NSView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib new file mode 100644 index 00000000..3eb7f818 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 667 + IBLastKnownRelativeProjectPath + ../../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 9D34 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..8c54c217c00797d827b49b9adcc92151d64c3194 GIT binary patch literal 13404 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 literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib new file mode 100644 index 00000000..4b1ab30e --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib @@ -0,0 +1,50 @@ + + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + doNotInstall + id + installLater + id + installNow + id + + CLASS + SUAutomaticUpdateAlert + LANGUAGE + ObjC + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib new file mode 100644 index 00000000..33a60200 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBFramework Version + 629 + IBOldestOS + 5 + IBOpenObjects + + IBSystem Version + 9D34 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..4cd529a56b82299c1652f066cc95089a8bf1a192 GIT binary patch literal 7245 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 + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + CLASS + NSApplication + LANGUAGE + ObjC + SUPERCLASS + NSResponder + + + ACTIONS + + installUpdate + id + remindMeLater + id + skipThisVersion + id + + CLASS + SUUpdateAlert + LANGUAGE + ObjC + OUTLETS + + delegate + id + description + NSTextField + releaseNotesView + WebView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 00000000..d2586ea2 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBFramework Version + 629 + IBOldestOS + 5 + IBOpenObjects + + IBSystem Version + 9E17 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..65dfc95e3c2a0d483abf2be092c76db216dadb3c GIT binary patch literal 10338 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 z + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + finishPrompt + id + toggleMoreInfo + id + + CLASS + SUUpdatePermissionPrompt + LANGUAGE + ObjC + OUTLETS + + delegate + id + descriptionTextField + NSTextField + moreInfoButton + NSButton + moreInfoView + NSView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib new file mode 100644 index 00000000..d2586ea2 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBFramework Version + 629 + IBOldestOS + 5 + IBOpenObjects + + IBSystem Version + 9E17 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..4b7cc9054ee9d1ce02297c9b8484b41ec561c5ee GIT binary patch literal 13156 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

B-YH*!3RdDu#}q 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 literal 197376 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�J$G{!-et`Tr@b@`Bj`i;SRN#*Bem?`aqrLaD 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 - (BOOL)writeRemovalForNote:(id)aNoteObject; +- (BOOL)writeNoteObject:(id)aNoteObject; +- (void)writeNoteObjects:(NSArray*)notes; - (BOOL)_attemptToWriteUnwrittenData; - (BOOL)_encryptAndWriteData:(NSMutableData*)data; - (BOOL)synchronize; diff --git a/WALController.m b/WALController.m old mode 100644 new mode 100755 index e32d40fd..406f1eb2 --- a/WALController.m +++ b/WALController.m @@ -31,7 +31,7 @@ - (id)initWithParentFSRep:(const char*)path encryptionKey:(NSData*)key { if ([super init]) { logFD = -1; - char filename[] = ".Notational_Write_Ahead_Log"; + char filename[] = "Interim Note-Changes"; size_t newPathLength = sizeof(filename) + strlen(path) + 2; journalFile = (char*)malloc(newPathLength); @@ -73,7 +73,7 @@ - (BOOL)logFileStillExists { - (BOOL)destroyLogFile { journalFile = (char*)realloc(journalFile, 4096 * sizeof(char)); - int pathIntPtr = (int)journalFile; + intptr_t pathIntPtr = (intptr_t)journalFile; //get current path of file descriptor in case the directory was moved if (fcntl(logFD, F_GETPATH, pathIntPtr) < 0) { @@ -122,7 +122,7 @@ - (id)initWithParentFSRep:(const char*)path encryptionKey:(NSData*)key { //attempt to open/create the file exclusively with write-only and append access - if ((logFD = open(journalFile, O_CREAT | O_EXCL | O_WRONLY | O_APPEND, S_IRWXU)) < 0) { + if ((logFD = open(journalFile, O_CREAT | O_EXCL | O_WRONLY | O_APPEND, S_IRUSR | S_IWUSR)) < 0) { //if this fails, the file probably still exists, or we don't have write permission //either way, we shouldn't continue @@ -154,18 +154,12 @@ - (id)initWithParentFSRep:(const char*)path encryptionKey:(NSData*)key { return self; } -- (BOOL)writeEstablishedNote:(id)aNoteObject { - [aNoteObject incrementLSN]; - - NSMutableData *noteData = [NSMutableData data]; -#if USE_KEYED_ARCHIVING +- (BOOL)writeNoteObject:(id)aNoteObject { + //this method serializes a note object, encrypts it, and writes it to the log + NSMutableData *noteData = [NSMutableData data]; NSKeyedArchiver *archiver = [[[NSKeyedArchiver alloc] initForWritingWithMutableData:noteData] autorelease]; - [archiver encodeObject:aNoteObject forKey:VAR_STR(aNoteObject)]; + [archiver encodeObject:aNoteObject forKey:@"aNote"]; [archiver finishEncoding]; -#else - NSArchiver *archiver = [[[NSArchiver alloc] initForWritingWithMutableData:noteData] autorelease]; - [archiver encodeRootObject:aNoteObject]; -#endif if ([noteData length]) return [self _encryptAndWriteData:noteData]; @@ -173,27 +167,28 @@ - (BOOL)writeEstablishedNote:(id)aNoteObject { return NO; } +- (BOOL)writeEstablishedNote:(id)aNoteObject { + [aNoteObject incrementLSN]; + + return [self writeNoteObject:aNoteObject]; +} + - (BOOL)writeRemovalForNote:(id)aNoteObject { - + //increment the original note's LSN to ensure it's stored in the final DB [aNoteObject incrementLSN]; //construct a "removal object" for this note with some identifying information - DeletedNoteObject *removedNote = [[DeletedNoteObject alloc] initWithExistingObject:aNoteObject]; + DeletedNoteObject *removedNote = [[[DeletedNoteObject alloc] initWithExistingObject:aNoteObject] autorelease]; - NSMutableData *removedData = [NSMutableData data]; -#if USE_KEYED_ARCHIVING - NSKeyedArchiver *archiver = [[[NSKeyedArchiver alloc] initForWritingWithMutableData:removedData] autorelease]; - [archiver encodeObject:removedNote forKey:VAR_STR(removedNote)]; - [archiver finishEncoding]; -#else - NSArchiver *archiver = [[[NSArchiver alloc] initForWritingWithMutableData:removedData] autorelease]; - [archiver encodeRootObject:removedNote]; -#endif - - if ([removedData length]) - return [self _encryptAndWriteData:removedData]; - - return NO; + return [self writeNoteObject:removedNote]; +} + +- (void)writeNoteObjects:(NSArray*)notes { + //assume that the LSNs have been incremented already if they needed to be + NSUInteger i; + for (i=0; i<[notes count]; i++) { + [self writeNoteObject:[notes objectAtIndex:i]]; + } } - (BOOL)_attemptToWriteUnwrittenData { @@ -343,7 +338,7 @@ - (id)initWithParentFSRep:(const char*)path encryptionKey:(NSData*)key { chmod(journalFile, S_IRUSR); //attempt to open file read-only - if ((logFD = open(journalFile, O_EXCL | O_RDONLY, S_IRWXU)) < 0) { + if ((logFD = open(journalFile, O_EXCL | O_RDONLY)) < 0) { NSLog(@"WALRecoveryController: open error for file %s: %s", journalFile, strerror(errno)); return nil; } @@ -467,15 +462,14 @@ - (id)initWithParentFSRep:(const char*)path encryptionKey:(NSData*)key { id object = nil; - NS_DURING -#if USE_KEYED_ARCHIVING - object = [NSKeyedUnarchiver unarchiveObjectWithData:presumablySerializedData]; -#else - object = [NSUnarchiver unarchiveObjectWithData:presumablySerializedData]; -#endif - NS_HANDLER - NSLog(@"recoverNextObject got an exception while unarchiving object: %@", [localException reason]); - NS_ENDHANDLER + @try { + NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:presumablySerializedData]; + object = [unarchiver decodeObjectForKey:@"aNote"]; + [unarchiver release]; + } @catch (NSException *e) { + NSLog(@"recoverNextObject got an exception while unarchiving object: %@; returning NSNull to skip", [e reason]); + object = (id)[NSNull null]; + } [presumablySerializedData release]; @@ -531,7 +525,7 @@ - (NSDictionary*)recoveredNotes { NSLog(@"object of class %@ recovered that doesn't conform to SynchronizedNote protocol", [(NSObject*)obj className]); } } - } while (obj); + } while (obj); //|| this note failed because of a deserialization problem, but everything else was fine return [(NSDictionary*)recoveredNotes autorelease]; diff --git a/broken_md5.c b/broken_md5.c old mode 100644 new mode 100755 diff --git a/broken_md5.h b/broken_md5.h old mode 100644 new mode 100755 diff --git a/gen_sectorderfiles b/gen_sectorderfiles old mode 100644 new mode 100755 diff --git a/hashcash/libsha1.c b/hashcash/libsha1.c old mode 100644 new mode 100755 diff --git a/hashcash/sha1.h b/hashcash/sha1.h old mode 100644 new mode 100755 diff --git a/hmacsha1.c b/hmacsha1.c old mode 100644 new mode 100755 diff --git a/hmacsha1.h b/hmacsha1.h old mode 100644 new mode 100755 diff --git a/idea_ossl.c b/idea_ossl.c old mode 100644 new mode 100755 diff --git a/idea_ossl.h b/idea_ossl.h old mode 100644 new mode 100755 diff --git a/main.m b/main.m old mode 100644 new mode 100755 diff --git a/pbkdf2.c b/pbkdf2.c old mode 100644 new mode 100755 diff --git a/pbkdf2.h b/pbkdf2.h old mode 100644 new mode 100755

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 literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings b/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings new file mode 100644 index 0000000000000000000000000000000000000000..ea175ae718007ffa8325619d382eb2db6e5b1133 GIT binary patch literal 8554 zcmd^^-)>t)5XSeqPjOliB2}aaxJ0N4w5m`^sh}<5(s4}c#&wKi$4#ClkJdY69s>A& zGZ}Wzv7JAVV+1IQeY|J?%+7o>^X=?!zo(DW{ZyrA=}4bleZJLSFAdW~zej1TmXp*^ z`)b=)%U(LwC+`o`I@D87eIBUozGk|U?xl_NN%|mdt7Rj7dhzr+b<(korvFe+`wSkKj`;Vqv?HW&y{}l)1lr+Z{$1H$d29& z)Y`W_#Tv{$(7UO6b<=CT&yo){<19VYZmRT!{+I8nqc?NSIoCIz1N}2oM;bZMGg^6d zA!je0r7dX^snNtBZJPeFeCQF)qW6#u$-F(w_Ez(=vx(je^~}?`$@;nUf2T!zc5Ssy zlW$6&@oxC#7w()`=aa33oD}Gp~-xpK0j%9psdn3aDc53_0(5eM|$g--gedJ z#Ma0=cMQ0-(bbMtA4!vaX$cwn8iU1I<4EmbcAP%a@6czqwPPX6GBL^NNB_XcL?b~T za=F$YEX4$VfVcFd5$yM?KAEf1o*c{X_54OsP1RmWM*l`0dgZ-`Mt)Wg*Tf?siCuOK z3uo$`HG=Ma#{-)OuR7LWU%xKXP^lBg80cgU-ee4x@c<;A$u{>=TR8KW!Kdr2Yg$5& zV0>^92S8Y5dYkD9|EUZqW7{_fz+NY2FSNF2`&w?d9HC++Ml8Sav_bQ zcx3qN7b~tyQy#CD?R!ghjrd4p3ZL3GFS||@ZAR*dqt}a(q1R;^Iv0}Ab;Lw`r!O62 zeXvH9TxN}p^qJ+A%i}9{S&Yi=7weCqpt`9^GHRJ&=(8yCyk(C&QnVzdY}aIo93GJ> zJf$t~-;oT&!kNCoXz9&a!iWru{(ZNQ{-w>td?1V2$p7G>IWrl;_fFLFSh5_c%-@bT z-)!eZ!#XFbvz*)01Kf{1hKAnjKj*aiigWciPi^Xlhz=s)4P><=Wx|{roG;P`-H><5 zesESeYMrBipP{jXv9XQd3`COWh7owGM~-IZ_h^JZ;Jevx18puL3;-DeP3}M7Zm2iR z?EJ_x2>fZT{?6i9fpM#(M_pq=GNaFm{ zw>Z0g+hplZ3!At{fhtZR?hD~ZoWd5RekC0KyL|}D{Z^{W_W$vnks*z< zS>0<&YjAR=4O(-UnuKYPS+oyN(SQ|zAJ zayE?Uw2EEMEb|O(1o>x?TRJl(@-Z7{b^67rYHU*EQ~7Oh1K-^+{UT}Ha^=qa^x{<{ z&PP}CTsRFZgSf}(s(w;+eivt4Se93@Kq@;87CqMPVK<(o`3$L=>>+fHeWKFh+>QDn z917{9V)$jjrdXTz6ZL2dZC{yIsb>s|m3Jg791RvSUd!55dMQgp{VX%ex+HN5Ud}7p z(-C!+t}1g8uc)cP9m{xiEZ)dpmi;>$#aQP887m<_mghWi!CI>i8@hfW>v$EHs-B|_ zguC}q1@_9|Sh14oF(<~ro98@G$|`s^^f;V~6F=n)`Yo=1{Ni_ACy# zcRDM-g#Y~myL`Nqt6jFo<_NE)-F$ChjYaS0&VWklvMBH*m2u#SY}6LEzZNPoJ0jxy ztpnICvr0yFeT1K(a+Q=ZQK_%X+&-4;l3fSM^%1#lo;fjjBE0o-UtMi!;s)Ni%+gP5 zmOfmt^y*p3ysPlDTbq^pgSsuAspWQVxV}wKi-_mH+NlkJ$a=M>ZoQ1q=Zch6XgJ%) zEyLm+Q?_qncH-gp}` z4iwj^X%OqLo&!uXa%v-e<>viQW;FEnnoXJA@_xuFFqabJw-jqTTYQFBIb z&6UW-J2gLHa8uP*v~ulinr58Y!X?QQ!OBbIvD>)UCAYz5y86ePvLBWfE-?28FTbYl literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Resources/fr.lproj/fr.lproj b/Sparkle.framework/Versions/A/Resources/fr.lproj/fr.lproj new file mode 120000 index 00000000..88614fe2 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/fr.lproj/fr.lproj @@ -0,0 +1 @@ +/Users/andym/Development/Build Products/Release/Sparkle.framework/Resources/fr.lproj \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/fr_CA.lproj b/Sparkle.framework/Versions/A/Resources/fr_CA.lproj new file mode 120000 index 00000000..88614fe2 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/fr_CA.lproj @@ -0,0 +1 @@ +/Users/andym/Development/Build Products/Release/Sparkle.framework/Resources/fr.lproj \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/classes.nib new file mode 100644 index 00000000..4b1ab30e --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/classes.nib @@ -0,0 +1,50 @@ + + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + doNotInstall + id + installLater + id + installNow + id + + CLASS + SUAutomaticUpdateAlert + LANGUAGE + ObjC + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/info.nib new file mode 100644 index 00000000..2e04cfa0 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 667 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 9D34 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..15ba8f4c8e18093cec6121a6aab21fdf4a8cea1d GIT binary patch literal 7161 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 + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + CLASS + NSApplication + LANGUAGE + ObjC + SUPERCLASS + NSResponder + + + ACTIONS + + installUpdate + id + remindMeLater + id + skipThisVersion + id + + CLASS + SUUpdateAlert + LANGUAGE + ObjC + OUTLETS + + delegate + id + description + NSTextField + releaseNotesView + WebView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 00000000..2e04cfa0 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 667 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 9D34 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..2984064502b81dee5147f477cb7f28350dd4d945 GIT binary patch literal 10360 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 + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + finishPrompt + id + toggleMoreInfo + id + + CLASS + SUUpdatePermissionPrompt + LANGUAGE + ObjC + OUTLETS + + delegate + id + descriptionTextField + NSTextField + moreInfoButton + NSButton + moreInfoView + NSView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/info.nib new file mode 100644 index 00000000..c4934850 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 667 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 5 + + IBSystem Version + 9D34 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..55cc2c271b5b63daf69c155ca294fdfa17a9e0e5 GIT binary patch literal 12659 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 literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib new file mode 100644 index 00000000..4b1ab30e --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib @@ -0,0 +1,50 @@ + + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + doNotInstall + id + installLater + id + installNow + id + + CLASS + SUAutomaticUpdateAlert + LANGUAGE + ObjC + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib new file mode 100644 index 00000000..3f097908 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib @@ -0,0 +1,18 @@ + + + + + IBFramework Version + 629 + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 9D34 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..aa38f86ba2610ef2aff9b9ba9b2bdfcdfaf38147 GIT binary patch literal 7234 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 literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib new file mode 100644 index 00000000..994d4c36 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib @@ -0,0 +1,67 @@ + + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + CLASS + NSApplication + LANGUAGE + ObjC + SUPERCLASS + NSResponder + + + ACTIONS + + installUpdate + id + remindMeLater + id + skipThisVersion + id + + CLASS + SUUpdateAlert + LANGUAGE + ObjC + OUTLETS + + delegate + id + description + NSTextField + releaseNotesView + WebView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 00000000..d2586ea2 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBFramework Version + 629 + IBOldestOS + 5 + IBOpenObjects + + IBSystem Version + 9E17 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..c82d3581bf07ad42836237f2cd3ea55ca48b73b6 GIT binary patch literal 10220 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 O_|R9B- + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + finishPrompt + id + toggleMoreInfo + id + + CLASS + SUUpdatePermissionPrompt + LANGUAGE + ObjC + OUTLETS + + delegate + id + descriptionTextField + NSTextField + moreInfoButton + NSButton + moreInfoView + NSView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib new file mode 100644 index 00000000..d2586ea2 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBFramework Version + 629 + IBOldestOS + 5 + IBOpenObjects + + IBSystem Version + 9E17 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..ac298ce7e33ac2b2b9e3971c5a730f431ed872a7 GIT binary patch literal 12535 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 &-a!7R(}MG2KUBgXUDll+r+*ztt;Vw2g`>-E2it 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 literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Resources/relaunch b/Sparkle.framework/Versions/A/Resources/relaunch new file mode 100755 index 0000000000000000000000000000000000000000..e7b96d61466005ca15b235b527e3ceb5d4819283 GIT binary patch literal 58924 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 + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + doNotInstall + id + installLater + id + installNow + id + + CLASS + SUAutomaticUpdateAlert + LANGUAGE + ObjC + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/info.nib new file mode 100644 index 00000000..2b3d4257 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 670 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 9E17 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..1d4655c593e467e2972b1800808d53a152f4e56b GIT binary patch literal 7675 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 + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + CLASS + NSApplication + LANGUAGE + ObjC + SUPERCLASS + NSResponder + + + ACTIONS + + installUpdate + id + remindMeLater + id + skipThisVersion + id + + CLASS + SUUpdateAlert + LANGUAGE + ObjC + OUTLETS + + delegate + id + description + NSTextField + releaseNotesView + WebView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 00000000..2b3d4257 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 670 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 9E17 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..103b1cf8478a00db14aafa192b05f1868c294c9f GIT binary patch literal 10895 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 SGKqLr0)O + + + + IBClasses + + + CLASS + NSObject + LANGUAGE + ObjC + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + finishPrompt + id + toggleMoreInfo + id + + CLASS + SUUpdatePermissionPrompt + LANGUAGE + ObjC + OUTLETS + + delegate + id + descriptionTextField + NSTextField + moreInfoButton + NSButton + moreInfoView + NSView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/info.nib new file mode 100644 index 00000000..5132e29f --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/info.nib @@ -0,0 +1,18 @@ + + + + + IBFramework Version + 670 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + IBSystem Version + 9E17 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..c09d9e70d19c579ac605ff48aaee067448e0cea7 GIT binary patch literal 12898 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 lomi4xP~K + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + doNotInstall + id + installLater + id + installNow + id + + CLASS + SUAutomaticUpdateAlert + LANGUAGE + ObjC + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/info.nib new file mode 100644 index 00000000..c5a067e8 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 670 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 10A96 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..53cb91a9b32fc4ddcc2a4506d3ae1c0458085256 GIT binary patch literal 7474 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 LVePl=TiW?wt9#5* literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/classes.nib new file mode 100644 index 00000000..018710af --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/classes.nib @@ -0,0 +1,39 @@ +{ + IBClasses = ( + { + CLASS = FirstResponder; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + CLASS = NSApplication; + LANGUAGE = ObjC; + SUPERCLASS = NSResponder; + }, + { + CLASS = NSObject; + LANGUAGE = ObjC; + }, + { + ACTIONS = { + installUpdate = id; + remindMeLater = id; + skipThisVersion = id; + }; + CLASS = SUUpdateAlert; + LANGUAGE = ObjC; + OUTLETS = { + delegate = id; + description = NSTextField; + releaseNotesView = WebView; + }; + SUPERCLASS = SUWindowController; + }, + { + CLASS = SUWindowController; + LANGUAGE = ObjC; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/info.nib b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/info.nib new file mode 100644 index 00000000..6b787d4b --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/info.nib @@ -0,0 +1,18 @@ + + + + + IBDocumentLocation + 69 14 356 240 0 0 1280 778 + IBFramework Version + 489.0 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBSystem Version + 9D34 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..7e6d490e723329c1372940af22e3d49bc0ee5da0 GIT binary patch literal 10180 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 literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/classes.nib b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/classes.nib new file mode 100644 index 00000000..5220a221 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/classes.nib @@ -0,0 +1,59 @@ + + + + + IBClasses + + + CLASS + SUWindowController + LANGUAGE + ObjC + SUPERCLASS + NSWindowController + + + ACTIONS + + finishPrompt + id + toggleMoreInfo + id + + CLASS + SUUpdatePermissionPrompt + LANGUAGE + ObjC + OUTLETS + + delegate + id + descriptionTextField + NSTextField + moreInfoButton + NSButton + moreInfoView + NSView + + SUPERCLASS + SUWindowController + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/info.nib b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/info.nib new file mode 100644 index 00000000..c5a067e8 --- /dev/null +++ b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/info.nib @@ -0,0 +1,20 @@ + + + + + IBFramework Version + 670 + IBLastKnownRelativeProjectPath + ../Sparkle.xcodeproj + IBOldestOS + 5 + IBOpenObjects + + 6 + + IBSystem Version + 10A96 + targetFramework + IBCocoaFramework + + diff --git a/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..64babac12911fdb05ddb63ef96193137c91f3ddf GIT binary patch literal 13483 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 C^-$vg literal 0 HcmV?d00001 diff --git a/Sparkle.framework/Versions/A/Sparkle b/Sparkle.framework/Versions/A/Sparkle index 9dbf9e7fa1ed6ebd9ed45e0025410c23453d15b3..0db0a8f01fb6f1cf39bbe427ac76153793a26a3e 100755 GIT binary patch literal 463540 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