From 45fea6d693aaf6dc4f700cd06f31ade5c219e258 Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 15 Oct 2020 11:20:09 -0400 Subject: [PATCH] Modernize Textual MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Notable changes: Notable changes (incomplete): • Changed all projects minimum target to OS X 10.12 • All xib files and custom view source files have been modified to use auto layout, NSGridView, NSStackView, and other modern features wherever possible. Hacks such as specifying heights, offsets, etc. for multiple appearances spanning multiple operating systems are no longer needed because auto layout and related systems are solid back to our target. • In response to system-wide changes made in macOS Big Sur the width of the Preferences window has been expanded to a minimum 670. • Deprecated Cocoa APIs have been replaced with their modern equivalents. • The System Profiler plugin has been modified to simplify the process of requesting model information from Apple. The previous class (TPISystemProfilerModelIDRequestController), now named TPISystemProfilerModelRequest, at one time used XML parser to retrieve value of a single element. This made maintainability difficult. It now uses a simple regular expression. • Optional extensions (Blowfish Encryption, Caffeine, and Wiki Style Link Parser) had their versions bumped and repackaged into installer. Their xib files were modified to accommodate the new width of Preferences. • The Blowfish Encryption extension has been updated to libressl 3.1.4. • All code related to the never completed "Buddy List" dialog has been stripped. There is no interest in continuing development of it. --- .../Build/Common/Foundation.xcconfig | 2 +- Frameworks/Auto Hyperlinks | 2 +- Frameworks/Cocoa Extensions | 2 +- Frameworks/Static Libraries | 2 +- .../App/Classes/Controllers/TXAppearance.m | 53 +- .../App/Classes/Controllers/TXApplication.m | 2 +- .../Classes/Controllers/TXMasterController.m | 18 +- .../Classes/Controllers/TXMenuController.m | 50 +- .../Dialogs/Buddy List/TDCBuddyListDialog.m | 92 - .../Buddy List/TDCBuddyListDialogDropView.m | 131 - .../Buddy List/TDCBuddyListDialogEntry.m | 45 - .../Buddy List/TDCBuddyListDialogTable.m | 136 - .../TDCChannelSpotlightAppearance.m | 8 +- .../TDCChannelSpotlightController.m | 8 +- .../TDCChannelSpotlightSearchResultsTable.m | 6 +- .../Standalone/TDCLicenseManagerDialog.m | 15 +- .../Preferences/TDCPreferencesController.m | 45 +- Sources/App/Classes/Dialogs/TDCAlert.m | 24 +- .../Dialogs/TDCChannelModifyTopicSheet.m | 3 + .../Dialogs/TDCChannelPropertiesSheet.m | 9 +- .../Dialogs/TDCServerHighlightListSheet.m | 36 - Sources/App/Classes/Dialogs/TDCSheetBase.m | 11 +- .../Internal/TDCBuddyListDialogInternal.h | 48 - Sources/App/Classes/Headers/NSColorHelper.h | 2 - Sources/App/Classes/Headers/NSViewHelper.h | 28 +- .../Private/IRCHighlightLogEntryPrivate.h | 1 - .../TDCBuddyListDialogDropViewPrivate.h | 45 - .../Private/TDCBuddyListDialogEntryPrivate.h | 50 - .../Private/TDCBuddyListDialogPrivate.h | 59 - .../Private/TDCBuddyListDialogTablePrivate.h | 46 - .../TDCChannelSpotlightAppearancePrivate.h | 4 +- .../Headers/Private/TVCAppearancePrivate.h | 4 +- ...CMainWindowSidebarSmoothTextFieldPrivate.h | 7 +- .../Private/TVCMemberListAppearancePrivate.h | 3 - .../Headers/Private/TVCMemberListPrivate.h | 2 - .../Private/TVCServerListAppearancePrivate.h | 6 - .../Private/TVCServerListCellPrivate.h | 2 - .../Headers/Private/TVCServerListPrivate.h | 3 - .../Classes/Headers/TVCMemberListAppearance.h | 17 - .../Classes/Headers/TVCServerListAppearance.h | 29 - Sources/App/Classes/Headers/TXAppearance.h | 5 - .../App/Classes/Headers/TXMenuController.h | 6 +- .../Cocoa (Objective-C)/NSColorHelper.m | 9 - .../Cocoa (Objective-C)/NSViewHelper.m | 171 +- Sources/App/Classes/IRC/IRCChannel.m | 4 +- Sources/App/Classes/IRC/IRCClient.m | 14 +- Sources/App/Classes/IRC/IRCWorld.m | 2 +- .../Standalone/TLOLicenseManagerDownloader.m | 291 +- .../App/Classes/Library/TLOKeyEventHandler.m | 2 +- Sources/App/Classes/Library/TLOpenLink.swift | 8 +- .../Classes/Preferences/TPCPreferencesLocal.m | 12 +- .../Preferences/TPCPreferencesReload.m | 10 +- .../Extras/TVCLogControllerOperationQueue.m | 4 +- .../Classes/Views/Channel View/TVCLogPolicy.m | 6 +- .../Classes/Views/Channel View/TVCLogView.m | 16 +- .../Channel View/TVCLogViewInternalWK2.m | 30 +- .../Views/Channel View/TVCWK1AutoScroller.m | 25 - Sources/App/Classes/Views/Errors/TVCAlert.m | 21 +- .../Classes/Views/Main Window/TVCMainWindow.m | 111 +- .../Main Window/TVCMainWindowChannelView.m | 4 - .../Main Window/TVCMainWindowLoadingScreen.m | 39 +- .../TVCMainWindowSidebarSmoothTextField.m | 64 +- .../Views/Main Window/TVCMainWindowTextView.m | 137 +- .../TVCMainWindowTitlebarAccessoryView.m | 37 +- .../Classes/Views/Server List/TVCServerList.m | 29 +- .../Server List/TVCServerListAppearance.m | 201 +- .../Views/Server List/TVCServerListCell.m | 465 +- Sources/App/Classes/Views/TVCAppearance.m | 29 +- .../Views/TVCContentNavigationOutlineView.m | 6 +- Sources/App/Classes/Views/TVCDockIcon.m | 147 +- .../Classes/Views/User List/TVCMemberList.m | 21 +- .../Views/User List/TVCMemberListAppearance.m | 84 +- .../Views/User List/TVCMemberListCell.m | 239 +- .../Images/Buddy List/BuddyListDropArea.png | Bin 955 -> 0 bytes .../Buddy List/BuddyListDropArea@2x.png | Bin 2410 -> 0 bytes .../Buddy List/BuddyListDropAreaOriginal.zip | Bin 58321 -> 0 bytes ...terYosemite.png => DIGreenBadgeCenter.png} | Bin ...eLeftYosemite.png => DIGreenBadgeLeft.png} | Bin ...ightYosemite.png => DIGreenBadgeRight.png} | Bin .../Mavericks/DIGreenBadgeCenterMavericks.png | Bin 4199 -> 0 bytes .../Mavericks/DIGreenBadgeLeftMavericks.png | Bin 159878 -> 0 bytes .../Mavericks/DIGreenBadgeRightMavericks.png | Bin 161006 -> 0 bytes ...enterYosemite.png => DIRedBadgeCenter.png} | Bin ...dgeLeftYosemite.png => DIRedBadgeLeft.png} | Bin ...eRightYosemite.png => DIRedBadgeRight.png} | Bin .../Mavericks/DIRedBadgeCenterMavericks.png | Bin 4199 -> 0 bytes .../Red/Mavericks/DIRedBadgeLeftMavericks.png | Bin 159878 -> 0 bytes .../Mavericks/DIRedBadgeRightMavericks.png | Bin 161006 -> 0 bytes ...if => channelRoomStatusIconDarkActive.tif} | Bin ...=> channelRoomStatusIconDarkActive@2x.tif} | Bin ... => channelRoomStatusIconDarkInactive.tif} | Bin ... channelRoomStatusIconDarkInactive@2x.tif} | Bin ...f => channelRoomStatusIconLightActive.tif} | Bin ...> channelRoomStatusIconLightActive@2x.tif} | Bin ...=> channelRoomStatusIconLightInactive.tif} | Bin ...channelRoomStatusIconLightInactive@2x.tif} | Bin ...annelRoomStatusIconMavericksDarkActive.tif | Bin 22652 -> 0 bytes ...elRoomStatusIconMavericksDarkActive@2x.tif | Bin 25908 -> 0 bytes ...nelRoomStatusIconMavericksDarkInactive.tif | Bin 22648 -> 0 bytes ...RoomStatusIconMavericksDarkInactive@2x.tif | Bin 25824 -> 0 bytes ...nnelRoomStatusIconMavericksLightActive.tif | Bin 22456 -> 0 bytes ...lRoomStatusIconMavericksLightActive@2x.tif | Bin 25720 -> 0 bytes ...elRoomStatusIconMavericksLightInactive.tif | Bin 22420 -> 0 bytes ...oomStatusIconMavericksLightInactive@2x.tif | Bin 25592 -> 0 bytes .../MavericksDarkChannelCellSelection.tif | Bin 27708 -> 0 bytes .../MavericksDarkChannelCellSelection@2x.tif | Bin 24188 -> 0 bytes .../MavericksDarkServerCellSelection.tif | Bin 24752 -> 0 bytes .../MavericksDarkServerCellSelection@2x.tif | Bin 24396 -> 0 bytes ...ericksDarkServerListViewDisclosureDown.tif | Bin 25632 -> 0 bytes ...cksDarkServerListViewDisclosureDown@2x.tif | Bin 28748 -> 0 bytes ...rkServerListViewDisclosureDownSelected.tif | Bin 25656 -> 0 bytes ...erverListViewDisclosureDownSelected@2x.tif | Bin 28808 -> 0 bytes ...avericksDarkServerListViewDisclosureUp.tif | Bin 25648 -> 0 bytes ...ricksDarkServerListViewDisclosureUp@2x.tif | Bin 28768 -> 0 bytes ...DarkServerListViewDisclosureUpSelected.tif | Bin 25688 -> 0 bytes ...kServerListViewDisclosureUpSelected@2x.tif | Bin 28788 -> 0 bytes ...stViewSelectedPrivateMessageUserActive.tif | Bin 67862 -> 0 bytes ...ViewSelectedPrivateMessageUserInactive.tif | Bin 85480 -> 0 bytes ...semiteDarkServerListViewDisclosureDown.tif | Bin 22704 -> 0 bytes ...YosemiteDarkServerListViewDisclosureUp.tif | Bin 22684 -> 0 bytes .../en.lproj/TDCPreferencesController.strings | 2 +- .../Application Properties/Info.plist | 2 +- .../Application Properties/InfoAppStore.plist | 2 +- .../Property Lists/StaticStore.plist | 6 +- .../Installer Resources/en.lproj/Welcome.rtf | 4 +- .../Packages/Textual-Extras-MAS.pkg | Bin 885394 -> 895125 bytes .../Packages/Textual-Extras.pkg | Bin 885184 -> 894953 bytes .../distribution.plist | 8 +- .../Styling/Bundled Styles/Astria/design.css | 5 - .../Bundled Styles/Astria/inlineMedia.css | 7 - .../Bundled Styles/Sapientia/design.css | 5 - .../Bundled Styles/Sapientia/inlineMedia.css | 7 - .../Bundled Styles/Simplified Dark/design.css | 5 - .../Simplified Dark/inlineMedia.css | 7 - .../Simplified Light/design.css | 5 - .../Simplified Light/inlineMedia.css | 7 - .../Styling/Bundled Styles/Sulaco/design.css | 5 - .../Bundled Styles/Sulaco/inlineMedia.css | 7 - .../Tomorrow Night (Eighties)/design.css | 5 - .../Tomorrow Night (Eighties)/inlineMedia.css | 7 - .../Bundled Styles/Tomorrow/design.css | 5 - .../Bundled Styles/Tomorrow/inlineMedia.css | 7 - .../Bundled Styles/Total Sublime/design.css | 5 - .../Total Sublime/inlineMedia.css | 7 - .../API/private/core/clickMenuSelection.js | 52 - .../Version 4/baseLayout.mustache | 2 +- .../TDCChannelSpotlightAppearance.plist | 8 +- ...DCChannelSpotlightAppearanceTemplate.plist | 4 +- .../Appearance/TVCMainWindowAppearance.plist | 32 - .../TVCMainWindowTextViewAppearance.plist | 138 - .../Appearance/TVCMemberListAppearance.plist | 563 -- .../TVCMemberListAppearanceTemplate.plist | 112 - .../Appearance/TVCServerListAppearance.plist | 877 +- .../TVCServerListAppearanceTemplate.plist | 150 - .../en.lproj/TDCAboutDialog.xib | 35 +- .../en.lproj/TDCAddressBookSheet.xib | 501 +- .../en.lproj/TDCBuddyListDialog.xib | 237 - .../en.lproj/TDCChannelBanListSheet.xib | 73 +- .../en.lproj/TDCChannelInviteSheet.xib | 20 +- .../en.lproj/TDCChannelModifyModesSheet.xib | 293 +- .../en.lproj/TDCChannelModifyTopicSheet.xib | 28 +- .../en.lproj/TDCChannelPropertiesSheet.xib | 392 +- .../TDCChannelSpotlightController.xib | 40 +- .../en.lproj/TDCFileTransferDialog.xib | 46 +- .../en.lproj/TDCHighlightEntrySheet.xib | 204 +- .../en.lproj/TDCLicenseManagerDialog.xib | 348 +- .../TDCLicenseManagerMigrateAppStoreSheet.xib | 141 +- ...CLicenseManagerRecoverLostLicenseSheet.xib | 30 +- .../TDCLicenseUpgradeActivateSheet.xib | 81 +- .../en.lproj/TDCLicenseUpgradeDialog.xib | 178 +- .../TDCLicenseUpgradeEligibilitySheet.xib | 102 +- .../en.lproj/TDCNicknameColorSheet.xib | 27 +- .../en.lproj/TDCPreferences.xib | 7166 +++++++++-------- .../en.lproj/TDCPreferencesUserStyleSheet.xib | 26 +- .../en.lproj/TDCProgressIndicatorSheet.xib | 57 +- .../en.lproj/TDCServerChangeNicknameSheet.xib | 141 +- .../en.lproj/TDCServerChannelListDialog.xib | 162 +- .../en.lproj/TDCServerEndpointListSheet.xib | 124 +- .../en.lproj/TDCServerHighlightListSheet.xib | 89 +- .../en.lproj/TDCServerPropertiesSheet.xib | 2511 +++--- .../en.lproj/TDCWelcomeSheet.xib | 321 +- .../User Interface/en.lproj/TVCAlert.xib | 47 +- .../en.lproj/TVCChannelSelectionView.xib | 33 +- ...inWindowYosemite.xib => TVCMainWindow.xib} | 824 +- .../en.lproj/TVCMainWindowMavericks.xib | 2149 ----- .../TVCNotificationConfigurationView.xib | 251 +- .../User Interface/en.lproj/TXCMainMenu.xib | 29 +- .../App/Textual App.xcodeproj/project.pbxproj | 722 +- .../xcschemes/Textual (App Store).xcscheme | 2 +- .../xcschemes/Textual (Debug).xcscheme | 2 +- ...tual (Standard Release Sandboxed).xcscheme | 2 +- .../Textual (Standard Release).xcscheme | 2 +- .../project.pbxproj | 2 +- .../Blowfish Encryption Extension.xcscheme | 2 +- .../Resources/Property Lists/Info.plist | 2 +- .../en.lproj/TPIBlowfishEncryption.xib | 116 +- .../Resources/Property Lists/Info.plist | 2 +- .../User Interface/en.lproj/TPI_Caffeine.xib | 18 +- .../TPI_ChatFilterEditFilterSheet.xib | 1081 +-- .../en.lproj/TPI_ChatFilterExtension.xib | 176 +- .../User Interface/PreferencePane.xib | 20 +- .../en.lproj/TPISmileyConverter.xib | 81 +- .../Classes/TPISystemProfiler.m | 4 +- ...PISystemProfilerModelIDRequestController.m | 318 - ...ller.h => TPISystemProfilerModelRequest.h} | 4 +- .../Classes/TPISystemProfilerModelRequest.m | 243 + .../System Profiler/Classes/TPI_SP_SysInfo.m | 4 +- .../en.lproj/TPISystemProfiler.xib | 344 +- .../project.pbxproj | 12 +- .../Resources/Property Lists/Info.plist | 2 +- .../en.lproj/TPIWikiStyleLinkParser.xib | 277 +- .../project.pbxproj | 2 +- .../Classes/IRC/IRCConnection.swift | 2 +- .../project.pbxproj | 2 +- .../project.pbxproj | 2 +- 215 files changed, 9287 insertions(+), 16228 deletions(-) delete mode 100644 Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialog.m delete mode 100644 Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialogDropView.m delete mode 100644 Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialogEntry.m delete mode 100644 Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialogTable.m delete mode 100644 Sources/App/Classes/Headers/Internal/TDCBuddyListDialogInternal.h delete mode 100644 Sources/App/Classes/Headers/Private/TDCBuddyListDialogDropViewPrivate.h delete mode 100644 Sources/App/Classes/Headers/Private/TDCBuddyListDialogEntryPrivate.h delete mode 100644 Sources/App/Classes/Headers/Private/TDCBuddyListDialogPrivate.h delete mode 100644 Sources/App/Classes/Headers/Private/TDCBuddyListDialogTablePrivate.h delete mode 100644 Sources/App/Resources/Images/Buddy List/BuddyListDropArea.png delete mode 100644 Sources/App/Resources/Images/Buddy List/BuddyListDropArea@2x.png delete mode 100644 Sources/App/Resources/Images/Buddy List/BuddyListDropAreaOriginal.zip rename Sources/App/Resources/Images/Dock Icon Badges/Green/{Yosemite/DIGreenBadgeCenterYosemite.png => DIGreenBadgeCenter.png} (100%) rename Sources/App/Resources/Images/Dock Icon Badges/Green/{Yosemite/DIGreenBadgeLeftYosemite.png => DIGreenBadgeLeft.png} (100%) rename Sources/App/Resources/Images/Dock Icon Badges/Green/{Yosemite/DIGreenBadgeRightYosemite.png => DIGreenBadgeRight.png} (100%) delete mode 100644 Sources/App/Resources/Images/Dock Icon Badges/Green/Mavericks/DIGreenBadgeCenterMavericks.png delete mode 100644 Sources/App/Resources/Images/Dock Icon Badges/Green/Mavericks/DIGreenBadgeLeftMavericks.png delete mode 100644 Sources/App/Resources/Images/Dock Icon Badges/Green/Mavericks/DIGreenBadgeRightMavericks.png rename Sources/App/Resources/Images/Dock Icon Badges/Red/{Yosemite/DIRedBadgeCenterYosemite.png => DIRedBadgeCenter.png} (100%) rename Sources/App/Resources/Images/Dock Icon Badges/Red/{Yosemite/DIRedBadgeLeftYosemite.png => DIRedBadgeLeft.png} (100%) rename Sources/App/Resources/Images/Dock Icon Badges/Red/{Yosemite/DIRedBadgeRightYosemite.png => DIRedBadgeRight.png} (100%) delete mode 100755 Sources/App/Resources/Images/Dock Icon Badges/Red/Mavericks/DIRedBadgeCenterMavericks.png delete mode 100644 Sources/App/Resources/Images/Dock Icon Badges/Red/Mavericks/DIRedBadgeLeftMavericks.png delete mode 100644 Sources/App/Resources/Images/Dock Icon Badges/Red/Mavericks/DIRedBadgeRightMavericks.png rename Sources/App/Resources/Images/Status Badges/{channelRoomStatusIconYosemiteDarkActive.tif => channelRoomStatusIconDarkActive.tif} (100%) rename Sources/App/Resources/Images/Status Badges/{channelRoomStatusIconYosemiteDarkActive@2x.tif => channelRoomStatusIconDarkActive@2x.tif} (100%) rename Sources/App/Resources/Images/Status Badges/{channelRoomStatusIconYosemiteDarkInactive.tif => channelRoomStatusIconDarkInactive.tif} (100%) rename Sources/App/Resources/Images/Status Badges/{channelRoomStatusIconYosemiteDarkInactive@2x.tif => channelRoomStatusIconDarkInactive@2x.tif} (100%) rename Sources/App/Resources/Images/Status Badges/{channelRoomStatusIconYosemiteLightActive.tif => channelRoomStatusIconLightActive.tif} (100%) rename Sources/App/Resources/Images/Status Badges/{channelRoomStatusIconYosemiteLightActive@2x.tif => channelRoomStatusIconLightActive@2x.tif} (100%) rename Sources/App/Resources/Images/Status Badges/{channelRoomStatusIconYosemiteLightInactive.tif => channelRoomStatusIconLightInactive.tif} (100%) rename Sources/App/Resources/Images/Status Badges/{channelRoomStatusIconYosemiteLightInactive@2x.tif => channelRoomStatusIconLightInactive@2x.tif} (100%) delete mode 100644 Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksDarkActive.tif delete mode 100644 Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksDarkActive@2x.tif delete mode 100644 Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksDarkInactive.tif delete mode 100644 Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksDarkInactive@2x.tif delete mode 100644 Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksLightActive.tif delete mode 100644 Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksLightActive@2x.tif delete mode 100644 Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksLightInactive.tif delete mode 100644 Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksLightInactive@2x.tif delete mode 100755 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkChannelCellSelection.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkChannelCellSelection@2x.tif delete mode 100755 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerCellSelection.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerCellSelection@2x.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureDown.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureDown@2x.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureDownSelected.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureDownSelected@2x.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureUp.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureUp@2x.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureUpSelected.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureUpSelected@2x.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewSelectedPrivateMessageUserActive.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewSelectedPrivateMessageUserInactive.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Glass/YosemiteDarkServerListViewDisclosureDown.tif delete mode 100644 Sources/App/Resources/Images/User Interface/Server List/Glass/YosemiteDarkServerListViewDisclosureUp.tif delete mode 100644 Sources/App/Resources/User Interface/en.lproj/TDCBuddyListDialog.xib rename Sources/App/Resources/User Interface/en.lproj/{TVCMainWindowYosemite.xib => TVCMainWindow.xib} (75%) delete mode 100644 Sources/App/Resources/User Interface/en.lproj/TVCMainWindowMavericks.xib delete mode 100644 Sources/Plugins/System Profiler/Classes/TPISystemProfilerModelIDRequestController.m rename Sources/Plugins/System Profiler/Classes/{TPISystemProfilerModelIDRequestController.h => TPISystemProfilerModelRequest.h} (94%) create mode 100644 Sources/Plugins/System Profiler/Classes/TPISystemProfilerModelRequest.m diff --git a/Configurations/Build/Common/Foundation.xcconfig b/Configurations/Build/Common/Foundation.xcconfig index 8a793e618..d288e4d9d 100644 --- a/Configurations/Build/Common/Foundation.xcconfig +++ b/Configurations/Build/Common/Foundation.xcconfig @@ -68,7 +68,7 @@ INFOPLIST_OUTPUT_FORMAT = binary LD_NO_PIE = YES LD_RUNPATH_SEARCH_PATHS = @loader_path/../Frameworks @executable_path/../Frameworks LIBRARY_SEARCH_PATHS = -MACOSX_DEPLOYMENT_TARGET = 10.9 +MACOSX_DEPLOYMENT_TARGET = 10.12 ONLY_ACTIVE_ARCH = NO OTHER_CFLAGS = -Xclang -fobjc-runtime-has-weak PLIST_FILE_OUTPUT_FORMAT = binary diff --git a/Frameworks/Auto Hyperlinks b/Frameworks/Auto Hyperlinks index 8331b570d..ae67975d3 160000 --- a/Frameworks/Auto Hyperlinks +++ b/Frameworks/Auto Hyperlinks @@ -1 +1 @@ -Subproject commit 8331b570d541618cbf2d12df4f3aaa99b0c1b7b9 +Subproject commit ae67975d318f1ee4269334d74563a10555bada58 diff --git a/Frameworks/Cocoa Extensions b/Frameworks/Cocoa Extensions index 7841da9bf..32d0e57a6 160000 --- a/Frameworks/Cocoa Extensions +++ b/Frameworks/Cocoa Extensions @@ -1 +1 @@ -Subproject commit 7841da9bfadf3b2c051c75a09fe32ad5a6af3a60 +Subproject commit 32d0e57a66f302e4fe646c5faa96000c7c18a4c3 diff --git a/Frameworks/Static Libraries b/Frameworks/Static Libraries index 469569151..bf48f6e03 160000 --- a/Frameworks/Static Libraries +++ b/Frameworks/Static Libraries @@ -1 +1 @@ -Subproject commit 469569151cc698af7bc422356d0b3d1c475d8b92 +Subproject commit bf48f6e03265ea83a0a7e9a464fadf09fc453b65 diff --git a/Sources/App/Classes/Controllers/TXAppearance.m b/Sources/App/Classes/Controllers/TXAppearance.m index 3c05d7b77..86483b0a5 100644 --- a/Sources/App/Classes/Controllers/TXAppearance.m +++ b/Sources/App/Classes/Controllers/TXAppearance.m @@ -48,7 +48,6 @@ NSString * const TXSystemAppearanceChangedNotification = @"TXSystemAppearanceCha @property (nonatomic, copy, readwrite) NSString *appearanceName; @property (nonatomic, assign, readwrite) TXAppearanceType appearanceType; @property (nonatomic, assign, readwrite) BOOL isDarkAppearance; -@property (nonatomic, assign, readwrite) BOOL isModernAppearance; @property (nonatomic, assign, readwrite) TXAppKitAppearanceTarget appKitAppearanceTarget; @end @@ -76,10 +75,6 @@ NSString * const TXSystemAppearanceChangedNotification = @"TXSystemAppearanceCha { [self updateAppearance]; - if (TEXTUAL_RUNNING_ON_YOSEMITE == NO) { - return; - } - [RZWorkspaceNotificationCenter() addObserver:self selector:@selector(accessibilityDisplayOptionsDidChange:) name:NSWorkspaceAccessibilityDisplayOptionsDidChangeNotification @@ -97,10 +92,6 @@ NSString * const TXSystemAppearanceChangedNotification = @"TXSystemAppearanceCha - (void)prepareForApplicationTermination { - if (TEXTUAL_RUNNING_ON_YOSEMITE == NO) { - return; - } - LogToConsoleTerminationProgress("Removing appearance change observers."); [RZNotificationCenter() removeObserver:self]; @@ -116,22 +107,6 @@ NSString * const TXSystemAppearanceChangedNotification = @"TXSystemAppearanceCha + (nullable NSString *)appearanceNameForType:(TXAppearanceType)type { switch (type) { - case TXAppearanceTypeMavericksAquaLight: - { - return @"MavericksLightAqua"; - } - case TXAppearanceTypeMavericksAquaDark: - { - return @"MavericksDarkAqua"; - } - case TXAppearanceTypeMavericksGraphiteLight: - { - return @"MavericksLightGraphite"; - } - case TXAppearanceTypeMavericksGraphiteDark: - { - return @"MavericksDarkGraphite"; - } case TXAppearanceTypeYosemiteLight: { return @"YosemiteLight"; @@ -197,11 +172,9 @@ NSString * const TXSystemAppearanceChangedNotification = @"TXSystemAppearanceCha { TXAppearanceType appearanceType; - BOOL onYosemite = TEXTUAL_RUNNING_ON_YOSEMITE; BOOL onMojave = TEXTUAL_RUNNING_ON_MOJAVE; BOOL isAppearanceDark = NO; - BOOL isAppearanceModern = YES; // good default TXPreferredAppearance preferredAppearance = [TPCPreferences appearance]; @@ -253,7 +226,7 @@ NSString * const TXSystemAppearanceChangedNotification = @"TXSystemAppearanceCha appKitAppearanceTarget = TXAppKitAppearanceTargetWindow; } } - else if (onYosemite) + else { if (isAppearanceDark) { appearanceType = TXAppearanceTypeYosemiteDark; @@ -265,27 +238,6 @@ NSString * const TXSystemAppearanceChangedNotification = @"TXSystemAppearanceCha object on individual views. We do this for dark and light appearance because we want to set vibrant light. Not aqua. */ appKitAppearanceTarget = TXAppKitAppearanceTargetView; - } - else - { - isAppearanceModern = NO; - - if ([NSColor currentControlTint] == NSGraphiteControlTint) { - if (isAppearanceDark) { - appearanceType = TXAppearanceTypeMavericksGraphiteDark; - } else { - appearanceType = TXAppearanceTypeMavericksGraphiteLight; - } // isAppearanceDark - } else { - if (isAppearanceDark) { - appearanceType = TXAppearanceTypeMavericksAquaDark; - } else { - appearanceType = TXAppearanceTypeMavericksAquaLight; - } // isAppearanceDark - } // Graphite - - /* Mavericks doesn't have vibrancy or dark which means there - is no need to change the AppKit appearance target for it. */ } // macOS Version /* Test for changes */ @@ -320,8 +272,7 @@ NSString * const TXSystemAppearanceChangedNotification = @"TXSystemAppearanceCha newProperties.appearanceType = appearanceType; newProperties.isDarkAppearance = isAppearanceDark; - newProperties.isModernAppearance = isAppearanceModern; - + newProperties.appKitAppearanceTarget = appKitAppearanceTarget; self.properties = newProperties; diff --git a/Sources/App/Classes/Controllers/TXApplication.m b/Sources/App/Classes/Controllers/TXApplication.m index d09d0daa1..1857a650b 100644 --- a/Sources/App/Classes/Controllers/TXApplication.m +++ b/Sources/App/Classes/Controllers/TXApplication.m @@ -84,7 +84,7 @@ NS_ASSUME_NONNULL_BEGIN - (BOOL)performedCustomKeyboardEvent:(NSEvent *)event { - if (event.type != NSKeyDown) { + if (event.type != NSEventTypeKeyDown) { return NO; } diff --git a/Sources/App/Classes/Controllers/TXMasterController.m b/Sources/App/Classes/Controllers/TXMasterController.m index 54ad1a47e..1db5aa227 100644 --- a/Sources/App/Classes/Controllers/TXMasterController.m +++ b/Sources/App/Classes/Controllers/TXMasterController.m @@ -112,24 +112,20 @@ NS_ASSUME_NONNULL_BEGIN - (void)prepareInitialState { - if (TEXTUAL_RUNNING_ON_SIERRA) { - LogToConsoleSetDefaultSubsystem(os_log_create(TXBundleBuildProductIdentifierCString, "General")); - } + LogToConsoleSetDefaultSubsystem(os_log_create(TXBundleBuildProductIdentifierCString, "General")); - NSUInteger keyboardKeys = ([NSEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask); + NSUInteger keyboardKeys = ([NSEvent modifierFlags] & NSEventModifierFlagDeviceIndependentFlagsMask); - if ((keyboardKeys & NSControlKeyMask) == NSControlKeyMask) { + if ((keyboardKeys & NSEventModifierFlagControl) == NSEventModifierFlagControl) { self.debugModeIsOn = YES; - LogToConsoleSetDebugLoggingEnabled(YES); - LogToConsoleDebug("Launching in debug mode"); } #if defined(DEBUG) self.ghostModeIsOn = YES; // Do not use autoconnect during debug #else - if ((keyboardKeys & NSShiftKeyMask) == NSShiftKeyMask) { + if ((keyboardKeys & NSEventModifierFlagShift) == NSEventModifierFlagShift) { self.ghostModeIsOn = YES; LogToConsoleInfo("Launching without autoconnecting to the configured servers"); @@ -157,11 +153,7 @@ NS_ASSUME_NONNULL_BEGIN /* We wait until -awakeFromNib to wake the window so that the menu controller created by the main nib has time to load. */ - if (TEXTUAL_RUNNING_ON_YOSEMITE) { - [RZMainBundle() loadNibNamed:@"TVCMainWindowYosemite" owner:self topLevelObjects:nil]; - } else { - [RZMainBundle() loadNibNamed:@"TVCMainWindowMavericks" owner:self topLevelObjects:nil]; - } + [RZMainBundle() loadNibNamed:@"TVCMainWindow" owner:self topLevelObjects:nil]; } - (void)applicationWakeStepOne diff --git a/Sources/App/Classes/Controllers/TXMenuController.m b/Sources/App/Classes/Controllers/TXMenuController.m index c998b0290..cce9c2b79 100755 --- a/Sources/App/Classes/Controllers/TXMenuController.m +++ b/Sources/App/Classes/Controllers/TXMenuController.m @@ -520,9 +520,9 @@ NS_ASSUME_NONNULL_BEGIN } case MTMMServerConnectWithoutProxy: // "Connect Without Proxy" { - NSUInteger flags = ([NSEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask); + NSUInteger flags = ([NSEvent modifierFlags] & NSEventModifierFlagDeviceIndependentFlagsMask); - if (flags != NSShiftKeyMask) { + if (flags != NSEventModifierFlagShift) { menuItem.hidden = YES; return NO; @@ -588,12 +588,6 @@ NS_ASSUME_NONNULL_BEGIN return [viewController highlightAvailable:(tag == MTMMNavigationPreviousHighlight)]; } - case MTMMNavigationSearchChannels: // "Search channels…" - { - menuItem.hidden = (TEXTUAL_RUNNING_ON_YOSEMITE == NO); - - return YES; - } case MTMMChannelJoinChannel: // "Join Channel" { @@ -726,16 +720,6 @@ NS_ASSUME_NONNULL_BEGIN return [TPCPreferences logHighlights]; } - case MTMMWindowBuddyList: // "Buddy List" - { -#ifdef TEXTUAL_BUILT_WITH_BUDDY_LIST_WINDOW - menuItem.hidden = (TEXTUAL_RUNNING_ON_YOSEMITE == NO); -#else - menuItem.hidden = YES; -#endif - - return YES; - } case MTUserControlsAddIgnore: // "Add Ignore" { @@ -3125,7 +3109,7 @@ NS_ASSUME_NONNULL_BEGIN target:self action:@selector(_navigateToChannelInNavigationList:) keyEquivalent:[NSString stringWithUniChar:('0' + keyboardIndex)] - keyEquivalentMask:NSCommandKeyMask]; + keyEquivalentMask:NSEventModifierFlagCommand]; } channelMenuItem.userInfo = [worldController() pasteboardStringForItem:c]; @@ -3481,31 +3465,6 @@ NS_ASSUME_NONNULL_BEGIN [windowController() removeWindowFromWindowList:sender]; } -#pragma mark - -#pragma mark Buddy List Window - -- (void)showBuddyListWindow:(id)sender -{ -#ifdef TEXTUAL_BUILT_WITH_BUDDY_LIST_WINDOW - _popWindowViewIfExists(@"TDCBuddyListDialog"); - - TDCBuddyListDialog *dialog = [TDCBuddyListDialog new]; - - dialog.delegate = (id)self; - - [dialog show]; - - [windowController() addWindowToWindowList:dialog]; -#endif -} - -#ifdef TEXTUAL_BUILT_WITH_BUDDY_LIST_WINDOW -- (void)buddyListDialogWillClose:(TDCBuddyListDialog *)sender -{ - [windowController() removeWindowFromWindowList:sender]; -} -#endif - #pragma mark - #pragma mark Server Properties Sheet @@ -3742,9 +3701,6 @@ NS_ASSUME_NONNULL_BEGIN - (void)showChannelSpotlightWindow:(id)sender { - NSAssert(TEXTUAL_RUNNING_ON_YOSEMITE, - @"This feature requires OS X Yosemite or later"); - _popWindowViewIfExists(@"TDCChannelSpotlightController"); TDCChannelSpotlightController *dialog = [TDCChannelSpotlightController new]; diff --git a/Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialog.m b/Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialog.m deleted file mode 100644 index 952f540c6..000000000 --- a/Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialog.m +++ /dev/null @@ -1,92 +0,0 @@ -/* ********************************************************************* - * _____ _ _ - * |_ _|____ _| |_ _ _ __ _| | - * | |/ _ \ \/ / __| | | |/ _` | | - * | | __/> <| |_| |_| | (_| | | - * |_|\___/_/\_\\__|\__,_|\__,_|_| - * - * Copyright (c) 2010 - 2016 Codeux Software, LLC & respective contributors. - * Please see Acknowledgements.pdf for additional information. - * - * 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 Textual, "Codeux Software, LLC", 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 AUTHOR 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 AUTHOR 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. - * - *********************************************************************** */ - -#import "TVCBasicTableView.h" -#import "TDCBuddyListDialogDropViewPrivate.h" -#import "TDCBuddyListDialogInternal.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface TDCBuddyListDialog () -@property (nonatomic, weak) IBOutlet TDCBuddyListDialogDropView *dropView; -@property (nonatomic, weak) IBOutlet TVCBasicTableView *buddyListTable; -@property (nonatomic, weak) IBOutlet NSArrayController *buddyListController; -@property (nonatomic, weak) IBOutlet NSSegmentedControl *navigationController; -@end - -@implementation TDCBuddyListDialog - -- (instancetype)init -{ - if ((self = [super init])) { - [self prepareInitialState]; - - return self; - } - - return nil; -} - -- (void)prepareInitialState -{ - [RZMainBundle() loadNibNamed:@"TDCBuddyListDialog" owner:self topLevelObjects:nil]; -} - -- (void)droppedNicknames:(NSArray *)nicknames fromClient:(IRCClient *)client -{ - -} - -- (void)show -{ - [self.window restoreWindowStateForClass:self.class]; - - [super show]; -} - -- (void)windowWillClose:(NSNotification *)note -{ - [self.window saveWindowStateForClass:self.class]; - - if ([self.delegate respondsToSelector:@selector(buddyListDialogWillClose:)]) { - [self.delegate buddyListDialogWillClose:self]; - } -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialogDropView.m b/Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialogDropView.m deleted file mode 100644 index 575bc3121..000000000 --- a/Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialogDropView.m +++ /dev/null @@ -1,131 +0,0 @@ -/* ********************************************************************* - * _____ _ _ - * |_ _|____ _| |_ _ _ __ _| | - * | |/ _ \ \/ / __| | | |/ _` | | - * | | __/> <| |_| |_| | (_| | | - * |_|\___/_/\_\\__|\__,_|\__,_|_| - * - * Copyright (c) 2010 - 2016 Codeux Software, LLC & respective contributors. - * Please see Acknowledgements.pdf for additional information. - * - * 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 Textual, "Codeux Software, LLC", 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 AUTHOR 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 AUTHOR 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. - * - *********************************************************************** */ - -#import "TXMasterController.h" -#import "IRCClient.h" -#import "IRCChannelPrivate.h" -#import "IRCWorldPrivate.h" -#import "TVCServerList.h" -#import "TVCMemberList.h" -#import "TDCBuddyListDialogInternal.h" -#import "TDCBuddyListDialogDropViewPrivate.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface TDCBuddyListDialogDropView () -@property (nonatomic, weak) IBOutlet TDCBuddyListDialog *parentDialog; -@property (nonatomic, weak) IBOutlet NSView *visualDropView; -@property (nonatomic, strong, nullable) IRCClient *lastDraggedClient; -@property (nonatomic, copy, nullable) NSArray *lastDraggedNicknames; -@end - -@implementation TDCBuddyListDialogDropView - -- (void)hideVisualDropView -{ - self.visualDropView.hidden = YES; -} - -- (void)showVisualDropView -{ - self.visualDropView.hidden = NO; -} - -- (void)awakeFromNib -{ - [self registerForDraggedTypes:@[TVCServerListDragType, TVCMemberListDragType]]; -} - -- (NSDragOperation)draggingEntered:(id )sender -{ - NSPasteboard *pasteboard = [sender draggingPasteboard]; - - NSString *pasteboardType = [pasteboard availableTypeFromArray:[self registeredDraggedTypes]]; - - if ([pasteboardType isEqualToString:TVCServerListDragType]) - { - NSString *draggedItemToken = [pasteboard stringForType:TVCServerListDragType]; - - IRCTreeItem *draggedItem = [worldController() findItemWithPasteboardString:draggedItemToken]; - - if (draggedItem.isPrivateMessage == NO) { - return NSDragOperationNone; - } - - self.lastDraggedClient = draggedItem.associatedClient; - - self.lastDraggedNicknames = @[draggedItem.name]; - } - else if ([pasteboardType isEqualToString:TVCMemberListDragType]) - { - NSData *draggedData = [pasteboard dataForType:TVCMemberListDragType]; - - BOOL draggedDataProcessed = - [IRCChannel readNicknamesFromPasteboardData:draggedData withBlock:^(IRCChannel *channel, NSArray *nicknames) { - self.lastDraggedClient = channel.associatedClient; - - self.lastDraggedNicknames = nicknames; - }]; - - if (draggedDataProcessed == NO) { - return NSDragOperationNone; - } - } - - return NSDragOperationCopy; -} - -- (BOOL)performDragOperation:(id )sender -{ - [self.parentDialog droppedNicknames:self.lastDraggedNicknames - fromClient:self.lastDraggedClient]; - - self.lastDraggedClient = nil; - - self.lastDraggedNicknames = nil; - - return YES; -} - -- (BOOL)wantsPeriodicDraggingUpdates -{ - return NO; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialogEntry.m b/Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialogEntry.m deleted file mode 100644 index f38e876bc..000000000 --- a/Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialogEntry.m +++ /dev/null @@ -1,45 +0,0 @@ -/* ********************************************************************* - * _____ _ _ - * |_ _|____ _| |_ _ _ __ _| | - * | |/ _ \ \/ / __| | | |/ _` | | - * | | __/> <| |_| |_| | (_| | | - * |_|\___/_/\_\\__|\__,_|\__,_|_| - * - * Copyright (c) 2010 - 2016 Codeux Software, LLC & respective contributors. - * Please see Acknowledgements.pdf for additional information. - * - * 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 Textual, "Codeux Software, LLC", 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 AUTHOR 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 AUTHOR 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. - * - *********************************************************************** */ - -#import "TDCBuddyListDialogEntryPrivate.h" - -NS_ASSUME_NONNULL_BEGIN - -@implementation TDCBuddyListDialogEntry -@end - -NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialogTable.m b/Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialogTable.m deleted file mode 100644 index 4e09d412d..000000000 --- a/Sources/App/Classes/Dialogs/Buddy List/TDCBuddyListDialogTable.m +++ /dev/null @@ -1,136 +0,0 @@ -/* ********************************************************************* - * _____ _ _ - * |_ _|____ _| |_ _ _ __ _| | - * | |/ _ \ \/ / __| | | |/ _` | | - * | | __/> <| |_| |_| | (_| | | - * |_|\___/_/\_\\__|\__,_|\__,_|_| - * - * Copyright (c) 2010 - 2016 Codeux Software, LLC & respective contributors. - * Please see Acknowledgements.pdf for additional information. - * - * 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 Textual, "Codeux Software, LLC", 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 AUTHOR 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 AUTHOR 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. - * - *********************************************************************** */ - -#import "IRCAddressBookUserTracking.h" -#import "IRCClient.h" -#import "TDCBuddyListDialogEntryPrivate.h" -#import "TDCBuddyListDialogTablePrivate.h" - -NS_ASSUME_NONNULL_BEGIN - -@implementation TDCBuddyListDialogCellView - -- (BOOL)wantsLayer -{ - return YES; -} - -- (NSViewLayerContentsRedrawPolicy)layerContentsRedrawPolicy -{ - return NSViewLayerContentsRedrawOnSetNeedsDisplay; -} - -- (NSString *)nickname -{ - TDCBuddyListDialogEntry *objectValue = self.objectValue; - - if (objectValue == nil) { - return @""; - } - - return objectValue.nickname; -} - -- (NSString *)networkName -{ - TDCBuddyListDialogEntry *objectValue = self.objectValue; - - if (objectValue == nil) { - return @""; - } - - return objectValue.client.networkNameAlt; -} - -- (NSImage *)availabilityImage -{ - TDCBuddyListDialogEntry *objectValue = self.objectValue; - - NSString *imageName = nil; - - switch (objectValue.availability) { - case IRCAddressBookUserTrackingStatusAvailalbe: - { - imageName = @"NSStatusAvailable"; - - break; - } - case IRCAddressBookUserTrackingStatusNotAvailalbe: - { - imageName = @"NSStatusUnavailable"; - - break; - } - case IRCAddressBookUserTrackingStatusAway: - { - imageName = @"NSStatusPartiallyAvailable"; - - break; - } - default: - { - imageName = @"NSStatusNone"; - - break; - } - } - - return [NSImage imageNamed:imageName]; -} - -- (void)setObjectValue:(nullable id)objectValue -{ - super.objectValue = objectValue; - - [self reloadKeyValues]; -} - -- (void)reloadKeyValues -{ - [self willChangeValueForKey:@"nickname"]; - [self didChangeValueForKey:@"nickname"]; - - [self willChangeValueForKey:@"networkName"]; - [self didChangeValueForKey:@"networkName"]; - - [self willChangeValueForKey:@"availabilityImage"]; - [self didChangeValueForKey:@"availabilityImage"]; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Dialogs/Channel Spotlight/TDCChannelSpotlightAppearance.m b/Sources/App/Classes/Dialogs/Channel Spotlight/TDCChannelSpotlightAppearance.m index ead53108b..30ba8fd35 100644 --- a/Sources/App/Classes/Dialogs/Channel Spotlight/TDCChannelSpotlightAppearance.m +++ b/Sources/App/Classes/Dialogs/Channel Spotlight/TDCChannelSpotlightAppearance.m @@ -59,8 +59,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, copy, nullable, readwrite) NSColor *searchResultChannelNameTextColor; @property (nonatomic, copy, nullable, readwrite) NSColor *searchResultChannelDescriptionTextColor; @property (nonatomic, copy, nullable, readwrite) NSColor *searchResultKeyboardShortcutTextColor; -@property (nonatomic, assign, readwrite) CGFloat searchResultKeyboardShortcutDeselectedTopOffset; -@property (nonatomic, assign, readwrite) CGFloat searchResultKeyboardShortcutSelectedTopOffset; +@property (nonatomic, assign, readwrite) CGFloat searchResultKeyboardShortcutDeselectedOffset; +@property (nonatomic, assign, readwrite) CGFloat searchResultKeyboardShortcutSelectedOffset; @property (nonatomic, copy, nullable, readwrite) NSColor *searchResultSelectedTextColor; @end @@ -109,8 +109,8 @@ NS_ASSUME_NONNULL_BEGIN self.searchResultChannelNameTextColor = [self colorInGroup:searchResult withKey:@"channelNameTextColor"]; self.searchResultChannelDescriptionTextColor = [self colorInGroup:searchResult withKey:@"channelDescriptionTextColor"]; self.searchResultKeyboardShortcutTextColor = [self colorInGroup:searchResult withKey:@"keyboardShortcutTextColor"]; - self.searchResultKeyboardShortcutDeselectedTopOffset = [self measurementInGroup:searchResult withKey:@"keyboardShortcutDeselectedTopOffset"]; - self.searchResultKeyboardShortcutSelectedTopOffset = [self measurementInGroup:searchResult withKey:@"keyboardShortcutSelectedTextOffset"]; + self.searchResultKeyboardShortcutDeselectedOffset = [self measurementInGroup:searchResult withKey:@"keyboardShortcutDeselectedOffset"]; + self.searchResultKeyboardShortcutSelectedOffset = [self measurementInGroup:searchResult withKey:@"keyboardShortcutSelectedOffset"]; self.searchResultSelectedTextColor = [self colorInGroup:searchResult withKey:@"selectedTextColor"]; [self flushAppearanceProperties]; diff --git a/Sources/App/Classes/Dialogs/Channel Spotlight/TDCChannelSpotlightController.m b/Sources/App/Classes/Dialogs/Channel Spotlight/TDCChannelSpotlightController.m index fb41f5f70..54d5be548 100644 --- a/Sources/App/Classes/Dialogs/Channel Spotlight/TDCChannelSpotlightController.m +++ b/Sources/App/Classes/Dialogs/Channel Spotlight/TDCChannelSpotlightController.m @@ -90,7 +90,7 @@ NS_ASSUME_NONNULL_BEGIN self.searchResultsTable.doubleAction = @selector(delegatePostSelectChannelForDoubleClickedRow:); self.mouseEventMonitor = - [NSEvent addLocalMonitorForEventsMatchingMask:NSKeyDownMask + [NSEvent addLocalMonitorForEventsMatchingMask:NSEventMaskKeyDown handler:^NSEvent *(NSEvent *event) { return [self respondToKeyDownEvent:event]; }]; @@ -232,11 +232,11 @@ NS_ASSUME_NONNULL_BEGIN case 28 ... 29: case 82 ... 92: // 0-9 (number pad) { - NSUInteger keyboardKeys = (event.modifierFlags & NSDeviceIndependentModifierFlagsMask); + NSUInteger keyboardKeys = (event.modifierFlags & NSEventModifierFlagDeviceIndependentFlagsMask); - keyboardKeys &= ~NSNumericPadKeyMask; + keyboardKeys &= ~NSEventModifierFlagNumericPad; - if (keyboardKeys == NSCommandKeyMask) { + if (keyboardKeys == NSEventModifierFlagCommand) { return [self handleCommandNumberEvent:event]; } diff --git a/Sources/App/Classes/Dialogs/Channel Spotlight/TDCChannelSpotlightSearchResultsTable.m b/Sources/App/Classes/Dialogs/Channel Spotlight/TDCChannelSpotlightSearchResultsTable.m index 8ae8d0046..926d01e0c 100644 --- a/Sources/App/Classes/Dialogs/Channel Spotlight/TDCChannelSpotlightSearchResultsTable.m +++ b/Sources/App/Classes/Dialogs/Channel Spotlight/TDCChannelSpotlightSearchResultsTable.m @@ -60,7 +60,7 @@ NS_ASSUME_NONNULL_BEGIN @property (readonly, copy) NSString *unreadCountDescription; @property (nonatomic, weak) IBOutlet NSTextField *channelNameField; @property (nonatomic, weak) IBOutlet NSTextField *keyboardShortcutField; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *keyboardShortcutFieldTopConstraint; +@property (nonatomic, weak) IBOutlet NSLayoutConstraint *keyboardShortcutFieldOffsetConstraint; @property (nonatomic, weak) IBOutlet NSTextField *unreadCountDescriptionField; @property (nonatomic, assign) BOOL staticLabelsPopulated; @property (readonly) TDCChannelSpotlightAppearance *userInterfaceObjects; @@ -110,7 +110,7 @@ NS_ASSUME_NONNULL_BEGIN self.unreadCountDescriptionField.textColor = appearance.searchResultChannelDescriptionTextColor; self.keyboardShortcutField.textColor = appearance.searchResultKeyboardShortcutTextColor; - self.keyboardShortcutFieldTopConstraint.constant = appearance.searchResultKeyboardShortcutDeselectedTopOffset; + self.keyboardShortcutFieldOffsetConstraint.constant = appearance.searchResultKeyboardShortcutDeselectedOffset; } else { @@ -121,7 +121,7 @@ NS_ASSUME_NONNULL_BEGIN self.unreadCountDescriptionField.textColor = selectedTextColor; self.keyboardShortcutField.textColor = selectedTextColor; - self.keyboardShortcutFieldTopConstraint.constant = appearance.searchResultKeyboardShortcutSelectedTopOffset; + self.keyboardShortcutFieldOffsetConstraint.constant = appearance.searchResultKeyboardShortcutSelectedOffset; } } diff --git a/Sources/App/Classes/Dialogs/License Manager/Standalone/TDCLicenseManagerDialog.m b/Sources/App/Classes/Dialogs/License Manager/Standalone/TDCLicenseManagerDialog.m index da6f06ac9..876f4bce2 100644 --- a/Sources/App/Classes/Dialogs/License Manager/Standalone/TDCLicenseManagerDialog.m +++ b/Sources/App/Classes/Dialogs/License Manager/Standalone/TDCLicenseManagerDialog.m @@ -66,11 +66,8 @@ NSString * const TDCLicenseManagerTrialExpiredNotification = @"TDCLicenseManager #define _upgradeDialogRemindMeInterval 345600 // 4 days @interface TDCLicenseManagerDialog () -@property (nonatomic, weak) IBOutlet NSView *contentView; @property (nonatomic, strong) IBOutlet NSView *contentViewUnregisteredTextualView; @property (nonatomic, strong) IBOutlet NSView *contentViewRegisteredTextualView; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *contentViewWidthConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *contentViewHeightConstraint; @property (nonatomic, weak) IBOutlet NSTextField *unregisteredViewLicenseKeyTextField; @property (nonatomic, weak) IBOutlet NSTextField *unregisteredViewTrialInformationTextField; @property (nonatomic, weak) IBOutlet NSTextField *registeredViewLicenseKeyTextField; @@ -158,13 +155,7 @@ NSString * const TDCLicenseManagerTrialExpiredNotification = @"TDCLicenseManager return; } - NSString *appStoreIconPath = nil; - - if (TEXTUAL_RUNNING_ON_SIERRA) { - appStoreIconPath = [appStoreApplication pathForResource:@"AppIcon" ofType:@"icns"]; - } else { - appStoreIconPath = [appStoreApplication pathForResource:@"appStore" ofType:@"icns"]; - } + NSString *appStoreIconPath = [appStoreApplication pathForResource:@"AppIcon" ofType:@"icns"]; if (appStoreIconPath == nil) { return; @@ -202,9 +193,7 @@ NSString * const TDCLicenseManagerTrialExpiredNotification = @"TDCLicenseManager self.unregisteredViewTrialInformationTextField.stringValue = formattedTrialInformation; } - [self.contentView attachSubview:contentView - adjustedWidthConstraint:self.contentViewWidthConstraint - adjustedHeightConstraint:self.contentViewHeightConstraint]; + [self.window replaceContentView:contentView]; } #pragma mark - diff --git a/Sources/App/Classes/Dialogs/Preferences/TDCPreferencesController.m b/Sources/App/Classes/Dialogs/Preferences/TDCPreferencesController.m index 75e6b6194..8dd433b6a 100644 --- a/Sources/App/Classes/Dialogs/Preferences/TDCPreferencesController.m +++ b/Sources/App/Classes/Dialogs/Preferences/TDCPreferencesController.m @@ -54,6 +54,7 @@ #import "IRCWorld.h" #import "TLOEncryptionManagerPrivate.h" #import "TLOLocalization.h" +#import "TLOpenLink.h" #import "TVCMainWindowPrivate.h" #import "TVCNotificationConfigurationViewControllerPrivate.h" #import "TDCAlert.h" @@ -147,13 +148,10 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, strong) IBOutlet NSView *contentViewICloud; @property (nonatomic, strong) IBOutlet NSView *contentViewHiddenPreferences; -@property (nonatomic, strong) IBOutlet NSView *contentView; -@property (nonatomic, strong) IBOutlet NSView *shareDataBetweenDevicesView; @property (nonatomic, weak) IBOutlet NSMatrix *checkForUpdatesMatrix; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *checkForUpdatesHeightConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *shareDataBetweenDevicesViewHeightConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *contentViewHeightConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *contentViewWidthConstraint; +@property (nonatomic, weak) IBOutlet NSStackView *contentViewGeneralStackView; +@property (nonatomic, weak) IBOutlet NSView *contentViewGeneralCheckForUpdatesView; +@property (nonatomic, weak) IBOutlet NSView *contentViewGeneralShareDataView; @property (nonatomic, strong) IBOutlet NSToolbar *navigationToolbar; @property (nonatomic, strong) IBOutlet NSMenu *installedAddonsMenu; @property (nonatomic, assign) BOOL reloadingTheme; @@ -201,6 +199,8 @@ NS_ASSUME_NONNULL_BEGIN #if TEXTUAL_BUILT_WITH_ADVANCED_ENCRYPTION == 1 - (IBAction)offRecordMessagingPolicyChanged:(id)sender; +- (IBAction)offRecordMessagingOpenOfficialWebsite:(id)sender; +- (IBAction)offRecordMessagingOpenHelpDocument:(id)sender; #endif @end @@ -299,14 +299,15 @@ NS_ASSUME_NONNULL_BEGIN object:nil]; #if TEXTUAL_BUILT_WITH_ICLOUD_SUPPORT == 0 - /* Hide "Share data between devices" when iCloud support is not enabled - by setting the subview height to 0. Set height before calling firstPane: - so that firstPane: can calculate the correct total height. */ - self.shareDataBetweenDevicesViewHeightConstraint.constant = 0.0; + /* Hide "Share data between devices" when iCloud support is not enabled. */ + [self.contentViewGeneralStackView setVisibilityPriority:NSStackViewVisibilityPriorityNotVisible + forView:self.contentViewGeneralShareDataView]; #endif #if TEXTUAL_BUILT_WITH_SPARKLE_ENABLED == 0 - self.checkForUpdatesHeightConstraint.constant = 0.0; + /* Hide preferences for updates when support is not enabled. */ + [self.contentViewGeneralStackView setVisibilityPriority:NSStackViewVisibilityPriorityNotVisible + forView:self.contentViewGeneralCheckForUpdatesView]; #endif [self.contentViewGeneral layoutSubtreeIfNeeded]; @@ -437,9 +438,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)firstPane:(NSView *)view selectedItem:(NSInteger)selectedItem { - [self.contentView attachSubview:view - adjustedWidthConstraint:self.contentViewWidthConstraint - adjustedHeightConstraint:self.contentViewHeightConstraint]; + [self.window replaceContentView:view]; if (selectedItem >= 0) { self.navigationToolbar.selectedItemIdentifier = _unsignedIntegerString(selectedItem); @@ -459,14 +458,6 @@ NS_ASSUME_NONNULL_BEGIN - (void)saveWindowFrame { - /* When saving the final window frame, we remove the content view - before doing so then manually set the frame because if we were - to restore the original constant to the content view's height, - that will require a layout pass before window registers it. - We have no use for the content view or its constraints once - we know the height difference, so let's just discard it and go. */ - [self.contentView removeFromSuperview]; - NSWindow *window = self.window; [window restoreDefaultSizeAndDisplay:NO]; @@ -1337,6 +1328,16 @@ NS_ASSUME_NONNULL_BEGIN { [TPCPreferences performReloadAction:TPCPreferencesReloadActionEncryptionPolicy]; } + +- (void)offRecordMessagingOpenOfficialWebsite:(id)sender +{ + [TLOpenLink openWithString:@"https://otr.cypherpunks.ca/"]; +} + +- (void)offRecordMessagingOpenHelpDocument:(id)sender +{ + [TLOpenLink openWithString:@"https://help.codeux.com/textual/Off-the-Record-Messaging.kb"]; +} #endif - (void)onChangedHighlightType:(id)sender diff --git a/Sources/App/Classes/Dialogs/TDCAlert.m b/Sources/App/Classes/Dialogs/TDCAlert.m index 52612fbfd..2fc90ea93 100755 --- a/Sources/App/Classes/Dialogs/TDCAlert.m +++ b/Sources/App/Classes/Dialogs/TDCAlert.m @@ -543,7 +543,7 @@ NSString * const TDCAlertSuppressionPrefix = @"Text Input Prompt Suppression -> /* Construct alert */ NSAlert *alert = [NSAlert new]; - alert.alertStyle = NSInformationalAlertStyle; + alert.alertStyle = NSAlertStyleInformational; alert.messageText = titleText; alert.informativeText = bodyText; @@ -576,26 +576,12 @@ NSString * const TDCAlertSuppressionPrefix = @"Text Input Prompt Suppression -> context.completionBlock = completionBlock; /* Pop alert */ - if (TEXTUAL_RUNNING_ON_YOSEMITE) { - [alert beginSheetModalForWindow:window completionHandler:^(NSModalResponse returnCode) { - [self _alertSheetResponseCallback_stage2:alert returnCode:returnCode contextInfo:context]; - }]; - } else { - [alert beginSheetModalForWindow:window - modalDelegate:[self class] - didEndSelector:@selector(_alertSheetResponseCallback_stage1:returnCode:contextInfo:) - contextInfo:(void *)CFBridgingRetain(context)]; - } + [alert beginSheetModalForWindow:window completionHandler:^(NSModalResponse returnCode) { + [self _alertSheetResponseCallback:alert returnCode:returnCode contextInfo:context]; + }]; } -+ (void)_alertSheetResponseCallback_stage1:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)context -{ - TDCAlertContext *contextObject = ((TDCAlertContext *)CFBridgingRelease(context)); - - [self _alertSheetResponseCallback_stage2:alert returnCode:returnCode contextInfo:contextObject]; -} - -+ (void)_alertSheetResponseCallback_stage2:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(TDCAlertContext *)context ++ (void)_alertSheetResponseCallback:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(TDCAlertContext *)context { NSString *suppressionKey = context.suppressionKey; diff --git a/Sources/App/Classes/Dialogs/TDCChannelModifyTopicSheet.m b/Sources/App/Classes/Dialogs/TDCChannelModifyTopicSheet.m index 3245ad6d0..7e8b43d6b 100755 --- a/Sources/App/Classes/Dialogs/TDCChannelModifyTopicSheet.m +++ b/Sources/App/Classes/Dialogs/TDCChannelModifyTopicSheet.m @@ -36,6 +36,9 @@ * *********************************************************************** */ +#warning TODO: Continuing entering text that exceeds the height \ + of the text field will grow the window. + #import "NSObjectHelperPrivate.h" #import "TLOLocalization.h" #import "IRCClient.h" diff --git a/Sources/App/Classes/Dialogs/TDCChannelPropertiesSheet.m b/Sources/App/Classes/Dialogs/TDCChannelPropertiesSheet.m index 1a970baa5..010e27380 100755 --- a/Sources/App/Classes/Dialogs/TDCChannelPropertiesSheet.m +++ b/Sources/App/Classes/Dialogs/TDCChannelPropertiesSheet.m @@ -83,8 +83,7 @@ typedef NS_ENUM(NSUInteger, TDCChannelPropertiesSheetSelection) @property (nonatomic, strong) IBOutlet NSView *contentViewDefaultsView; @property (nonatomic, strong) IBOutlet NSView *contentViewGeneralView; @property (nonatomic, strong) IBOutlet NSView *contentViewNotifications; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *contentViewWidthConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *contentViewHeightConstraint; +@property (nonatomic, strong) IBOutlet NSView *contentViewNotificationsHost; @property (nonatomic, strong) IBOutlet TVCNotificationConfigurationViewController *notificationsController; - (IBAction)onMenuBarItemChanged:(id)sender; @@ -232,7 +231,7 @@ DESIGNATED_INITIALIZER_EXCEPTION_BODY_END self.notificationsController.notifications = notifications; - [self.notificationsController attachToView:self.contentViewNotifications]; + [self.notificationsController attachToView:self.contentViewNotificationsHost]; } - (void)reloadNotificationsController @@ -298,9 +297,7 @@ DESIGNATED_INITIALIZER_EXCEPTION_BODY_END - (void)selectPane:(NSView *)view { - [self.contentView attachSubview:view - adjustedWidthConstraint:self.contentViewWidthConstraint - adjustedHeightConstraint:self.contentViewHeightConstraint]; + [self.contentView replaceFirstSubview:view]; } - (void)start diff --git a/Sources/App/Classes/Dialogs/TDCServerHighlightListSheet.m b/Sources/App/Classes/Dialogs/TDCServerHighlightListSheet.m index 27eb7bb47..5c903bfe1 100755 --- a/Sources/App/Classes/Dialogs/TDCServerHighlightListSheet.m +++ b/Sources/App/Classes/Dialogs/TDCServerHighlightListSheet.m @@ -124,26 +124,6 @@ NS_ASSUME_NONNULL_BEGIN } } -- (void)lazilyDefineHeightForRow:(NSUInteger)row -{ - NSTableView *tableView = self.highlightListTable; - - NSSize cellViewSpacing = tableView.intercellSpacing; - - NSTableCellView *cellView = [tableView viewAtColumn:1 row:row makeIfNecessary:NO]; - - NSRect textFieldFrame = cellView.textField.frame; - - IRCHighlightLogEntry *entryItem = self.highlightListController.arrangedObjects[row]; - - entryItem.rowHeight = (textFieldFrame.size.height + cellViewSpacing.height); - - [NSAnimationContext performBlockWithoutAnimation:^{ - [tableView noteHeightOfRowsWithIndexesChanged: - [NSIndexSet indexSetWithIndex:row]]; - }]; -} - - (void)onClearList:(id)sender { self.highlightListController.content = nil; @@ -204,17 +184,6 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark - #pragma mark NSTableView Delegate -- (CGFloat)tableView:(NSTableView *)aTableView heightOfRow:(NSInteger)row -{ - IRCHighlightLogEntry *entryItem = self.highlightListController.arrangedObjects[row]; - - if (entryItem.rowHeight > 0) { - return entryItem.rowHeight; - } - - return aTableView.rowHeight; -} - - (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { NSTableCellView *result = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self]; @@ -222,11 +191,6 @@ NS_ASSUME_NONNULL_BEGIN return result; } -- (void)tableView:(NSTableView *)tableView didAddRowView:(NSTableRowView *)rowView forRow:(NSInteger)row -{ - [self lazilyDefineHeightForRow:row]; -} - #pragma mark - #pragma mark NSWindow Delegate diff --git a/Sources/App/Classes/Dialogs/TDCSheetBase.m b/Sources/App/Classes/Dialogs/TDCSheetBase.m index d824ff610..a405f0b91 100755 --- a/Sources/App/Classes/Dialogs/TDCSheetBase.m +++ b/Sources/App/Classes/Dialogs/TDCSheetBase.m @@ -64,11 +64,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)startSheetWithWindow:(NSWindow *)window { - [NSApp beginSheet:self.sheet - modalForWindow:window - modalDelegate:self - didEndSelector:@selector(sheetDidEnd:returnCode:contextInfo:) - contextInfo:nil]; + [window beginSheet:self.sheet + completionHandler:^(NSModalResponse returnCode) { + [self sheetDidEndWithReturnCode:returnCode]; + }]; } - (void)endSheet @@ -76,7 +75,7 @@ NS_ASSUME_NONNULL_BEGIN [NSApp endSheet:self.sheet]; } -- (void)sheetDidEnd:(NSWindow *)sender returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo +- (void)sheetDidEndWithReturnCode:(NSInteger)returnCode { [self.sheet close]; } diff --git a/Sources/App/Classes/Headers/Internal/TDCBuddyListDialogInternal.h b/Sources/App/Classes/Headers/Internal/TDCBuddyListDialogInternal.h deleted file mode 100644 index d53f2fea8..000000000 --- a/Sources/App/Classes/Headers/Internal/TDCBuddyListDialogInternal.h +++ /dev/null @@ -1,48 +0,0 @@ -/* ********************************************************************* - * _____ _ _ - * |_ _|____ _| |_ _ _ __ _| | - * | |/ _ \ \/ / __| | | |/ _` | | - * | | __/> <| |_| |_| | (_| | | - * |_|\___/_/\_\\__|\__,_|\__,_|_| - * - * Copyright (c) 2010 - 2016 Codeux Software, LLC & respective contributors. - * Please see Acknowledgements.pdf for additional information. - * - * 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 Textual, "Codeux Software, LLC", 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 AUTHOR 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 AUTHOR 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. - * - *********************************************************************** */ - -#import "TDCBuddyListDialogPrivate.h" - -NS_ASSUME_NONNULL_BEGIN - -@class IRCClient; - -@interface TDCBuddyListDialog () -- (void)droppedNicknames:(NSArray *)nicknames fromClient:(IRCClient *)client; -@end - -NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Headers/NSColorHelper.h b/Sources/App/Classes/Headers/NSColorHelper.h index a2c2e8fc7..42c828597 100755 --- a/Sources/App/Classes/Headers/NSColorHelper.h +++ b/Sources/App/Classes/Headers/NSColorHelper.h @@ -58,8 +58,6 @@ NS_ASSUME_NONNULL_BEGIN @property (class, readonly) NSColor *formatterNormalGrayColor; @property (class, readonly) NSColor *formatterLightGrayColor; -@property (class, readonly) NSColor *labelColorBackwardsCompat; - @property (class, readonly) NSColor *outlineViewHeaderTextColor; @property (class, readonly) NSColor *outlineViewHeaderDisabledTextColor; @end diff --git a/Sources/App/Classes/Headers/NSViewHelper.h b/Sources/App/Classes/Headers/NSViewHelper.h index 96ee21074..1db434cd3 100644 --- a/Sources/App/Classes/Headers/NSViewHelper.h +++ b/Sources/App/Classes/Headers/NSViewHelper.h @@ -37,11 +37,31 @@ NS_ASSUME_NONNULL_BEGIN -@interface NSView (TXViewHelper) -@property (readonly, copy) NSArray *constraintsForHuggingEdges; // top, right, bottom, left all == 0 +@interface NSWindow (TXWindowHelper) +/* Reset size of window to accommodate -minSize */ +- (void)changeFrameToMin; // display = YES; animate = NO +- (void)changeFrameToMinAndDisplay:(BOOL)display; // animate = NO +- (void)changeFrameToMinAndDisplay:(BOOL)display animate:(BOOL)animate; -- (void)attachSubviewToHugEdges:(NSView *)subview; -- (void)attachSubview:(NSView *)subview adjustedWidthConstraint:(nullable NSLayoutConstraint *)parentViewWidthConstraint adjustedHeightConstraint:(nullable NSLayoutConstraint *)parentViewHeightConstraint; +/* Sets content view to nil, resets frame to fit view, then assigns new view. */ +- (void)replaceContentView:(NSView *)withView; +@end + +@interface NSView (TXViewHelper) +/* Self top, right, bottom, left will = superview with 0.0 constant. */ +- (void)addConstraintsToSuperviewToHugEdges; + +/* Superview width and height will = self with 0.0 constant. */ +/* A priority of 550 is used to encourage hugging. */ +- (void)addConstraintsToSueprviewToEqualDimensions; + +/* Remove first subview (if one is present) and replaces it with subview. */ +/* The new superview width and height will equal that of subview with a + priority of 550. The subview top, right, bottom, and left will equal + that of the superview with 0.0 constant. */ +/* See -addConstraintsToSuperviewToHugEdges + -addConstraintsToSueprviewToEqualDimensions */ +- (void)replaceFirstSubview:(NSView *)withView; @end NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Headers/Private/IRCHighlightLogEntryPrivate.h b/Sources/App/Classes/Headers/Private/IRCHighlightLogEntryPrivate.h index 4bf7b9617..1db356974 100644 --- a/Sources/App/Classes/Headers/Private/IRCHighlightLogEntryPrivate.h +++ b/Sources/App/Classes/Headers/Private/IRCHighlightLogEntryPrivate.h @@ -45,7 +45,6 @@ NS_ASSUME_NONNULL_BEGIN @property (readonly, weak) IRCChannel *channel; @property (readonly, copy) NSString *channelName; @property (readonly, copy) NSString *timeLoggedFormatted; -@property (nonatomic, assign) CGFloat rowHeight; @end @interface IRCHighlightLogEntryMutable : IRCHighlightLogEntry diff --git a/Sources/App/Classes/Headers/Private/TDCBuddyListDialogDropViewPrivate.h b/Sources/App/Classes/Headers/Private/TDCBuddyListDialogDropViewPrivate.h deleted file mode 100644 index 5287ea134..000000000 --- a/Sources/App/Classes/Headers/Private/TDCBuddyListDialogDropViewPrivate.h +++ /dev/null @@ -1,45 +0,0 @@ -/* ********************************************************************* - * _____ _ _ - * |_ _|____ _| |_ _ _ __ _| | - * | |/ _ \ \/ / __| | | |/ _` | | - * | | __/> <| |_| |_| | (_| | | - * |_|\___/_/\_\\__|\__,_|\__,_|_| - * - * Copyright (c) 2010 - 2016 Codeux Software, LLC & respective contributors. - * Please see Acknowledgements.pdf for additional information. - * - * 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 Textual, "Codeux Software, LLC", 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 AUTHOR 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 AUTHOR 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. - * - *********************************************************************** */ - -NS_ASSUME_NONNULL_BEGIN - -@interface TDCBuddyListDialogDropView : NSView -- (void)hideVisualDropView; -- (void)showVisualDropView; -@end - -NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Headers/Private/TDCBuddyListDialogEntryPrivate.h b/Sources/App/Classes/Headers/Private/TDCBuddyListDialogEntryPrivate.h deleted file mode 100644 index fb113d15e..000000000 --- a/Sources/App/Classes/Headers/Private/TDCBuddyListDialogEntryPrivate.h +++ /dev/null @@ -1,50 +0,0 @@ -/* ********************************************************************* - * _____ _ _ - * |_ _|____ _| |_ _ _ __ _| | - * | |/ _ \ \/ / __| | | |/ _` | | - * | | __/> <| |_| |_| | (_| | | - * |_|\___/_/\_\\__|\__,_|\__,_|_| - * - * Copyright (c) 2010 - 2016 Codeux Software, LLC & respective contributors. - * Please see Acknowledgements.pdf for additional information. - * - * 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 Textual, "Codeux Software, LLC", 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 AUTHOR 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 AUTHOR 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. - * - *********************************************************************** */ - -#import "IRCAddressBookUserTracking.h" - -NS_ASSUME_NONNULL_BEGIN - -@class IRCClient; - -@interface TDCBuddyListDialogEntry : NSObject -@property (nonatomic, strong) IRCClient *client; -@property (nonatomic, copy) NSString *nickname; -@property (nonatomic, assign) IRCAddressBookUserTrackingStatus availability; -@end - -NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Headers/Private/TDCBuddyListDialogPrivate.h b/Sources/App/Classes/Headers/Private/TDCBuddyListDialogPrivate.h deleted file mode 100644 index 5c21d3737..000000000 --- a/Sources/App/Classes/Headers/Private/TDCBuddyListDialogPrivate.h +++ /dev/null @@ -1,59 +0,0 @@ -/* ********************************************************************* - * _____ _ _ - * |_ _|____ _| |_ _ _ __ _| | - * | |/ _ \ \/ / __| | | |/ _` | | - * | | __/> <| |_| |_| | (_| | | - * |_|\___/_/\_\\__|\__,_|\__,_|_| - * - * Copyright (c) 2010 - 2016 Codeux Software, LLC & respective contributors. - * Please see Acknowledgements.pdf for additional information. - * - * 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 Textual, "Codeux Software, LLC", 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 AUTHOR 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 AUTHOR 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. - * - *********************************************************************** */ - -#import "TDCWindowBase.h" - -NS_ASSUME_NONNULL_BEGIN - -typedef NS_ENUM(NSUInteger, TDCBuddyListDialogNavigationSelection) { - TDCBuddyListDialogNavigationSelectionAll = 0, - TDCBuddyListDialogNavigationSelectionOnline = 1, - TDCBuddyListDialogNavigationSelectionOffline = 2 -}; - -@protocol TDCBuddyListDialogDelegate; - -@interface TDCBuddyListDialog : TDCWindowBase -@end - -@protocol TDCBuddyListDialogDelegate -@required - -- (void)buddyListDialogWillClose:(TDCBuddyListDialog *)sender; -@end - -NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Headers/Private/TDCBuddyListDialogTablePrivate.h b/Sources/App/Classes/Headers/Private/TDCBuddyListDialogTablePrivate.h deleted file mode 100644 index 0c23dbc3e..000000000 --- a/Sources/App/Classes/Headers/Private/TDCBuddyListDialogTablePrivate.h +++ /dev/null @@ -1,46 +0,0 @@ -/* ********************************************************************* - * _____ _ _ - * |_ _|____ _| |_ _ _ __ _| | - * | |/ _ \ \/ / __| | | |/ _` | | - * | | __/> <| |_| |_| | (_| | | - * |_|\___/_/\_\\__|\__,_|\__,_|_| - * - * Copyright (c) 2010 - 2016 Codeux Software, LLC & respective contributors. - * Please see Acknowledgements.pdf for additional information. - * - * 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 Textual, "Codeux Software, LLC", 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 AUTHOR 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 AUTHOR 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. - * - *********************************************************************** */ - -NS_ASSUME_NONNULL_BEGIN - -@interface TDCBuddyListDialogCellView : NSTableCellView -@property (readonly) NSString *nickname; -@property (readonly) NSString *networkName; -@property (readonly) NSImage *availabilityImage; -@end - -NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Headers/Private/TDCChannelSpotlightAppearancePrivate.h b/Sources/App/Classes/Headers/Private/TDCChannelSpotlightAppearancePrivate.h index edcc2864d..8ef629195 100755 --- a/Sources/App/Classes/Headers/Private/TDCChannelSpotlightAppearancePrivate.h +++ b/Sources/App/Classes/Headers/Private/TDCChannelSpotlightAppearancePrivate.h @@ -56,8 +56,8 @@ NS_ASSUME_NONNULL_BEGIN @property (readonly, copy, nullable) NSColor *searchResultChannelNameTextColor; @property (readonly, copy, nullable) NSColor *searchResultChannelDescriptionTextColor; @property (readonly, copy, nullable) NSColor *searchResultKeyboardShortcutTextColor; -@property (readonly) CGFloat searchResultKeyboardShortcutDeselectedTopOffset; -@property (readonly) CGFloat searchResultKeyboardShortcutSelectedTopOffset; +@property (readonly) CGFloat searchResultKeyboardShortcutDeselectedOffset; +@property (readonly) CGFloat searchResultKeyboardShortcutSelectedOffset; @property (readonly, copy, nullable) NSColor *searchResultSelectedTextColor; @end diff --git a/Sources/App/Classes/Headers/Private/TVCAppearancePrivate.h b/Sources/App/Classes/Headers/Private/TVCAppearancePrivate.h index 40a001216..fce0402f8 100644 --- a/Sources/App/Classes/Headers/Private/TVCAppearancePrivate.h +++ b/Sources/App/Classes/Headers/Private/TVCAppearancePrivate.h @@ -41,8 +41,8 @@ NS_ASSUME_NONNULL_BEGIN @interface TVCAppearance () /* TVCListAppearance will take care of all the hard work such as - inheritance and retina. You only need to specify "MavericksDark" - for example, not "MavericksDarkRetina" */ + inheritance and retina. You only need to specify "MojaveDark" + for example, not "MojaveDarkRetina" */ - (nullable instancetype)initWithAppearanceNamed:(NSString *)appearanceName atURL:(NSURL *)appearanceLocation forRetinaDisplay:(BOOL)forRetinaDisplay NS_DESIGNATED_INITIALIZER; diff --git a/Sources/App/Classes/Headers/Private/TVCMainWindowSidebarSmoothTextFieldPrivate.h b/Sources/App/Classes/Headers/Private/TVCMainWindowSidebarSmoothTextFieldPrivate.h index e907850a4..3434ef024 100644 --- a/Sources/App/Classes/Headers/Private/TVCMainWindowSidebarSmoothTextFieldPrivate.h +++ b/Sources/App/Classes/Headers/Private/TVCMainWindowSidebarSmoothTextFieldPrivate.h @@ -37,13 +37,10 @@ NS_ASSUME_NONNULL_BEGIN -@interface TVCMainWindowSidebarMavericksSmoothTextField : NSTextField +@interface TVCMainWindowSidebarSmoothTextField : NSTextField @end -@interface TVCMainWindowSidebarYosemiteSmoothTextField : NSTextField -@end - -@interface TVCMainWindowSidebarYosemiteSmoothTextFieldCell : NSTextFieldCell +@interface TVCMainWindowSidebarSmoothTextFieldCell : NSTextFieldCell @end NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Headers/Private/TVCMemberListAppearancePrivate.h b/Sources/App/Classes/Headers/Private/TVCMemberListAppearancePrivate.h index 622c89771..a6cf5861d 100755 --- a/Sources/App/Classes/Headers/Private/TVCMemberListAppearancePrivate.h +++ b/Sources/App/Classes/Headers/Private/TVCMemberListAppearancePrivate.h @@ -45,7 +45,4 @@ NS_ASSUME_NONNULL_BEGIN - (nullable instancetype)initWithMemberList:(TVCMemberList *)MemberList inWindow:(TVCMainWindow *)mainWindow; @end -@interface TVCMemberListMavericksBackgroundBox : NSBox -@end - NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Headers/Private/TVCMemberListPrivate.h b/Sources/App/Classes/Headers/Private/TVCMemberListPrivate.h index 260377a42..b3a5309e4 100644 --- a/Sources/App/Classes/Headers/Private/TVCMemberListPrivate.h +++ b/Sources/App/Classes/Headers/Private/TVCMemberListPrivate.h @@ -40,7 +40,6 @@ NS_ASSUME_NONNULL_BEGIN -@class TVCMemberListMavericksBackgroundBox; @class TVCMemberListUserInfoPopover; @interface TVCMemberList () @@ -48,7 +47,6 @@ NS_ASSUME_NONNULL_BEGIN - (TVCMemberListAppearance *)userInterfaceObjects; - (nullable NSVisualEffectView *)visualEffectView; -- (nullable TVCMemberListMavericksBackgroundBox *)backgroundView; - (TVCMemberListUserInfoPopover *)memberListUserInfoPopover; - (void)addItemToList:(NSUInteger)rowIndex; diff --git a/Sources/App/Classes/Headers/Private/TVCServerListAppearancePrivate.h b/Sources/App/Classes/Headers/Private/TVCServerListAppearancePrivate.h index 8e04aedb4..b9afee109 100755 --- a/Sources/App/Classes/Headers/Private/TVCServerListAppearancePrivate.h +++ b/Sources/App/Classes/Headers/Private/TVCServerListAppearancePrivate.h @@ -43,12 +43,6 @@ NS_ASSUME_NONNULL_BEGIN @interface TVCServerListAppearance () - (nullable instancetype)initWithServerList:(TVCServerList *)serverList inWindow:(TVCMainWindow *)mainWindow; - -- (void)setOutlineViewDefaultDisclosureTriangle:(NSImage *)image; -- (void)setOutlineViewAlternateDisclosureTriangle:(NSImage *)image; -@end - -@interface TVCServerListMavericksBackgroundBox : NSBox @end NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Headers/Private/TVCServerListCellPrivate.h b/Sources/App/Classes/Headers/Private/TVCServerListCellPrivate.h index d8dbddb32..04bd44282 100755 --- a/Sources/App/Classes/Headers/Private/TVCServerListCellPrivate.h +++ b/Sources/App/Classes/Headers/Private/TVCServerListCellPrivate.h @@ -51,8 +51,6 @@ NS_ASSUME_NONNULL_BEGIN @interface TVCServerListCell : NSTableCellView - (void)populateMessageCountBadge; - -- (void)updateGroupDisclosureTriangle; @end @interface TVCServerListCellChildItem : TVCServerListCell diff --git a/Sources/App/Classes/Headers/Private/TVCServerListPrivate.h b/Sources/App/Classes/Headers/Private/TVCServerListPrivate.h index a0bb4d826..d0cd502e7 100644 --- a/Sources/App/Classes/Headers/Private/TVCServerListPrivate.h +++ b/Sources/App/Classes/Headers/Private/TVCServerListPrivate.h @@ -40,8 +40,6 @@ NS_ASSUME_NONNULL_BEGIN -@class TVCServerListMavericksBackgroundBox; - @interface TVCServerList () @property (nonatomic, weak) id keyDelegate; @property (nonatomic, copy, nullable) NSImage *outlineViewDefaultDisclosureTriangle; @@ -49,7 +47,6 @@ NS_ASSUME_NONNULL_BEGIN - (TVCServerListAppearance *)userInterfaceObjects; - (nullable NSVisualEffectView *)visualEffectView; -- (nullable TVCServerListMavericksBackgroundBox *)backgroundView; - (BOOL)leftMouseIsDownInView; diff --git a/Sources/App/Classes/Headers/TVCMemberListAppearance.h b/Sources/App/Classes/Headers/TVCMemberListAppearance.h index 8bf3ea7b3..9c70746a1 100755 --- a/Sources/App/Classes/Headers/TVCMemberListAppearance.h +++ b/Sources/App/Classes/Headers/TVCMemberListAppearance.h @@ -45,8 +45,6 @@ NS_ASSUME_NONNULL_BEGIN @property (readonly) CGFloat minimumWidth; @property (readonly) CGFloat maximumWidth; -@property (readonly, copy, nullable) NSColor *backgroundColorActiveWindow; -@property (readonly, copy, nullable) NSColor *backgroundColorInactiveWindow; @property (readonly, copy, nullable) NSColor *rowSelectionColorActiveWindow; @property (readonly, copy, nullable) NSColor *rowSelectionColorInactiveWindow; @@ -54,24 +52,14 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark Member Cell @property (readonly) BOOL cellRowEmphasized; -@property (readonly) CGFloat cellRowHeight; -@property (readonly, copy, nullable) NSImage *cellSelectionImageActiveWindow; -@property (readonly, copy, nullable) NSImage *cellSelectionImageInactiveWindow; @property (readonly, copy, nullable) NSColor *cellTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *cellTextColorInactiveWindow; -@property (readonly, copy, nullable) NSColor *cellTextShadowColorActiveWindow; -@property (readonly, copy, nullable) NSColor *cellTextShadowColorInactiveWindow; @property (readonly, copy, nullable) NSColor *cellAwayTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *cellAwayTextColorInactiveWindow; -@property (readonly, copy, nullable) NSColor *cellAwayTextShadowColorActiveWindow; -@property (readonly, copy, nullable) NSColor *cellAwayTextShadowColorInactiveWindow; @property (readonly, copy, nullable) NSColor *cellSelectedTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *cellSelectedTextColorInactiveWindow; -@property (readonly, copy, nullable) NSColor *cellSelectedTextShadowColorActiveWindow; -@property (readonly, copy, nullable) NSColor *cellSelectedTextShadowColorInactiveWindow; @property (readonly, copy, nullable) NSFont *cellFont; @property (readonly, copy, nullable) NSFont *cellFontSelected; -@property (readonly) CGFloat cellTopOffset; #pragma mark - #pragma mark Mark Badge @@ -84,13 +72,8 @@ NS_ASSUME_NONNULL_BEGIN @property (readonly, copy, nullable) NSColor *markBadgeTextColorInactiveWindow; @property (readonly, copy, nullable) NSColor *markBadgeSelectedTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *markBadgeSelectedTextColorInactiveWindow; -@property (readonly, copy, nullable) NSColor *markBadgeShadowColorActiveWindow; -@property (readonly, copy, nullable) NSColor *markBadgeShadowColorInactiveWindow; @property (readonly, copy, nullable) NSFont *markBadgeFont; @property (readonly, copy, nullable) NSFont *markBadgeFontSelected; -@property (readonly) CGFloat markBadgeWidth; -@property (readonly) CGFloat markBadgeHeight; -@property (readonly) CGFloat markBadgeTopOffset; #pragma mark - #pragma mark Mark Badge Modes diff --git a/Sources/App/Classes/Headers/TVCServerListAppearance.h b/Sources/App/Classes/Headers/TVCServerListAppearance.h index 593007b4e..0469c5d40 100755 --- a/Sources/App/Classes/Headers/TVCServerListAppearance.h +++ b/Sources/App/Classes/Headers/TVCServerListAppearance.h @@ -44,8 +44,6 @@ NS_ASSUME_NONNULL_BEGIN @property (readonly) CGFloat minimumWidth; @property (readonly) CGFloat maximumWidth; -@property (readonly, copy, nullable) NSColor *backgroundColorActiveWindow; -@property (readonly, copy, nullable) NSColor *backgroundColorInactiveWindow; @property (readonly, copy, nullable) NSColor *rowSelectionColorActiveWindow; @property (readonly, copy, nullable) NSColor *rowSelectionColorInactiveWindow; @@ -53,51 +51,31 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark Server Cell @property (readonly) BOOL serverRowEmphasized; -@property (readonly) CGFloat serverRowHeight; -@property (readonly, copy, nullable) NSImage *serverSelectionImageActiveWindow; -@property (readonly, copy, nullable) NSImage *serverSelectionImageInactiveWindow; @property (readonly, copy, nullable) NSColor *serverTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *serverTextColorInactiveWindow; -@property (readonly, copy, nullable) NSColor *serverTextShadowColorActiveWindow; -@property (readonly, copy, nullable) NSColor *serverTextShadowColorInactiveWindow; @property (readonly, copy, nullable) NSColor *serverDisabledTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *serverDisabledTextColorInactiveWindow; -@property (readonly, copy, nullable) NSColor *serverDisabledTextShadowColorActiveWindow; -@property (readonly, copy, nullable) NSColor *serverDisabledTextShadowColorInactiveWindow; @property (readonly, copy, nullable) NSColor *serverSelectedTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *serverSelectedTextColorInactiveWindow; -@property (readonly, copy, nullable) NSColor *serverSelectedTextShadowColorActiveWindow; -@property (readonly, copy, nullable) NSColor *serverSelectedTextShadowColorInactiveWindow; @property (readonly, copy, nullable) NSFont *serverFont; @property (readonly, copy, nullable) NSFont *serverFontSelected; -@property (readonly) CGFloat serverTopOffset; #pragma mark - #pragma mark Channel Cell @property (readonly) BOOL channelRowEmphasized; -@property (readonly) CGFloat channelRowHeight; -@property (readonly, copy, nullable) NSImage *channelSelectionImageActiveWindow; -@property (readonly, copy, nullable) NSImage *channelSelectionImageInactiveWindow; @property (readonly, copy, nullable) NSColor *channelTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *channelTextColorInactiveWindow; -@property (readonly, copy, nullable) NSColor *channelTextShadowColorActiveWindow; -@property (readonly, copy, nullable) NSColor *channelTextShadowColorInactiveWindow; @property (readonly, copy, nullable) NSColor *channelDisabledTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *channelDisabledTextColorInactiveWindow; -@property (readonly, copy, nullable) NSColor *channelDisabledTextShadowColorActiveWindow; -@property (readonly, copy, nullable) NSColor *channelDisabledTextShadowColorInactiveWindow; @property (readonly, copy, nullable) NSColor *channelSelectedTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *channelSelectedTextColorInactiveWindow; -@property (readonly, copy, nullable) NSColor *channelSelectedTextShadowColorActiveWindow; -@property (readonly, copy, nullable) NSColor *channelSelectedTextShadowColorInactiveWindow; @property (readonly, copy, nullable) NSColor *channelErroneousTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *channelErroneousTextColorInactiveWindow; @property (readonly, copy, nullable) NSColor *channelHighlightTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *channelHighlightTextColorInactiveWindow; @property (readonly, copy, nullable) NSFont *channelFont; @property (readonly, copy, nullable) NSFont *channelFontSelected; -@property (readonly) CGFloat channelTopOffset; #pragma mark - #pragma mark Message Count Badge @@ -115,22 +93,15 @@ NS_ASSUME_NONNULL_BEGIN @property (readonly, copy, nullable) NSColor *unreadBadgeSelectedTextColorInactiveWindow; @property (readonly, copy, nullable) NSColor *unreadBadgeHighlightTextColorActiveWindow; @property (readonly, copy, nullable) NSColor *unreadBadgeHighlightTextColorInactiveWindow; -@property (readonly, copy, nullable) NSColor *unreadBadgeShadowColorActiveWindow; -@property (readonly, copy, nullable) NSColor *unreadBadgeShadowColorInactiveWindow; @property (readonly, copy, nullable) NSFont *unreadBadgeFont; @property (readonly, copy, nullable) NSFont *unreadBadgeFontSelected; @property (readonly) CGFloat unreadBadgeMinimumWidth; @property (readonly) CGFloat unreadBadgeHeight; @property (readonly) CGFloat unreadBadgePadding; -@property (readonly) CGFloat unreadBadgeTextCenterYOffset; -@property (readonly) CGFloat unreadBadgeTopOffset; -@property (readonly) CGFloat unreadBadgeRightMargin; #pragma mark - #pragma mark Accessors -- (nullable NSImage *)disclosureTriangleInContext:(BOOL)up selected:(BOOL)selected; - - (nullable NSString *)statusIconForActiveChannel:(BOOL)isActive selected:(BOOL)isSelected activeWindow:(BOOL)isActiveWindow diff --git a/Sources/App/Classes/Headers/TXAppearance.h b/Sources/App/Classes/Headers/TXAppearance.h index 8be31113d..118186b79 100644 --- a/Sources/App/Classes/Headers/TXAppearance.h +++ b/Sources/App/Classes/Headers/TXAppearance.h @@ -39,10 +39,6 @@ NS_ASSUME_NONNULL_BEGIN typedef NS_ENUM(NSUInteger, TXAppearanceType) { - TXAppearanceTypeMavericksAquaLight, - TXAppearanceTypeMavericksAquaDark, - TXAppearanceTypeMavericksGraphiteLight, - TXAppearanceTypeMavericksGraphiteDark, TXAppearanceTypeYosemiteLight, TXAppearanceTypeYosemiteDark, TXAppearanceTypeMojaveLight, @@ -73,7 +69,6 @@ typedef NS_ENUM(NSUInteger, TXAppKitAppearanceTarget) @property (readonly, copy) NSString *shortAppearanceDescription; // e.g. "light", "dark" @property (readonly) BOOL isDarkAppearance; -@property (readonly) BOOL isModernAppearance; // Anything newer or equal to OS X Yosemite @property (readonly) TXAppKitAppearanceTarget appKitAppearanceTarget; @property (readonly, nullable) NSAppearance *appKitAppearance; // nil when -appKitAppearanceTarget = none diff --git a/Sources/App/Classes/Headers/TXMenuController.h b/Sources/App/Classes/Headers/TXMenuController.h index fda984a2a..e77a56037 100755 --- a/Sources/App/Classes/Headers/TXMenuController.h +++ b/Sources/App/Classes/Headers/TXMenuController.h @@ -209,9 +209,8 @@ enum MTMMWindowViewLogs = 815, // "View Logs" MTMMWindowHighlightList = 816, // "Highlight List" MTMMWindowFileTransfers = 817, // "File Transfers" - MTMMWindowBuddyList = 818, // "Buddy List" - MTMMWindowBuddyListSeparator = 819, // "-" - MTMMWindowBrightAllToFront = 820, // "Bring All to Front" + MTMMWindowFileTransfersSeparator = 818, // "-" + MTMMWindowBrightAllToFront = 819, // "Bring All to Front" /* Main menu - Help menu */ MTMMHelpAcknowledgements = 900, // "Acknowledgements" @@ -461,7 +460,6 @@ enum - (IBAction)showAboutWindow:(id)sender; - (IBAction)showAddressBook:(id)sender; -- (IBAction)showBuddyListWindow:(id)sender; - (IBAction)showChannelBanExceptionList:(id)sender; - (IBAction)showChannelBanList:(id)sender; - (IBAction)showChannelInviteExceptionList:(id)sender; diff --git a/Sources/App/Classes/Helpers/Cocoa (Objective-C)/NSColorHelper.m b/Sources/App/Classes/Helpers/Cocoa (Objective-C)/NSColorHelper.m index 035916adf..5fcc51e2a 100755 --- a/Sources/App/Classes/Helpers/Cocoa (Objective-C)/NSColorHelper.m +++ b/Sources/App/Classes/Helpers/Cocoa (Objective-C)/NSColorHelper.m @@ -241,15 +241,6 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark - #pragma mark Other Colors -+ (NSColor *)labelColorBackwardsCompat -{ - if (TEXTUAL_RUNNING_ON_YOSEMITE) { - return [NSColor labelColor]; - } else { - return [NSColor controlTextColor]; - } -} - + (NSColor *)outlineViewHeaderTextColor { return [self colorWithCalibratedRed:0.439216 green:0.494118 blue:0.54902 alpha:1.0]; diff --git a/Sources/App/Classes/Helpers/Cocoa (Objective-C)/NSViewHelper.m b/Sources/App/Classes/Helpers/Cocoa (Objective-C)/NSViewHelper.m index d03bd41cf..a08b2aa24 100644 --- a/Sources/App/Classes/Helpers/Cocoa (Objective-C)/NSViewHelper.m +++ b/Sources/App/Classes/Helpers/Cocoa (Objective-C)/NSViewHelper.m @@ -39,6 +39,55 @@ NS_ASSUME_NONNULL_BEGIN +@implementation NSWindow (TXWindowHelper) + +- (void)changeFrameToMin +{ + [self changeFrameToMinAndDisplay:YES animate:NO]; +} + +- (void)changeFrameToMinAndDisplay:(BOOL)display +{ + [self changeFrameToMinAndDisplay:display animate:NO]; +} + +- (void)changeFrameToMinAndDisplay:(BOOL)display animate:(BOOL)animate +{ + NSSize minSize = self.contentMinSize; + + [self changeFrameTo:minSize display:display animate:NO]; +} + +- (void)changeFrameTo:(NSSize)minSize display:(BOOL)display animate:(BOOL)animate +{ + NSRect oldFrame = self.frame; + NSRect newFrame = oldFrame; + + NSRect contentRect = [self contentRectForFrameRect:newFrame]; + + float bezelHeight = (newFrame.size.height - contentRect.size.height); + + newFrame.size.width = minSize.width; + newFrame.size.height = (bezelHeight + minSize.height); + + newFrame.origin.y = (NSMaxY(oldFrame) - newFrame.size.height); + + [self setFrame:newFrame display:display animate:animate]; +} + +- (void)replaceContentView:(NSView *)withView +{ + self.contentView = nil; + + [self changeFrameTo:withView.frame.size display:NO animate:NO]; + + self.contentView = withView; +} + +@end + +#pragma mark - + @implementation NSView (TXViewHelperPrivate) - (nullable TVCMainWindow *)mainWindow @@ -58,94 +107,82 @@ NS_ASSUME_NONNULL_BEGIN @implementation NSView (TXViewHelper) -- (NSArray *)constraintsForHuggingEdges +- (void)addConstraintsToSuperviewToHugEdges { + NSView *superview = self.superview; + + NSArray *constraints = @[ + [NSLayoutConstraint constraintWithItem:self + attribute:NSLayoutAttributeLeft + relatedBy:NSLayoutRelationEqual + toItem:superview + attribute:NSLayoutAttributeLeft + multiplier:1.0 + constant:0.0], + + [NSLayoutConstraint constraintWithItem:self + attribute:NSLayoutAttributeRight + relatedBy:NSLayoutRelationEqual + toItem:superview + attribute:NSLayoutAttributeRight + multiplier:1.0 + constant:0.0], + + [NSLayoutConstraint constraintWithItem:self + attribute:NSLayoutAttributeTop + relatedBy:NSLayoutRelationEqual + toItem:superview + attribute:NSLayoutAttributeTop + multiplier:1.0 + constant:0.0], + + [NSLayoutConstraint constraintWithItem:self + attribute:NSLayoutAttributeBottom + relatedBy:NSLayoutRelationEqual + toItem:superview + attribute:NSLayoutAttributeBottom + multiplier:1.0 + constant:0.0] + ]; + + [superview addConstraints:constraints]; +} + +- (void)addConstraintsToSueprviewToEqualDimensions +{ + NSView *superview = self.superview; + NSMutableArray *constraints = [NSMutableArray array]; [constraints addObjectsFromArray: - [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[self]-0-|" + [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[self(0@550)]-0-|" options:NSLayoutFormatDirectionLeadingToTrailing metrics:nil views:NSDictionaryOfVariableBindings(self)]]; [constraints addObjectsFromArray: - [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[self]-0-|" + [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[self(0@550)]-0-|" options:NSLayoutFormatDirectionLeadingToTrailing metrics:nil views:NSDictionaryOfVariableBindings(self)]]; - return [constraints copy]; + [superview addConstraints:constraints]; } -- (void)attachSubviewToHugEdges:(NSView *)subview +- (void)replaceFirstSubview:(NSView *)withSubview { - NSParameterAssert(subview != nil); + NSParameterAssert(withSubview != nil); /* Remove any views that may already be in place. */ - NSArray *contentSubviews = self.subviews; + [self.subviews.firstObject removeFromSuperviewWithoutNeedingDisplay]; - if (contentSubviews.count > 0) { - [contentSubviews[0] removeFromSuperview]; - } + /* Add subview. */ + [self addSubview:withSubview]; - [self addSubview:subview]; + /* Apply constraints. */ + [withSubview addConstraintsToSuperviewToHugEdges]; - /* Add new constraints. */ - [self addConstraints:subview.constraintsForHuggingEdges]; -} - -- (void)attachSubview:(NSView *)subview adjustedWidthConstraint:(nullable NSLayoutConstraint *)parentViewWidthConstraint adjustedHeightConstraint:(nullable NSLayoutConstraint *)parentViewHeightConstraint -{ - NSParameterAssert(subview != nil); - - /* Remove any views that may already be in place. */ - NSArray *contentSubviews = self.subviews; - - if (contentSubviews.count > 0) { - [contentSubviews[0] removeFromSuperview]; - } - - [self addSubview:subview]; - - /* Adjust constraints of parent view to maintain the same size - of the subview that is being added. */ - NSRect subviewFrame = subview.bounds; - - CGFloat subviewFrameWidth = NSWidth(subviewFrame); - CGFloat subviewFrameHeight = NSHeight(subviewFrame); - - if ( parentViewWidthConstraint) { - parentViewWidthConstraint.constant = subviewFrameWidth; - } - - if ( parentViewHeightConstraint) { - parentViewHeightConstraint.constant = subviewFrameHeight; - } - - /* Add new constraints. */ - NSMutableArray *constraints = [NSMutableArray array]; - - [constraints addObject: - [NSLayoutConstraint constraintWithItem:subview - attribute:NSLayoutAttributeWidth - relatedBy:NSLayoutRelationEqual - toItem:nil - attribute:NSLayoutAttributeNotAnAttribute - multiplier:1.0 - constant:subviewFrameWidth] - ]; - - [constraints addObject: - [NSLayoutConstraint constraintWithItem:subview - attribute:NSLayoutAttributeHeight - relatedBy:NSLayoutRelationEqual - toItem:nil - attribute:NSLayoutAttributeNotAnAttribute - multiplier:1.0 - constant:subviewFrameHeight] - ]; - - [subview addConstraints:constraints]; + [withSubview addConstraintsToSueprviewToEqualDimensions]; } @end diff --git a/Sources/App/Classes/IRC/IRCChannel.m b/Sources/App/Classes/IRC/IRCChannel.m index e3930cd6c..6d4024a43 100644 --- a/Sources/App/Classes/IRC/IRCChannel.m +++ b/Sources/App/Classes/IRC/IRCChannel.m @@ -1252,9 +1252,7 @@ DESIGNATED_INITIALIZER_EXCEPTION_BODY_END - (nullable NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(nullable NSTableColumn *)tableColumn item:(id)item { - NSString *viewIdentifier = ((TEXTUAL_RUNNING_ON_MOJAVE) ? @"GroupViewMojave" : @"GroupView"); - - NSView *newView = [outlineView makeViewWithIdentifier:viewIdentifier owner:self]; + NSView *newView = [outlineView makeViewWithIdentifier:@"GroupView" owner:self]; return newView; } diff --git a/Sources/App/Classes/IRC/IRCClient.m b/Sources/App/Classes/IRC/IRCClient.m index 745ae660f..f9fcd002d 100644 --- a/Sources/App/Classes/IRC/IRCClient.m +++ b/Sources/App/Classes/IRC/IRCClient.m @@ -1364,19 +1364,7 @@ DESIGNATED_INITIALIZER_EXCEPTION_BODY_END - (NSString *)label { - __block BOOL usesUppercaseLabel = NO; - - static dispatch_once_t onceToken; - - dispatch_once(&onceToken, ^{ - usesUppercaseLabel = (TEXTUAL_RUNNING_ON_YOSEMITE == NO); - }); - - if (usesUppercaseLabel) { - return self.config.connectionName.uppercaseString; - } else { - return self.config.connectionName; - } + return self.config.connectionName; } #pragma mark - diff --git a/Sources/App/Classes/IRC/IRCWorld.m b/Sources/App/Classes/IRC/IRCWorld.m index 264564229..558fc6bc1 100644 --- a/Sources/App/Classes/IRC/IRCWorld.m +++ b/Sources/App/Classes/IRC/IRCWorld.m @@ -352,7 +352,7 @@ NSString * const IRCWorldWillDestroyChannelNotification = @"IRCWorldWillDestroyC { /* Ask for the day, month, and year from the current calender. */ /* We are not asking for time which means that it will default to zero. */ - NSDateComponents *currentDayComponents = [RZCurrentCalender() components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]]; + NSDateComponents *currentDayComponents = [RZCurrentCalender() components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:[NSDate date]]; NSDate *lastMidnight = [RZCurrentCalender() dateFromComponents:currentDayComponents]; diff --git a/Sources/App/Classes/Library/License Manager/Standalone/TLOLicenseManagerDownloader.m b/Sources/App/Classes/Library/License Manager/Standalone/TLOLicenseManagerDownloader.m index b871d0417..f297ba77c 100644 --- a/Sources/App/Classes/Library/License Manager/Standalone/TLOLicenseManagerDownloader.m +++ b/Sources/App/Classes/Library/License Manager/Standalone/TLOLicenseManagerDownloader.m @@ -64,25 +64,21 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeGenericError = 2000 NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 2000001; /* Private header */ +typedef void (^TLOLicenseManagerDownloaderConnectionCompletionBlock)(TLOLicenseManagerDownloaderRequestType requestType, NSURLResponse * _Nullable response, NSData * _Nullable data); + @interface TLOLicenseManagerDownloaderConnection : NSObject @property (nonatomic, weak) TLOLicenseManagerDownloader *delegate; // To be set by caller @property (nonatomic, assign) TLOLicenseManagerDownloaderRequestType requestType; // To be set by caller @property (nonatomic, copy) NSDictionary *requestContextInfo; // Information set by caller such as license key or e-mail address -@property (nonatomic, strong) NSURLConnection *requestConnection; // Will be set by the object, readonly -@property (nonatomic, strong) NSHTTPURLResponse *requestResponse; // Will be set by the object, readonly -@property (nonatomic, strong) NSMutableData *requestResponseData; // Will be set by the object, readonly +@property (nonatomic, strong) NSURLSessionTask *sessionTask; -- (BOOL)setupConnectionRequest; +- (void)performRequest:(TLOLicenseManagerDownloaderConnectionCompletionBlock)completionBlock; - (void)cancelRequest; @end @interface TLOLicenseManagerDownloader () @property (nonatomic, strong, nullable) TLOLicenseManagerDownloaderConnection *activeConnection; - -- (void)processResponseForRequestType:(TLOLicenseManagerDownloaderRequestType)requestType - httpStatusCode:(NSUInteger)requestHttpStatusCode - contents:(nullable NSData *)requestContents; @end #define _connectionTimeoutInterval 30.0 @@ -98,8 +94,8 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 NSDictionary *contextInfo = @{@"licenseKey" : licenseKey}; - [self setupNewActionWithRequestType:TLOLicenseManagerDownloaderRequestTypeActivation - context:contextInfo]; + [self performRequestType:TLOLicenseManagerDownloaderRequestTypeActivation + context:contextInfo]; } - (void)deactivateLicense @@ -117,8 +113,8 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 NSDictionary *contextInfo = @{@"licenseKey" : licenseKey}; - [self setupNewActionWithRequestType:TLOLicenseManagerDownloaderRequestTypeLicenseUpgradeEligibility - context:contextInfo]; + [self performRequestType:TLOLicenseManagerDownloaderRequestTypeLicenseUpgradeEligibility + context:contextInfo]; } - (void)checkUpgradeEligibilityOfReceipt:(NSString *)receiptData @@ -134,8 +130,8 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 @"licenseOwnerMacAddress" : macAddress }; - [self setupNewActionWithRequestType:TLOLicenseManagerDownloaderRequestTypeReceiptUpgradeEligibility - context:contextInfo]; + [self performRequestType:TLOLicenseManagerDownloaderRequestTypeReceiptUpgradeEligibility + context:contextInfo]; } - (void)requestLostLicenseKeyForContactAddress:(NSString *)contactAddress @@ -144,8 +140,8 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 NSDictionary *contextInfo = @{@"licenseOwnerContactAddress" : contactAddress}; - [self setupNewActionWithRequestType:TLOLicenseManagerDownloaderRequestTypeSendLostLicense - context:contextInfo]; + [self performRequestType:TLOLicenseManagerDownloaderRequestTypeSendLostLicense + context:contextInfo]; } - (void)migrateMacAppStorePurchase:(NSString *)receiptData licenseOwnerName:(NSString *)licenseOwnerName licenseOwnerContactAddress:(NSString *)licenseOwnerContactAddress @@ -165,15 +161,15 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 @"licenseOwnerMacAddress" : macAddress }; - [self setupNewActionWithRequestType:TLOLicenseManagerDownloaderRequestTypeMigrateAppStore - context:contextInfo]; + [self performRequestType:TLOLicenseManagerDownloaderRequestTypeMigrateAppStore + context:contextInfo]; } -- (void)setupNewActionWithRequestType:(TLOLicenseManagerDownloaderRequestType)requestType context:(NSDictionary *)requestContext +- (void)performRequestType:(TLOLicenseManagerDownloaderRequestType)requestType context:(NSDictionary *)requestContext { NSParameterAssert(requestContext != nil); - if (self.activeConnection != nil) { + if ( self.activeConnection != nil) { [self.activeConnection cancelRequest]; } @@ -185,9 +181,20 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 connectionObject.requestType = requestType; - self.activeConnection = connectionObject; + __weak TLOLicenseManagerDownloader *weakSelf = self; - [connectionObject setupConnectionRequest]; + [connectionObject performRequest:^(TLOLicenseManagerDownloaderRequestType requestType, NSURLResponse *response, NSData *data) { + /* Connection uses NSURLSession which is a background task. */ + /* The result of processing the response will update the UI + which must always take place on the main thread. */ + XRPerformBlockAsynchronouslyOnMainQueue(^{ + [weakSelf processResponse:response forRequestType:requestType contents:data]; + }); + + weakSelf.activeConnection = nil; + }]; + + self.activeConnection = connectionObject; } - (void)cancelRequest @@ -205,43 +212,49 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 self.completionBlock = nil; } -- (void)processResponseForRequestType:(TLOLicenseManagerDownloaderRequestType)requestType httpStatusCode:(NSUInteger)requestHttpStatusCode contents:(nullable NSData *)requestContents +- (void)processResponse:(nullable NSURLResponse *)response forRequestType:(TLOLicenseManagerDownloaderRequestType)requestType contents:(nullable NSData *)responseContents +{ + /* We assume the response failed until proven otherwise. */ + NSUInteger responseStatusCode = TLOLicenseManagerDownloaderRequestHTTPStatusTryAgainLater; + + if ([response isKindOfClass:[NSHTTPURLResponse class]]) { + responseStatusCode = ((NSHTTPURLResponse *)response).statusCode; + } + + [self processResponseForRequestType:requestType + httpStatusCode:responseStatusCode + contents:responseContents]; +} + +- (void)processResponseForRequestType:(TLOLicenseManagerDownloaderRequestType)requestType httpStatusCode:(NSUInteger)responseStatusCode contents:(nullable NSData *)responseContents { /* The license API returns content as property lists, including errors. This method will try to convert the returned contents into an NSDictionary (assuming its a valid property list). If that fails, then the method shows generic failure reason and logs to the console that the contents could not parsed. */ - XRPerformBlockAsynchronouslyOnMainQueue(^{ - self.activeConnection = nil; - }); - -#define _performCompletionBlockAndReturn(operationResult) \ - if (self.completionBlock) { \ - self.completionBlock((operationResult), (statusCode), (statusContext)); \ - } \ - \ - return; /* Define defaults */ id propertyList = nil; - NSUInteger statusCode = 0; + BOOL errorBlockPerformed = NO; - id statusContext = nil; + NSUInteger apiStatusCode = 0; - if (requestHttpStatusCode == TLOLicenseManagerDownloaderRequestHTTPStatusTryAgainLater) { - statusCode = TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater; + id apiStatusContext = nil; + + if (responseStatusCode == TLOLicenseManagerDownloaderRequestHTTPStatusTryAgainLater) { + apiStatusCode = TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater; goto present_fatal_error; } else { - statusCode = TLOLicenseManagerDownloaderRequestStatusCodeGenericError; + apiStatusCode = TLOLicenseManagerDownloaderRequestStatusCodeGenericError; } /* Attempt to convert contents into a property list dictionary */ - if (requestContents) { + if (responseContents) { NSError *propertyListReadError = nil; - propertyList = [NSPropertyListSerialization propertyListWithData:requestContents + propertyList = [NSPropertyListSerialization propertyListWithData:responseContents options:NSPropertyListImmutable format:NULL error:&propertyListReadError]; @@ -263,22 +276,22 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 goto present_fatal_error; } - statusCode = [l_statusCode unsignedIntegerValue]; + apiStatusCode = [l_statusCode unsignedIntegerValue]; - statusContext = propertyList[@"Status Context"]; + apiStatusContext = propertyList[@"Status Context"]; - if (requestHttpStatusCode == TLOLicenseManagerDownloaderRequestHTTPStatusSuccess) + if (responseStatusCode == TLOLicenseManagerDownloaderRequestHTTPStatusSuccess) { /* Process successful results */ - if (requestType == TLOLicenseManagerDownloaderRequestTypeActivation && statusCode == TLOLicenseManagerDownloaderRequestStatusCodeSuccess) + if (requestType == TLOLicenseManagerDownloaderRequestTypeActivation && apiStatusCode == TLOLicenseManagerDownloaderRequestStatusCodeSuccess) { - if (statusContext == nil || [statusContext isKindOfClass:[NSData class]] == NO) { + if (apiStatusContext == nil || [apiStatusContext isKindOfClass:[NSData class]] == NO) { LogToConsoleError("'Status Context' is nil or not of kind 'NSData'"); goto present_fatal_error; } - if (self.actionBlock != nil && self.actionBlock(statusCode, statusContext) == NO) { + if (self.actionBlock != nil && self.actionBlock(apiStatusCode, apiStatusContext) == NO) { LogToConsoleError("Failed to write user license file contents"); goto present_fatal_error; @@ -291,21 +304,21 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 alternateButton:nil]; } } - else if (requestType == TLOLicenseManagerDownloaderRequestTypeSendLostLicense && statusCode == TLOLicenseManagerDownloaderRequestStatusCodeSuccess) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeSendLostLicense && apiStatusCode == TLOLicenseManagerDownloaderRequestStatusCodeSuccess) { - if (statusContext == nil || [statusContext isKindOfClass:[NSDictionary class]] == NO) { + if (apiStatusContext == nil || [apiStatusContext isKindOfClass:[NSDictionary class]] == NO) { LogToConsoleError("'Status Context' is nil or not of kind 'NSDictionary'"); goto present_fatal_error; } - if (self.actionBlock != nil && self.actionBlock(statusCode, statusContext) == NO) { + if (self.actionBlock != nil && self.actionBlock(apiStatusCode, apiStatusContext) == NO) { LogToConsoleError("Action blocked returned error"); goto present_fatal_error; } - NSString *licenseOwnerContactAddress = statusContext[@"licenseOwnerContactAddress"]; + NSString *licenseOwnerContactAddress = apiStatusContext[@"licenseOwnerContactAddress"]; if (licenseOwnerContactAddress.length == 0) { LogToConsoleError("'licenseOwnerContactAddress' is nil or of zero length"); @@ -320,21 +333,21 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 alternateButton:nil]; } } - else if (requestType == TLOLicenseManagerDownloaderRequestTypeMigrateAppStore && statusCode == TLOLicenseManagerDownloaderRequestStatusCodeSuccess) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeMigrateAppStore && apiStatusCode == TLOLicenseManagerDownloaderRequestStatusCodeSuccess) { - if (statusContext == nil || [statusContext isKindOfClass:[NSDictionary class]] == NO) { + if (apiStatusContext == nil || [apiStatusContext isKindOfClass:[NSDictionary class]] == NO) { LogToConsoleError("'Status Context' is nil or not of kind 'NSDictionary'"); goto present_fatal_error; } - if (self.actionBlock != nil && self.actionBlock(statusCode, statusContext) == NO) { + if (self.actionBlock != nil && self.actionBlock(apiStatusCode, apiStatusContext) == NO) { LogToConsoleError("Action blocked returned error"); goto present_fatal_error; } - NSString *licenseOwnerContactAddress = statusContext[@"licenseOwnerContactAddress"]; + NSString *licenseOwnerContactAddress = apiStatusContext[@"licenseOwnerContactAddress"]; if (licenseOwnerContactAddress.length == 0) { LogToConsoleError("'licenseOwnerContactAddress' is nil or of zero length"); @@ -349,37 +362,45 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 alternateButton:nil]; } } - else if (requestType == TLOLicenseManagerDownloaderRequestTypeLicenseUpgradeEligibility && statusCode == TLOLicenseManagerDownloaderRequestStatusCodeSuccess) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeLicenseUpgradeEligibility && apiStatusCode == TLOLicenseManagerDownloaderRequestStatusCodeSuccess) { - if (statusContext == nil || [statusContext isKindOfClass:[NSDictionary class]] == NO) { + if (apiStatusContext == nil || [apiStatusContext isKindOfClass:[NSDictionary class]] == NO) { LogToConsoleError("'Status Context' is nil or not of kind 'NSDictionary'"); goto present_fatal_error; } if (self.actionBlock != nil) { - (void)self.actionBlock(statusCode, statusContext); + (void)self.actionBlock(apiStatusCode, apiStatusContext); } } - else if (requestType == TLOLicenseManagerDownloaderRequestTypeReceiptUpgradeEligibility && statusCode == TLOLicenseManagerDownloaderRequestStatusCodeSuccess) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeReceiptUpgradeEligibility && apiStatusCode == TLOLicenseManagerDownloaderRequestStatusCodeSuccess) { - if (statusContext == nil || [statusContext isKindOfClass:[NSDictionary class]] == NO) { + if (apiStatusContext == nil || [apiStatusContext isKindOfClass:[NSDictionary class]] == NO) { LogToConsoleError("'Status Context' is nil or not of kind 'NSDictionary'"); goto present_fatal_error; } if (self.actionBlock != nil) { - (void)self.actionBlock(statusCode, statusContext); + (void)self.actionBlock(apiStatusCode, apiStatusContext); } } - - _performCompletionBlockAndReturn(YES) + + if (self.completionBlock) { + self.completionBlock(YES, apiStatusCode, apiStatusContext); + } + + return; } else // TLOLicenseManagerDownloaderRequestStatusCodeSuccess { - if (self.errorBlock != nil && self.errorBlock(statusCode, statusContext)) { - goto perform_return; + if (self.errorBlock != nil) { + errorBlockPerformed = YES; + + if (self.errorBlock(apiStatusCode, apiStatusContext)) { + goto perform_return; + } } if (self.isSilentOnFailure) { @@ -387,22 +408,22 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 } /* Errors related to license activation. */ - if (requestType == TLOLicenseManagerDownloaderRequestTypeActivation && statusCode == 6500000) + if (requestType == TLOLicenseManagerDownloaderRequestTypeActivation && apiStatusCode == 6500000) { [TDCAlert modalAlertWithMessage:TXTLS(@"TLOLicenseManager[wc7-mn]") title:TXTLS(@"TLOLicenseManager[fg6-gf]") defaultButton:TXTLS(@"Prompts[c7s-dq]") alternateButton:nil]; } - else if (requestType == TLOLicenseManagerDownloaderRequestTypeActivation && statusCode == 6500001) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeActivation && apiStatusCode == 6500001) { - if (statusContext == nil || [statusContext isKindOfClass:[NSDictionary class]] == NO) { + if (apiStatusContext == nil || [apiStatusContext isKindOfClass:[NSDictionary class]] == NO) { LogToConsoleError("'Status Context' kind is not of 'NSDictionary'"); goto present_fatal_error; } - NSString *licenseKey = statusContext[@"licenseKey"]; + NSString *licenseKey = apiStatusContext[@"licenseKey"]; if (licenseKey.length == 0) { LogToConsoleError("'licenseKey' is nil or of zero length"); @@ -419,15 +440,15 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 [self contactSupport]; } } - else if (requestType == TLOLicenseManagerDownloaderRequestTypeActivation && statusCode == 6500002) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeActivation && apiStatusCode == 6500002) { - if (statusContext == nil || [statusContext isKindOfClass:[NSDictionary class]] == NO) { + if (apiStatusContext == nil || [apiStatusContext isKindOfClass:[NSDictionary class]] == NO) { LogToConsoleError("'Status Context' kind is not of 'NSDictionary'"); goto present_fatal_error; } - NSString *licenseKey = statusContext[@"licenseKey"]; + NSString *licenseKey = apiStatusContext[@"licenseKey"]; if (licenseKey.length == 0) { LogToConsoleError("'licenseKey' is nil or of zero length"); @@ -435,7 +456,7 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 goto present_fatal_error; } - NSInteger licenseKeyActivationLimit = [statusContext integerForKey:@"licenseKeyActivationLimit"]; + NSInteger licenseKeyActivationLimit = [apiStatusContext integerForKey:@"licenseKeyActivationLimit"]; [TDCAlert modalAlertWithMessage:TXTLS(@"TLOLicenseManager[6aa-ow]", licenseKeyActivationLimit) title:TXTLS(@"TLOLicenseManager[o66-ox]", licenseKey.prettyLicenseKey) @@ -444,22 +465,22 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 } /* Errors related to lost license recovery. */ - else if (requestType == TLOLicenseManagerDownloaderRequestTypeSendLostLicense && statusCode == 6400000) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeSendLostLicense && apiStatusCode == 6400000) { [TDCAlert modalAlertWithMessage:TXTLS(@"TLOLicenseManager[dio-y9]") title:TXTLS(@"TLOLicenseManager[ocm-03]") defaultButton:TXTLS(@"Prompts[c7s-dq]") alternateButton:nil]; } - else if (requestType == TLOLicenseManagerDownloaderRequestTypeSendLostLicense && statusCode == 6400001) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeSendLostLicense && apiStatusCode == 6400001) { - if (statusContext == nil || [statusContext isKindOfClass:[NSDictionary class]] == NO) { + if (apiStatusContext == nil || [apiStatusContext isKindOfClass:[NSDictionary class]] == NO) { LogToConsoleError("'Status Context' kind is not of 'NSDictionary'"); goto present_fatal_error; } - NSString *originalInput = statusContext[@"originalInput"]; + NSString *originalInput = apiStatusContext[@"originalInput"]; if (originalInput.length == 0) { LogToConsoleError("'originalInput' is nil or of zero length"); @@ -474,24 +495,24 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 } /* Error messages related to Mac App Store migration. */ - else if (requestType == TLOLicenseManagerDownloaderRequestTypeMigrateAppStore && statusCode == 6600002) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeMigrateAppStore && apiStatusCode == 6600002) { [TDCAlert modalAlertWithMessage:TXTLS(@"TLOLicenseManager[bu4-zk]") title:TXTLS(@"TLOLicenseManager[ztd-5y]") defaultButton:TXTLS(@"Prompts[c7s-dq]") alternateButton:nil]; } - else if (requestType == TLOLicenseManagerDownloaderRequestTypeMigrateAppStore && statusCode == 6600003) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeMigrateAppStore && apiStatusCode == 6600003) { /* We do not present a custom dialog for this error, but we still log the contents of the context to the console to help diagnose issues. */ - if (statusContext == nil || [statusContext isKindOfClass:[NSDictionary class]] == NO) { + if (apiStatusContext == nil || [apiStatusContext isKindOfClass:[NSDictionary class]] == NO) { LogToConsoleError("'Status Context' kind is not of 'NSDictionary'"); goto present_fatal_error; } - NSString *errorMessage = statusContext[@"Error Message"]; + NSString *errorMessage = apiStatusContext[@"Error Message"]; if (errorMessage.length == 0) { LogToConsoleError("'errorMessage' is nil or of zero length"); @@ -506,44 +527,48 @@ NSUInteger const TLOLicenseManagerDownloaderRequestStatusCodeTryAgainLater = 200 defaultButton:TXTLS(@"Prompts[c7s-dq]") alternateButton:nil]; } - else if (requestType == TLOLicenseManagerDownloaderRequestTypeMigrateAppStore && statusCode == 6600004) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeMigrateAppStore && apiStatusCode == 6600004) { [TDCAlert modalAlertWithMessage:TXTLS(@"TLOLicenseManager[36y-49]") title:TXTLS(@"TLOLicenseManager[enb-hw]") defaultButton:TXTLS(@"Prompts[c7s-dq]") alternateButton:nil]; } - else if (requestType == TLOLicenseManagerDownloaderRequestTypeMigrateAppStore && statusCode == 6600006) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeMigrateAppStore && apiStatusCode == 6600006) { [TDCAlert modalAlertWithMessage:TXTLS(@"TLOLicenseManager[do9-8x]") title:TXTLS(@"TLOLicenseManager[f49-rk]") defaultButton:TXTLS(@"Prompts[c7s-dq]") alternateButton:nil]; } - else if (requestType == TLOLicenseManagerDownloaderRequestTypeMigrateAppStore && statusCode == 6600007) + else if (requestType == TLOLicenseManagerDownloaderRequestTypeMigrateAppStore && apiStatusCode == 6600007) { [TDCAlert modalAlertWithMessage:TXTLS(@"TLOLicenseManager[4n2-ps]") title:TXTLS(@"TLOLicenseManager[t28-j9]") defaultButton:TXTLS(@"Prompts[c7s-dq]") alternateButton:nil]; } - - _performCompletionBlockAndReturn(NO) } } -present_fatal_error: - if ((self.errorBlock == nil || - self.errorBlock(statusCode, statusContext) == NO) && +present_fatal_error: ; + if ( + /* Perform error block if it was not performed + by some other condition presented below. */ + (errorBlockPerformed || + self.errorBlock == nil || + self.errorBlock(apiStatusCode, apiStatusContext) == NO) && + + /* Do we even present an error? */ self.isSilentOnFailure == NO) { [self presentTryAgainLaterErrorDialog]; } perform_return: - _performCompletionBlockAndReturn(NO) - -#undef _performCompletionBlockAndReturn + if (self.completionBlock) { + self.completionBlock(NO, apiStatusCode, apiStatusContext); + } } - (void)presentTryAgainLaterErrorDialog @@ -673,32 +698,20 @@ perform_return: self.delegate = nil; } -- (void)destroyConnectionRequest -{ - if ( self.requestConnection) { - [self.requestConnection cancel]; - } - - self.requestConnection = nil; - self.requestResponse = nil; - self.requestResponseData = nil; -} - - (void)cancelRequest { - [self destroyConnectionRequest]; + if ( self.sessionTask) { + [self.sessionTask cancel]; + } } -- (BOOL)setupConnectionRequest +- (void)performRequest:(TLOLicenseManagerDownloaderConnectionCompletionBlock)completionBlock { - /* Destroy any cached data that may be defined */ - [self destroyConnectionRequest]; - /* Setup request including HTTP POST data. Return NO on failure */ NSURL *requestURL = [self requestURL]; if (requestURL == nil) { - return NO; + return; } NSMutableURLRequest *baseRequest = [NSMutableURLRequest requestWithURL:requestURL @@ -706,61 +719,37 @@ perform_return: timeoutInterval:_connectionTimeoutInterval]; if ([self populateRequestPostData:baseRequest] == NO) { - return NO; + return; } /* Create the connection and start it */ - self.requestResponseData = [NSMutableData data]; + TLOLicenseManagerDownloaderRequestType requestType = self.requestType; - self.requestConnection = [[NSURLConnection alloc] initWithRequest:baseRequest delegate:self startImmediately:NO]; + __weak TLOLicenseManagerDownloaderConnection *weakSelf = self; - [self.requestConnection start]; + NSURLSession *session = [NSURLSession sharedSession]; - /* Return a successful result */ - return YES; -} + NSURLSessionTask *task = [session dataTaskWithRequest:baseRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) + { + if (data == nil) { + if (error) { + LogToConsoleError("Request failed with error: %@", + error.localizedDescription); + } -- (void)connectionDidFinishLoading:(NSURLConnection *)connection -{ - NSUInteger requestStatusCode = self.requestResponse.statusCode; + completionBlock(requestType, nil, nil); - NSData *requestContentsCopy = [self.requestResponseData copy]; + return; + } - [self destroyConnectionRequest]; + completionBlock(requestType, response, data); - if ( self.delegate) { - [self.delegate processResponseForRequestType:self.requestType - httpStatusCode:requestStatusCode - contents:requestContentsCopy]; - } -} + weakSelf.sessionTask = nil; + }]; -- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error -{ - [self destroyConnectionRequest]; // Destroy the existing request + [task resume]; - LogToConsoleError("Failed to complete connection request with error: %@", error.localizedDescription); - - if ( self.delegate) { - [self.delegate processResponseForRequestType:self.requestType - httpStatusCode:TLOLicenseManagerDownloaderRequestHTTPStatusTryAgainLater - contents:nil]; - } -} - -- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data -{ - [self.requestResponseData appendData:data]; -} - -- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response -{ - self.requestResponse = (id)response; -} - -- (nullable NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse -{ - return nil; + self.sessionTask = task; } @end diff --git a/Sources/App/Classes/Library/TLOKeyEventHandler.m b/Sources/App/Classes/Library/TLOKeyEventHandler.m index 30fc09da9..73133be08 100755 --- a/Sources/App/Classes/Library/TLOKeyEventHandler.m +++ b/Sources/App/Classes/Library/TLOKeyEventHandler.m @@ -152,7 +152,7 @@ ClassWithDesignatedInitializerInitMethod return NO; } - NSUInteger modifiers = (e.modifierFlags & (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask | NSCommandKeyMask)); + NSUInteger modifiers = (e.modifierFlags & (NSEventModifierFlagShift | NSEventModifierFlagControl | NSEventModifierFlagOption | NSEventModifierFlagCommand)); NSNumber *modifierKeys = @(modifiers); diff --git a/Sources/App/Classes/Library/TLOpenLink.swift b/Sources/App/Classes/Library/TLOpenLink.swift index f7f4edb74..1800117b3 100644 --- a/Sources/App/Classes/Library/TLOpenLink.swift +++ b/Sources/App/Classes/Library/TLOpenLink.swift @@ -41,12 +41,10 @@ public class OpenLink: NSObject @objc(open:inBackground:) public static func open(url: URL, inBackground: Bool = TPCPreferences.openBrowserInBackground()) { - if #available(OSX 10.10, *) { - if inBackground { - NSWorkspace.shared.open([url], withAppBundleIdentifier: nil, options: [.withoutActivation], additionalEventParamDescriptor: nil, launchIdentifiers: nil) + if inBackground { + NSWorkspace.shared.open([url], withAppBundleIdentifier: nil, options: [.withoutActivation], additionalEventParamDescriptor: nil, launchIdentifiers: nil) - return - } + return } NSWorkspace.shared.open(url) diff --git a/Sources/App/Classes/Preferences/TPCPreferencesLocal.m b/Sources/App/Classes/Preferences/TPCPreferencesLocal.m index e314b01e0..146e14c1c 100755 --- a/Sources/App/Classes/Preferences/TPCPreferencesLocal.m +++ b/Sources/App/Classes/Preferences/TPCPreferencesLocal.m @@ -715,17 +715,7 @@ NSUInteger const TPCPreferencesDictionaryVersion = 602; + (BOOL)webKit2Enabled { - BOOL canUseWebKit2 = [RZUserDefaults() boolForKey:@"UsesWebKit2WhenAvailable"]; - - if (canUseWebKit2 == NO) { - return NO; - } - - if (TEXTUAL_RUNNING_ON_ELCAPITAN) { - return YES; - } - - return NO; + return [RZUserDefaults() boolForKey:@"UsesWebKit2WhenAvailable"]; } + (BOOL)webKit2ProcessPoolSizeLimited diff --git a/Sources/App/Classes/Preferences/TPCPreferencesReload.m b/Sources/App/Classes/Preferences/TPCPreferencesReload.m index 818db6fe8..38411ca7d 100644 --- a/Sources/App/Classes/Preferences/TPCPreferencesReload.m +++ b/Sources/App/Classes/Preferences/TPCPreferencesReload.m @@ -259,13 +259,9 @@ NS_ASSUME_NONNULL_BEGIN } } else if ((reloadAction & TPCPreferencesReloadActionServerListUnreadBadges) == TPCPreferencesReloadActionServerListUnreadBadges) { if (didReloadUserInterface == NO) { - /* The color used for unread badges on Yosemite also apply to the text color - so we must reload all drawings instead of only the badges themselves. */ - if (TEXTUAL_RUNNING_ON_YOSEMITE) { - [mainWindowServerList() refreshAllDrawings]; - } else { - [mainWindowServerList() refreshAllUnreadMessageCountBadges]; - } + /* The color used for unread badges also apply to the text color so + we must reload all drawings instead of only the badges themselves. */ + [mainWindowServerList() refreshAllDrawings]; } } diff --git a/Sources/App/Classes/Views/Channel View/Extras/TVCLogControllerOperationQueue.m b/Sources/App/Classes/Views/Channel View/Extras/TVCLogControllerOperationQueue.m index 59c667bee..94012814d 100644 --- a/Sources/App/Classes/Views/Channel View/Extras/TVCLogControllerOperationQueue.m +++ b/Sources/App/Classes/Views/Channel View/Extras/TVCLogControllerOperationQueue.m @@ -90,9 +90,7 @@ NS_ASSUME_NONNULL_BEGIN self.pendingOperations = [NSMutableDictionary dictionary]; - if (TEXTUAL_RUNNING_ON_YOSEMITE) { - self.qualityOfService = NSQualityOfServiceDefault; - } + self.qualityOfService = NSQualityOfServiceDefault; } #pragma mark - diff --git a/Sources/App/Classes/Views/Channel View/TVCLogPolicy.m b/Sources/App/Classes/Views/Channel View/TVCLogPolicy.m index 52c9bc394..67ebc34e8 100755 --- a/Sources/App/Classes/Views/Channel View/TVCLogPolicy.m +++ b/Sources/App/Classes/Views/Channel View/TVCLogPolicy.m @@ -225,7 +225,7 @@ NS_ASSUME_NONNULL_BEGIN NSRect mouseLocationLocal = [webViewWindow convertRectFromScreen:NSMakeRect(mouseLocationGlobal.x, mouseLocationGlobal.y, 0, 0)]; - NSEvent *event = [NSEvent mouseEventWithType:NSRightMouseUp + NSEvent *event = [NSEvent mouseEventWithType:NSEventTypeRightMouseUp location:mouseLocationLocal.origin modifierFlags:0 timestamp:0 @@ -341,9 +341,9 @@ NS_ASSUME_NONNULL_BEGIN BOOL openInBackground = [TPCPreferences openBrowserInBackground]; - NSUInteger keyboardKeys = ([NSEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask); + NSUInteger keyboardKeys = ([NSEvent modifierFlags] & NSEventModifierFlagDeviceIndependentFlagsMask); - if ((keyboardKeys & NSCommandKeyMask) == NSCommandKeyMask) { + if ((keyboardKeys & NSEventModifierFlagCommand) == NSEventModifierFlagCommand) { openInBackground = !openInBackground; } diff --git a/Sources/App/Classes/Views/Channel View/TVCLogView.m b/Sources/App/Classes/Views/Channel View/TVCLogView.m index 4d097f72d..fc86a19d5 100755 --- a/Sources/App/Classes/Views/Channel View/TVCLogView.m +++ b/Sources/App/Classes/Views/Channel View/TVCLogView.m @@ -130,9 +130,9 @@ ClassWithDesignatedInitializerInitMethod NSUInteger m = e.modifierFlags; - BOOL cmd = ((m & NSCommandKeyMask) == NSCommandKeyMask); - BOOL alt = ((m & NSAlternateKeyMask) == NSAlternateKeyMask); - BOOL ctrl = ((m & NSControlKeyMask) == NSControlKeyMask); + BOOL cmd = ((m & NSEventModifierFlagCommand) == NSEventModifierFlagCommand); + BOOL alt = ((m & NSEventModifierFlagOption) == NSEventModifierFlagOption); + BOOL ctrl = ((m & NSEventModifierFlagControl) == NSEventModifierFlagControl); if (ctrl == NO && alt == NO && cmd == NO) { [self.viewController logViewWebViewKeyDown:e]; @@ -199,13 +199,11 @@ ClassWithDesignatedInitializerInitMethod dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER); - if (TEXTUAL_RUNNING_ON_ELCAPITAN) { - [TVCLogViewInternalWK2 emptyCaches:^{ - dispatch_semaphore_signal(semaphore); - }]; + [TVCLogViewInternalWK2 emptyCaches:^{ + dispatch_semaphore_signal(semaphore); + }]; - dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER); - } + dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER); } - (void)recreateTemporaryCopyOfThemeIfNecessary diff --git a/Sources/App/Classes/Views/Channel View/TVCLogViewInternalWK2.m b/Sources/App/Classes/Views/Channel View/TVCLogViewInternalWK2.m index 267359918..0e09444e1 100644 --- a/Sources/App/Classes/Views/Channel View/TVCLogViewInternalWK2.m +++ b/Sources/App/Classes/Views/Channel View/TVCLogViewInternalWK2.m @@ -78,18 +78,12 @@ static TVCLogScriptEventSink *_sharedWebViewScriptSink = nil; _sharedWebViewConfiguration.processPool = _sharedProcessPool; - BOOL runningOnSierra = TEXTUAL_RUNNING_ON_SIERRA; + _sharedWebViewConfiguration._allowUniversalAccessFromFileURLs = YES; - if (runningOnSierra) { - _sharedWebViewConfiguration._allowUniversalAccessFromFileURLs = YES; - } + WKPreferences *preferences = _sharedWebViewConfiguration.preferences; - if (TEXTUAL_RUNNING_ON_ELCAPITAN) { - WKPreferences *preferences = _sharedWebViewConfiguration.preferences; - - preferences._allowFileAccessFromFileURLs = YES; - preferences._developerExtrasEnabled = YES; - } + preferences._allowFileAccessFromFileURLs = YES; + preferences._developerExtrasEnabled = YES; _sharedWebViewScriptSink = [[TVCLogScriptEventSink alloc] initWithWebView:nil]; @@ -100,11 +94,7 @@ static TVCLogScriptEventSink *_sharedWebViewScriptSink = nil; [_sharedUserContentController addScriptMessageHandler:(id)_sharedWebViewScriptSink name:@"channelMemberCount"]; [_sharedUserContentController addScriptMessageHandler:(id)_sharedWebViewScriptSink name:@"channelName"]; [_sharedUserContentController addScriptMessageHandler:(id)_sharedWebViewScriptSink name:@"channelNameDoubleClicked"]; - - if (runningOnSierra == NO) { - [_sharedUserContentController addScriptMessageHandler:(id)_sharedWebViewScriptSink name:@"displayContextMenu"]; - } - + [_sharedUserContentController addScriptMessageHandler:(id)_sharedWebViewScriptSink name:@"displayContextMenu"]; [_sharedUserContentController addScriptMessageHandler:(id)_sharedWebViewScriptSink name:@"copySelectionWhenPermitted"]; [_sharedUserContentController addScriptMessageHandler:(id)_sharedWebViewScriptSink name:@"encryptionAuthenticateUser"]; [_sharedUserContentController addScriptMessageHandler:(id)_sharedWebViewScriptSink name:@"inlineMediaEnabledForView"]; @@ -206,11 +196,9 @@ create_normal_pool: self.translatesAutoresizingMaskIntoConstraints = NO; - if (TEXTUAL_RUNNING_ON_ELCAPITAN) { - self.allowsLinkPreview = [TPCPreferences webKit2PreviewLinks]; + self.allowsLinkPreview = [TPCPreferences webKit2PreviewLinks]; - self.customUserAgent = TVCLogViewCommonUserAgentString; - } + self.customUserAgent = TVCLogViewCommonUserAgentString; self.navigationDelegate = (id)self; @@ -527,10 +515,6 @@ create_normal_pool: + (void)load { - if (TEXTUAL_RUNNING_ON_YOSEMITE == NO) { - return; - } - static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ diff --git a/Sources/App/Classes/Views/Channel View/TVCWK1AutoScroller.m b/Sources/App/Classes/Views/Channel View/TVCWK1AutoScroller.m index c4a98369b..89cf20722 100755 --- a/Sources/App/Classes/Views/Channel View/TVCWK1AutoScroller.m +++ b/Sources/App/Classes/Views/Channel View/TVCWK1AutoScroller.m @@ -184,29 +184,6 @@ static CGFloat _userScrolledMinimum = 25.0; return (contentRect.size.height > frameRect.size.height); } -- (void)redrawFrameIfNeeded -{ - /* WebKit uses layered compositing for position: fixed elements as of Yosemite. - However, there are some issues related to this change which results in position - fixed elements flickering while scrolling. This has been filed as radar #18211024 - but in the meantime, we redraw the WebView on scroll to workaround this issue. */ - static BOOL _performForceRedraw = NO; - - static dispatch_once_t onceToken; - - dispatch_once(&onceToken, ^{ - _performForceRedraw = - (TEXTUAL_RUNNING_ON_YOSEMITE && - TEXTUAL_RUNNING_ON_ELCAPITAN == NO); - }); - - if (_performForceRedraw == NO) { - return; - } - - [self redrawFrame]; -} - - (void)redrawFrame { [self.documentView setNeedsLayout:YES]; @@ -273,8 +250,6 @@ static CGFloat _userScrolledMinimum = 25.0; LogToConsoleDebug("Scrolled below threshold. Enabled auto scroll."); } } - - [self redrawFrameIfNeeded]; } - (void)webViewDidChangeFrame:(NSNotification *)aNotification diff --git a/Sources/App/Classes/Views/Errors/TVCAlert.m b/Sources/App/Classes/Views/Errors/TVCAlert.m index a6f0a3cef..18246296b 100755 --- a/Sources/App/Classes/Views/Errors/TVCAlert.m +++ b/Sources/App/Classes/Views/Errors/TVCAlert.m @@ -139,11 +139,10 @@ typedef NS_ENUM(NSUInteger, TVCAlertType) { if (window) { self.alertType = TVCAlertTypeSheet; - [NSApp beginSheet:self.panel - modalForWindow:window - modalDelegate:self - didEndSelector:@selector(_alertSheetDidEnd:returnCode:contextInfo:) - contextInfo:nil]; + [window beginSheet:self.panel + completionHandler:^(NSModalResponse returnCode) { + [self _alertSheetDidEndWithReturnCode:returnCode]; + }]; } else { self.alertType = TVCAlertTypeNonblockingPanel; @@ -251,7 +250,7 @@ typedef NS_ENUM(NSUInteger, TVCAlertType) { firstButtonAnchor = suppressionButton; } else { - [suppressionButton removeFromSuperview]; + [suppressionButton removeFromSuperviewWithoutNeedingDisplay]; } /* Add first button */ @@ -275,11 +274,11 @@ typedef NS_ENUM(NSUInteger, TVCAlertType) { NSUInteger buttonsCount = self.buttons.count; if (buttonsCount < 3) { - [self.thirdButton removeFromSuperview]; + [self.thirdButton removeFromSuperviewWithoutNeedingDisplay]; } if (buttonsCount < 2) { - [self.secondButton removeFromSuperview]; + [self.secondButton removeFromSuperviewWithoutNeedingDisplay]; } /* Update state */ @@ -357,7 +356,7 @@ typedef NS_ENUM(NSUInteger, TVCAlertType) { button.title = title; - [XRAccessibility setAccessibilityTitle:TXTLS(@"Accessibility[wbj-gr]", title) forObject:button]; + [button setAccessibilityTitle:TXTLS(@"Accessibility[wbj-gr]", title)]; [self.buttonsInt addObject:button]; @@ -453,11 +452,11 @@ typedef NS_ENUM(NSUInteger, TVCAlertType) { #pragma mark - #pragma mark Panel Delegate -- (void)_alertSheetDidEnd:(NSWindow *)sender returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo +- (void)_alertSheetDidEndWithReturnCode:(NSInteger)returnCode { [self _postCompletionBlockWithResponse:returnCode]; - [sender orderOut:nil]; + [self.panel orderOut:nil]; } @end diff --git a/Sources/App/Classes/Views/Main Window/TVCMainWindow.m b/Sources/App/Classes/Views/Main Window/TVCMainWindow.m index 96d14e0d9..664e1f23e 100644 --- a/Sources/App/Classes/Views/Main Window/TVCMainWindow.m +++ b/Sources/App/Classes/Views/Main Window/TVCMainWindow.m @@ -281,9 +281,7 @@ NSString * const TVCMainWindowSelectionChangedNotification = @"TVCMainWindowSele self.userInterfaceObjects = appearance; - if (TEXTUAL_RUNNING_ON_YOSEMITE) { - [self updateVibrancyWithAppearance:appearance]; - } + [self updateVibrancyWithAppearance:appearance]; [self notifyApplicationAppearanceChanged]; } @@ -612,34 +610,34 @@ NSString * const TVCMainWindowSelectionChangedNotification = @"TVCMainWindowSele [self registerSelector:@selector(exitFullscreenMode:) key:TXKeyEscapeCode modifiers:0]; [self registerSelector:@selector(tab:) key:TXKeyTabCode modifiers:0]; - [self registerSelector:@selector(shiftTab:) key:TXKeyTabCode modifiers:NSShiftKeyMask]; + [self registerSelector:@selector(shiftTab:) key:TXKeyTabCode modifiers:NSEventModifierFlagShift]; - [self registerSelector:@selector(selectPreviousSelection:) key:TXKeyTabCode modifiers:NSAlternateKeyMask]; + [self registerSelector:@selector(selectPreviousSelection:) key:TXKeyTabCode modifiers:NSEventModifierFlagOption]; - [self registerSelector:@selector(textFormattingBold:) character:'b' modifiers:NSCommandKeyMask]; - [self registerSelector:@selector(textFormattingUnderline:) character:'u' modifiers:(NSControlKeyMask | NSShiftKeyMask)]; - [self registerSelector:@selector(textFormattingItalic:) character:'i' modifiers:(NSControlKeyMask | NSShiftKeyMask)]; - [self registerSelector:@selector(textFormattingForegroundColor:) character:'c' modifiers:(NSControlKeyMask | NSShiftKeyMask)]; - [self registerSelector:@selector(textFormattingBackgroundColor:) character:'h' modifiers:(NSControlKeyMask | NSShiftKeyMask)]; + [self registerSelector:@selector(textFormattingBold:) character:'b' modifiers:NSEventModifierFlagCommand]; + [self registerSelector:@selector(textFormattingUnderline:) character:'u' modifiers:(NSEventModifierFlagControl | NSEventModifierFlagShift)]; + [self registerSelector:@selector(textFormattingItalic:) character:'i' modifiers:(NSEventModifierFlagControl | NSEventModifierFlagShift)]; + [self registerSelector:@selector(textFormattingForegroundColor:) character:'c' modifiers:(NSEventModifierFlagControl | NSEventModifierFlagShift)]; + [self registerSelector:@selector(textFormattingBackgroundColor:) character:'h' modifiers:(NSEventModifierFlagControl | NSEventModifierFlagShift)]; - [self registerSelector:@selector(speakPendingNotifications:) character:'.' modifiers:NSCommandKeyMask]; + [self registerSelector:@selector(speakPendingNotifications:) character:'.' modifiers:NSEventModifierFlagCommand]; - [self registerSelector:@selector(inputHistoryUp:) character:'p' modifiers:NSControlKeyMask]; - [self registerSelector:@selector(inputHistoryDown:) character:'n' modifiers:NSControlKeyMask]; + [self registerSelector:@selector(inputHistoryUp:) character:'p' modifiers:NSEventModifierFlagControl]; + [self registerSelector:@selector(inputHistoryDown:) character:'n' modifiers:NSEventModifierFlagControl]; /* Text field keyboard shortcuts */ - [self registerInputSelector:@selector(sendControlEnterMessageMaybe:) key:TXKeyEnterCode modifiers:NSControlKeyMask]; + [self registerInputSelector:@selector(sendControlEnterMessageMaybe:) key:TXKeyEnterCode modifiers:NSEventModifierFlagControl]; - [self registerInputSelector:@selector(sendMessageAsAction:) key:TXKeyReturnCode modifiers:NSCommandKeyMask]; - [self registerInputSelector:@selector(sendMessageAsAction:) key:TXKeyEnterCode modifiers:NSCommandKeyMask]; + [self registerInputSelector:@selector(sendMessageAsAction:) key:TXKeyReturnCode modifiers:NSEventModifierFlagCommand]; + [self registerInputSelector:@selector(sendMessageAsAction:) key:TXKeyEnterCode modifiers:NSEventModifierFlagCommand]; - [self registerInputSelector:@selector(focusWebview:) character:'l' modifiers:(NSAlternateKeyMask | NSCommandKeyMask)]; + [self registerInputSelector:@selector(focusWebview:) character:'l' modifiers:(NSEventModifierFlagOption | NSEventModifierFlagCommand)]; [self registerInputSelector:@selector(inputHistoryUpWithScrollCheck:) key:TXKeyUpArrowCode modifiers:0]; - [self registerInputSelector:@selector(inputHistoryUpWithScrollCheck:) key:TXKeyUpArrowCode modifiers:NSAlternateKeyMask]; + [self registerInputSelector:@selector(inputHistoryUpWithScrollCheck:) key:TXKeyUpArrowCode modifiers:NSEventModifierFlagOption]; [self registerInputSelector:@selector(inputHistoryDownWithScrollCheck:) key:TXKeyDownArrowCode modifiers:0]; - [self registerInputSelector:@selector(inputHistoryDownWithScrollCheck:) key:TXKeyDownArrowCode modifiers:NSAlternateKeyMask]; + [self registerInputSelector:@selector(inputHistoryDownWithScrollCheck:) key:TXKeyDownArrowCode modifiers:NSEventModifierFlagOption]; } #pragma mark - @@ -1951,36 +1949,7 @@ NSString * const TVCMainWindowSelectionChangedNotification = @"TVCMainWindowSele } } -- (void)addAccessoryViewsToTitlebarOnMavericks -{ - NSThemeFrame *themeFrame = (NSThemeFrame *)self.contentView.superview; - - NSView *accessoryView = self.titlebarAccessoryView; - - [themeFrame addSubview:accessoryView]; - - NSLayoutConstraint *topConstraint = - [NSLayoutConstraint constraintWithItem:accessoryView - attribute:NSLayoutAttributeTop - relatedBy:NSLayoutRelationEqual - toItem:themeFrame - attribute:NSLayoutAttributeTop - multiplier:1 - constant:0]; - - NSLayoutConstraint *rightConstraint = - [NSLayoutConstraint constraintWithItem:accessoryView - attribute:NSLayoutAttributeTrailing - relatedBy:NSLayoutRelationEqual - toItem:themeFrame - attribute:NSLayoutAttributeTrailing - multiplier:1 - constant:0]; - - [themeFrame addConstraints:@[topConstraint, rightConstraint]]; -} - -- (void)addAccessoryViewsToTitlebarOnYosemite +- (void)addAccessoryViewsToTitlebar { NSThemeFrame *themeFrame = (NSThemeFrame *)self.contentView.superview; @@ -1993,15 +1962,6 @@ NSString * const TVCMainWindowSelectionChangedNotification = @"TVCMainWindowSele [self addTitlebarAccessoryViewController:accessoryView]; } -- (void)addAccessoryViewsToTitlebar -{ - if (TEXTUAL_RUNNING_ON_YOSEMITE) { - [self addAccessoryViewsToTitlebarOnYosemite]; - } else { - [self addAccessoryViewsToTitlebarOnMavericks]; - } -} - - (void)updateTitleFor:(IRCTreeItem *)item { NSParameterAssert(item != nil); @@ -2113,7 +2073,7 @@ NSString * const TVCMainWindowSelectionChangedNotification = @"TVCMainWindowSele self.title = title; - [XRAccessibility setAccessibilityTitle:TXTLS(@"Accessibility[k79-1a]") forObject:self]; + [self setAccessibilityTitle:TXTLS(@"Accessibility[k79-1a]")]; } #pragma mark - @@ -2213,6 +2173,8 @@ NSString * const TVCMainWindowSelectionChangedNotification = @"TVCMainWindowSele self.memberList.target = menuController(); self.memberList.doubleAction = @selector(memberInMemberListDoubleClicked:); + self.memberList.stronglyReferencesItems = NO; + self.serverList.keyDelegate = self; self.serverList.delegate = (id)self; @@ -2221,6 +2183,8 @@ NSString * const TVCMainWindowSelectionChangedNotification = @"TVCMainWindowSele self.serverList.target = self; self.serverList.doubleAction = @selector(outlineViewDoubleClicked:); + self.serverList.stronglyReferencesItems = NO; + /* Inform the table we want drag events */ [self.serverList registerForDraggedTypes:_treeDragItemTypes]; @@ -2710,19 +2674,6 @@ NSString * const TVCMainWindowSelectionChangedNotification = @"TVCMainWindowSele return item; } -- (CGFloat)outlineView:(NSOutlineView *)outlineView heightOfRowByItem:(id)item -{ - TVCServerList *serverList = (id)outlineView; - - TVCServerListAppearance *appearance = serverList.userInterfaceObjects; - - if (item == nil || [item isClient]) { - return appearance.serverRowHeight; - } - - return appearance.channelRowHeight; -} - - (nullable NSTableRowView *)outlineView:(NSOutlineView *)outlineView rowViewForItem:(id)item { if (item == nil || [item isClient]) { @@ -2734,14 +2685,12 @@ NSString * const TVCMainWindowSelectionChangedNotification = @"TVCMainWindowSele - (nullable NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(nullable NSTableColumn *)tableColumn item:(id)item { - BOOL onMojave = TEXTUAL_RUNNING_ON_MOJAVE; - NSString *viewIdentifier = nil; if (item == nil || [item isClient]) { - viewIdentifier = ((onMojave) ? @"GroupViewMojave" : @"GroupView"); + viewIdentifier = @"GroupView"; } else { - viewIdentifier = ((onMojave) ? @"ChildViewMojave" : @"ChildView"); + viewIdentifier = @"ChildView"; } NSView *newView = [outlineView makeViewWithIdentifier:viewIdentifier owner:self]; @@ -2808,10 +2757,10 @@ NSString * const TVCMainWindowSelectionChangedNotification = @"TVCMainWindowSele } /* If command or shift are held down, allow change. */ - NSUInteger keyboardKeys = ([NSEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask); + NSUInteger keyboardKeys = ([NSEvent modifierFlags] & NSEventModifierFlagDeviceIndependentFlagsMask); - if ((keyboardKeys & NSCommandKeyMask) == NSCommandKeyMask || - (keyboardKeys & NSShiftKeyMask) == NSShiftKeyMask) + if ((keyboardKeys & NSEventModifierFlagCommand) == NSEventModifierFlagCommand || + (keyboardKeys & NSEventModifierFlagShift) == NSEventModifierFlagShift) { return YES; } @@ -2870,9 +2819,9 @@ NSString * const TVCMainWindowSelectionChangedNotification = @"TVCMainWindowSele IRCTreeItem *selectedItem = nil; - NSUInteger keyboardKeys = ([NSEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask); + NSUInteger keyboardKeys = ([NSEvent modifierFlags] & NSEventModifierFlagDeviceIndependentFlagsMask); - if (keyboardKeys == NSCommandKeyMask) { + if (keyboardKeys == NSEventModifierFlagCommand) { NSInteger rowBeneathMouse = serverList.rowBeneathMouse; if (rowBeneathMouse >= 0 && [selectedRows containsIndex:rowBeneathMouse]) { diff --git a/Sources/App/Classes/Views/Main Window/TVCMainWindowChannelView.m b/Sources/App/Classes/Views/Main Window/TVCMainWindowChannelView.m index 0801ad74d..bd3c538a6 100644 --- a/Sources/App/Classes/Views/Main Window/TVCMainWindowChannelView.m +++ b/Sources/App/Classes/Views/Main Window/TVCMainWindowChannelView.m @@ -326,10 +326,6 @@ NSComparisonResult sortSubviews(TVCMainWindowChannelViewSubview *firstView, - (void)updateVibrancy { - if (TEXTUAL_RUNNING_ON_YOSEMITE == NO) { - return; - } - if (themeSettings().underlyingWindowColorIsDark) { self.appearance = [TXAppearancePropertyCollection appKitDarkAppearance]; } else { diff --git a/Sources/App/Classes/Views/Main Window/TVCMainWindowLoadingScreen.m b/Sources/App/Classes/Views/Main Window/TVCMainWindowLoadingScreen.m index 94b2bae30..ff36c2dc7 100644 --- a/Sources/App/Classes/Views/Main Window/TVCMainWindowLoadingScreen.m +++ b/Sources/App/Classes/Views/Main Window/TVCMainWindowLoadingScreen.m @@ -51,8 +51,6 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, weak) IBOutlet NSTextField *progressViewDescriptionTextField; @property (nonatomic, weak) IBOutlet NSProgressIndicator *progressViewIndicator; @property (nonatomic, strong) IBOutlet NSView *trialExpiredView; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *loadingScreenMinimumWidthConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *loadingScreenMinimumHeightConstraint; @end @implementation TVCMainWindowLoadingScreenView @@ -120,33 +118,43 @@ NS_ASSUME_NONNULL_BEGIN [self disableBackgroundControlsStepOne]; - NSRect viewFrame = view.frame; - - self.loadingScreenMinimumWidthConstraint.constant = viewFrame.size.width; - self.loadingScreenMinimumHeightConstraint.constant = viewFrame.size.height; - [self addSubview:view]; - NSMutableArray *constraints = [NSMutableArray array]; - - [constraints addObject: + NSArray * constraints = @[ + /* Center view on both axis. */ [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeCenterX multiplier:1.0 - constant:0.0] - ]; + constant:0.0], - [constraints addObject: [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeCenterY multiplier:1.0 - constant:0.0] + constant:0.0], + + /* Constrain edges but use >= so that window does not + shrink to conform to it. */ + [NSLayoutConstraint constraintWithItem:view + attribute:NSLayoutAttributeLeft + relatedBy:NSLayoutRelationGreaterThanOrEqual + toItem:self + attribute:NSLayoutAttributeLeft + multiplier:1.0 + constant:0.0], + + [NSLayoutConstraint constraintWithItem:view + attribute:NSLayoutAttributeTop + relatedBy:NSLayoutRelationGreaterThanOrEqual + toItem:self + attribute:NSLayoutAttributeTop + multiplier:1.0 + constant:0.0], ]; [self addConstraints:constraints]; @@ -167,9 +175,6 @@ NS_ASSUME_NONNULL_BEGIN { [self enableBackgroundControlsStepOne]; - self.loadingScreenMinimumWidthConstraint.constant = 0.0; - self.loadingScreenMinimumHeightConstraint.constant = 0.0; - /* ================================== */ void (^phaseTwoBlock)(NSView *) = ^(NSView *viewToHide) { diff --git a/Sources/App/Classes/Views/Main Window/TVCMainWindowSidebarSmoothTextField.m b/Sources/App/Classes/Views/Main Window/TVCMainWindowSidebarSmoothTextField.m index 5efe8c3c2..bd000a7c5 100644 --- a/Sources/App/Classes/Views/Main Window/TVCMainWindowSidebarSmoothTextField.m +++ b/Sources/App/Classes/Views/Main Window/TVCMainWindowSidebarSmoothTextField.m @@ -41,64 +41,10 @@ NS_ASSUME_NONNULL_BEGIN -#pragma mark - -#pragma mark OS X Mavericks - -@interface TVCMainWindowSidebarMavericksSmoothTextFieldBackingLayer : CALayer -@property (nonatomic, weak) NSWindow *t_mainWindow; +@implementation TVCMainWindowSidebarSmoothTextField @end -@implementation TVCMainWindowSidebarMavericksSmoothTextField - -- (BOOL)wantsLayer -{ - return YES; -} - -- (void)viewWillMoveToWindow:(nullable NSWindow *)newWindow -{ - ((TVCMainWindowSidebarMavericksSmoothTextFieldBackingLayer *)self.layer).t_mainWindow = newWindow; -} - -- (NSViewLayerContentsRedrawPolicy)layerContentsRedrawPolicy -{ - return NSViewLayerContentsRedrawBeforeViewResize; -} - -- (CALayer *)makeBackingLayer -{ - return [TVCMainWindowSidebarMavericksSmoothTextFieldBackingLayer layer]; -} - -@end - -#pragma mark - - -@implementation TVCMainWindowSidebarMavericksSmoothTextFieldBackingLayer - -- (CGFloat)contentsScale -{ - return self.t_mainWindow.backingScaleFactor; -} - -- (void)drawInContext:(CGContextRef)context -{ - CGContextSetShouldAntialias(context, true); - CGContextSetShouldSmoothFonts(context, true); - CGContextSetShouldSubpixelPositionFonts(context, true); - - [super drawInContext:context]; -} - -@end - -#pragma mark - -#pragma mark OS X Yosemite - -@implementation TVCMainWindowSidebarYosemiteSmoothTextField -@end - -@implementation TVCMainWindowSidebarYosemiteSmoothTextFieldCell +@implementation TVCMainWindowSidebarSmoothTextFieldCell - (CGFloat)contentsScale { @@ -159,9 +105,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { /* Mojave no longer performs subpixel antialiasing */ - if (TEXTUAL_RUNNING_ON_YOSEMITE == NO || - TEXTUAL_RUNNING_ON_MOJAVE) - { + if (TEXTUAL_RUNNING_ON_MOJAVE) { [super drawWithFrame:cellFrame inView:controlView]; return; @@ -194,7 +138,7 @@ NS_ASSUME_NONNULL_BEGIN [stringValueImage drawInRect:cellFrameCopy fromRect:NSZeroRect - operation:NSCompositeSourceOver + operation:NSCompositingOperationSourceOver fraction:1.0 respectFlipped:YES hints:nil]; diff --git a/Sources/App/Classes/Views/Main Window/TVCMainWindowTextView.m b/Sources/App/Classes/Views/Main Window/TVCMainWindowTextView.m index cac3bc7e9..7443cfba1 100755 --- a/Sources/App/Classes/Views/Main Window/TVCMainWindowTextView.m +++ b/Sources/App/Classes/Views/Main Window/TVCMainWindowTextView.m @@ -151,9 +151,7 @@ NS_ASSUME_NONNULL_BEGIN self.userInterfaceObjects = appearance; - if (TEXTUAL_RUNNING_ON_YOSEMITE) { - [self updateVibrancyWithAppearance:appearance]; - } + [self updateVibrancyWithAppearance:appearance]; self.textContainerInset = appearance.textViewInset; @@ -246,9 +244,7 @@ NS_ASSUME_NONNULL_BEGIN { super.attributedStringValue = attributedStringValue; - if (TEXTUAL_RUNNING_ON_YOSEMITE) { - [self updateAllFontColorsToMatchTheDefaultFont]; - } + [self updateAllFontColorsToMatchTheDefaultFont]; } - (void)updateTextDirection @@ -400,10 +396,6 @@ NS_ASSUME_NONNULL_BEGIN self.textViewHeightConstraint.constant = backgroundHeight; - if (TEXTUAL_RUNNING_ON_YOSEMITE == NO) { - [window setContentBorderThickness:backgroundHeight forEdge:NSMinYEdge]; - } - id scrollViewContentView = self.enclosingScrollView.contentView; NSRect contentViewBounds = [scrollViewContentView bounds]; @@ -513,124 +505,18 @@ NS_ASSUME_NONNULL_BEGIN @implementation TVCMainWindowTextViewBackground -#pragma mark - -#pragma mark Mavericks UI Drawing - -- (void)drawControllerForMavericksWithAppearance:(TVCMainWindowTextViewAppearance *)appearance -{ - NSParameterAssert(appearance != nil); - - BOOL isWindowActive = self.mainWindow.activeForDrawing; - - NSRect cellBounds = self.frame; - - NSRect backgroundFrame = NSMakeRect(0.0, 1.0, cellBounds.size.width, - (cellBounds.size.height - 1.0)); - - NSRect foregroundFrame = NSMakeRect(1.0, 2.0, (cellBounds.size.width - 2.0), - (cellBounds.size.height - 3.0)); - - CGContextRef context = RZGraphicsCurrentContext().graphicsPort; - - NSColor *backgroundColor = nil; - NSColor *backgroundBorderColor = nil; - NSColor *insideShadowColor = nil; - NSColor *outsideShadowColor = nil; - - if (isWindowActive) { - backgroundColor = appearance.textViewBackgroundColorActiveWindow; - backgroundBorderColor = appearance.textViewOutlineColorActiveWindow; - insideShadowColor = appearance.textViewInsideShadowColorActiveWindow; - outsideShadowColor = appearance.textViewOutsidePrimaryShadowColorActiveWindow; - } else { - backgroundColor = appearance.textViewBackgroundColorInactiveWindow; - backgroundBorderColor = appearance.textViewOutlineColorInactiveWindow; - insideShadowColor = appearance.textViewInsideShadowColorInactiveWindow; - outsideShadowColor = appearance.textViewOutsidePrimaryShadowColorInactiveWindow; - } // isWindowActive - - /* Shadow values */ - NSShadow *outsideShadow = [NSShadow new]; - - outsideShadow.shadowBlurRadius = 0.0; - outsideShadow.shadowColor = outsideShadowColor; - outsideShadow.shadowOffset = NSMakeSize(0.0, (-1.0)); - - NSShadow *insideShadow = [NSShadow new]; - - insideShadow.shadowBlurRadius = 0.0; - insideShadow.shadowColor = insideShadowColor; - insideShadow.shadowOffset = NSMakeSize(0.0, (-1.0)); - - /* Draw the background rectangle which will act as the stroke of - the foreground rectangle. It will also host the bottom shadow. */ - NSBezierPath *backgroundPath = [NSBezierPath bezierPathWithRoundedRect:backgroundFrame xRadius:3.5 yRadius:3.5]; - - [NSGraphicsContext saveGraphicsState]; - - [outsideShadow set]; - - [backgroundBorderColor setFill]; - - [backgroundPath fill]; - - [NSGraphicsContext restoreGraphicsState]; - - /* Draw the foreground rectangle */ - NSBezierPath *foregroundPath = [NSBezierPath bezierPathWithRoundedRect:foregroundFrame xRadius:3.5 yRadius:3.5]; - - [backgroundColor setFill]; - - [foregroundPath fill]; - - /* Draw the inside shadow of the foreground rectangle */ - [NSGraphicsContext saveGraphicsState]; - - NSRectClip(foregroundPath.bounds); - - CGContextSetShadowWithColor(context, CGSizeZero, 0.0, NULL); - - CGContextSetAlpha(context, insideShadowColor.alphaComponent); - - CGContextBeginTransparencyLayer(context, NULL); - - { - /* Inside shadow drawing */ - [insideShadow set]; - - CGContextSetBlendMode(context, kCGBlendModeSourceOut); - - CGContextBeginTransparencyLayer(context, NULL); - - /* Fill shadow */ - [insideShadowColor setFill]; - - [foregroundPath fill]; - - /* Complete drawing */ - CGContextEndTransparencyLayer(context); - } - - CGContextEndTransparencyLayer(context); - - [NSGraphicsContext restoreGraphicsState]; -} - -#pragma mark - -#pragma mark Yosemite UI Drawing - -- (void)drawControllerForYosemiteWithAppearance:(TVCMainWindowTextViewAppearance *)appearance +- (void)drawControllerForWithAppearance:(TVCMainWindowTextViewAppearance *)appearance { NSParameterAssert(appearance != nil); if (appearance.isDarkAppearance == NO) { - [self drawLightControllerForYosemiteWithAppearance:appearance]; + [self drawLightControllerForWithAppearance:appearance]; } else { - [self drawDarkControllerForYosemiteWithAppearance:appearance]; + [self drawDarkControllerForWithAppearance:appearance]; } } -- (void)drawDarkControllerForYosemiteWithAppearance:(TVCMainWindowTextViewAppearance *)appearance +- (void)drawDarkControllerForWithAppearance:(TVCMainWindowTextViewAppearance *)appearance { NSParameterAssert(appearance != nil); @@ -676,7 +562,7 @@ NS_ASSUME_NONNULL_BEGIN [NSGraphicsContext restoreGraphicsState]; } -- (void)drawLightControllerForYosemiteWithAppearance:(TVCMainWindowTextViewAppearance *)appearance +- (void)drawLightControllerForWithAppearance:(TVCMainWindowTextViewAppearance *)appearance { NSParameterAssert(appearance != nil); @@ -801,11 +687,7 @@ NS_ASSUME_NONNULL_BEGIN return; } - if (TEXTUAL_RUNNING_ON_YOSEMITE) { - [self drawControllerForYosemiteWithAppearance:appearance]; - } else { - [self drawControllerForMavericksWithAppearance:appearance]; - } + [self drawControllerForWithAppearance:appearance]; } @end @@ -813,9 +695,6 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark - #pragma mark Text Field Background Vibrant View -/* The content view layer only exists on Yosemite and later. - Textual on Mavericks and earlier uses the content border of - the window in place of this layer for the content view. */ @implementation TVCMainWindowTextViewContentView - (void)drawRect:(NSRect)dirtyRect diff --git a/Sources/App/Classes/Views/Main Window/TVCMainWindowTitlebarAccessoryView.m b/Sources/App/Classes/Views/Main Window/TVCMainWindowTitlebarAccessoryView.m index 879386238..e26fe02d3 100644 --- a/Sources/App/Classes/Views/Main Window/TVCMainWindowTitlebarAccessoryView.m +++ b/Sources/App/Classes/Views/Main Window/TVCMainWindowTitlebarAccessoryView.m @@ -44,8 +44,6 @@ NS_ASSUME_NONNULL_BEGIN -/* This class is used by both Mavericks and Yosemite, but only the Yosemite - version does any drawing. */ @implementation TVCMainWindowTitlebarAccessoryView @end @@ -56,7 +54,6 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, assign) BOOL drawsCustomBackgroundColor; @property (nonatomic, weak) IBOutlet NSLayoutConstraint *lockButtonLeftMarginConstraint; @property (nonatomic, weak) IBOutlet NSLayoutConstraint *lockButtonRightMarginConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *lockButtonSuperviewWidthConstraint; @end @implementation TVCMainWindowTitlebarAccessoryViewLockButton @@ -78,19 +75,13 @@ NS_ASSUME_NONNULL_BEGIN CGFloat totalViewWidth = (buttonLeftMargin + buttonWidth + buttonRightMargin); - if (TEXTUAL_RUNNING_ON_YOSEMITE) { - NSRect superviewFrame = self.superview.frame; + NSRect superviewFrame = self.superview.frame; - superviewFrame.size.width = totalViewWidth; + superviewFrame.size.width = totalViewWidth; - self.superview.frame = superviewFrame; + self.superview.frame = superviewFrame; - return; - } - - if (self.lockButtonSuperviewWidthConstraint) { - self.lockButtonSuperviewWidthConstraint.constant = totalViewWidth; - } + return; } - (void)awakeFromNib @@ -126,10 +117,6 @@ NS_ASSUME_NONNULL_BEGIN - (void)disableDrawingCustomBackgroundColor { - if (TEXTUAL_RUNNING_ON_YOSEMITE == NO) { - return; - } - self.cell.backgroundStyle = NSBackgroundStyleRaised; self.drawsCustomBackgroundColor = NO; @@ -137,10 +124,6 @@ NS_ASSUME_NONNULL_BEGIN - (void)enableDrawingCustomBackgroundColor { - if (TEXTUAL_RUNNING_ON_YOSEMITE == NO) { - return; - } - self.cell.backgroundStyle = NSBackgroundStyleLowered; self.drawsCustomBackgroundColor = YES; @@ -153,13 +136,13 @@ NS_ASSUME_NONNULL_BEGIN } if (self.drawsCustomBackgroundColor) { - [self drawInteriorOnYosemite]; + [self drawInterior]; } [super drawRect:dirtyRect]; } -- (void)drawInteriorOnYosemite +- (void)drawInterior { if (self.mainWindow.isActiveForDrawing == NO) { return; @@ -171,15 +154,15 @@ NS_ASSUME_NONNULL_BEGIN return; } - [self drawInteriorForActiveWindowOnYosemiteWithAppearance:appearance]; + [self drawInteriorForActiveWindowWithAppearance:appearance]; } -- (void)drawInteriorForActiveWindowOnYosemiteWithAppearance:(TVCMainWindowAppearance *)appearance +- (void)drawInteriorForActiveWindowWithAppearance:(TVCMainWindowAppearance *)appearance { NSParameterAssert(appearance != nil); - /* On Yosemite, we get the bounds of the object and tweak it just slighly to match what - it actually is. After that, we draw our color in behind it to fake the background. */ + /* We get the bounds of the object and tweak it just slighly to match what it + actually is. After that, we draw our color in behind it to fake the background. */ NSRect controllerFrame = self.bounds; controllerFrame.size.height -= 1.0; diff --git a/Sources/App/Classes/Views/Server List/TVCServerList.m b/Sources/App/Classes/Views/Server List/TVCServerList.m index 0f518061c..8c0bccadc 100755 --- a/Sources/App/Classes/Views/Server List/TVCServerList.m +++ b/Sources/App/Classes/Views/Server List/TVCServerList.m @@ -51,7 +51,6 @@ NSString * const TVCServerListDragType = @"TVCServerListDragType"; @interface TVCServerList () @property (nonatomic, strong, readwrite) TVCServerListAppearance *userInterfaceObjects; @property (nonatomic, weak, readwrite) IBOutlet NSVisualEffectView *visualEffectView; -@property (nonatomic, weak, readwrite) IBOutlet TVCServerListMavericksBackgroundBox *backgroundView; @property (nonatomic, assign, readwrite) BOOL leftMouseIsDownInView; @end @@ -186,13 +185,7 @@ NSString * const TVCServerListDragType = @"TVCServerListDragType"; __kindof TVCServerListCell *rowView = [self viewAtColumn:0 row:rowIndex makeIfNecessary:NO]; - BOOL isGroupItem = [rowView isKindOfClass:[TVCServerListCellGroupItem class]]; - - if (isGroupItem) { - [rowView updateGroupDisclosureTriangle]; // Calls setNeedsDisplay: for item - } else { - rowView.needsDisplay = YES; - } + rowView.needsDisplay = YES; } - (void)refreshDrawingForItem:(IRCTreeItem *)cellItem @@ -337,22 +330,16 @@ NSString * const TVCServerListDragType = @"TVCServerListDragType"; { NSParameterAssert(appearance != nil); - BOOL onYosemite = TEXTUAL_RUNNING_ON_YOSEMITE; - /* We assign a strong reference to these instead of returning the original value every time so that there are no race conditions for when it changes. */ self.userInterfaceObjects = appearance; - if (onYosemite) { - [self updateVibrancyWithAppearance:appearance]; - } + [self updateVibrancyWithAppearance:appearance]; - if (onYosemite == NO) { - if (appearance.isDarkAppearance) { - self.enclosingScrollView.scrollerKnobStyle = NSScrollerKnobStyleLight; - } else { - self.enclosingScrollView.scrollerKnobStyle = NSScrollerKnobStyleDark; - } + if (appearance.isDarkAppearance) { + self.enclosingScrollView.scrollerKnobStyle = NSScrollerKnobStyleLight; + } else { + self.enclosingScrollView.scrollerKnobStyle = NSScrollerKnobStyleDark; } self.needsDisplay = YES; @@ -380,10 +367,6 @@ NSString * const TVCServerListDragType = @"TVCServerListDragType"; - (void)respondToRequiresRedraw { - if (self.backgroundView) { - self.backgroundView.needsDisplay = YES; - } - [self refreshAllDrawings:YES]; } diff --git a/Sources/App/Classes/Views/Server List/TVCServerListAppearance.m b/Sources/App/Classes/Views/Server List/TVCServerListAppearance.m index d5730586c..0b98c2810 100644 --- a/Sources/App/Classes/Views/Server List/TVCServerListAppearance.m +++ b/Sources/App/Classes/Views/Server List/TVCServerListAppearance.m @@ -46,10 +46,6 @@ NS_ASSUME_NONNULL_BEGIN -@interface TVCServerListMavericksBackgroundBox () -@property (nonatomic, weak) IBOutlet TVCServerList *serverList; -@end - @interface TVCServerListAppearance () @property (nonatomic, weak, readwrite) TVCServerList *serverList; @@ -57,8 +53,6 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, assign, readwrite) CGFloat minimumWidth; @property (nonatomic, assign, readwrite) CGFloat maximumWidth; -@property (nonatomic, copy, nullable, readwrite) NSColor *backgroundColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *backgroundColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *rowSelectionColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *rowSelectionColorInactiveWindow; @@ -66,51 +60,31 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark Server Cell @property (nonatomic, assign, readwrite) BOOL serverRowEmphasized; -@property (nonatomic, assign, readwrite) CGFloat serverRowHeight; -@property (nonatomic, copy, nullable, readwrite) NSImage *serverSelectionImageActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSImage *serverSelectionImageInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *serverTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *serverTextColorInactiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *serverTextShadowColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *serverTextShadowColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *serverDisabledTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *serverDisabledTextColorInactiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *serverDisabledTextShadowColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *serverDisabledTextShadowColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *serverSelectedTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *serverSelectedTextColorInactiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *serverSelectedTextShadowColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *serverSelectedTextShadowColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSFont *serverFont; @property (nonatomic, copy, nullable, readwrite) NSFont *serverFontSelected; -@property (nonatomic, assign, readwrite) CGFloat serverTopOffset; #pragma mark - #pragma mark Channel Cell @property (nonatomic, assign, readwrite) BOOL channelRowEmphasized; -@property (nonatomic, assign, readwrite) CGFloat channelRowHeight; -@property (nonatomic, copy, nullable, readwrite) NSImage *channelSelectionImageActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSImage *channelSelectionImageInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *channelTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *channelTextColorInactiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *channelTextShadowColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *channelTextShadowColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *channelDisabledTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *channelDisabledTextColorInactiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *channelDisabledTextShadowColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *channelDisabledTextShadowColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *channelSelectedTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *channelSelectedTextColorInactiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *channelSelectedTextShadowColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *channelSelectedTextShadowColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *channelErroneousTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *channelErroneousTextColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *channelHighlightTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *channelHighlightTextColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSFont *channelFont; @property (nonatomic, copy, nullable, readwrite) NSFont *channelFontSelected; -@property (nonatomic, assign, readwrite) CGFloat channelTopOffset; #pragma mark - #pragma mark Message Count Badge @@ -127,16 +101,11 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, copy, nullable, readwrite) NSColor *unreadBadgeSelectedTextColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *unreadBadgeHighlightTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *unreadBadgeHighlightTextColorInactiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *unreadBadgeShadowColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *unreadBadgeShadowColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSFont *unreadBadgeFont; @property (nonatomic, copy, nullable, readwrite) NSFont *unreadBadgeFontSelected; @property (nonatomic, assign, readwrite) CGFloat unreadBadgeMinimumWidth; @property (nonatomic, assign, readwrite) CGFloat unreadBadgeHeight; @property (nonatomic, assign, readwrite) CGFloat unreadBadgePadding; -@property (nonatomic, assign, readwrite) CGFloat unreadBadgeTextCenterYOffset; -@property (nonatomic, assign, readwrite) CGFloat unreadBadgeTopOffset; -@property (nonatomic, assign, readwrite) CGFloat unreadBadgeRightMargin; @end @implementation TVCServerListAppearance @@ -181,56 +150,34 @@ NS_ASSUME_NONNULL_BEGIN self.rowSelectionColorActiveWindow = [self colorForKey:@"selectionColor" forActiveWindow:YES]; self.rowSelectionColorInactiveWindow = [self colorForKey:@"selectionColor" forActiveWindow:NO]; - self.backgroundColorActiveWindow = [self colorForKey:@"backgroundColor" forActiveWindow:YES]; - self.backgroundColorInactiveWindow = [self colorForKey:@"backgroundColor" forActiveWindow:NO]; NSDictionary *serverCell = properties[@"Server Cell"]; self.serverRowEmphasized = [serverCell boolForKey:@"rowEmphasized"]; - self.serverRowHeight = [self measurementInGroup:serverCell withKey:@"rowHeight"]; - self.serverSelectionImageActiveWindow = [self imageInGroup:serverCell withKey:@"selectionImage" forActiveWindow:YES]; - self.serverSelectionImageInactiveWindow = [self imageInGroup:serverCell withKey:@"selectionImage" forActiveWindow:NO]; self.serverTextColorActiveWindow = [self colorInGroup:serverCell withKey:@"normalTextColor" forActiveWindow:YES]; self.serverTextColorInactiveWindow = [self colorInGroup:serverCell withKey:@"normalTextColor" forActiveWindow:NO]; - self.serverTextShadowColorActiveWindow = [self colorInGroup:serverCell withKey:@"normalTextShadowColor" forActiveWindow:YES]; - self.serverTextShadowColorInactiveWindow = [self colorInGroup:serverCell withKey:@"normalTextShadowColor" forActiveWindow:NO]; self.serverDisabledTextColorActiveWindow = [self colorInGroup:serverCell withKey:@"disabledTextColor" forActiveWindow:YES]; self.serverDisabledTextColorInactiveWindow = [self colorInGroup:serverCell withKey:@"disabledTextColor" forActiveWindow:NO]; - self.serverDisabledTextShadowColorActiveWindow = [self colorInGroup:serverCell withKey:@"disabledTextShadowColor" forActiveWindow:YES]; - self.serverDisabledTextShadowColorInactiveWindow = [self colorInGroup:serverCell withKey:@"disabledTextShadowColor" forActiveWindow:NO]; self.serverSelectedTextColorActiveWindow = [self colorInGroup:serverCell withKey:@"selectedTextColor" forActiveWindow:YES]; self.serverSelectedTextColorInactiveWindow = [self colorInGroup:serverCell withKey:@"selectedTextColor" forActiveWindow:NO]; - self.serverSelectedTextShadowColorActiveWindow = [self colorInGroup:serverCell withKey:@"selectedTextShadowColor" forActiveWindow:YES]; - self.serverSelectedTextShadowColorInactiveWindow = [self colorInGroup:serverCell withKey:@"selectedTextShadowColor" forActiveWindow:NO]; self.serverFont = [self fontInGroup:serverCell withKey:@"font"]; self.serverFontSelected = [self fontInGroup:serverCell withKey:@"fontSelected"]; - self.serverTopOffset = [self measurementInGroup:serverCell withKey:@"topOffset"]; NSDictionary *channelCell = properties[@"Channel Cell"]; self.channelRowEmphasized = [channelCell boolForKey:@"rowEmphasized"]; - self.channelRowHeight = [self measurementInGroup:channelCell withKey:@"rowHeight"]; - self.channelSelectionImageActiveWindow = [self imageInGroup:channelCell withKey:@"selectionImage" forActiveWindow:YES]; - self.channelSelectionImageInactiveWindow = [self imageInGroup:channelCell withKey:@"selectionImage" forActiveWindow:NO]; self.channelTextColorActiveWindow = [self colorInGroup:channelCell withKey:@"normalTextColor" forActiveWindow:YES]; self.channelTextColorInactiveWindow = [self colorInGroup:channelCell withKey:@"normalTextColor" forActiveWindow:NO]; - self.channelTextShadowColorActiveWindow = [self colorInGroup:channelCell withKey:@"normalTextShadowColor" forActiveWindow:YES]; - self.channelTextShadowColorInactiveWindow = [self colorInGroup:channelCell withKey:@"normalTextShadowColor" forActiveWindow:NO]; self.channelDisabledTextColorActiveWindow = [self colorInGroup:channelCell withKey:@"disabledTextColor" forActiveWindow:YES]; self.channelDisabledTextColorInactiveWindow = [self colorInGroup:channelCell withKey:@"disabledTextColor" forActiveWindow:NO]; - self.channelDisabledTextShadowColorActiveWindow = [self colorInGroup:channelCell withKey:@"disabledTextShadowColor" forActiveWindow:YES]; - self.channelDisabledTextShadowColorInactiveWindow = [self colorInGroup:channelCell withKey:@"disabledTextShadowColor" forActiveWindow:NO]; self.channelSelectedTextColorActiveWindow = [self colorInGroup:channelCell withKey:@"selectedTextColor" forActiveWindow:YES]; self.channelSelectedTextColorInactiveWindow = [self colorInGroup:channelCell withKey:@"selectedTextColor" forActiveWindow:NO]; - self.channelSelectedTextShadowColorActiveWindow = [self colorInGroup:channelCell withKey:@"selectedTextShadowColor" forActiveWindow:YES]; - self.channelSelectedTextShadowColorInactiveWindow = [self colorInGroup:channelCell withKey:@"selectedTextShadowColor" forActiveWindow:NO]; self.channelErroneousTextColorActiveWindow = [self colorInGroup:channelCell withKey:@"erroneousTextColor" forActiveWindow:YES]; self.channelErroneousTextColorInactiveWindow = [self colorInGroup:channelCell withKey:@"erroneousTextColor" forActiveWindow:NO]; self.channelHighlightTextColorActiveWindow = [self colorInGroup:channelCell withKey:@"highlightTextColor" forActiveWindow:YES]; self.channelHighlightTextColorInactiveWindow = [self colorInGroup:channelCell withKey:@"highlightTextColor" forActiveWindow:NO]; self.channelFont = [self fontInGroup:channelCell withKey:@"font"]; self.channelFontSelected = [self fontInGroup:channelCell withKey:@"fontSelected"]; - self.channelTopOffset = [self measurementInGroup:channelCell withKey:@"topOffset"]; NSDictionary *unreadBadge = properties[@"Unread Badge"]; @@ -246,16 +193,11 @@ NS_ASSUME_NONNULL_BEGIN self.unreadBadgeSelectedTextColorInactiveWindow = [self colorInGroup:unreadBadge withKey:@"selectedTextColor" forActiveWindow:NO]; self.unreadBadgeHighlightTextColorActiveWindow = [self colorInGroup:unreadBadge withKey:@"highlightTextColor" forActiveWindow:YES]; self.unreadBadgeHighlightTextColorInactiveWindow = [self colorInGroup:unreadBadge withKey:@"highlightTextColor" forActiveWindow:NO]; - self.unreadBadgeShadowColorActiveWindow = [self colorInGroup:unreadBadge withKey:@"shadowColor" forActiveWindow:YES]; - self.unreadBadgeShadowColorInactiveWindow = [self colorInGroup:unreadBadge withKey:@"shadowColor" forActiveWindow:NO]; self.unreadBadgeFont = [self fontInGroup:unreadBadge withKey:@"font"]; self.unreadBadgeFontSelected = [self fontInGroup:unreadBadge withKey:@"fontSelected"]; self.unreadBadgeMinimumWidth = [self measurementInGroup:unreadBadge withKey:@"minimumWidth"]; self.unreadBadgeHeight = [self measurementInGroup:unreadBadge withKey:@"height"]; self.unreadBadgePadding = [self measurementInGroup:unreadBadge withKey:@"padding"]; - self.unreadBadgeTextCenterYOffset = [self measurementInGroup:unreadBadge withKey:@"textCenterYOffset"]; - self.unreadBadgeTopOffset = [self measurementInGroup:unreadBadge withKey:@"topOffset"]; - self.unreadBadgeRightMargin = [self measurementInGroup:unreadBadge withKey:@"rightMargin"]; [self flushAppearanceProperties]; } @@ -263,64 +205,6 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark - #pragma mark Everything Else -- (void)setOutlineViewDefaultDisclosureTriangle:(NSImage *)image -{ - if (self.serverList.outlineViewDefaultDisclosureTriangle == nil) { - self.serverList.outlineViewDefaultDisclosureTriangle = image; - } -} - -- (void)setOutlineViewAlternateDisclosureTriangle:(NSImage *)image -{ - if (self.serverList.outlineViewAlternateDisclosureTriangle == nil) { - self.serverList.outlineViewAlternateDisclosureTriangle = image; - } -} - -- (nullable NSImage *)disclosureTriangleInContext:(BOOL)up selected:(BOOL)selected -{ - TXAppearanceType appearanceType = self.appearanceType; - - switch (appearanceType) { - case TXAppearanceTypeMavericksAquaDark: - case TXAppearanceTypeMavericksGraphiteDark: - { - if (up) { - if (selected) { - return [NSImage imageNamed:@"MavericksDarkServerListViewDisclosureUpSelected"]; - } else { - return [NSImage imageNamed:@"MavericksDarkServerListViewDisclosureUp"]; - } - } else { - if (selected) { - return [NSImage imageNamed:@"MavericksDarkServerListViewDisclosureDownSelected"]; - } else { - return [NSImage imageNamed:@"MavericksDarkServerListViewDisclosureDown"]; - } - } - } // Mavericks - case TXAppearanceTypeYosemiteDark: - case TXAppearanceTypeMojaveDark: - { - if (up) { - return [NSImage imageNamed:@"YosemiteDarkServerListViewDisclosureUp"]; - } else { - return [NSImage imageNamed:@"YosemiteDarkServerListViewDisclosureDown"]; - } - } // Yosemite, Mojave - default: - { - break; - } - } // switch() - - if (up) { - return self.serverList.outlineViewDefaultDisclosureTriangle; - } else { - return self.serverList.outlineViewAlternateDisclosureTriangle; - } -} - - (nullable NSString *)statusIconForActiveChannel:(BOOL)isActive selected:(BOOL)isSelected activeWindow:(BOOL)isActiveWindow treatAsTemplate:(BOOL *)treatAsTemplate { NSParameterAssert(treatAsTemplate != NULL); @@ -328,24 +212,6 @@ NS_ASSUME_NONNULL_BEGIN TXAppearanceType appearanceType = self.appearanceType; switch (appearanceType) { - case TXAppearanceTypeMavericksAquaLight: - case TXAppearanceTypeMavericksGraphiteLight: - { - if (isActive) { - return @"channelRoomStatusIconMavericksLightActive"; - } else { - return @"channelRoomStatusIconMavericksLightInactive"; - } - } - case TXAppearanceTypeMavericksAquaDark: - case TXAppearanceTypeMavericksGraphiteDark: - { - if (isActive) { - return @"channelRoomStatusIconMavericksDarkActive"; - } else { - return @"channelRoomStatusIconMavericksDarkInactive"; - } - } // Mavericks case TXAppearanceTypeYosemiteLight: case TXAppearanceTypeMojaveLight: { @@ -357,18 +223,18 @@ NS_ASSUME_NONNULL_BEGIN *treatAsTemplate = NO; if (isActive) { - return @"channelRoomStatusIconYosemiteDarkActive"; + return @"channelRoomStatusIconDarkActive"; } else { - return @"channelRoomStatusIconYosemiteDarkInactive"; + return @"channelRoomStatusIconDarkInactive"; } } // quirk fix *treatAsTemplate = YES; if (isActive) { - return @"channelRoomStatusIconYosemiteLightActive"; + return @"channelRoomStatusIconLightActive"; } else { - return @"channelRoomStatusIconYosemiteLightInactive"; + return @"channelRoomStatusIconLightInactive"; } } // Yosemite, Mojave case TXAppearanceTypeYosemiteDark: @@ -377,9 +243,9 @@ NS_ASSUME_NONNULL_BEGIN *treatAsTemplate = NO; if (isActive) { - return @"channelRoomStatusIconYosemiteDarkActive"; + return @"channelRoomStatusIconDarkActive"; } else { - return @"channelRoomStatusIconYosemiteDarkInactive"; + return @"channelRoomStatusIconDarkInactive"; } } // Yosemite, Mojave } // switch() @@ -392,21 +258,6 @@ NS_ASSUME_NONNULL_BEGIN TXAppearanceType appearanceType = self.appearanceType; switch (appearanceType) { - case TXAppearanceTypeMavericksAquaLight: - case TXAppearanceTypeMavericksAquaDark: - case TXAppearanceTypeMavericksGraphiteLight: - case TXAppearanceTypeMavericksGraphiteDark: - { - if (isSelected) { - return @"NSUser"; - } - - if (isActive) { - return @"MavericksDarkServerListViewSelectedPrivateMessageUserActive"; - } else { - return @"MavericksDarkServerListViewSelectedPrivateMessageUserInactive"; - } - } // Mavericks case TXAppearanceTypeYosemiteLight: case TXAppearanceTypeMojaveLight: { @@ -439,44 +290,4 @@ NS_ASSUME_NONNULL_BEGIN @end -#pragma mark - - -@implementation TVCServerListMavericksBackgroundBox - -- (void)drawRect:(NSRect)dirtyRect -{ - /* The following is specialized drawing for the normal source list - background when inside a backed layer view. */ - TVCServerListAppearance *appearance = self.serverList.userInterfaceObjects; - - if (appearance == nil) { - return; - } - - NSColor *backgroundColor = nil; - - if (self.mainWindow.isActiveForDrawing) { - backgroundColor = appearance.backgroundColorActiveWindow; - } else { - backgroundColor = appearance.backgroundColorInactiveWindow; - } - - if ( backgroundColor) { - [backgroundColor set]; - - NSRectFill(self.bounds); - } else { - NSGradient *backgroundGradient = [NSGradient sourceListBackgroundGradientColor]; - - [backgroundGradient drawInRect:self.bounds angle:270.0]; - } -} - -- (BOOL)isOpaque -{ - return YES; -} - -@end - NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Views/Server List/TVCServerListCell.m b/Sources/App/Classes/Views/Server List/TVCServerListCell.m index 0561b518c..817c83002 100755 --- a/Sources/App/Classes/Views/Server List/TVCServerListCell.m +++ b/Sources/App/Classes/Views/Server List/TVCServerListCell.m @@ -60,12 +60,13 @@ NS_ASSUME_NONNULL_BEGIN @end @interface TVCServerListCell () +@property (nonatomic, weak, nullable) IBOutlet NSButton *disclosureTriangle; @property (nonatomic, weak) IBOutlet NSTextField *cellTextField; @property (nonatomic, weak) IBOutlet NSImageView *messageCountBadgeImageView; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *messageCountBadgeWidthConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *messageCountBadgeTrailingConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *textFieldTopConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *messageCountBadgeTopConstraint; +// Deactivating thse constraints will dereference them. +// We need to maintrain a strong reference. +@property (nonatomic, strong) IBOutlet NSLayoutConstraint *messageCountBadgeLeadingConstraint; +@property (nonatomic, strong) IBOutlet NSLayoutConstraint *messageCountBadgeTrailingConstraint; @property (readonly) BOOL isGroupItem; @property (readonly) TVCServerList *serverList; @property (readonly) __kindof TVCServerListRowCell *rowCell; @@ -88,35 +89,6 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark - #pragma mark Cell Drawing -- (void)viewDidMoveToWindow -{ - [super viewDidMoveToWindow]; - - [self tx_updateConstraints]; -} - -- (void)tx_updateConstraints -{ - TVCServerListAppearance *appearance = self.userInterfaceObjects; - - if (appearance.isModernAppearance) { - [self updateConstraintsForYosemiteWithAppearance:appearance]; - } -} - -- (void)updateConstraintsForYosemiteWithAppearance:(TVCServerListAppearance *)appearance -{ - NSParameterAssert(appearance != nil); - - if (self.isGroupItem) { - self.textFieldTopConstraint.constant = appearance.serverTopOffset; - } else { - self.textFieldTopConstraint.constant = appearance.channelTopOffset; - - self.messageCountBadgeTopConstraint.constant = appearance.unreadBadgeTopOffset; - } -} - - (BOOL)wantsUpdateLayer { return YES; @@ -140,11 +112,7 @@ NS_ASSUME_NONNULL_BEGIN TVCServerListAppearance *appearance = self.userInterfaceObjects; - if (appearance.isModernAppearance) { - [self updateDrawingForYosemiteWithAppearance:appearance inContext:drawingContext]; - } else { - [self updateDrawingForMavericksWithAppearance:appearance inContext:drawingContext]; - } + [self updateDrawingForWithAppearance:appearance inContext:drawingContext]; } - (void)updateTextFieldInContext:(TVCServerListCellDrawingContext *)drawingContext @@ -174,26 +142,26 @@ NS_ASSUME_NONNULL_BEGIN if (isGroupItem) { if (isActive) { - [XRAccessibility setAccessibilityValueDescription:TXTLS(@"Accessibility[bmy-d2]", stringValueNew) forObject:textFieldCell]; + [textFieldCell setAccessibilityValueDescription:TXTLS(@"Accessibility[bmy-d2]", stringValueNew)]; } else { - [XRAccessibility setAccessibilityValueDescription:TXTLS(@"Accessibility[tu4-8u]", stringValueNew) forObject:textFieldCell]; + [textFieldCell setAccessibilityValueDescription:TXTLS(@"Accessibility[tu4-8u]", stringValueNew)]; } // isActive } else { if (((IRCChannel *)cellItem).isChannel == NO) { - [XRAccessibility setAccessibilityValueDescription:TXTLS(@"Accessibility[9sn-xp]", stringValueNew) forObject:textFieldCell]; + [textFieldCell setAccessibilityValueDescription:TXTLS(@"Accessibility[9sn-xp]", stringValueNew)]; } else { if (isActive) { - [XRAccessibility setAccessibilityValueDescription:TXTLS(@"Accessibility[75f-og]", stringValueNew) forObject:textFieldCell]; + [textFieldCell setAccessibilityValueDescription:TXTLS(@"Accessibility[75f-og]", stringValueNew)]; } else { - [XRAccessibility setAccessibilityValueDescription:TXTLS(@"Accessibility[edc-7o]", stringValueNew) forObject:textFieldCell]; + [textFieldCell setAccessibilityValueDescription:TXTLS(@"Accessibility[edc-7o]", stringValueNew)]; } // isActive } // isChannel - [XRAccessibility setAccessibilityLabel:nil forObject:self.imageView.cell]; + [self.imageView.cell setAccessibilityLabel:nil]; } // isGroupItem } -- (void)updateDrawingForYosemiteWithAppearance:(TVCServerListAppearance *)appearance inContext:(TVCServerListCellDrawingContext *)drawingContext +- (void)updateDrawingForWithAppearance:(TVCServerListAppearance *)appearance inContext:(TVCServerListCellDrawingContext *)drawingContext { NSParameterAssert(appearance != nil); NSParameterAssert(drawingContext != nil); @@ -225,7 +193,7 @@ NS_ASSUME_NONNULL_BEGIN self.imageView.image = icon; } - NSAttributedString *newValue = [self attributedTextFieldValueForYosemiteWithAppearance:appearance inContext:drawingContext]; + NSAttributedString *newValue = [self attributedTextFieldValueWithAppearance:appearance inContext:drawingContext]; self.cellTextField.attributedStringValue = newValue; @@ -234,191 +202,7 @@ NS_ASSUME_NONNULL_BEGIN } } -- (void)updateDrawingForMavericksWithAppearance:(TVCServerListAppearance *)appearance inContext:(TVCServerListCellDrawingContext *)drawingContext -{ - NSParameterAssert(appearance != nil); - NSParameterAssert(drawingContext != nil); - - BOOL isActive = drawingContext.isActive; - BOOL isWindowActive = drawingContext.isWindowActive; - BOOL isSelected = drawingContext.isSelected; - BOOL isGroupItem = drawingContext.isGroupItem; - - if (isGroupItem == NO) { - IRCTreeItem *cellItem = self.cellItem; - - IRCChannel *channel = (IRCChannel *)cellItem; - - NSString *iconName = nil; - - BOOL iconIsTemplate = NO; - - if (channel.isChannel) { - iconName = [appearance statusIconForActiveChannel:isActive selected:isSelected activeWindow:isWindowActive treatAsTemplate:&iconIsTemplate]; - } else { - iconName = [appearance statusIconForActiveQuery:isActive selected:isSelected activeWindow:isWindowActive treatAsTemplate:&iconIsTemplate]; - } // isChannel - - NSImage *icon = [NSImage imageNamed:iconName]; - - icon.template = iconIsTemplate; - - self.imageView.image = icon; - } - - NSAttributedString *newValue = [self attributedTextFieldValueForMavericksWithAppearance:appearance inContext:drawingContext]; - - self.cellTextField.attributedStringValue = newValue; - - if (isGroupItem == NO) { - [self populateMessageCountBadgeWithAppearance:appearance inContext:drawingContext]; - } -} - -- (NSAttributedString *)attributedTextFieldValueForMavericksWithAppearance:(TVCServerListAppearance *)appearance inContext:(TVCServerListCellDrawingContext *)drawingContext -{ - NSParameterAssert(appearance != nil); - NSParameterAssert(drawingContext != nil); - - BOOL isActive = drawingContext.isActive; - BOOL isGroupItem = drawingContext.isGroupItem; - BOOL isInverted = drawingContext.isInverted; - BOOL isSelected = drawingContext.isSelected; - BOOL isWindowActive = drawingContext.isWindowActive; - - NSTextField *textField = self.cellTextField; - - NSAttributedString *stringValue = textField.attributedStringValue; - - NSMutableAttributedString *mutableStringValue = [stringValue mutableCopy]; - - [mutableStringValue beginEditing]; - - NSFont *controlFont = nil; - - NSColor *controlColor = nil; - - NSShadow *itemShadow = nil; - - if (isGroupItem) - { - if (isSelected) { - controlFont = appearance.serverFontSelected; - } else { - controlFont = appearance.serverFont; - } // isSelected - - NSColor *shadowColor = nil; - - if (isSelected) { - if (isWindowActive) { - controlColor = appearance.serverSelectedTextColorActiveWindow; - shadowColor = appearance.serverSelectedTextShadowColorActiveWindow; - } else { - controlColor = appearance.serverSelectedTextColorInactiveWindow; - shadowColor = appearance.serverSelectedTextShadowColorInactiveWindow; - } // isWindowActive - } else if (isActive) { - if (isWindowActive) { - controlColor = appearance.serverTextColorActiveWindow; - shadowColor = appearance.serverTextShadowColorActiveWindow; - } else { - controlColor = appearance.serverTextColorInactiveWindow; - shadowColor = appearance.serverTextShadowColorInactiveWindow; - } // isWindowActive - } else { - if (isWindowActive) { - controlColor = appearance.serverDisabledTextColorActiveWindow; - shadowColor = appearance.serverDisabledTextShadowColorActiveWindow; - } else { - controlColor = appearance.serverDisabledTextColorInactiveWindow; - shadowColor = appearance.serverDisabledTextShadowColorInactiveWindow; - } // isWindowActive - } // isActive - - if (shadowColor) { - itemShadow = [NSShadow new]; - - itemShadow.shadowOffset = NSMakeSize(0.0, (-1.0)); - - if (isInverted) { - itemShadow.shadowBlurRadius = 1.0; - } - - itemShadow.shadowColor = shadowColor; - } // shadowColor - } - else // isGroupItem - { - if (isSelected) { - controlFont = appearance.channelFontSelected; - } else { - controlFont = appearance.channelFont; - } // isSelected - - NSColor *shadowColor = nil; - - if (isSelected) { - if (isWindowActive) { - controlColor = appearance.channelSelectedTextColorActiveWindow; - shadowColor = appearance.channelSelectedTextShadowColorActiveWindow; - } else { - controlColor = appearance.channelSelectedTextColorInactiveWindow; - shadowColor = appearance.channelSelectedTextShadowColorInactiveWindow; - } // isWindowActive - } else if (isActive) { - if (isWindowActive) { - controlColor = appearance.channelTextColorActiveWindow; - shadowColor = appearance.channelTextShadowColorActiveWindow; - } else { - controlColor = appearance.channelTextColorInactiveWindow; - shadowColor = appearance.channelTextShadowColorInactiveWindow; - } // isWindowActive - } else { - if (isWindowActive) { - controlColor = appearance.channelDisabledTextColorActiveWindow; - shadowColor = appearance.channelDisabledTextShadowColorActiveWindow; - } else { - controlColor = appearance.channelDisabledTextColorInactiveWindow; - shadowColor = appearance.channelDisabledTextShadowColorInactiveWindow; - } // isWindowActive - } // isActive - - if (shadowColor) { - itemShadow = [NSShadow new]; - - itemShadow.shadowBlurRadius = 1.0; - - itemShadow.shadowOffset = NSMakeSize(0.0, (-1.0)); - - if (isSelected && isInverted == NO) { - itemShadow.shadowBlurRadius = 2.0; - } - - itemShadow.shadowColor = shadowColor; - } // shadowColor - } // isGroupItem - - NSRange stringValueRange = stringValue.range; - - if (controlFont) { - [mutableStringValue addAttribute:NSFontAttributeName value:controlFont range:stringValueRange]; - } - - if (controlColor) { - [mutableStringValue addAttribute:NSForegroundColorAttributeName value:controlColor range:stringValueRange]; - } - - if (itemShadow) { - [mutableStringValue addAttribute:NSShadowAttributeName value:itemShadow range:stringValueRange]; - } - - [mutableStringValue endEditing]; - - return mutableStringValue; -} - -- (NSAttributedString *)attributedTextFieldValueForYosemiteWithAppearance:(TVCServerListAppearance *)appearance inContext:(TVCServerListCellDrawingContext *)drawingContext +- (NSAttributedString *)attributedTextFieldValueWithAppearance:(TVCServerListAppearance *)appearance inContext:(TVCServerListCellDrawingContext *)drawingContext { NSParameterAssert(appearance != nil); NSParameterAssert(drawingContext != nil); @@ -572,6 +356,10 @@ NS_ASSUME_NONNULL_BEGIN (isSelectedFrontmost == NO && isSelected && multipleRowsSelected) || (isWindowActive == NO && isSelected)); + if (associatedChannel.config.showTreeBadgeCount == NO) { + drawMessageBadge = NO; + } + NSUInteger treeUnreadCount = associatedChannel.treeUnreadCount; NSUInteger nicknameHighlightCount = associatedChannel.nicknameHighlightCount; @@ -581,18 +369,6 @@ NS_ASSUME_NONNULL_BEGIN isHighlight = NO; } - if (associatedChannel.config.showTreeBadgeCount == NO) { - if (appearance.isModernAppearance) { - drawMessageBadge = NO; /* On Yosemite we colorize the channel name itself. */ - } else { - if (isHighlight) { - treeUnreadCount = nicknameHighlightCount; - } else { - drawMessageBadge = NO; - } - } - } - /* Begin draw if we want to. */ if (treeUnreadCount > 0 && drawMessageBadge) { NSAttributedString *stringToDraw = [self messageCountBadgeTextForCount:treeUnreadCount isHighlight:isHighlight withAppearance:appearance inContext:drawingContext]; @@ -601,13 +377,15 @@ NS_ASSUME_NONNULL_BEGIN [self drawMessageCountBadgeWithString:stringToDraw inRect:badgeRect isHighlight:isHighlight withAppearance:appearance inContext:drawingContext]; - self.messageCountBadgeTrailingConstraint.constant = appearance.unreadBadgeRightMargin; - self.messageCountBadgeWidthConstraint.constant = NSWidth(badgeRect); + self.messageCountBadgeLeadingConstraint.active = YES; + self.messageCountBadgeTrailingConstraint.active = YES; } else { - self.messageCountBadgeTrailingConstraint.constant = 0.0; - self.messageCountBadgeWidthConstraint.constant = 0.0; - self.messageCountBadgeImageView.image = nil; + + /* Disable constraints when badge is not visible to + allow text field to hug the right of the table view. */ + self.messageCountBadgeLeadingConstraint.active = NO; + self.messageCountBadgeTrailingConstraint.active = NO; } } @@ -685,25 +463,13 @@ NS_ASSUME_NONNULL_BEGIN NSParameterAssert(appearance != nil); NSParameterAssert(drawingContext != nil); - BOOL isDrawingOnMavericks = (appearance.isModernAppearance == NO); BOOL isSelected = drawingContext.isSelected; BOOL isWindowActive = drawingContext.isWindowActive; - /* Create image that we will draw into. If we are drawing for Mavericks, - then the frame of our image is one point greater because we draw a shadow. */ - NSImage *badgeImage = nil; + /* Create image that we will draw into. */ + NSRect badgeFrame = NSMakeRect(0.0, 0.0, NSWidth(rectToDraw), NSHeight(rectToDraw)); - NSRect badgeFrame = NSZeroRect; - - if (isDrawingOnMavericks) { - badgeFrame = NSMakeRect(0.0, 1.0, NSWidth(rectToDraw), NSHeight(rectToDraw)); - - badgeImage = [NSImage newImageWithSize:NSMakeSize(NSWidth(rectToDraw), (NSHeight(rectToDraw) + 1.0))]; - } else { - badgeFrame = NSMakeRect(0.0, 0.0, NSWidth(rectToDraw), NSHeight(rectToDraw)); - - badgeImage = [NSImage newImageWithSize:NSMakeSize(NSWidth(rectToDraw), NSHeight(rectToDraw))]; - } // isDrawingOnMavericks + NSImage *badgeImage = [NSImage newImageWithSize:NSMakeSize(NSWidth(rectToDraw), NSHeight(rectToDraw))]; [badgeImage lockFocus]; @@ -736,32 +502,6 @@ NS_ASSUME_NONNULL_BEGIN } // isWindowActive } - /* Frame is dropped by 1 point to make room for shadow */ - if (isDrawingOnMavericks) { - if (isSelected == NO) { - NSRect shadowFrame = badgeFrame; - - shadowFrame.origin.y -= 1; - - /* The shadow frame is a round rectangle that matches the one - being drawn with a 1 point offset below the badge to give the - appearance of a drop shadow. */ - NSBezierPath *shadowPath = [NSBezierPath bezierPathWithRoundedRect:shadowFrame xRadius:7.0 yRadius:7.0]; - - NSColor *shadowColor = nil; - - if (isWindowActive) { - shadowColor = appearance.unreadBadgeShadowColorActiveWindow; - } else { - shadowColor = appearance.unreadBadgeShadowColorInactiveWindow; - } // isWindowActive - - [shadowColor set]; - - [shadowPath fill]; - } // isSelected - } // isDrawingOnMavericks - /* Draw the background of the badge */ NSBezierPath *badgePath = [NSBezierPath bezierPathWithRoundedRect:badgeFrame xRadius:7.0 yRadius:7.0]; @@ -774,8 +514,6 @@ NS_ASSUME_NONNULL_BEGIN NSMakePoint((NSMidX(badgeFrame) - (stringToDraw.size.width / 2.0)), (NSMidY(badgeFrame) - (stringToDraw.size.height / 2.0))); - badgeTextPoint.y += appearance.unreadBadgeTextCenterYOffset; - /* Perform draw and set image */ [stringToDraw drawAtPoint:badgeTextPoint]; @@ -784,64 +522,6 @@ NS_ASSUME_NONNULL_BEGIN self.messageCountBadgeImageView.image = badgeImage; } -#pragma mark - -#pragma mark Disclosure Triangle - -- (void)updateGroupDisclosureTriangle -{ - TVCServerListRowCell *rowCell = self.rowCell; - - NSButton *theButtonParent = nil; - - for (NSView *subview in rowCell.subviews) { - if ([subview isKindOfClass:[NSButton class]]) { - theButtonParent = (id)subview; - } - } - - if (theButtonParent) { - [self updateGroupDisclosureTriangle:theButtonParent isSelected:rowCell.isSelected setNeedsDisplay:YES]; - } else { - self.needsDisplay = YES; - } -} - -- (void)updateGroupDisclosureTriangle:(NSButton *)theButtonParent isSelected:(BOOL)isSelected setNeedsDisplay:(BOOL)setNeedsDisplay -{ - TVCServerListAppearance *appearance = self.userInterfaceObjects; - - NSButtonCell *theButton = theButtonParent.cell; - - [appearance setOutlineViewDefaultDisclosureTriangle:theButton.image]; - [appearance setOutlineViewAlternateDisclosureTriangle:theButton.alternateImage]; - - NSImage *primaryImage = [appearance disclosureTriangleInContext:YES selected:isSelected]; - NSImage *alternateImage = [appearance disclosureTriangleInContext:NO selected:isSelected]; - - // If the images are not nullified before setting the new, - // then NSImageView has some weird behavior on OS X Mountain Lion and - // OS X Mavericks that causes the images not to draw as intended. - theButton.image = nil; - theButton.image = primaryImage; - - theButton.alternateImage = nil; - theButton.alternateImage = alternateImage; - - if (appearance.isModernAppearance) { - theButton.highlightsBy = NSNoCellMask; - } else { - if (isSelected) { - theButton.backgroundStyle = NSBackgroundStyleLowered; - } else { - theButton.backgroundStyle = NSBackgroundStyleRaised; - } - } - - if (setNeedsDisplay) { - self.needsDisplay = YES; - } -} - #pragma mark - #pragma mark Cell Information @@ -970,22 +650,6 @@ NS_ASSUME_NONNULL_BEGIN - (void)setNeedsDisplayOnChild { - if (self.isGroupItem) { - NSButton *disclosureTriangle = nil; - - for (NSView *subview in self.subviews) { - if ([subview isKindOfClass:[NSButton class]]) { - disclosureTriangle = (id)subview; - } - } - - if (disclosureTriangle) { - [self.childCell updateGroupDisclosureTriangle:disclosureTriangle isSelected:self.isSelected setNeedsDisplay:YES]; - - return; - } - } - self.childCell.needsDisplay = YES; } @@ -999,68 +663,23 @@ NS_ASSUME_NONNULL_BEGIN TVCServerListAppearance *appearance = self.userInterfaceObjects; - if (appearance.isModernAppearance) - { - NSColor *selectionColor = nil; + NSColor *selectionColor = nil; - if (isWindowActive) { - selectionColor = appearance.rowSelectionColorActiveWindow; - } else { - selectionColor = appearance.rowSelectionColorInactiveWindow; - } // isWindowActive + if (isWindowActive) { + selectionColor = appearance.rowSelectionColorActiveWindow; + } else { + selectionColor = appearance.rowSelectionColorInactiveWindow; + } // isWindowActive - if (selectionColor) { - [selectionColor set]; + if (selectionColor) { + [selectionColor set]; - NSRect selectionRect = self.bounds; + NSRect selectionRect = self.bounds; - NSRectFill(selectionRect); - } else { - [super drawSelectionInRect:dirtyRect]; - } // selectionColor - } - else // Yosemite or later - { - NSImage *selectionImage = nil; - - if (self.isGroupItem) { - if (isWindowActive) { - selectionImage = appearance.serverSelectionImageActiveWindow; - } else { - selectionImage = appearance.serverSelectionImageInactiveWindow; - } // isWindowActive - } else { - if (isWindowActive) { - selectionImage = appearance.channelSelectionImageActiveWindow; - } else { - selectionImage = appearance.channelSelectionImageInactiveWindow; - } // isWindowActive - } // isGroupItem - - if (selectionImage) { - NSRect selectionRect = self.bounds; - - [selectionImage drawInRect:selectionRect - fromRect:NSZeroRect - operation:NSCompositeSourceOver - fraction:1.0 - respectFlipped:YES - hints:nil]; - } else { - [super drawSelectionInRect:dirtyRect]; - } // selectionImage - } // Yosemite or later -} - -- (void)didAddSubview:(NSView *)subview -{ - if ([subview isKindOfClass:[NSButton class]]) { - if (self.isGroupItem) { - [self.childCell updateGroupDisclosureTriangle:(id)subview isSelected:self.isSelected setNeedsDisplay:NO]; - } - } - - [super didAddSubview:subview]; + NSRectFill(selectionRect); + } else { + [super drawSelectionInRect:dirtyRect]; + } // selectionColor } #pragma mark - diff --git a/Sources/App/Classes/Views/TVCAppearance.m b/Sources/App/Classes/Views/TVCAppearance.m index 52fea85b5..3227af008 100644 --- a/Sources/App/Classes/Views/TVCAppearance.m +++ b/Sources/App/Classes/Views/TVCAppearance.m @@ -562,19 +562,11 @@ ClassWithDesignatedInitializerInitMethod return nil; } - BOOL onElCapitan = TEXTUAL_RUNNING_ON_ELCAPITAN; - CGFloat weight = [fontProperties doubleForKey:@"weight"]; if ([name isEqualToString:@"System"]) { - CGFloat systemWeight = ((onElCapitan) ? weight : NSFontWeightRegular); - - if (weight == NSFontWeightRegular) { - return [NSFont systemFontOfSize:size]; - } else { - return [NSFont systemFontOfSize:size weight:systemWeight]; - } + return [NSFont systemFontOfSize:size weight:weight]; } else if ([name isEqualToString:@"SystemBold"]) { @@ -582,21 +574,11 @@ ClassWithDesignatedInitializerInitMethod } else if ([name isEqualToString:@"SystemMonospace"]) { - CGFloat systemWeight = ((onElCapitan) ? weight : NSFontWeightRegular); - - if (onElCapitan) { - return [NSFont monospacedDigitSystemFontOfSize:size weight:systemWeight]; - } else { - return [NSFont systemFontOfSize:size]; - } + return [NSFont monospacedDigitSystemFontOfSize:size weight:weight]; } else if ([name isEqualToString:@"SystemMonospaceBold"]) { - if (onElCapitan) { - return [NSFont monospacedDigitSystemFontOfSize:size weight:NSFontWeightBold]; - } else { - return [NSFont boldSystemFontOfSize:size]; - } + return [NSFont monospacedDigitSystemFontOfSize:size weight:NSFontWeightBold]; } if (weight > 0) { @@ -810,11 +792,6 @@ DESIGNATED_INITIALIZER_EXCEPTION_BODY_END return self.applicationProperties.isDarkAppearance; } -- (BOOL)isModernAppearance -{ - return self.applicationProperties.isModernAppearance; -} - - (TXAppKitAppearanceTarget)appKitAppearanceTarget { return self.applicationProperties.appKitAppearanceTarget; diff --git a/Sources/App/Classes/Views/TVCContentNavigationOutlineView.m b/Sources/App/Classes/Views/TVCContentNavigationOutlineView.m index af15dadd7..8b1b938cb 100644 --- a/Sources/App/Classes/Views/TVCContentNavigationOutlineView.m +++ b/Sources/App/Classes/Views/TVCContentNavigationOutlineView.m @@ -43,8 +43,6 @@ NS_ASSUME_NONNULL_BEGIN @interface TVCContentNavigationOutlineView () @property (nonatomic, strong) IBOutlet NSView *contentView; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *contentViewHeightConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *contentViewWidthConstraint; @property (nonatomic, weak, nullable, readwrite) TVCContentNavigationOutlineViewItem *selectedItem; @property (nonatomic, weak, nullable) TVCContentNavigationOutlineViewItem *lastSelection; @property (readonly, nullable) TVCContentNavigationOutlineViewItem *parentOfLastSelection; @@ -234,9 +232,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)presentView:(NSView *)newView { - [self.contentView attachSubview:newView - adjustedWidthConstraint:self.contentViewWidthConstraint - adjustedHeightConstraint:self.contentViewHeightConstraint]; + [self.contentView replaceFirstSubview:newView]; } @end diff --git a/Sources/App/Classes/Views/TVCDockIcon.m b/Sources/App/Classes/Views/TVCDockIcon.m index fe7ed04e7..0cb222229 100755 --- a/Sources/App/Classes/Views/TVCDockIcon.m +++ b/Sources/App/Classes/Views/TVCDockIcon.m @@ -134,8 +134,6 @@ static NSInteger _cachedMessageCount = (-1); BOOL showRedBadge = (messageCount >= 1); BOOL showGreenBadge = (highlightCount >= 1); - BOOL onYosemite = TEXTUAL_RUNNING_ON_YOSEMITE; - /* ////////////////////////////////////////////////////////// */ /* Define Text Drawing Globals */ /* ////////////////////////////////////////////////////////// */ @@ -144,25 +142,12 @@ static NSInteger _cachedMessageCount = (-1); NSMutableAttributedString *badgeText = [NSMutableAttributedString alloc]; - NSDictionary *badgeTextAttributes = nil; + CGFloat badgeTextFrameCorrection = 2.0; - CGFloat badgeTextFrameCorrection = 0.0; - - if (onYosemite) { - badgeTextFrameCorrection = 2.0; - - badgeTextAttributes = @{ - NSFontAttributeName : [NSFont fontWithName:@"Helvetica" size:24.0], - NSForegroundColorAttributeName : [NSColor whiteColor] - }; - } else { - badgeTextFrameCorrection = 1.0; - - badgeTextAttributes = @{ - NSFontAttributeName : [NSFont fontWithName:@"Helvetica" size:22.0], - NSForegroundColorAttributeName : [NSColor whiteColor] - }; - } + NSDictionary *badgeTextAttributes = @{ + NSFontAttributeName : [NSFont fontWithName:@"Helvetica" size:24.0], + NSForegroundColorAttributeName : [NSColor whiteColor] + }; /* ////////////////////////////////////////////////////////// */ /* Load Drawing Images */ @@ -170,34 +155,13 @@ static NSInteger _cachedMessageCount = (-1); NSImage *appIcon = [[self applicationIcon] copy]; - NSImage *redBadgeLeft = nil; - NSImage *redBadgeCenter = nil; - NSImage *redBadgeRight = nil; + NSImage *redBadgeLeft = [NSImage imageNamed:@"DIRedBadgeLeft.ping"]; + NSImage *redBadgeCenter = [NSImage imageNamed:@"DIRedBadgeCenter.ping"]; + NSImage *redBadgeRight = [NSImage imageNamed:@"DIRedBadgeRight.ping"]; - NSImage *greenBadgeLeft = nil; - NSImage *greenBadgeCenter = nil; - NSImage *greenBadgeRight = nil; - - if (onYosemite) - { - redBadgeLeft = [NSImage imageNamed:@"DIRedBadgeLeftYosemite.png"]; - redBadgeCenter = [NSImage imageNamed:@"DIRedBadgeCenterYosemite.png"]; - redBadgeRight = [NSImage imageNamed:@"DIRedBadgeRightYosemite.png"]; - - greenBadgeLeft = [NSImage imageNamed:@"DIGreenBadgeLeftYosemite.png"]; - greenBadgeCenter = [NSImage imageNamed:@"DIGreenBadgeCenterYosemite.png"]; - greenBadgeRight = [NSImage imageNamed:@"DIGreenBadgeRightYosemite.png"]; - } - else - { - redBadgeLeft = [NSImage imageNamed:@"DIRedBadgeLeftMavericks.png"]; - redBadgeCenter = [NSImage imageNamed:@"DIRedBadgeCenterMavericks.png"]; - redBadgeRight = [NSImage imageNamed:@"DIRedBadgeRightMavericks.png"]; - - greenBadgeLeft = [NSImage imageNamed:@"DIGreenBadgeLeftMavericks.png"]; - greenBadgeCenter = [NSImage imageNamed:@"DIGreenBadgeCenterMavericks.png"]; - greenBadgeRight = [NSImage imageNamed:@"DIGreenBadgeRightMavericks.png"]; - } + NSImage *greenBadgeLeft = [NSImage imageNamed:@"DIGreenBadgeLeft.ping"]; + NSImage *greenBadgeCenter = [NSImage imageNamed:@"DIGreenBadgeCenter.ping"]; + NSImage *greenBadgeRight = [NSImage imageNamed:@"DIGreenBadgeRight.ping"]; /* ////////////////////////////////////////////////////////// */ /* Build Scaling Frames */ @@ -209,46 +173,23 @@ static NSInteger _cachedMessageCount = (-1); [appIcon lockFocus]; - if (onYosemite) - { - /* Red Badge Size */ - redBadgeRightFrame.size.height = 53.0; - redBadgeCenterFrame.size.height = 53.0; - redBadgeLeftFrame.size.height = 53.0; + /* Red Badge Size */ + redBadgeRightFrame.size.height = 53.0; + redBadgeCenterFrame.size.height = 53.0; + redBadgeLeftFrame.size.height = 53.0; - redBadgeLeftFrame.size.width = 27.0; - redBadgeCenterFrame.size.width = [self badgeCenterTileWidthForYosemite:messageCount]; - redBadgeRightFrame.size.width = 26.0; + redBadgeLeftFrame.size.width = 27.0; + redBadgeCenterFrame.size.width = [self badgeCenterTileWidth:messageCount]; + redBadgeRightFrame.size.width = 26.0; - /* Green Badge Size */ - greenBadgeRightFrame.size.height = 53.0; - greenBadgeCenterFrame.size.height = 53.0; - greenBadgeLeftFrame.size.height = 53.0; + /* Green Badge Size */ + greenBadgeRightFrame.size.height = 53.0; + greenBadgeCenterFrame.size.height = 53.0; + greenBadgeLeftFrame.size.height = 53.0; - greenBadgeLeftFrame.size.width = 27.0; - greenBadgeCenterFrame.size.width = [self badgeCenterTileWidthForYosemite:highlightCount]; - greenBadgeRightFrame.size.width = 26.0; - } - else - { - /* Red Badge Size */ - redBadgeRightFrame.size.height = 44.0; - redBadgeCenterFrame.size.height = 44.0; - redBadgeLeftFrame.size.height = 44.0; - - redBadgeLeftFrame.size.width = 21.0; - redBadgeCenterFrame.size.width = [self badgeCenterTileWidthForMavericks:messageCount]; - redBadgeRightFrame.size.width = 20.0; - - /* Green Badge Size */ - greenBadgeRightFrame.size.height = 44.0; - greenBadgeCenterFrame.size.height = 44.0; - greenBadgeLeftFrame.size.height = 44.0; - - greenBadgeLeftFrame.size.width = 21.0; - greenBadgeCenterFrame.size.width = [self badgeCenterTileWidthForMavericks:highlightCount]; - greenBadgeRightFrame.size.width = 20.0; - } + greenBadgeLeftFrame.size.width = 27.0; + greenBadgeCenterFrame.size.width = [self badgeCenterTileWidth:highlightCount]; + greenBadgeRightFrame.size.width = 26.0; /* ////////////////////////////////////////////////////////// */ @@ -314,9 +255,9 @@ static NSInteger _cachedMessageCount = (-1); /* Red Badge */ if (showRedBadge) { - [redBadgeLeft drawInRect:redBadgeLeftFrame fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0]; - [redBadgeCenter drawInRect:redBadgeCenterFrame fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0]; - [redBadgeRight drawInRect:redBadgeRightFrame fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0]; + [redBadgeLeft drawInRect:redBadgeLeftFrame fromRect:NSZeroRect operation:NSCompositingOperationSourceOver fraction:1.0]; + [redBadgeCenter drawInRect:redBadgeCenterFrame fromRect:NSZeroRect operation:NSCompositingOperationSourceOver fraction:1.0]; + [redBadgeRight drawInRect:redBadgeRightFrame fromRect:NSZeroRect operation:NSCompositingOperationSourceOver fraction:1.0]; /* Red Badge Text */ badgeText = [badgeText initWithString:[NSString stringWithInteger:messageCount] attributes:badgeTextAttributes]; @@ -341,9 +282,9 @@ static NSInteger _cachedMessageCount = (-1); if (showGreenBadge) { /* Green Badge */ - [greenBadgeLeft drawInRect:greenBadgeLeftFrame fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0]; - [greenBadgeCenter drawInRect:greenBadgeCenterFrame fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0]; - [greenBadgeRight drawInRect:greenBadgeRightFrame fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0]; + [greenBadgeLeft drawInRect:greenBadgeLeftFrame fromRect:NSZeroRect operation:NSCompositingOperationSourceOver fraction:1.0]; + [greenBadgeCenter drawInRect:greenBadgeCenterFrame fromRect:NSZeroRect operation:NSCompositingOperationSourceOver fraction:1.0]; + [greenBadgeRight drawInRect:greenBadgeRightFrame fromRect:NSZeroRect operation:NSCompositingOperationSourceOver fraction:1.0]; /* Green Badge Text */ badgeText = [badgeText initWithString:[NSString stringWithInteger:highlightCount] attributes:badgeTextAttributes]; @@ -379,31 +320,7 @@ static NSInteger _cachedMessageCount = (-1); [NSApp setApplicationIconImage:appIcon]; } -+ (CGFloat)badgeCenterTileWidthForMavericks:(NSUInteger)badgeCount -{ - switch (badgeCount) { - case 1 ... 9: - { - return 5.0; - } - case 10 ... 99: - { - return 16.0; - } - case 100 ... 999: - { - return 28.0; - } - case 1000 ... 9999: - { - return 38.0; - } - } - - return 1.0; -} - -+ (CGFloat)badgeCenterTileWidthForYosemite:(NSUInteger)badgeCount ++ (CGFloat)badgeCenterTileWidth:(NSUInteger)badgeCount { switch (badgeCount) { case 1 ... 9: diff --git a/Sources/App/Classes/Views/User List/TVCMemberList.m b/Sources/App/Classes/Views/User List/TVCMemberList.m index 911f9446d..8cbf5077e 100755 --- a/Sources/App/Classes/Views/User List/TVCMemberList.m +++ b/Sources/App/Classes/Views/User List/TVCMemberList.m @@ -59,7 +59,6 @@ NSString * const TVCMemberListDragType = @"TVCMemberListDragType"; @property (nonatomic, assign) NSInteger lastRowShownUserInfoPopover; @property (nonatomic, strong, readwrite) TVCMemberListAppearance *userInterfaceObjects; @property (nonatomic, weak, readwrite) IBOutlet NSVisualEffectView *visualEffectView; -@property (nonatomic, weak, readwrite) IBOutlet TVCMemberListMavericksBackgroundBox *backgroundView; @property (nonatomic, strong, readwrite) IBOutlet TVCMemberListUserInfoPopover *memberListUserInfoPopover; @end @@ -514,22 +513,16 @@ NSString * const TVCMemberListDragType = @"TVCMemberListDragType"; { NSParameterAssert(appearance != nil); - BOOL onYosemite = TEXTUAL_RUNNING_ON_YOSEMITE; - /* We assign a strong reference to these instead of returning the original value every time so that there are no race conditions for when it changes. */ self.userInterfaceObjects = appearance; - if (onYosemite) { - [self updateVibrancyWithAppearance:appearance]; - } + [self updateVibrancyWithAppearance:appearance]; - if (onYosemite == NO) { - if (appearance.isDarkAppearance) { - self.enclosingScrollView.scrollerKnobStyle = NSScrollerKnobStyleLight; - } else { - self.enclosingScrollView.scrollerKnobStyle = NSScrollerKnobStyleDark; - } + if (appearance.isDarkAppearance) { + self.enclosingScrollView.scrollerKnobStyle = NSScrollerKnobStyleLight; + } else { + self.enclosingScrollView.scrollerKnobStyle = NSScrollerKnobStyleDark; } self.needsDisplay = YES; @@ -559,10 +552,6 @@ NSString * const TVCMemberListDragType = @"TVCMemberListDragType"; - (void)respondToRequiresRedraw { - if (self.backgroundView) { - self.backgroundView.needsDisplay = YES; - } - [self refreshAllDrawings:YES]; } diff --git a/Sources/App/Classes/Views/User List/TVCMemberListAppearance.m b/Sources/App/Classes/Views/User List/TVCMemberListAppearance.m index e26da7390..d97980c95 100644 --- a/Sources/App/Classes/Views/User List/TVCMemberListAppearance.m +++ b/Sources/App/Classes/Views/User List/TVCMemberListAppearance.m @@ -46,10 +46,6 @@ NS_ASSUME_NONNULL_BEGIN -@interface TVCMemberListMavericksBackgroundBox () -@property (nonatomic, weak) IBOutlet TVCMemberList *memberList; -@end - @interface TVCMemberListAppearance () @property (nonatomic, weak, readwrite) TVCMemberList *memberList; @@ -57,8 +53,6 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, assign, readwrite) CGFloat minimumWidth; @property (nonatomic, assign, readwrite) CGFloat maximumWidth; -@property (nonatomic, copy, nullable, readwrite) NSColor *backgroundColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *backgroundColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *rowSelectionColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *rowSelectionColorInactiveWindow; @@ -66,24 +60,14 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark Member Cell @property (nonatomic, assign, readwrite) BOOL cellRowEmphasized; -@property (nonatomic, assign, readwrite) CGFloat cellRowHeight; -@property (nonatomic, copy, nullable, readwrite) NSImage *cellSelectionImageActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSImage *cellSelectionImageInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *cellTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *cellTextColorInactiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *cellTextShadowColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *cellTextShadowColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *cellAwayTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *cellAwayTextColorInactiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *cellAwayTextShadowColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *cellAwayTextShadowColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *cellSelectedTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *cellSelectedTextColorInactiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *cellSelectedTextShadowColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *cellSelectedTextShadowColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSFont *cellFont; @property (nonatomic, copy, nullable, readwrite) NSFont *cellFontSelected; -@property (nonatomic, assign, readwrite) CGFloat cellTopOffset; #pragma mark - #pragma mark Mark Badge @@ -96,13 +80,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, copy, nullable, readwrite) NSColor *markBadgeTextColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *markBadgeSelectedTextColorActiveWindow; @property (nonatomic, copy, nullable, readwrite) NSColor *markBadgeSelectedTextColorInactiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *markBadgeShadowColorActiveWindow; -@property (nonatomic, copy, nullable, readwrite) NSColor *markBadgeShadowColorInactiveWindow; @property (nonatomic, copy, nullable, readwrite) NSFont *markBadgeFont; @property (nonatomic, copy, nullable, readwrite) NSFont *markBadgeFontSelected; -@property (nonatomic, assign, readwrite) CGFloat markBadgeWidth; -@property (nonatomic, assign, readwrite) CGFloat markBadgeHeight; -@property (nonatomic, assign, readwrite) CGFloat markBadgeTopOffset; @property (nonatomic, strong, nullable) NSCache *cachedUserMarkBadges; @end @@ -149,30 +128,18 @@ NS_ASSUME_NONNULL_BEGIN self.rowSelectionColorActiveWindow = [self colorForKey:@"selectionColor" forActiveWindow:YES]; self.rowSelectionColorInactiveWindow = [self colorForKey:@"selectionColor" forActiveWindow:NO]; - self.backgroundColorActiveWindow = [self colorForKey:@"backgroundColor" forActiveWindow:YES]; - self.backgroundColorInactiveWindow = [self colorForKey:@"backgroundColor" forActiveWindow:NO]; NSDictionary *memberCell = properties[@"Member Cell"]; self.cellRowEmphasized = [memberCell boolForKey:@"rowEmphasized"]; - self.cellRowHeight = [self measurementInGroup:memberCell withKey:@"rowHeight"]; - self.cellSelectionImageActiveWindow = [self imageInGroup:memberCell withKey:@"selectionImage" forActiveWindow:YES]; - self.cellSelectionImageInactiveWindow = [self imageInGroup:memberCell withKey:@"selectionImage" forActiveWindow:NO]; self.cellTextColorActiveWindow = [self colorInGroup:memberCell withKey:@"normalTextColor" forActiveWindow:YES]; self.cellTextColorInactiveWindow = [self colorInGroup:memberCell withKey:@"normalTextColor" forActiveWindow:NO]; - self.cellTextShadowColorActiveWindow = [self colorInGroup:memberCell withKey:@"normalTextShadowColor" forActiveWindow:YES]; - self.cellTextShadowColorInactiveWindow = [self colorInGroup:memberCell withKey:@"normalTextShadowColor" forActiveWindow:NO]; self.cellAwayTextColorActiveWindow = [self colorInGroup:memberCell withKey:@"awayTextColor" forActiveWindow:YES]; self.cellAwayTextColorInactiveWindow = [self colorInGroup:memberCell withKey:@"awayTextColor" forActiveWindow:NO]; - self.cellAwayTextShadowColorActiveWindow = [self colorInGroup:memberCell withKey:@"awayTextShadowColor" forActiveWindow:YES]; - self.cellAwayTextShadowColorInactiveWindow = [self colorInGroup:memberCell withKey:@"awayTextShadowColor" forActiveWindow:NO]; self.cellSelectedTextColorActiveWindow = [self colorInGroup:memberCell withKey:@"selectedTextColor" forActiveWindow:YES]; self.cellSelectedTextColorInactiveWindow = [self colorInGroup:memberCell withKey:@"selectedTextColor" forActiveWindow:NO]; - self.cellSelectedTextShadowColorActiveWindow = [self colorInGroup:memberCell withKey:@"selectedTextShadowColor" forActiveWindow:YES]; - self.cellSelectedTextShadowColorInactiveWindow = [self colorInGroup:memberCell withKey:@"selectedTextShadowColor" forActiveWindow:NO]; self.cellFont = [self fontInGroup:memberCell withKey:@"font"]; self.cellFontSelected = [self fontInGroup:memberCell withKey:@"fontSelected"]; - self.cellTopOffset = [self measurementInGroup:memberCell withKey:@"topOffset"]; NSDictionary *markBadge = properties[@"Mark Badge"]; @@ -184,13 +151,8 @@ NS_ASSUME_NONNULL_BEGIN self.markBadgeTextColorInactiveWindow = [self colorInGroup:markBadge withKey:@"normalTextColor" forActiveWindow:NO]; self.markBadgeSelectedTextColorActiveWindow = [self colorInGroup:markBadge withKey:@"selectedTextColor" forActiveWindow:YES]; self.markBadgeSelectedTextColorInactiveWindow = [self colorInGroup:markBadge withKey:@"selectedTextColor" forActiveWindow:NO]; - self.markBadgeShadowColorActiveWindow = [self colorInGroup:markBadge withKey:@"shadowColor" forActiveWindow:YES]; - self.markBadgeShadowColorInactiveWindow = [self colorInGroup:markBadge withKey:@"shadowColor" forActiveWindow:NO]; self.markBadgeFont = [self fontInGroup:markBadge withKey:@"font"]; self.markBadgeFontSelected = [self fontInGroup:markBadge withKey:@"fontSelected"]; - self.markBadgeWidth = [self measurementInGroup:markBadge withKey:@"width"]; - self.markBadgeHeight = [self measurementInGroup:markBadge withKey:@"height"]; - self.markBadgeTopOffset = [self measurementInGroup:markBadge withKey:@"topOffset"]; [self flushAppearanceProperties]; } @@ -274,11 +236,7 @@ NS_ASSUME_NONNULL_BEGIN return nil; } - if (self.isModernAppearance) { - return [defaultColor colorWithAlphaComponent:0.7]; - } else { - return defaultColor; - } + return [defaultColor colorWithAlphaComponent:0.7]; } - (NSColor *)markBadgeBackgroundColor_Y // InspIRCd-2.0 @@ -318,44 +276,4 @@ NS_ASSUME_NONNULL_BEGIN @end -#pragma mark - - -@implementation TVCMemberListMavericksBackgroundBox - -- (void)drawRect:(NSRect)dirtyRect -{ - /* The following is specialized drawing for the normal source list - background when inside a backed layer view. */ - TVCMemberListAppearance *appearance = self.memberList.userInterfaceObjects; - - if (appearance == nil) { - return; - } - - NSColor *backgroundColor = nil; - - if (self.mainWindow.isActiveForDrawing) { - backgroundColor = appearance.backgroundColorActiveWindow; - } else { - backgroundColor = appearance.backgroundColorInactiveWindow; - } - - if ( backgroundColor) { - [backgroundColor set]; - - NSRectFill(self.bounds); - } else { - NSGradient *backgroundGradient = [NSGradient sourceListBackgroundGradientColor]; - - [backgroundGradient drawInRect:self.bounds angle:270.0]; - } -} - -- (BOOL)isOpaque -{ - return YES; -} - -@end - NS_ASSUME_NONNULL_END diff --git a/Sources/App/Classes/Views/User List/TVCMemberListCell.m b/Sources/App/Classes/Views/User List/TVCMemberListCell.m index db554854a..a415f392c 100755 --- a/Sources/App/Classes/Views/User List/TVCMemberListCell.m +++ b/Sources/App/Classes/Views/User List/TVCMemberListCell.m @@ -61,9 +61,6 @@ NS_ASSUME_NONNULL_BEGIN @interface TVCMemberListCell () @property (nonatomic, weak) IBOutlet NSTextField *cellTextField; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *textFieldTopConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *userMarkBadgeTopConstraint; -@property (nonatomic, weak) IBOutlet NSLayoutConstraint *userMarkBadgeWidthConstraint; @property (readonly, copy) TVCMemberListCellDrawingContext *drawingContext; @property (readonly) TVCMemberList *memberList; @property (readonly) TVCMemberListRowCell *rowCell; @@ -83,33 +80,6 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark - #pragma mark Drawing -- (void)viewDidMoveToWindow -{ - [super viewDidMoveToWindow]; - - [self tx_updateConstraints]; -} - -- (void)tx_updateConstraints -{ - TVCMemberListAppearance *appearance = self.userInterfaceObjects; - - if (appearance.isModernAppearance) { - [self updateConstraintsForYosemiteWithAppearance:appearance]; - } -} - -- (void)updateConstraintsForYosemiteWithAppearance:(TVCMemberListAppearance *)appearance -{ - NSParameterAssert(appearance != nil); - - self.textFieldTopConstraint.constant = appearance.cellTopOffset; - - self.userMarkBadgeTopConstraint.constant = appearance.markBadgeTopOffset; - - self.userMarkBadgeWidthConstraint.constant = appearance.markBadgeWidth; -} - - (BOOL)wantsUpdateLayer { return YES; @@ -133,11 +103,7 @@ NS_ASSUME_NONNULL_BEGIN TVCMemberListAppearance *appearance = self.userInterfaceObjects; - if (appearance.isModernAppearance) { - [self updateDrawingForYosemiteWithAppearance:appearance inContext:drawingContext]; - } else { - [self updateDrawingForMavericksWithAppearance:appearance inContext:drawingContext]; - } + [self updateDrawingWithAppearance:appearance inContext:drawingContext]; [self updateMarkBadgeWithAppearance:appearance inContext:drawingContext]; } @@ -164,121 +130,20 @@ NS_ASSUME_NONNULL_BEGIN /* Update accessibility */ NSTextFieldCell *textFieldCell = textField.cell; - [XRAccessibility setAccessibilityValueDescription:TXTLS(@"Accessibility[alq-6s]", stringValueNew) forObject:textFieldCell]; + [textFieldCell setAccessibilityValueDescription:TXTLS(@"Accessibility[alq-6s]", stringValueNew)]; } -- (void)updateDrawingForYosemiteWithAppearance:(TVCMemberListAppearance *)appearance inContext:(TVCMemberListCellDrawingContext *)drawingContext +- (void)updateDrawingWithAppearance:(TVCMemberListAppearance *)appearance inContext:(TVCMemberListCellDrawingContext *)drawingContext { NSParameterAssert(appearance != nil); NSParameterAssert(drawingContext != nil); - NSAttributedString *newValue = [self attributedTextFieldValueForYosemiteWithAppearance:appearance inContext:drawingContext]; + NSAttributedString *newValue = [self attributedTextFieldValueWithAppearance:appearance inContext:drawingContext]; self.cellTextField.attributedStringValue = newValue; } -- (void)updateDrawingForMavericksWithAppearance:(TVCMemberListAppearance *)appearance inContext:(TVCMemberListCellDrawingContext *)drawingContext -{ - NSParameterAssert(appearance != nil); - NSParameterAssert(drawingContext != nil); - - NSAttributedString *newValue = [self attributedTextFieldValueForMavericksWithAppearance:appearance inContext:drawingContext]; - - self.cellTextField.attributedStringValue = newValue; -} - -- (NSAttributedString *)attributedTextFieldValueForMavericksWithAppearance:(TVCMemberListAppearance *)appearance inContext:(TVCMemberListCellDrawingContext *)drawingContext -{ - NSParameterAssert(appearance != nil); - NSParameterAssert(drawingContext != nil); - - BOOL isInverted = drawingContext.isInverted; - BOOL isSelected = drawingContext.isSelected; - BOOL isWindowActive = drawingContext.isWindowActive; - - IRCChannelUser *cellItem = self.cellItem; - - NSTextField *textField = self.cellTextField; - - NSAttributedString *stringValue = textField.attributedStringValue; - - NSMutableAttributedString *mutableStringValue = [stringValue mutableCopy]; - - [mutableStringValue beginEditing]; - - NSFont *controlFont = nil; - - if (isSelected) { - controlFont = appearance.cellFontSelected; - } else { - controlFont = appearance.cellFont; - } // isSelected - - NSColor *controlColor = nil; - NSColor *shadowColor = nil; - - if (isSelected) { - if (isWindowActive) { - controlColor = appearance.cellSelectedTextColorActiveWindow; - shadowColor = appearance.cellSelectedTextShadowColorActiveWindow; - } else { - controlColor = appearance.cellSelectedTextColorInactiveWindow; - shadowColor = appearance.cellSelectedTextShadowColorInactiveWindow; - } // isWindowActive - } else if (cellItem.user.isAway) { - if (isWindowActive) { - controlColor = appearance.cellAwayTextColorActiveWindow; - shadowColor = appearance.cellAwayTextShadowColorActiveWindow; - } else { - controlColor = appearance.cellAwayTextColorInactiveWindow; - shadowColor = appearance.cellAwayTextShadowColorInactiveWindow; - } // isWindowActive - } else { - if (isWindowActive) { - controlColor = appearance.cellTextColorActiveWindow; - shadowColor = appearance.cellTextShadowColorActiveWindow; - } else { - controlColor = appearance.cellTextColorInactiveWindow; - shadowColor = appearance.cellTextShadowColorInactiveWindow; - } // isWindowActive - } // isActive - - NSShadow *itemShadow = nil; - - if (shadowColor) { - itemShadow = [NSShadow new]; - - itemShadow.shadowBlurRadius = 1.0; - - itemShadow.shadowOffset = NSMakeSize(0.0, (-1.0)); - - if (isSelected && isInverted == NO) { - itemShadow.shadowBlurRadius = 2.0; - } - - itemShadow.shadowColor = shadowColor; - } // shadowColor - - NSRange stringValueRange = stringValue.range; - - if (controlFont) { - [mutableStringValue addAttribute:NSFontAttributeName value:controlFont range:stringValueRange]; - } - - if (controlColor) { - [mutableStringValue addAttribute:NSForegroundColorAttributeName value:controlColor range:stringValueRange]; - } - - if (itemShadow) { - [mutableStringValue addAttribute:NSShadowAttributeName value:itemShadow range:stringValueRange]; - } - - [mutableStringValue endEditing]; - - return mutableStringValue; -} - -- (NSAttributedString *)attributedTextFieldValueForYosemiteWithAppearance:(TVCMemberListAppearance *)appearance inContext:(TVCMemberListCellDrawingContext *)drawingContext +- (NSAttributedString *)attributedTextFieldValueWithAppearance:(TVCMemberListAppearance *)appearance inContext:(TVCMemberListCellDrawingContext *)drawingContext { NSParameterAssert(appearance != nil); NSParameterAssert(drawingContext != nil); @@ -429,23 +294,12 @@ NS_ASSUME_NONNULL_BEGIN BOOL isWindowActive = drawingContext.isWindowActive; - BOOL isDrawingOnMavericks = (appearance.isModernAppearance == NO); + /* Create image that we will draw into. */ + NSRect imageViewFrame = self.imageView.frame; - /* Create image that we will draw into. If we are drawing for Mavericks, - then the frame of our image is one pixel greater because we draw a shadow. */ - NSImage *badgeImage = nil; + NSRect badgeFrame = NSMakeRect(0.0, 0.0, imageViewFrame.size.width, imageViewFrame.size.height); - NSRect badgeFrame = NSZeroRect; - - if (isDrawingOnMavericks) { - badgeFrame = NSMakeRect(0.0, 1.0, appearance.markBadgeWidth, appearance.markBadgeHeight); - - badgeImage = [NSImage newImageWithSize:NSMakeSize(NSWidth(badgeFrame), (NSHeight(badgeFrame) + 1.0))]; - } else { - badgeFrame = NSMakeRect(0.0, 0.0, appearance.markBadgeWidth, appearance.markBadgeHeight); - - badgeImage = [NSImage newImageWithSize:NSMakeSize(NSWidth(badgeFrame), NSHeight(badgeFrame))]; - } + NSImage *badgeImage = [NSImage newImageWithSize:NSMakeSize(NSWidth(badgeFrame), NSHeight(badgeFrame))]; [badgeImage lockFocus]; @@ -493,29 +347,6 @@ NS_ASSUME_NONNULL_BEGIN } } - /* Frame is dropped by 1 to make room for shadow */ - if (isDrawingOnMavericks) { - if (isSelected == NO) { - NSRect shadowFrame = badgeFrame; - - shadowFrame.origin.y -= 1; - - NSBezierPath *shadowPath = [NSBezierPath bezierPathWithRoundedRect:shadowFrame xRadius:4.0 yRadius:4.0]; - - NSColor *shadowColor = nil; - - if (isWindowActive) { - shadowColor = appearance.markBadgeShadowColorActiveWindow; - } else { - shadowColor = appearance.markBadgeShadowColorInactiveWindow; - } // isWindowActive - - [shadowColor set]; - - [shadowPath fill]; - } // isSelected - } // isDrawingOnMavericks - /* Draw the background of the badge */ NSBezierPath *badgePath = [NSBezierPath bezierPathWithRoundedRect:badgeFrame xRadius:4.0 yRadius:4.0]; @@ -837,49 +668,23 @@ NS_ASSUME_NONNULL_BEGIN TVCMemberListAppearance *appearance = self.userInterfaceObjects; - if (appearance.isModernAppearance) - { - NSColor *selectionColor = nil; + NSColor *selectionColor = nil; - if (isWindowActive) { - selectionColor = appearance.rowSelectionColorActiveWindow; - } else { - selectionColor = appearance.rowSelectionColorInactiveWindow; - } // isWindowActive + if (isWindowActive) { + selectionColor = appearance.rowSelectionColorActiveWindow; + } else { + selectionColor = appearance.rowSelectionColorInactiveWindow; + } // isWindowActive - if (selectionColor) { - [selectionColor set]; + if (selectionColor) { + [selectionColor set]; - NSRect selectionRect = self.bounds; + NSRect selectionRect = self.bounds; - NSRectFill(selectionRect); - } else { - [super drawSelectionInRect:dirtyRect]; - } // selectionColor - } - else - { - NSImage *selectionImage = nil; - - if (isWindowActive) { - selectionImage = appearance.cellSelectionImageActiveWindow; - } else { - selectionImage = appearance.cellSelectionImageInactiveWindow; - } // isWindowActive - - if (selectionImage) { - NSRect selectionRect = self.bounds; - - [selectionImage drawInRect:selectionRect - fromRect:NSZeroRect - operation:NSCompositeSourceOver - fraction:1.0 - respectFlipped:YES - hints:nil]; - } else { - [super drawSelectionInRect:dirtyRect]; - } // selectionImage - } // Yosemite or later + NSRectFill(selectionRect); + } else { + [super drawSelectionInRect:dirtyRect]; + } // selectionColor } #pragma mark - diff --git a/Sources/App/Resources/Images/Buddy List/BuddyListDropArea.png b/Sources/App/Resources/Images/Buddy List/BuddyListDropArea.png deleted file mode 100644 index 1f0478bb224e10bb17af64bbf1b33bfa7046b4e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 955 zcmeAS@N?(olHy`uVBq!ia0vp^7l62ug9S)F+LwNlfq}Wn)5S5Qg7NKL=AN8#k%o`K zx82^{+BQ$U?qm1-$fMcSi+2@1pSPK-YeP@(Ew_;30_&Z>=g-{w{odtgzmI+2|8MPi zhh^qvnI#9}F804Eu64bEsw zul19@6medS`_mJ?k?-{y@wbt?Q}pJ|`D^r;HD>-f=@Yx^ER&y#pFa6z5p&qJidm0? zYr4HZM&G$^e9e28|Es6(*L=QF{i`E3b2-=2S#uM^Unzf!JNs~br}5HReC@rhFE+?3 zPl+t^aa}MWVoJQlcD^mPjKAE?Ia24{%Z|Sp|7%AGw@d9}bMBoQcB@`yC@TH>Z&o&u z_vVEgu8a6z9G`lZ*=gOS?I!Eq+!Ok%Wcj&u!s;zkc1&@3d~)uD)meHBj4mJ~=)iC> zYUzGez5Shaljr<&I}v(o_Kq)IPv5kk(o;XDwEJY12a?0j}aiI2Rh4U_Jo%%W-6#BCCXDx-CIPP-o%wu*-wM}Vq z_9qM{GRtjBtC+Lgx0uP4(^4(UivRP1FP+oQ9k$V^U9|MG0spC%6`k%%Wj-eC{0_jd z0SB2O|02uhj=*5)=*W0x^J4J}MaAWx7x+&$j_0!PoKE#~B1M;v%#;fMAMiKh z)0-EePI+DH=7ntJKN`mu*3Y%`q#U=Fe&;*x^!xR1BNWB=maW+*AM&j;cG1y-haD5T z-#k+{Xl5wCl# zx38utK<%izr^c;`5mQQLU%6cStNib;l(Kny*BzA%cm5yS?s_eE?$;)}NY}2im!CKP z+n$_$yVZ1EUhnf;Pv6I!FTM6QFH)sp6YH+fX=3-AF2!G;zb5$Ei}>7~MHe@5eRu-Q OlnkD(elF{r5}E*+=e<+_ diff --git a/Sources/App/Resources/Images/Buddy List/BuddyListDropArea@2x.png b/Sources/App/Resources/Images/Buddy List/BuddyListDropArea@2x.png deleted file mode 100644 index 5b80443d0d310ee5bdb7aa468d36f79b99ff22eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2410 zcmYjS2{@E%8~$dD48M-i;t$mfovewnMa}p~)&^xH

QUQrV)Bk6%$Z$~N{H>oAnc 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 diff --git a/Sources/App/Resources/Images/Dock Icon Badges/Green/Yosemite/DIGreenBadgeCenterYosemite.png b/Sources/App/Resources/Images/Dock Icon Badges/Green/DIGreenBadgeCenter.png similarity index 100% rename from Sources/App/Resources/Images/Dock Icon Badges/Green/Yosemite/DIGreenBadgeCenterYosemite.png rename to Sources/App/Resources/Images/Dock Icon Badges/Green/DIGreenBadgeCenter.png diff --git a/Sources/App/Resources/Images/Dock Icon Badges/Green/Yosemite/DIGreenBadgeLeftYosemite.png b/Sources/App/Resources/Images/Dock Icon Badges/Green/DIGreenBadgeLeft.png similarity index 100% rename from Sources/App/Resources/Images/Dock Icon Badges/Green/Yosemite/DIGreenBadgeLeftYosemite.png rename to Sources/App/Resources/Images/Dock Icon Badges/Green/DIGreenBadgeLeft.png diff --git a/Sources/App/Resources/Images/Dock Icon Badges/Green/Yosemite/DIGreenBadgeRightYosemite.png b/Sources/App/Resources/Images/Dock Icon Badges/Green/DIGreenBadgeRight.png similarity index 100% rename from Sources/App/Resources/Images/Dock Icon Badges/Green/Yosemite/DIGreenBadgeRightYosemite.png rename to Sources/App/Resources/Images/Dock Icon Badges/Green/DIGreenBadgeRight.png diff --git a/Sources/App/Resources/Images/Dock Icon Badges/Green/Mavericks/DIGreenBadgeCenterMavericks.png b/Sources/App/Resources/Images/Dock Icon Badges/Green/Mavericks/DIGreenBadgeCenterMavericks.png deleted file mode 100644 index 2ff87b05652222bcebce1de02df95ca1d434e6a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4199 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 diff --git a/Sources/App/Resources/Images/Dock Icon Badges/Green/Mavericks/DIGreenBadgeLeftMavericks.png b/Sources/App/Resources/Images/Dock Icon Badges/Green/Mavericks/DIGreenBadgeLeftMavericks.png deleted file mode 100644 index 8a7af4a90bd74eeef1723f5cb38774c85d9e7392..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159878 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 diff --git a/Sources/App/Resources/Images/Dock Icon Badges/Green/Mavericks/DIGreenBadgeRightMavericks.png b/Sources/App/Resources/Images/Dock Icon Badges/Green/Mavericks/DIGreenBadgeRightMavericks.png deleted file mode 100644 index b82efb69614b02ae7fe2f310a3ea4d6fcdcbda4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161006 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 S=TC6|T|4&bu&&*UAN&tzZ_r@? diff --git a/Sources/App/Resources/Images/Dock Icon Badges/Red/Yosemite/DIRedBadgeCenterYosemite.png b/Sources/App/Resources/Images/Dock Icon Badges/Red/DIRedBadgeCenter.png similarity index 100% rename from Sources/App/Resources/Images/Dock Icon Badges/Red/Yosemite/DIRedBadgeCenterYosemite.png rename to Sources/App/Resources/Images/Dock Icon Badges/Red/DIRedBadgeCenter.png diff --git a/Sources/App/Resources/Images/Dock Icon Badges/Red/Yosemite/DIRedBadgeLeftYosemite.png b/Sources/App/Resources/Images/Dock Icon Badges/Red/DIRedBadgeLeft.png similarity index 100% rename from Sources/App/Resources/Images/Dock Icon Badges/Red/Yosemite/DIRedBadgeLeftYosemite.png rename to Sources/App/Resources/Images/Dock Icon Badges/Red/DIRedBadgeLeft.png diff --git a/Sources/App/Resources/Images/Dock Icon Badges/Red/Yosemite/DIRedBadgeRightYosemite.png b/Sources/App/Resources/Images/Dock Icon Badges/Red/DIRedBadgeRight.png similarity index 100% rename from Sources/App/Resources/Images/Dock Icon Badges/Red/Yosemite/DIRedBadgeRightYosemite.png rename to Sources/App/Resources/Images/Dock Icon Badges/Red/DIRedBadgeRight.png diff --git a/Sources/App/Resources/Images/Dock Icon Badges/Red/Mavericks/DIRedBadgeCenterMavericks.png b/Sources/App/Resources/Images/Dock Icon Badges/Red/Mavericks/DIRedBadgeCenterMavericks.png deleted file mode 100755 index 6e8c9178e164743418e8faea6636a96623b245e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4199 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 diff --git a/Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksDarkActive@2x.tif b/Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksDarkActive@2x.tif deleted file mode 100644 index 967794f9c0b8c5e507ec050666c54f582b6db109..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25908 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 G>i+?UM=MDH diff --git a/Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksDarkInactive.tif b/Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksDarkInactive.tif deleted file mode 100644 index a7493542bcc836d01a9abd2db1c30f88d49bbecf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22648 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 diff --git a/Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksDarkInactive@2x.tif b/Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksDarkInactive@2x.tif deleted file mode 100644 index f1eefab2fffe40d7c3bb80aa5162b49082df1ac9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25824 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 X<^Lza0YiJ*@_%>mfTlapme&0b7hrb- diff --git a/Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksLightActive.tif b/Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksLightActive.tif deleted file mode 100644 index e71f0ad99c678d98a70cc7721d21f700bc58bcf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22456 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 KO|_s6j{gURNLA4Q diff --git a/Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksLightActive@2x.tif b/Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksLightActive@2x.tif deleted file mode 100644 index 284747609f3bb8d7addc52894f6c98719dfd7bb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25720 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 G4*ws^@@eD% diff --git a/Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksLightInactive.tif b/Sources/App/Resources/Images/Status Badges/channelRoomStatusIconMavericksLightInactive.tif deleted file mode 100644 index 78b4c63285b5cc098dc181e7ddae912473d6e1e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22420 zcmeHPd3aOB+Mjc>HEFtUP}-7ilr3$N?xlOWg|@VGrKQlO$vJ5t8(G@2$R?r!iXtML zAd4vC1veIPVG+cI3xX^P;w^9yP{bkvDroP_$cSWl?F$*qiN+z#gt91T$gs kz|eA?=4*{gBlF_&eDI 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 diff --git a/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkChannelCellSelection@2x.tif b/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkChannelCellSelection@2x.tif deleted file mode 100644 index e2339f2a7ca3ea1d7967ccb56bfed84baefbe35f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24188 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 diff --git a/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerCellSelection.tif b/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerCellSelection.tif deleted file mode 100755 index a73a07d0b7f90219eb799e3c34f4aee34977de3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24752 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 KAKmkd_x}JI?>5T- diff --git a/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureDown.tif b/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureDown.tif deleted file mode 100644 index 52ae18c94d2bc961c6bb7b7733a095b3dfc8a029..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25632 zcmeHw2UHWy+wX2FgwQ)uLN6L1Kq#Si5D}z_h+-;4LK2ct?4sDfii*8q!QN5q4Lge1 zunS_ZD2iR~>;?ixU+(+e@Bf{9?mcYI?mlgvdFD4|XD3XEjfI>b2vUIzp95JUv_nh@lh zJ~bMVtK9*#U>d(O2KL8kQpCn+D+EPG09ynb`G@plA_UoMK^^yCj)=vj#Ak_QB59UL zObHF8xVh3iC=RhqHeZMc9U(-(aP?x)yeY1(3|AV%!yWPqEEF@@*<2Zg#m(dk{jJ^| zI%Y-TbNsCa(_>v@#i86Re$;3QH*xg9B=+cRwhzZDFo5J&$SBMa=Wu0AN@0#bC}kA- zTQQLc7=T8^E>;xOM3(JuB@Zn%Hl7kHl5i<>XF8Sb>PDk@`8d<)bT2QrerTvJt~3{# zJC)|c@BmS|QaTQ+01}}5BpehKox2ilu*Vjqza|hawnaB!njhlgfEuyMM4VVm&p?4$^5OXkc<>ZN4avuij0I( zXS9sYY*CI&Aye!^b9Qz4heWZlJtxb_`D;q4EIc1X(owR%W++V>CFZ&$aHXO=37Z?9 z&lSq7{}u#?t?(nxlL%0JIBXZLfSUu7NI~$lzlI?0Y(k3UzlEVt%S(?|jvO;T&>|S2 z5-w9Fk|c>lf`EU~B>h~J6Lr-=mp^V8Q^pNIS})bri%RoKa&u?6xiRQ8sw>h`x;c?s zD*1>7?UBQjF@N{soz&R}x_kM}R@sk;!{?3qS6;d-fAA5X3;joq11H)nrj6er<> zv4Sb+W`mT412Xe+rSoWRZcM7To2L)egYM0u`mkAast=FL@uIo8v)Ej>&Mf}o=8vqR z_)^fGMs;gvptYf+K_WNzcWI|Wz(;$vm?@ERkX=@_){wAd4&Psrk!Yp;rIwL@MIR3YZdZa3*LW z|E_P!{r;X%IRifzWCRuP{|Bl<%FO@oRRqrsv^gHzlj`cp`@HT|4E{& zSpP|{O1^qCQ39lAwim9R@ln$D!leXA&ulMTJ>#RK?S)GTke=CIxO&D%N!tsT5+FUZ zy>Ru6kCL_*E+s&EW_#i486PEWFI-B1^vw3c)iXXy+FrPn0O^_Sg{xKPv;Z7*C(fb`7v!qqcAO4?qylmO|O?S-pne3Z1ka47-O zGusPS&-f^5d*M<7q-VAluAcEx()Plo1W3LewSDtD@GS zu|s0yX!s&7FjR2qDzQ$t633x?Mx{V+h**Y-Wx~!vfI_k)3ML^_8mnMJCBo1yMkwoI z2CxKDg=S!;EMLKd=Lo_S48XL@bqG5D;%NGON~*&+=ka3~axD328+YD8G{ zh?EHbkc9~TvaCY?Ht)=D%f|$QH=u@e+2>5X1v|Xt5V)%0mKv{lF39l0+BGYBMG@vgM`pcuHGq6;AduaSEzL=Kx_(oq_1G# z$YX$_z#Rskjyu|q>`TaikbKbtMr}W#bQI*m;{lBTTnTb*hh)u?r3#4~ z(7;d{xOUngrGX)&2X;tMpI-nEAw66kwel7F98oJv<@|p~hhl-a27^KeQpo=PF3uI@ z;0~;jsFAo4Jg{h56;#qOmSBQFLU49?Lh2Sm_xa0f$^>DtNcrU@M_BndB*z)8U%9Z` zwG(?~TZKt?gHB;bKnN?$6Ch(SQY-@41ux`CmBtpfj0SXQ1425aqSXVTQm=tRx_TEH zaza<*$LcXOp+TT5=0Z7lSu)$|LO8$!7lvY9&af4ze{4J znZG{*2~2@3iJAGEl?IzD5F~L6Wzo{8q}TzSgRDxY_%~zKERke%uz;W0`3%&Q7e1;} z3`$PqaCyu;bkJAL=SpOMF;D3f|8B0v%0#yVb^}*i?mr|_p#Vvsfg&M-wW>@c29pOV zxBI9{5`f|N4=I_24%dIk)j+jpDVw9c%>l^>%nm?v4s1bbdCvmB!2u4W2@_E}!~(*I z!3F6YNYg}4SNRhZlLQ$-aQm(HHxL>90fUUtSirx9G*AxWOa!)Y`(3CQBCDvVsH%`v zRms|FBsFb)O)^Y`0#QYkqy`>Qzbjz~ zgY8smK`;)+VsIEdk)VRdlHGw)8;i5lq2YrEF?FqSi`)o$^VaMNv9{4qIKguFkW8u% zCEAuHwluwGOX&s`yC>U)%}?TlpIj^RG`yPpi2Gqr@u_Qh&8-pk3)W59yRhc^aa{t+eXP>np3sIRg8x z5ZdoRWGtGeHWUbb45+-Rfv??qRiLS3b|~vw>-f@njEqG8;C;SV=_TiMeTxF0R_ShR zOkNeauC?m;TlQJX6hFWIJKx_9&j_Eq^6}@~=(zUVXxp9NAUDu}X^;ov7@S61nPRa31KM>Cm^*?AA|-W5 z8in`(JX^FugYkgunQW;zI6i&=F#g*CoV49UT|w8Vh_AmH^&r#cfZtdFvBU!#7Dvj? z0rXyQ?qrK4U~-8?hGgpknHZs`16of40tEDOgwB-HI}w^Cr)yA~qy#Wy#NGlwf7ZB%gGTTbTObESl#?&cB7e0 zmcl2KnW>=VWdSKc#vPlNQRY8+$r0oMywJl6T*+CIC}c_vW)SekY*CDY7P1D$b;|jm zM4fb2UQ}`?&6b8Db1F0~hZz>rN#|uJ2Y1p;37|S`__FAvPFf;LQ26Ic!xKB@S=?x( zt)M=If`JN}$B&5al#k9z8r(_e^HTf8vJiz&u>fuBX#8A3q(UyuPgJCpNs<)uk<9)` z+ePigvUmkP5Fd&Kvv9TyJb!^63KfY*p-&`AFz6**O0VzF9fnRoXP}GF73cSwF_OY_Pw*l{ z5rz;(62=f_5>^m)5RMb-3C)C0L?Y3c*q7)}j3Y9MGU8O?65>|kG2&I?6XF*YH5CgL zH!BB$aZN%_>J#uBtp!`L3#^YOBgnjZ@{Qj#8bYx=!_=YMts6)$b&2l0C_v zltdayDk3c=Z6}>3-6OTCsi|41`KS$2ReAueD6;fL4RnCv9DAns%Iaj`mFL&D!U+pX(5H>~z9) zI6B2TYjsZPH0xq@t#w0n*}9W;*Xf?teWFLuv)7B(8>v^Sw@vS|UW>ktzK4E_exd#{ z{UiE~23P|-gJ=VR!5o9#1~(198JZae8*&Y27;ZPbYWUfxk5P~j*Qms3htUnAZ^jhk zaN}&_dB*#V@0;LEoJA2okrp=%Lf!M9joam?Z+MV}H(5l|LWYA7w1rj}8b zd6sJ|FI#@MvbRdMnq;-Z>b^C}+S{6Ey}+;K$ z?kaFy=X#f>L+ekQL_0|P;O6AUc3b9l-Cf;1!hM2!wflRIz8+kUl^(a~y7XB3H2O*U zPfssTiRX6D7hX1ABfOS-HF)cJ$9vE8KIen?3GtcWbJ*uA!;>Ln>}I_4rTS+3ZuWid zXYa@LTj$s8Z{^SQU*q2xKnWNTusWbI&@zx2SP}Rr$U2A~NH|nO4^3BPea3pE*$zKot{25{pK+HVTHra4>uVu7=9!}GlQA2 zX9Rx4;1Qcg{9wj0E0~{H(X8dH7Ir9m5&IPpHFDL+&)IR=mD%lr!Gaw*Dmf!^4hVIG*}@u;xu{T7FYYUzDsIeW zR*`$w?2Twj& zY*sw6xOqzClr2*=rb?zZO!J+#YC3K@fBNMa?lYFm_*KFwxlrm_T3-5NCVS?ES+rS; zXSL7f&AvRxbI!`Sgt@}GH|GV;+gPSuHoB~Ne(d~x3n&Xp7JOWovG9DkNBOEnq(ym) z8W#^(T)o6*$=oGBmS!!zu`FcSj^(DyXDt7`g0tf4%Al3oSDCFUUG;4>fAy_3k!$u< z*j1FTC9KU~`*dB(y0h!O*KgWjvY~Xt&q`rs|^>*s^H9HJ;l z@0Hxwx?ldl^g+c#$A>!_JsXcSg*DYaN_=#;nce*AvGnneC&f?IpO!zfc(&=e+w;RO zB3@j1IrQa|SK?RSUr&9b{bu=Fhqrs*1-+|nNo{%ZUh=;E!^~FW*2<3_A5VUY|MZ|O zr|tXak}t+zHh%T~diLAkZ_mCL{2=~V{L}I0!Cx`I?zQK%w}aI}COQ|uf-45BvOymz z!Lr8?2-3X*7UeYLb7Is2Oqs!S9$Dhi2D5_Wa18tovk;qx3&492B8Xg-4XRCQ{^TVZ zux5_dV;zp}D}A;>lM%=GL7!ODedcBs63Ri#57rhoUbew@k@leu3`e??LtpcL+Eg6% zv-5M8JFc~~V{W_M*LsxECwYp!hIvQ%&>7~w1mCxQ4gSXiHU};ZniE_SG9$D!Y)*Jt z#QewwQ46CN_FoV)Z@}!>(t*?Cro>MkG&!L-adJ{|a&gL}!9}SPhKxxo94bv04&x8! zWUxnYnc1v7b`fVbcNwoTb5GV${<)F$*>?oZIj@CnVr;IC#8&Dfi_go-p@aIrrw?ns=k@ z+We~vt}d)EuUm9!@r5PlmewpgzWnft>XlWi_O9N)=4i#awb$1@TK{gt&yA!_2Ai$7 zIB)gY7Pfuhj?|qac4h9)*(2FoP&H=X`29uI#RsMxoN=i1@T?=VkIp$(c6{N9r6*UN zT356A^!78m&Q_hPK7Z)Kk&8!bk6$`*`9$5ZD~IZT#uQCO~BdWO$g4! zC>5dV9yJV^rG8Y?PHVmnNq2@m&R~q;H)Ed3ZPNg=#pbUl9+p{FbF4SnRM}SB?YH0M zu+edqQ+eOge&eaR&McQ?*GQVL8`a&yLz@oMKX^8IUGYBZvzbxuJJB!OKRF;U&?(3y zSR(`%@-wt8>|OZth^EL}QJ14@`d7zn9k4pKY~a+mQSstI`~+SiJBgK?kuq#>T59r; zL1{5V!_xzXc@3v!^c~^Av}ZZ6ojCotEJ$gn&Nl0nnOvWtF z*|a&-xlZ#O${gm~FR))|Uv9U^cCpP8tEH4>X3I@h7_8J?rM+5bjb4S(T8nk|>s>Z@ zR{C!Y+Z3}oVawpH!?v-uXYLU0%-=O(_l!LY_pYhhw(r3Hn(Dd(cMdimdUN>mQRtY; zam^D3CrwXT*4UnQJVQO}dd~ek{ess;pIYBbewY300MWhNN4A zZx6XM^ltjS;rE9>81^u&F|jG?k$1E0W39(upFDbc;o0uzOJ5Yd%z72~+VhRsTkP9c z@2y1;xgXI9Cg-U|z zbW$zZQN2jxsaB%)CEXysJqG;@*BKj`l=Nva8)RN-@y^oKD#Ln$%|hFCcH2Sy?{Tbh zs_I+SZ#Q*^^LCf5t{Z9V+*Z3U^H@YL^DOb2>^;^;!r=L)`NjGN1$cnkw+=QBF%2~f zGYh9gP$DT&=Fw*TjbjW3XvLBT65}v&?eRYbeNXt7_#^2@@{g47gTJP>4f&AvcIb=r z$HN{DzngJu#7$-c>o)s7r-|Fldy@Gq>pB0$$QRkq1sgBGh&oe)| zU}#~^sIjAGj#)l-^SJ%sX?lL*#iH|*Y9=2l-aVyq>hfuGr%#ztSdv{jY-Zf7;MwkT z?B|-!(<@V-ueyM+5L*tF|6KHS@uwv%OJ6N}vb=G{ot4*C)vc~wbD`qG+KcOI*I(Xn zxw39!-KM(Dm$qEmdU4x@?dNx#-+5uzrQP*=ZtT5N^>APF{%6%M54<_pa_Gb1k4HWo z{e0~6@y{o|ocwa?OU;+lpU{*L^>a5) z-aOn;b!+?W$~&v>F1|PC{3c_t7%A!q}5 z?@g`(%lP0ObR~GNwrK&+4-N3W9QZaU$p^w%H-JUBIS~9)tayIl!Ro3$c-wRUZ<_w# zJFY}%1SA08L`?&4l@M`!Vd;|V~(Z;x8QZQpN z8!*?gIPgvJ1t(8YeUvnpIlvT6?uUwGZip=v>rI)@{@i>iyE6YhY_|*f7Pg z)u_za!}zwz#6FIFu9}W9vo^bEF0(MVxIh_Y>127|YQFUV8=_5(ZLwXrJ<79fmvGcfZ(sYv0A{QwL8TK6~`q@#d3XPHUf~o{znldud7C>H3e?9d2gaT5{*+ zeZ7YXO=Zp3o*F*Sc)9uYw|BAc*R{5{4gYfdyZz63==gyL-$v>~7LX(44h4WUh7_=H zDFW*XCD0PEmQW3ygKk4Fp&zg&Yz=#XH3Bv~8mtOzh0nr|F&K;$CLA*oGaqvl^A=0N zCSzw|&w>TsVB93!X}lUf0lysoj6f$$Av6&C5hoMxtN5raR{5ryp?ZeoN?Hz9*bCL3 zl2gcM)P2;qYuIY6(lpgvre&s8q3x)>S0_lPPItKOTfOo6TKa1Zd<^Oh1x6&J&Bn3D zttQL*MD%GjU1Jt+)^5Jjf<-Z))LKrp3buxNkEOyPN1-lu$eRQw)*iB#LInhhx&Gt!Wr23}%rTLEt$O@DNO$weLQW<(QtRehE zq9e7dHJ6T(?^{d<2JTpyxxQvMew9?lfO?HHw`;| zR*6aJ=2`x;ug}dXQ=PwQVNCh^#Y>ikFKb<~c2)8km5L+lWE-fJFE(x3lD*A!`}Ut>s^zL;2y1hW)#8qxn;9QdIV+>Zr<8Z;=8>>($iN^3@v2G308n^08P$ zO=FVAH_d#_RxO!UoAwwTj82KJp6)8WetHM>WAq;ypJG!N z)4OKV%<1NjEy^h|mKe*!R)yAH)?aOog8o0iULU;QuXW@*xj41;J=U*;I@sCX`I}3f z>jv6Hx8d#q9yW9>Pps#6uW#Nz7#LqQKO=wp07hVZ5I=ZI$hy$eVb3B|BAudQqI3Gs zjoCk-aUeO)H$G=jMZ%pV{p7@y1%q!6F-jXcbY=RZ;SL$%5r&py9^t+l)ydWC;={`KQG-`}>qn|8nS;l8F@%^#ntKeu}s{5s=p zQOo)dmp*>^Z1*+w`^=v;Nc~HB?r!KC1xyYB%a0G*+gt6xmuh7Ygp3d0E85$Ct_3d} z_aNxFK)&9NK5MifXgPS!K+u`d%@dJ(@9|dzRC053t2S=j*#1u^q6aC#n)F`}Z7nUW z)D=cBGvpT%60-kq=@B`i2Pb0pw*$OnLWW?)ICb2(aZkJZ zKzKxs=)sBD{nLRgY&#km8BMFGsQ7{SK<)^S$iay&eE(D84mp^=K*0kC4m^pZNA3s@ zPDK814kSJkEEYSQ$K%x@cZ3ILPjM^zMgE2Z^bIs$+0d_L5KW;S8N^mx~JVHhWu8$C?KNgmcGg*7aX<-@iL3MBa#`xfU5^Ena*r8u9*7yA|mSTT?i z_yQUcyI4_B6G>ixm8@v};}a=i0uhHoccxQWu5L7nmya`zPWSS1>xCB8#g*nlbEndL zd_6!ZT`BFsDv$&ye-S&|Hz_=_Jv+b!SmjD2LSGk`qM{<_B6nwjD9457gM9+ zMgkV*oqtdNZ4p}k)DLU~4fu`^mn zXOa#k_}PnhO2-)J>g6X}MLz;IH+$%x^3rM9#Rr?^n=KIKGbDlBd`1q(MZ(R_ z_IK%&b}>bJf^Q68EMf3joS5)HAaLe#*}inT2i?b$PNUM8UT##6Y-y3>T-h{l4z?~?qF z^C-&Y@Vgr+GFPb8A3G5XvL!_f5ho-E^pHO{jAed*PNiWjgs zf$sh;zY}-%oi3?j!om_of^0626By1F3wey8T@!cFwx^aAuggjeoi$`qunq)EP#5_c z^p^=mKJ)&QL}#`BNv{gNl$j_1(mkt$t9yJDv`V-X0O_7p!qq)K3R)#x3V?LaD&guL z9|f%vE(JikXO(bukB@>@36}yO-Lp!#y2nRBtAtAdknUL}T;1cNpjE=907&<&60Yv? zQP3*kQUIiTRtZ=4_$X+Va47)NJ*$MPdwdkMO1KmN>7G@>)jd86S|wZxfOO9);p!eA z1+5Y;1wguIm2h>BkAhYSmjWQ&vr4$S$45b{gi8UC?pY;V-Q%O6Rl=nJNcXG~uI}+s z&?@0l0Hk|X30L>{C}@>%DFD(vtAwk2d=#`wxD){Co>jutJw6IrC0q)Cbk8c`>K-2j ztr9K;K)PqUg^SdAs*}S9M>&hYnN7$P&VaBzY@_6Na8?yFx()IUjfuzEqGwCBE^=Zj zdk97M$3zq#8h0w<9;)+2b&tSR3q){A6$CY*2%IWSkV=G7?ykO&fhzifyCB|{uY0!bku;tC=O<<@{h-GuTa{Pq%&nNluK!sVkb zfnF804vSBZm7(E>xWG`srL)F5U22?wo*fkfJvh4y>Lrx$J1PMx$rQ<%q#SX)oCy>0 z!#Wwhq?3tb^2BmYpBzb{oQcTih07U$W2fs-R$fj!5HggYq^Qs^P#WZ@G?c`qP}l+~ zGg#1ouxN-9@qdwp@_w}o6|qxN`I1QMB%bWZaeMku9-Hzzd6JkXLFI|XykKU#F=&E9 z4hx*e1Lq~d`P%kgk(iSx?&uW=jTnPFQfw%WlPzXF!aEV9{xwKUKPE9i_8l+ZH@#Ik^>rG)V2ksqal~W^Aq49WGuJ+HejD3>ffr`{*DgC0&xw7e>+mhiT+N`73JV| zRFP66Yy_<%w?#}Ngn zp`^}Xg75?}kIUkS(|B>nK!<0PyuBa-~aJgr0gv$+~G2R#7T1zc^J|IjG80wjU@2>1xrsuF<^EEB|> zuJb2}2PWEIq+}*KG5;c01I?bRXpW9H2P7l(M>8-%%_uD!S$ZgqbYXSW4*6LP2(u1c zkikJ|k6Gj>Kf`=8X8)98X6jU$VEd>mPGr{IA}Wr zX{&$=P_VESgwckv+Hl)lFjg^bb#M?UB_2itC@>PR5RAd$2}BiDk{Wmz{j7u`47NiF ze(D4VV=*`ko=8x^W6AD7sg1>1>d^2ZeHpq|1to3-y_w6mgj(C^Cmm+Gdx*wf3M1N9 zBsVv{Wr^tqRa?i|h0jW1M;uup@ie@g`hfFp+xVkbq)qQ5?Psr?uzgP5)rTKe)gHU{ zs3k4Cu(WdZj^o!Kw|YhO%PE>Tw|eJ^`X?W?Aq)nT7KfIJNWjz4B3RONaG(SQR=Rk% zl9_r)2@WS+YIe6_Hj2hpgeB{<#2#;L2}l8mcJw2cK_ONcvLjMGC7cKHBK&a)>^qCl zb_*h7(LA-GAgCo}wliaE^=2byF7*C%Qc9@?Am3zCsZBVF1DmjXqmg(_qf*@)=ufwNn2LTt^a)V z%egP{1J>G9t39uelk$oZPx5bX)E`aQW4Qjh7>&KR8GY$k-@WcTN zXD9?>gXJz0Jo+hM@tX^135a5p5&{du|6oCZ!oVK|a)VqU8svdE2GM9eLn!27z(XP* ztT4eclF~mtgF?Iqo=e(b1?&OYGgx9_NMd3fF#cTtPFk;{uAnPa#MkePx{+zK!7s9a zvLpfbj=K7`R5>AR@CP?9Le2jW8UV6D!QfM++*Ltz5pQ1od=2?3*oLy6(DoMpd$1VPA{ zLu?@EeG)pBV1o;tGBNP)dlt0sk10QK8Hq4!PmM zx?K~}gNz|_$Qp70D{eQ)6Y_(Cp$MoqlmOl?(xE}%eIggi2k#a|&8%}1@T8dq(M+B~(*YA4ki)jpGT$WG)i zawb_yo<^=FA0po*zgJgRw^I*R&rp}BPg7s3epLOQ`X>!t4QGuQ4YtN;jfEOJG%jnr z)>PHB)eO-bq&ZBpQgfT;1V)3g(`^R=gF*Jz*8 zeyT&%vD1mrVe5?7S)p@Or%4y9Ypolm%hDaEyHfXdp1od--VnWVy$yQj^_ul{ z^gZ;`^o#Wu>hITYFu)qv8N?Xy45k}wHMnl@#n8+!#E@e+*>I!bWy6m~J&b~lI7Veg zn~bg*eKDpOM;PZB&otg?eAfhL;$+g-q{w86$uX0cJ@k6`^#?=REmMrClWCIa zaMKm0XH8qo%*~?Agl6;2j+(tRH!u%2A7Vb+{DAp03tfvq3$Dd%i-Q)=Df*NU3Xd|6 zQb%dFG_{Pjlv*ygJa75c%HAr~YOK{JtGm`DYj5jp>)F;vteb5tY~pQ3*sQa;WvgoI zZJTR5*Y~7Fes&Y>cG^9)H?ohhA7;PK{*HsXLy$v(LzTl-M}nibW1iz;$BRxF zC%RLv(?X{UJuy8!dvbd&?s=&fzL!rgey^%t^;9x7gjz^lM{RUAaE@~x>%7zXwTq2Q zhRaNs6D~ho>8?E2m9DpGI<(%jv9vw3cWzE@EVqSjSKZa!Bi%>4?{a_Z(bI$DvBcvB zU6&qDpGZGK|L*DKDe~Ot`OM44E6ZzrmHFQD|-G$1vZpkzt3zvEfnSW#Q)|bRtqC7DU{Ow2I7$To>6KMUNUDbtoDi z9UDC}x<1A%h843mrn$FQ?~%RhV#%?|u?u1!#5u)@;`YR2;(N!>ioesxwhzD0&IBkS zCSg{>-9-Dug2cUj34Ig$F6{d_iIy}X=|r+_^5Eo}L8sUZ7d8dTv+(2D6ME)v34=P`0P-p zp_7L`85TKg)o|Q!*6<@EEJu`#XdD?ba``BD6m!&((bl8KkA5^JYRsAvQb}IPxv{Qe zE5?2p*KgdO@n+-4jBlC{HDO(;MyaT@exl#RrIT=zxRcILcAq?d@{clh+39lE^2+jW zQ&>|@Po+(rH??hA_O$cUJ*O|3L72gxaeZdc%rzC-6~ii;X2s9iF`F{GZ1#sagXf&8 z^r&1qmo!&8w_#q~yj}Bc=Fgb_Z9(pWYYRgcZdzozX!4?ui`k1WF9}|Hd)3<2CacR=f3N0OH>^ooQ@7S@?b;gCn(6B> z>!jv?Ox}-)%z^>E!?lafBFH^f$<004h}oma!7dS<>8#e zO-BYFxqY<%(W`ZR>&_pGJ$CYV@Q-f#2{>Jdevk#IV+-_nuy?7{o`0dg7$LfzO zpIAIu`_%2}zGsooE&LQB#-G-F_Wpe0OTRBqz7~BWew+8*@%x@1u|Mv#<+rtgJw*n( z7Qlil2JFy5@2bJeaXJL)UIZI@8nQJpY5|taU^$O$4{3u{!67&neuJ5V&A>A)MzsL)d<|GLU+bX`Tla-N%b?MSZG5jsyy*^eGYb)AkL5dS3mY%n5W6V*Fb7{p zx|2gs^IqCi9QC8~QFNrQM04x#LVeEJ9cK=wD|HqlM*H*j_W%vX?*gyl<}$K)5i8I=|4Js zct-I6aVCEtcMy9pD~rR(V@g>i>}i~Z+0{AQau0A%4!M+fi`SI@lHV%C7U+m<#Xgcm zX-?tDqM60jL-!0jKfH0oyHVKDT4PK~C}XY1S&gSmFfBEjs5eP-GN}w#_PxAy%A2WA zr!`K$Gvmh0YZX^!U7me;&ZWu=bI;8?J^$o_x`l@p?OVKSN$t|@%XTh5P<3*})s+uc zy;=Qz4QZ`GjrBU`^*$TIH}=`oe{i%g5 zrXQ?0H0SVwBTJ92tgAV;@%WY#wI_F-+IxEcnFD7JojZK~@P&gH_g<>Ky#7kn)w$QE zTra6FyfNhFz*~K9hu`tK>vYfbzWV(i4X+w+Jvi31<>A6d6CMkmq(2RP*7LdE^Y1Sn zzdZM<_Vwa76Po#N`@ai)PyJxrf^TVVz4P(-r!AiseJTAa{Fd=O><6{Y0Np>9wSOpl z2{RF!gtNt)5S)q8Dty&#Y8Wz8{eY&O)+`;8?qq$O!EnPb#@Qw}O#{v5nZKZTSms(y zw_a;gYrD&Cr~MX(HI7T2Dtngq8bvK|X1b)hM$!D-sO}aX+H{!y&a=_$qW1xx8sAF4 zG5&c0sewU3PQfN28lkw*?_sUsZz7&XHb&iuJ|9!pdspoGxMlGbeM%FCCJOs>kId!_@+iQS9ilI@y9%cXH?LtOJ*c+`CG zs1-O1=>;L8zGAjym~?vKs-oS+=Z7{9YZ*ZtX*|ktwAYxhlHOwz#wCtVoRCo3XJXu> zn8}f4q2)nSe5ZO&qfMvIaGL2*;V{d7w*4IYO1rtX^K9l@EubtkTV%4>V2SQh?PWU4 z^{R|kSgf>P<+9qdI$%xs+Sr<;b^X>4+`!zJvx&dCaLeeelef*;zPxtBj@>)!c3s$g zYfsbOSNlF5fDWo0(mZT%#Pq0To$WElC3`LN7;L ziM|?pE#Z1neaek~H`8woxSe@t(A`1z2HwwTNN$XN;N4{VQ0w96M-LvKezNuHf@dYq zb6+I9^n7LZ8vFXio2$)--)??a^}h1Ml$Mg#!jE~MvOcGN>HRhE8|}O8592nnLi-nE zy>V)IupL0OP)SmqL^?}$R4>tZtd*>NPB&O@n?WzbmBvOUWj&hB`kGf;ys>n(8f-n< zW{&MjyN#gzw>j22)%L9IwUxTbd85mE*EO`2Zp+*kdd#I)c$RsM^B&NX~mQK5EC#7ZHeFdeogw4{4M2M>bJD7 z{XX|^O@Ej1dcd>HhXd~qx;^+t)^$cb^Cs&qyOGnB{V3;2?o;lwA!rG(9!uOv$OSb>sGq-#VeXbkW2alO{|q zF3T$)I3;0f$Tauq_A^Xp>Q$)EQk_khgRO)rzt8)aKJ$&TYN4?b`NRwfA>4?R>K9 z`R-SHn)klj_hEm_fsY429{PCr(~(a{Kh=FY_VIY@iI$V^PrW_;=FF?J&(A$R-*lnj z;+;!3E?>EF{_4qVN3QRyuf4JHX7#P5x98oNes|)%k@v+7IgRNLVw$`k+C9>J3_X7N znf1n+5T}=T#HI8|6x98*~)90zHIUU=_Fr>;i{@H$(wE5ncxG zfv>^uFxnV5Od4hcW;Nz276;zx1lVe96L@RO!d2lOr-BlNmup|NLwpx_hR?k zcb4B=|HT2-f!l-Xg6l(GhT%Zp_KHl3;zyUq)bu_Z`!?RVPk4eTaYf(yWQ~;Q)Uj#% z`?aR`%3utblX-d&JlHp@kWtHQW&3hUvd`oia&w04;c0{4T|O=BRWMWZS;CfHE($B& zIm~%@^+=mhE63QDtQpsH{H9X+#Ql?_%j&0ar~a5;Ig?g#VRk{K{@nfZxeI$Ny1Hc6 zvh*sO6(3d|uU@paa9#2S_f3YI+qOR2eq+a(T}SsE*>~c=l|xNOJ{{9OK|K|Jrr_NC z3&$>fxax3y@QwMmuHV(WpVU~b2tPy7IzGKip|HI{0cYA)0=)2h;T)ZVTWtaCwkknU@}QTkf? zD-3)LE*bKSNJcfr@y72>7WRnj@!oW~S)y5+`DP0y#ej0wveYWX8nQlYGr>02PS5VX z{W^yt#}Fry)8(EEdNI+qKjAXZHIEkJX6*LC{gTI4`drU3UIK5HPo{5wzyAIi0a<~$ zL6YFHA+tiO!w!VkN4$$tk9LZQ?#+!YkJ}P|GXa!@u%$S2=<(rhBdSK} zjhx7XLv6H5jnUvQ|4VZRyMt+6rthIAuE8otWzaV1a`^77krY={h+P_k= znp*vA?b>yD8(cSj+FZA_Vmo_>-!8-5-}b)T|McM7BiK6A|PnVoscmBpD(v_fV z#r4~7zPm%c$8M;6aO~l`CzNMNFG^n>eDmd<&xaAMM?b57&G^1f-u?y<1^l8r9qcm2 zLjA$!wFnvwO@kIe>%lJ4S?DhG2FAepup`(dN`{BPC16izJA46ti6LQnV&X9(%mU0Y z%zLagHVr!kdldT}=Zz}_do-W$e)tmnDS|FxFku7XJ28>Ciug?>O=X*^j;ciU1}TuV zN=;p@P_2O+OWp-`KIUntX^hqQqFJcqf@4O~Hpo5D!-lTqiS_*I^~L*}FUC*J-zdO7&^IVCm>V)7 zbY@)J9votkSHgS9j~1*i&=M7i?@N0Z?kaX1x_G$Wh-stLMwgdpjGaB+ zY(mXMpGl|72A8)^ojKik#)S&;Y?C>4a|`BMF1WU+d`b8+c=_QK6IR7l8?Jd+vtxbP zM&{;#t)|<)*Ea1uyL->x4g0GPt~tEr=)q%`PCPx0J!^SB>>~H_tgDBvzrAUDJL7Ko z{T+=rnm#;Me`@zUE+it?j)X z_~fwyf{^*)YgJp@_Z8q};|>HJ;>q^g(Pxbo1T6y383;N)tZ58#R|X{lN(7V${3is2 zLSfCCHEY`bPAn)WSpT2$`2)R*mX;Q6@#4jA|7!k7THphjGr{Lb|8+pV`4tfy9K7ML z<{uIgvJv=*1QGG|-v;ox6XXXz0h%;?`0$tiZ5c+481WKG3w-#4i1_+%1K6~J3_wgX zG&HPPzI^$&KU;>Xs;ciu8ju$GJQDGN`1&gW`Jl}KL{VH^+?79@e|&uW6_5t`6cb5{ zepmIRn!eFp|o?2R3`XBq^#EBE%VzJoiNE#54w0}1s*dgC0%mm+G-nMGhsvm!Z z1ENE05L*zDZ^Qjn+(FWx0s(Nyck_zV)6;MLQT`bj8MlDV&~{rS%|98yyD=1r$Kz+u zm@%V8u?&a|(IGYGY$X zo}Nb$x?P6o{wD(RJzg&mi$O&CJ3`C9+Y9J_J0KYAf{5gcL_HAyZQMZ?KLuo7Rcnub pcaHtZv64|DphVz*2m$P}_W%Ef>@Y0DpsOWhCZR0DcG9x4{6D-R><0h< diff --git a/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureDownSelected.tif b/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureDownSelected.tif deleted file mode 100644 index 41e9e688e0c7ce1223a1821367b4c2f5052d8180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25656 zcmeHw2UHWyyZ3G?gwQ)uLN6LZ0s%trMMRJeq7sq-k&whB6tSY%z>10mD;De>#on+h zioFYBuh_85o!vmd=*#z>@BZ)k&ixL<$?ntUnP+}ec6M?mL`OqT5Co|}hR`nv2PhbP zkP8;QX#pDUMq^MK*uhpXwnGk#VL}Iu0kn3fpA0gr)6GV|gGO>2bkK-@!%lk~1e-v3 zdGW9l+($t(VAF1X96D&EEII_PkPV=`U60T7x!Nm0%ck%mtU_!o)UoLrualF7^F3w^EL z?muir;d6bhl9|yi(c)lU4nLw;!iz5+n7}E{<*>L`{(dB%BCn!6aUM^`rWEA~gi@~} zUn@2efft|=G0lpCn#gi}t>mGlM8{HsMG_u`>CB{ZTo`nU2g{kxWO{fo`k|rHT9xaY173E7fywC!k zP-gwNAh;ZbA921!fa1gD(0Bq~9>^jE!PEa5g1EB_DYE|-hC(f`J=!>O%zQwP@Cugj z*fNnMK_n9R{fjQ?LsQPw)dpSucp+>V&kyOnR2L5_-6MhF>cwDsF_}~sq^ERqBDYlX z5e@nymn~!e?!_~qa}0F%@|&%)9}$9YLYM|8ATq);kj3pu>V5I<0NXFi|n z<<0;dm&0B;nT?JVLiZvH4Lf-eRA zX=Jy426`Jh8^rTQ{4VWO2>9rz7PBQ%9x_;btvW}GVj574awHEr=)Bk*WIpiYARU;; z^`ZSH?Fvhgvm+b-FU|R{Advg-mi?d0D9qsrd+PpjSE$uLJCTaAWQA-AFEAVQkbgHe z<$iz9s9b;#4Vgg&{QrTbkg^N@dkw*H=Q7>7t_*4xgYH6gV}qv)o8#e5&EzpXJl&Y? znJx_X&W8S9-w<6rnUlj7X7jjyw9dM93jQ~>-M^a?|E~wppR@n}%R%%XYdiU9{C#HZ zoNfP{Nqx8+uPl)yk1g}#=drVSG#NiD%ZJt_?dmW-T@R69kw7Gg7IArgU?TsU_^-Jl zgM(uwqAb3E=NH14iUsVE-7|O7cI1}Vq}xgjonYirunq)EP?};5`p4X(n56%cL|3)` zlU|j4^%kN8NY899Ts`BXr0s=E36P%IUbuS3M@icYml7a7v%PTjjE|DG7cM10dS-j! z>KPv;Z7*C(fb`7v!qqcAO4?qylmO|O?S-pne3Z1ka47-OGusPS&-f^5d*M<7q-VAl zuAcEx()Plo1W3KZ3(lgr&SI_t;X?x*P0;FfQ z7p|W1QPTFpr36UNY%g3rP%NNIF z4(9+R8H$A@kO=%`K@=z+;z2Sf9}*+3Ad*;N4LHE=DNp zVg_UiqzcWzY*~SV3C$CPC>Vfgm+K%-ZgvL{a+ILB@StE24RTZ(isMo!Tv2{zfT#&! z(G)Hb{vitz{Am{?;U**sWntEF0;FvfDM-Mj{7oJw706I|Y>^-!PGL?e;BmmwJ#bzU zoUiTZ6|vc|(#~Fi(1Hl8Dp%VQ;+fK5LjQA=%b1>K>&9pxa13(NhOp*%S2-eIk-;M369j1{~& zT8|GXuZmv5MeYThHb)W(DFIC|YWoSLBOqE<7SIU5l_1x4NLDUdtdKB(28PnWwbKTP z8-|dv)*(TCegQm$jOF&fChRjr{a01{e@BO6fw%_4zXK`cM1L3Of^u*Nsz}sG+z1|6 zG_MLO>6kSz0U#szba+Bq5kgP)%iF{RVX;X4glg z@T5tC0mwjye=7%%>VQ}We26F$8PcsRVzxw-FaAwL5TVD8JLmAwc*MK>3^DMb&d!&K z!g)fT1UbJ81Q2rex5JnuH%26gCNeLZ0&f4)^~Zv9_rE>JQ1E}3L`$=Of7lV&0$Bn( z`!_2M4o@IR;1$Utr4b3y13ITul}_<*#;Q3YNpYZnpWXSi)09^}qEifNPUP~k*!k%6 zu3Es8$o^uU)G7YmTrD#jJpkAZTy44kpm2o(WPt{Xgb3EEGLaZ86QsQE^Cw9FCfYxw zANI_s70J^h(D@w~p7WmZ-kdQ8{j@ls>5M}|mAcF(xn#jjR z{;b4|f{Y-z{bu`Xh>ZSZ!LZ1SJz0JjHZs8oKe2Q>S}808tPga8d`c98X9`YMMF=XMf=}4Xg>mJtAOCO zu&@<`(T1_waQi(_QMkPx_6JeoVKjk&k%Wa{3=U5qs;H9Gz{BWwB@AJ(ok}eT#=%$& z4udBWRPb1`D^O}hwwiWTM&F?r; zra|?NiFP4#6S$$rR>|BAFDE|az28}S{7QbyhcNqjt0(Q6Uw`${$2GMlu08&glvOaf za_#Pu*Ppa`gePYgPFYa1=hTg-pS2+j21JWPVbx(*IRFv3a~&nTIrheU8R zuCdkCCbL;Gp&~e5pCfg9XG=f=AlfmHT?Rp{GUSFPy32SE6(Rg{1omAawBLrvShP%S z$RBz=cK4X_CkN~3;k^RL`~;p66SdEcDxZu*(}a-?rz&Cf%3{kJE4 z){by5p461{(!Z)Ew{TSAn^jld6))4TV+kIFUbx+S)a>??|z!f}Qz#!>T}3KjA7H=`b8+FbDKD^j%js$Bhx7{lJNMP>xXwu<4hVCqn2_Ks#i1^ON0;X0tODKH2PS1ud@&$O#JWIM$3Z z|H(_9ARpj`CM$3y=SU)uMK)Mz!0U2FQ3_g^IWVSE&IdK>q;v8k5<6**G#FWXp?SIN zkf=^NKQ}S3lV(c*)nUVzMJ9C85>cGOKTjGO-zm@GMIwC#^(hn#RM1)cu*gn%aZW;V zCtbi#8rVrobK?~;6z2phYrh)$n8X^J8SE-xfh zAr~epViwDS6h6fQw6CM_^911vxwIf&kyj>3P{@a~`y+i9wHM1`75G4WC>pHGIWq8^ z26`x1Bp!)AxhR2Pl<+8#LXNZimyRF^8FPpY1bv7@#}aICu}dZe{=LqF_PyLC%NPwo zb?KnndvwXHNuWD`K7Y`flP@Wd`@)Zpgiy%Q3#EON}$P5IW!xZ4=sk4L#v>5&}L`{v9feLp=b%f_HRul1 z1U-gcLak66^c_5Bh_E`W3md~0ur1sdX271X9~=q~faBm)I0Mdxg>XJR8lDK3!xivi zcqP0Z-VX1DkHTl*M)(%o3_pk8!{0Di3>l+`F~itlXc$jSASMcvfEj|x#*DxeV@feI zF$*!(m`#}7n4_3;m}{6O%uCEC@KaxESOcsjmWuVn24iEeY1k~R1UnX6hONX_W4B=U zVNYSNV4JY7uwQWmoGy-nqvE`A5x7Jg2R8yY7B?NY7`G0$8&{9Jf@{XL;(p=P@uv8` zcrSb;J_VnRFT_vASK`;=Yw;)W*YJ<=Z3F_rfM8GXAVd&S3Bw7a2-68m30nzA2#tgm z!Y3k;XiV%&^d-g+*+dy}GI0@c6Y((dGVw9-i;9|xg$hF@OeIZ4s4_vNQe}h6A(hK2 zPgTCFYN^_)da1^!a#csF&Qe{ix=;0@>SNXKByEyC$(NKs8cr%9EhKFrogm#MeNa_$vJTma9869p=aXlWYsg2)x5yvV)z$6P1Ju*hW$H84 z*Q*~_zpws9Ls!FDBT|E_F;1gOW4Fd-jW?RAnzovOnnN{Uq|0fKS{qxze@k0ev<*#z|J7jKwvP-V28nV zgKvgrhJl7W!)bVB*LaTc9^-o^I1?w6K_-PJ z%S=v~yy~OZ$GZ=wPg$QGeQuj#Or1>QOh=inGCgnl$;{j=+)Qk?$n3b;D{}+$0Q2GI z^UM#KKey1e@U!4s%(FOb@q(gH38V-p3n}%KR!dXM2+MrSm6i>b->vMe60Ig!ZMC{* zO|tg1&a$3oeayPm#=<7rX0**lo7=Xkww|^*whL@e*?zXOw@bF0VzJI)6BOIz7t~wGNJsoo$mpWc@!Zg(KYTw{KViS> zemAIOY9O_Mx{=!KY~Vb=d4lsE=QlJPS{iK*?G){o3)4m5vfAYiU5DPEK7qcE{+{8) z;4rEfS6$Uz!(7L?*15iO>+8mITjq9?smqLJPGKHn{&e?nm$+|nf9_%9k>Rn#?@He$KZ;+5 z-wMAbe@lP1f3^R^0P6s5z}kSPfsTR012+Y}333UN1l0z84)zKj6MQ5D8xkH;7Sa%^ z6Pg&hIP`v)Rakb|#<13KX85S^BN6zBsE9ccHzLgPx_o3l3bD8ltN1xlX5QAB$c09mqtuWN?V)u zX>jP^`GX&)Gt(!hUms#Wq-e;Qp(aBGLk|wq9L65DGXtNIoUtL}2Rnvc&Hj`bnYkph zl@rWazNapHrFhiXY5h%zrmLV)*jmpL1h! zYjWEK$%3tUDtQ@sdxbi}Tw%S)TvQ}#6!#TR7B`LX8Zm!Ft0YRYRtigpNb6*JU~zLk z-ywfeesh6eK~=$*!lc5TMcPHeqVpr2Mot^~v^cDI%_!U`&ZuLfEk~D(ZXOdjX60CT zZ06WwleEhl+Qb}&fg$XVbDkglKm^^V`safgx(w0f#lQvG)m@JumV~Y2b z}740jXV7OXoY6irYi7eN_gTwk6J`r%U!UVY zXI+JMMR7&T+~~Qx=TYXB&HFfi*!(kQiex*Q{S_ zvbKEf&l+J()4I5I_3J&>uis$0Vb(^>#{7-XH>Gd7v^ivR-4^PWm0JzAmT!Z$WxL_sBX_s%$=TCXms;1jxBuQ_`@Hwn?swi_bHMUI z)j|D(vks9Cl^$w8TzvS`5%G~%N3)N%92<7*&heDvSL+AWH=Kw%ar$J~$>XO2PaQt( zd-}i`uQPkkdY;{L&i&l(^UU+L7nm1n8{8XqU-YU&$^czh#xi_EP65M)syWsZsJLB)-@0Q)ux>tGM^nUdN#|K-R+?x(I zhcusm82|823#aAfBk7|bk4vAZKdF3b@pSz&#<^Hm--xoW+Sfg{XWsA zyUookB$R!Y@2xFtJZuB)!tH|{yd0TM4t>r0X;X33&(6NYSu5znjPH-1{ z4DpO$F}=*a3EppfZulPY+u*-AU{+vR(6r$4kXfM>VROUhMa++!-+x}zoB=bV%Lh)4 znG`#5(8RdX_=yRniKR&sl1oy?rH)D~8Z1p04&e{w4&!9-*twbcoD%L#UR732_RgF` z{L{l5b8ib;@?Hts#Mlu!5?d)t7Mq`4Fs5)$QO(GG#SNpHN53D79j7(kq=YiTdZJY+ zWs>P+qbYh*HK&ovaAiNs+or#r@oZ-Eth=*s&bd}`W$xv9m*+QDUR-ct;n_u}7uQ!E zS#n@$-Ll%{yH@O3d8qpIs;jFXu6eum=Q`4QgALXjoj0*Ihin(*DNU%bTuLUtMr*`t_0<1viJ^8ghHkoshd8_nhvVK2U$~tLb&~?T05? zwm+(RJn4z(Y3j3}=Y3!3z4-a^$*T*mYu_w=JE>LpF6DjD2kJ-TPxw!*ZFfJP{IdP) zl5dm0i+`m34E{xJH$eA_<8Zck6M{1_LPe;$Qw>ATR6nF?r!`lHq&rO? zXE4g}n{k%OEmJ?Uh2}3QZk9P#v#i(K)Y{hB?XlnPu+DM0Q)S=seq*U4oHJ>OF5z@< z2G!NVO`8cb-@7+^T=G1`+Tc~`J>DnRH_^}E-zmT(P$LKz^fS0E` z{p+GO4OkIfF>rFs$XM|peq2^OCm}O&SkjQ>w3NiuL1|HgL(~0+cnqZv>zm=gw$F6n zIC1;&Xjv}V^c*^$KHMdjCZOhlN3Fy z<2=R(m-L?yGcmR_c2dmbfl~%djhq%%7F6y(-D`&XO!_S9Y^OO66%KRl=h@G8*saI{Z%3`(s8roX-8sBvx>!UWrZA{)YWOL@0?5)CW z1>48%n6`8Nu9dZ$ckkU(Uw3iu?R_o#Umy5<2s*5CMDwV@G1KFg^|mJ*Pf}00oOV6K zJnM0eb>91ePlNA8ze@p)L6<|XL|l!!7IQuBM#9bHTdB7P-$}na^xn|>Lms3x#WzPh z^lY(xr1j|QgxxY4hgMIVz?bX(!@3y_K{!saG`lph%g3q~M zGQK8$>;K*F2mPn*FXMKyQu`NSJ#lJyupL0OP>EBWN;*$=R4>tZq7|=wK{r5er$Il% z)y769Wqn%B2AS7bytQ<(8fHDtX1?ueyDgyocRJQO)%LCJw}ZOXc?)fm%R2gM#tPRe zw*|}!_cD)(o}*b3uPpC0pJ?9zKR3|&)`8|hrom<*W}%cYN;oCLJkqScag@OTt!VN< zVhkpxJ@&_-?{VMaeie`egP*5A8uDQ1onbdKuCs4s-s0TjHuGAt z9%nzzdB%S}{CVy(!PC5_!e^q_;x-9Jsw1<>cQ1%699)z)a&+fGw{YZ}%z)LdM5as9;&7dBqlbZ+z6EoZi# z*>-mOg&mDMukE^B`(Ss=o~Ly$_P*ZNy8r!wj|V>;`h58FkYHlyTv+(Y$dsFU@ zc_3}dZccp|+2Z-g?y>F@=*g?6H=or%-}a*F<>Xf*UZ=kaf9uw2{m$^c<_EQpq)((a z(r3~a(pS}QD&L7e2tV<^uLg01Qvv`z5zDtWNe>K^?vEkHn24~V3=h1!KlL6&G?qd_&$z(E}M=rvo127&YOeJF8=_6UZK++TJ<%G8dsc((nF8}&~8-cHaaiDK|gvEsmBg!K;^gkc< zF4}ltNQ@+Q)u0>k8VM1J6Os-lx25(=V-KF6es(B4%qydSU7Oj)_2QLeoy#%gXAj>e z&<4M;d{*3V#2m?288`oOVQ|r&V&_pcV{FE*9&cN+Zerikt&^Ek4o-_GyD^-ZZ+K2zT^3>o4e1|9p88C zz^Ox5jI+Jkj{^s>AhRHy7Q$eoyZ~TysUsl_!SJhP~ME>f77s zcdI|Nw+;Pr2j5TXLl%%DRhM;Hvo3KNPMj+u)&gn5IdU=y)3u&2OAa3F31?gU;9ABSIp ze@b8yCJ}BB`w=G+@2Rj<7OH$x9j1Dct za3Aj>^5n46y;8hWeA0X~{Brzd0TTk}2Gs-~3b_&bK3qM*DKerzKdOAd_UKzNxLC#@ zPTYd{hD4R5(Bz3JM^oDe`=%EUsT=w^gT)@3d4j9SOV8Sv{fi$ze4_xLH%z!+Y%oG9 zxg?|I&nfs+ls@w0D8}gOv3ldCmB16mO#D7+%oOa@8D%Er8)o>S+s^y6*RjLoJmaV1MJYTI8 zZ+g<}bo$wn^BWs(Hj=LRUn{z?>(=|b)cf3~%7-T&y?;u19`|zc>%(uqy=Q$K-FEz| z`uDV-8x`$u08zlNw==;mQxuc}Hm@bnIA|uc1lk04kS!@94-NS zLc8FL@GA@n(-#wskzf{MPGCM@t+7ei>Dc4gpEyrk0obGYg7?Ok;Li|r3Bw4R2|tOk z#5KepDoH9kRdrNlsy9h~q%~^lY6WUdu%V_xR@d z!wciB=40e*@8{(o8^8~o6tp_{M99-Hm2jtssK~tjv!nJ5Xc|b4@s7~amJKU!n=xmW^X!Wi(s?HH>lchzWV!g-lJaFC zE8vw!S4~&Ea)Nw;w-zqVd$Tv)J>N z4Z)ZAm*-wRa{b*c+dFCZ${*}*zS;8eiTX3U7lE&ay(wv3^ZvreFQ4tcrhK3NvmR-G zX_hMkeWQTML16pwetY`|JMb-I1q31U!}sd;_MfZ3%f?*@IwFwox1-M*EeKiyo-+`1 zvbbeDa_>!lB7ghPlm3<;$V(7CV)wWF$TyOzAX!^m+W^~!?mhs2*2>Dt8qxnPZ>J1ABQV+^ z(P*>*uCA_MI(&Qve54jgh`!VIpYC{&Oh5u<&PVct`)q_qV*up)PM0|BEazyCSsf9`Ydli|tk*XEmV-YGjfabjE? zF^HV(3Fr|Mc^xr`GABw982U_g(6CL zIK`bt_oO(*G1)u;B6Nlj0fXklp!-s2GzQI+;o$)V1Q&~#>^!cN!s6!e1c5eh_Z_mK z@Hl}s{k-C6aiVZ;E-!kRn42`LPcnO09@~#&6C6YeC}tGri}JZrCZ#x^FOV>b18tZ{ z1PnkUVmBKKY9h@Gw2_6D7MDN?7mB$QFIO)ro90fZ`1rZfy}W#U+OMwwNc9@`M5k;+M%17DxkaY>`M=F6kwzARNZM=m+X5xYLq%M-M6N_wAZBwT3%LTR z?eBu%u;qS41!6vm4~Ol><#Y2v76}NR{@V~l9bHJC{iiVGYFX{k#*twb0D1%?T+C%k zh2mtPkRS91T{6H;F;iz7bo%2)Fs0ler1w&3K2*9-vbzVv!-wGoSfr?1CY5hIXDnF2O9CL##b-Id4VFtS-* zo-CHT2i1e_;Ys!M=F+H4cV9Nuhfe1(=^iW(UvCat$)B_T;yOaeEREQz>uSQa#<`Yo$lj9^<{HBs9cVZ4~@?9@?rVZZ`}M+R5VWl`qR)Z z{S5RrbT&xh4*6Nyq2Tk-Q7vMMC0t~%1ln|r7Wp(FALU3MbkH%FY-BzNVj~@x3*i1q z+8LHSXL~l@ug&>q5Xk&@$^O@66y9a@P9(x?X%SP*4b1^PM+e>g z|C5I3?8)q0rXYvQ33BVGTZiEPrMCOCIq`3|-LJF%|II=4ueF_QH2yp@cFeZF&ZGex zHX~ao&Sy%4c=^m6uA7vXogLuTDedeq0i6$#a3NnPjuUdYK^_5azZ3s9S4?<#f>@Z% z<8y-|coGqxIkao$F533ovYK>Rsi6~$ObXV4URt1-Gd=#`QxD)_U&Z^*2j*o&?1(yOK%2^d$%JEUqs^C%p zL^-R1OF2FYS`}OhfGB5Ga4E+}L92pG0TAV^3NGdNC}>r1DFC9JRl%hk9|f%nE(Ji8 zvnsfhI1QjU*;Rt1*=Aj(-4T*~oL(5m2407N;f zf=f9*3R)Fh3Vs5W0wBs+rErltPjzwy;3#JiII{_v z!x<2^n|;(TcW`DEGrA4(4U37x*`sGnbspD@NJsSHQS0!y^jH}h{)h_<6DNz9SN$(eAmAiR?iNIRL{EWSjp>60TZlrxd}{0KP% zaO`v)#?H%W2SSDtlo%Bj4x&MhOhbtr3WXyqV1)?l5f)8RV!YlOXBn6$p(OgF6y7 z)SH_vbE8mfGC0-zyJC~re3?8!%nnIMJfKO3Ef$LUfs=CyNDt)+aysDCLKKN0rZAyY zD$M5#1v%|m$Q>Fagf4Q;4tXLkC%3CYqeB5=liMR>1^ZeS12hBNVer>}N5_!^s?%yO z6x@QxKxlu%zCmT05X6CHek@QPIax0&@jc3u5KAPr`_PnIWuOt8%6Ut)b{|k)9le5! z%r`iTjwBLNE}CG}wi%_PA-C*opy7inL8fh&ET6wXE^!AM7|Hg9(i~@wn=cm-wphM9f5W)%y z_{bcLREq#k#S1tRg}H?-r2`$>fsg?y@AW{aFlwN%&e25yYACUD@E|-v!soHMl2m?g zWcb5Bm4iohK&%HoM3jk%=u#FjM=UH5{Ujm?(L>1{Gkatb;$3#a82Hd+7D$CrTme^% zobCkz2ss(tZcLIHBN9Xtlb=HYxBqqhvEWqxPmebg{GTOplANC(fdnRBn#|1k$x4gO z<@1xd#nKo_baGtpj!9OnL;RDmdah7BER@g7>39Ze%PJq;AqF)ka=6*d0(8<>FXW1) zzcEkk5dUnh!OB682X+BhSLQz~O0ED|pguwYg0;F-C<2QI3AgL4O5%g*_ZKOdg-+MM z$TdK-=PH_`qs<8^2&@i3cMfhsY1zm!Kxw24lTbUv0>YdI7i4fy+CN$CSvNu^5ZrdN z?KMP3f6!o1cpTv0Kw2mVamE09xa|&93X#>+)YR3;>gr@&4U&egp*ESUZD^veZ>Xfl5F35Gd&x`#B!VM}mzq56SPkN_ z72!#SY>DSPdjb*w(ZTEJWe~&)V@_m>x0L%(9>QNo;Mf^L+ii%9Ma$HMf}!T**#l3c zo$SXBpVyS}WN|1l%5(g~(V3$*1urWox_r2g#fR+fb#LnSR*fFDw5npMAf|Zw)wk=X zzib^ad%y0)i1gX-zHNWK#_GYoXPfzK)BfEC^l&Td~MwZ(Af4A@n3b8;C)G zfL?^qIWl?+LbGIaEozgT2-c$5o8aem$V{dfED$vw0Xe0Rodf)k!Q4U66L5F}@PIM_ zbPzaU56Uq~12#SK^Mwdq3TP)*7e6^&XeN^-_sL}D$Z1(!Ku%C_`!Q*h`8O~5`~rX% znry(8oGXq_1b47Df!E{-W977f)hE6~&I2{-pmPhNQ#xq2Bpg|-p?NvXh}aIgATK4f zgJy~W)o#O+#w2&pVqv1(KUWf&)FIF1#vpwK^(o-@k<;0{o-rNrVY$iuI_N@PYM%~T zl9wcpVOVasTrMt1l*gPc?kTThKKkY%D~rwSj6s^49NpoQD@l{bz~M$j%H@I-dCVed znB1p`kM?ymel9;sE|(N0$@5CZ$#VH%W-p}gqV^(bf*c=+2gQN)JzEN%>_88N3q?cG zXB{OJj1n#-M!N;f-;Gc00wD09kS=I;$+MNlyy-%mi z7Q6?LL7zWh%PtTX%KYJw8y>9cwIKt@6taYDAt$gNcZa+oe<%csgnB{o;Eg058VKG& za-n?iK2ijYfJ&eVP&s((nFB3=mO?9_HPA+A8?+1B4;_I{Kxd(g&^71|R1ZCdUP4V! z3-k>2MaD0}J2+cmzBSE{7}N1@LlsExZ-p z10R7;!Hj0mcI3fN{h4VnQ*om}JZVOb%uUW*DXvGYvBjQ-#@p z*@-!VIg7c5smHv;G=rZG)4&>Gt+7EGBFw941^MG!mMLM4~CN zJ28+LPh=9M#0kXt#0|tl#LL9T#LsFPYF29QYCY95)C6i{)hgB2sU1|itoBsxo4Ss= zy*fiZUY(;pRDHVoO7*?!b?T4RzmarFj-)_RGHEcWgfx$|iFBNFm-InHL&HYHPou8} zPh*V6JdG_Hr!*QgzL53EF63}>Cb@t-ja*GWOuj|_psA_ppc$f>p()jzrny%0nC5-W z&szFgu39l#9Ieq>3$=D?UDkS|t*&ja9jZN0dzf~m_IB+$?N>VLIu1JFI!v8WItz97 z=-kk0*45Xg>&ENm>rT;Kr+ZrWnI2KkK`&B|qgSf8LhqPfqdr#ORzF;ytv^nGrT%gK z#|8ugM}ruH!3O098x1ZPG#Tm{dK#u078@=!JYZOFgf((7iZS9FO*h(RblvEyv4wG{ zG1qvq@h0QT#-B{OnS_{dP0CC*n_M&bYDzJUG|e-eX}Zhwo*B-}#jLMck=YWn<7ThA z8FcgS#_m?uZCkh7<`{Dq^F;IE<}1w4nKxTlT0~ihEaqDrvv_4`WEo;P*mAbzLCfb> z`c^?!JgeDOhpb*u3@M=$K4l)ImeOQxZXIo1V7=V>g7r5WN1GIzu{N7+?%9%TeQmRC zXWJgNZL+hni?bVHx8Clyy}G@xeXjjn`;+#c92_0`IZSlesj_K~*o!5PF_e(wSJ^XqIdQ|neK_yc| zsfE<_)CN~0*WRvUU3a;@akF#FaGU9N((MP$i^iv|q}`$G(R=Z3F=Z-Va> z-&1~gzc9bie*68tFuWO3#x}-Vf2x0;|2qF?0geIOfRzD_fi{86z~zDUL6o4Zpk+bz z!Pddd;Huz78IWw>N0fl(5J(C4qG)GH=I5E=m_f(B_kR}hK^i53LeE8 zb#%1t=+e=T$3%@;Q$i}qD>*-wHnw8y$8r6}?Jcz^9aGvkK5G2>30f1x6K+iOpSW}q zZW3?Og~=Y1=TH7o#wj~fPAji0|2~C1<;+z2)Ol0ere#mNFx`9lk{N^pgGxe7pHG=6_$1yWrZwu!Wl! znJ=2W=+k1(;>$}ymTX#Tv9x^Y*JZqAHAcD32+ z^3|=?g6jG;iEC=t`m9~M&V1eU^_cYq>z{AP+;DMY#Kzs5sGF8=Hriai1=>=u<;B*l zt=G53Zacc&cl)Lt_B$5U=+~6(gm(_z*|aNnSN-nv-IwjH9b)x5qV<$sT9y%3x zYX51*={;wB&+IzueRk(LuX8o$z0TKM@V>CK&ZlnoMZb%CF9lpWcscm;kt-2bPF#(- zdiGkMYnQI4T)%lE^G5wm&dq1H__yBOF1-Ei&X~LSyJh!u?p5A5zhCvh`N8IT@A?A` z5e?@aCOy2<$ZmZ3Nb>0Wc3XU!Q&} z`cC{luhqGA?~m9YciZyY+Q2>}6I}~n!4(7c@1Xb9U_&Jxg7hzfS7dai!K&ae91Fk2%)w^hg7BV%o!GvRazgwL7 zPD=|bF=emyds{0zANx>;D93OohO?K8Q+LZAx>OwXlj}3L+q84^L+;x=R(Mu;jrA7! z4DgNi^I}-~6a3!<+z31zv@Uo-$n?;%u*u=&5z`|pdd`ZP9X%&zPOsUqGkZ^qEAKNY zetg2XzT*;0lg1^Nrj(|R?N^dEI(>LXaeqmsU;u9*XAnD!%gkdHuuC}8xC^tZbGGLm zrEUq59ci4sD4I|!ukc=wW;r8}1GT7IzV)QYPsAFg`4x^)d{t5 z-njMA!pGyE2%n}u3wz%Eg~5x~mrq`ue_iut@!RoDf_G`}!#+?ynl|H`n_BLEI`Mhy zmqlMEd=q`oXbt~CZ8JjmoMr7F24BKV#3thG@n!^9Vzin-eY*yR%+frl?VvMDkEB1@ z5N9;p_^WBQ*)8)Ri+PqWDW2B3Hq&j_+SS8I?1tXU;wt(~h##6D>dQ;aPGTpsQU;|C=$Da}lHNBXwtr-1&;Xx-^g-RToS2R* zC$4mF`_7q%jg23dP?|74enOv#y(h&??pYRA9z2CH)q5I!I(3H2Os5K`S&p+E=Qvh6 z%(b6qH{WIfWue6)v&BYB^q1-`(_3y(WwOF*rQ<5M)!x;CYa-Uhu1j3sZ^M9%tW7za z1zQTYj@~wT`B#$E<7Zk2{~Bo}``f zIPG=D=d9m3|MLMC0_%bxnm#Z}z*De!Ksj%)0~c4ZJ_#K}LO2 zL-a%6M*BxPkG?#9_~gvfZO;}wFL{ysGX9nKYl}D7H!t5_Z94L9%loPil^>@xm$Vdq z%KM!4CFN_cZ$aPbt@b}m+sF#-UySv|Y2d+j0MSYKfZu5qd9UejY6b+hXxw+*y4^p)<* zJQjM+^{VhL^BLzm!cWY|_Rk223k(VJ1g&oyY8hr8ZV_P-N$E+6qC{K9SoAWDHR`Ps zNA5$6$HccKeDC`$@oUoe_~g)v3_i}Qz$7&c}2q7myx?gCHK z(__w-oE}>{ZeQuP@zoO+O`I`l{N&=Yyz&84;-`jA^O){9!+fSeh2|{v*@QXRN~p4R z?w5JZ^P3jDT=;lV{o>n8t}Lxvc5eBZsxvFjt~|Hu!s-jvb!+O@)~!3g{``is8_#Sy zz4`Q(Gh5GZyR`kvJ#8Ke^CYSAX&DrJI+pT)A-d)U~76_ur_wx#?E*?WK3--JO1K z;{A~iB=tEB=?`NXeIGeI)_(#$dG++>v)bodUMze$;nk4WnQx-rdN$dzO5m6+jIhNnt@O>_*ORy;)CzFCW1H0mC$zR z7<2`C1U18Ia5vZu4hL_DLU)!0Vx)|Q2< z!ac!L@dfz91TvvNVIvVHrV+QQX{qtmE~tB`FCbw_Led?LD2;7o3-V-gizZj|hE}ZB z5p9NcjgE)T4qb2EeR^SfXZ2I`>kR}3KMZFW*&FRQPBs2uQeo<8ddqA~H|K7b&4*jq zTAa0%T3K41p$xTlvA$2(XQ6M)FIN5=y=+x+&Rug$K^`*`8}A_9@NjSr`+b# z^63%o7Vcj??s^{c+Tva1Gv9Z%Uj<{9|J;DZfz?4ff@?!=guV*Lfxhk2GcigKT^_Tp z*SXktai)DD;>8Io`rb&=N{&t$n|h#MOL~tCX8$>vX9mK97+HnP8deL3!7a%?n`_L= z8N8RT3x2ctjHt(unc^=}PQm4(@Zw#=T!&YWv>UZ@jD5+PaotNdPw<*}U~+WXjVZjT zKc-jCq*v6<9#UyI_rQGK!fuPME}69~y~=LI$5kh)7p*N^pS00qv+$8}FqPsg1da(;f@@k<}CI$a-hbN=n?_Y58+HdHiTd1Cx*(2I4i zzP^onxAH?<%fQcvzd5$fMCT7Y_@2`c{4%yPEZcu&nwZJyd!^+D<X65Uq22Q&=Bfmm@ z*4jC-mG9=wUl6(Q!{QZ7QucJ2DSjkHalx72Q{*umN9zuS1v_kFJp zJUjI6D7M!81mjfZnUZtsFWkIDx)OY?_{NS~@9$FYbLuM}9)I-yDdl>reddHk6~MJzPLiLNAnr)k1xTWCg>9e z5jGN9i3!A2#P4dUYTMQI)TQb-NkODl8k!n~8ujE@@@}y6F;7cFYpm8+?LzGjI#Qh$ z-Qju|y)u0R{iOyy4E7qv8a^;8FxE0&XA*7l+;pm$huNKOrRHwtcPu7adRacQs-(nP zW32bv6x;gPez7|U#(!@|L-2mT!kOpd=F-yrP>(WdKUYWBuWog;)$}p$13iK~?Ywln zvEJW&zWRP=VEi=#OadK)7{Li4ywLGsE5naRJng9#zK?PrnLnVc=zYB{XjLxZjIO8Aci(ZUTwbi_rH z2L-(fcNaSkT|C@i#I#WwqsvRQ#?CIa7{6|!-=s5TgUVZ`&YbQ#qpm_S+iXtl+#&O= z7hGFZz9eE9y!^)qw`cFZjR&d^tvRyw*rDT> zPCh$>J!gF({37r2tgDBwzq@6BC*xlEgPjdG8$UkLeCF^X^wpp@B~7c|pa1yzlf##^ zZ&O-pk@lBld$^--6fijqY(L&_Yy02;zL%_kAY^{{R@K(lx&pjx+=ZaSeA#|G`mE7` zphe(013@Q-HI6~Gu^?$_YuQj;sc-*o z`AA;G2jc5@Whj$@ZySi_Akp3FC4aYkBroCv@ujS+-|285nSkWujF(7%6 zyoe9P*YClq|@lMFMk>XVvFQK@*+MEU&_k*D;-#~Vst=q1t}mP zVBw#ZkJuu4ki3YGzw-Ylay&?8Ac6lwCBVze>+XMw0kJ`BkvvG=KPf|*4T2r`R!YMj zq@bXnY*7ApB{6(QY!F){&)>yeF&+d%J&@=iG5i^8{;GVSTZ`Brw*M4&#TdYMg9KzO z`TP5adU$#~R*V6Wf%3x;8^l&I|3BpsERlbjcK2|9jeHOqk^P-{PFY#M(;?V` z?_M=sKmy}@H1a`cME1YJT`>-1J~aXf>FY>B=)W_^D*F9zc<`_4)QsB`LjN~;{|#GY xd?WK4lK$*o7?qNB*`?PuHnctM1oj7Y;9OM8&kP@U1{e*CUg29Pg zu;@(#&~PsrgVMkbwt%r+a$pP-x@ZibHM{*}VPLIZHo9Fjl3K5eM*Qn{+v6bE2*OLV zhaKR4GTIe3?&Zg>i$?OILEs8m0m>J4MQI&CkAM?<>@f$B;`lrVa^a-?5E0m$L6Bd@ zlo&*=avRWNr*gVuVBw~U5F3L{5EPXPY!Pgvf28jdAjnn&>bi%p_zX5BA(t=ai*oq_ zN>~`h)rICxv5TWKIXpyY4|0zQC}4}}l;Q#|Pvl!1 zU_nPB@C7s?cDA6PCgS`63u$O+aS4<#zK~7vaPpusU0i7tFCQnGhliJ!t0Nk!vkT3c z=0>IY__~8AT_|0LMIZ@K{z6u^Z(?|4S9X94u*emQ1-{PCMMXtUMQ%=fVU9D+$H&Ln z#nsu>l?p7VqES3Cy_m`qSxTLB`w3@@m_m*~%;EDWh+jH`FA)b=SRfh6j;?YQ2xJ-Y zL{4ZKotXRr=VH3Rndao;{4Wy4#VJl!Q1Hi;B5_0^h@`7zf6P#nJW9ZJPGpPt5+Rcv zQOM?rE&mh*iz)LXkO;XbJ}jm)o69Z$Nkkxc+8;v@bT=Vc@?XM`simbyD@Tf%KWGuY zVL~=t%oir}`P{(2Xp;WU@`-xtpvNCOoGxYuBCVI|;zgx-CA+%$y3%~zJ*h58OX=lA zYANR<4zx!WT}=Pgi+6H&AL#An7h8Ehd=@8r)L(h&vHaCXT%2zVPb8-EnCzJFKu~rk z4u|FIL1VeI7%We!8_V5?>h8&+Q|TV=*?{$A`7k_P={^isw2;3h|IKwcpD95q7r2&o zMi!q5+{>!W*Tu)%&D({UO?788e5f>PB^UcLil(Fx;sg+1{Xp+1@mor?kRAS^nVWx2&Q$ zBG8^j^=fCJwV|Uy5_{yY(ryKpgZ63xT_|EBoh87cySK=O0a-6c(x9Erm(E1SgFq(I zfY~g6=U=2fVaZZ`)PJw!|2mJNTsBWp^Ow3pt^TzW5kFg8L>IC{azG3D zyS^#)`)fk^4E&vu5tPgMAE*iuz3{(R5iYJ?G!GVNi#|S}8M@Ovys18H7f-6Ik0+hR z^mg}hWrKe8zoa61S~4@2&dXu50-d|d)-Cw|sqX%6O#HvDyWdCu|CgQUKUR0r-uUat z*gc^CK9c&gn7-M3VF6tn$SI)bu${%6>}-GM9%)a5@$Y$vgz>q2VH}^u4s`Q({*(BR zsba#y5`_G04woGm&JhW?^ijPN_tJKymX@T~Obs1iq*5>s1XECF*&Ot@u}3yY|0ju_ zV*Mw*%K7TcL=F(eY#&^T@sZQ^!6gTXVzv)1#rVi+`{0rTL^0b3mtuV6w0&^N0iu}g zgG(_!a@sz)Q?nfb-t+XF`@@2*sTf<6@d`!E{&In1rjk}k?pcjf=Hai02=^Nix{4m&E`o85CuXb z_b{#y;nmT!Nt|NDB9tRW(jaQ7PquIny?~t@k(LZZ(#)g@z%~MYb`o1G5yUg{m_SK} z5+EVO2Y=ZR1xkY0kQkCc0>l+W63DCphq?*nig{fTkr@&WSIps|E`eSdwGN9L8Y@M^ z4{?E^f=f?{wR)8}9^FGK0(yPKGE5-mbr%8@k|C5ai8-P;851Vth4nBzaSt<)!4=6g zgL1@$GA5#c8!lr2jy$oowe z%KhCgRLDwB;fW(H6S+v;%8pPji}ELVqKGR-FjlZAAi2<%^E^O&QgEm0TMn1ZV+lnh!s9pXVE z(8lS2W&@fDjq2*b9;l@zxPs=;*@zbVFi{Q}ID0r3l!LplMxsXI zM)1I*)=H?PYb?P8gM{Gh!W^kv2;KKDttlgf#UkaGmK&91Pr^mUV5C?Cuq&R&63LA%Ofe1U&<2EbNLi}~Lb+Z8h4%C=G~~pd&V%p- z5tqYci&D7*k?s%wk`Er$0kIZ1i6|2j-YYL+j*u@A{30Uo(M`$SBYQ*=;$6DK82C`7 zOT_#rHjgbtcJ~4SgzOCNGA2ol5ecG+DafIK+y8X=v0zvJFON4A{9h$;qMTnJfdo2N zoJ`O8#Y&CI=5mwS#o`!IbaLFl?m3#;POA8;}Ee0hgve?;l z2|DO27qW%oKbWU>i+?p&VdS9O1ABq1DfJ&3B~yST&>%h!!CG0&7l6rwh~0ZsC2_&< z`vt?z{t)LS!W+C1oYDvNBmyg`}dX zt4=1X>l$cl>uPHoXp+&R>n3I7udu3$imIBbhMJm&j+&a94sub`ktWgn8wZ_7AWbC@ zyapDwfH0acRuk^L2MP*zHo!q3N<54nAYkOcLNEr0ClHmCNh;tG^{WzwFxYOT1_a|^ zECz?c6A4OqEZGexHL*BzEgC*#FkRbXWQi+5XYQ))p_W#EIocj()uCNcK+(gyB0KDee`in-HB_D+f%a( zr&O-pee(K~4zH*oIYmAX3tXrc;Rb!LvmZ zG#Gctmd+FjLJ|@N0^>g&z)8n-)D?7viun4Ikph_}3w(10#F7AP7%UO90MNU@xs53h zg2^Qo8ImoF!~%q#252222oTU!2%RIPw;?n`N;jZ3$%$abh`k9uibJN;gdF|gR-5i&V1MHaI_94hlE;G%6Eji1eplF3DdNwTzJVX{n~M<0N+UDRG6PLSaP zaiBOb3ulVK^B3r$Fuq_E`b46HfL_9;#PFC-((fBV5Yp!m8wmQ4i1sB|?_!Tk1pNCp zg8IGOBg+~KLG>A+*?aZKEWvD@4BGrbOQu9vDD{U!Zg?>FR)=&TL&y}egzUhq*%k7H z{Gebc0vZ6tgZGA^&8f{2u;_!D7f59gGRa2IGwJ#)M#EG0B+W zm>kSV%xFw0W)@}$yyAOK`dj;E!eTDskBjB`g6dV=jhl|Fg;F!3PxN*1{xFxuCxZSu0+!b64 zt_}ASuZlOu_s9F22zmrtf)^p0FqDu-7(}QUYVslN_n>OYUO>(7nL6?e-^+m-InJMa4qJM`f@IM`eP_B9(0_r&U^1zL2%Z4&*R$23bO$MXn_uA>Sf@P*qj6 zQ4Lm2R~4(yQeCflT=l-{XEkj#C$$(gmfCo=rE0s?E~~v!S5~)H4^bbXK3cs}eW&_G z^;a6o8a5hX8gz|u8cQ|yYTVFh*VNXeX~t_7XwJ~wpm|2~nHEvYMk_*#rB$j`qjg-X zRU4~qsU4=x)SjfhTKk0dV;zEytxk+io=&;WW}OQGiZ+XnJ&C1Lw&T6dHMyuP_%GTc2xz-DZ zun3?BtO{rjqy%OKt_*ArG7q8$RR=u`whU$kuMK`0Vjq$hvMJg28CmxEAiJupLFTplpWWxTzguw}e zmkxfCNJ|`>cq&OdDKlw9Qb%%V^6cb0DRwE6lw+ytsTry3Q$Gy}A5t--In6okpR{vB zjfQfD)~6HGQ`6U`w-1XLwqV%f43CT{8P|u~4lf>lW`xlQ?udh#>Y4P+omu#-Az2%; zzSHCB)%12o45NzC#tdUFWWHntv*xp&vjf-_?5EiQ*%jH(asqPZ&Rdc9DL+2HHoucQguAsssUWLhFHeh?&uieD@{9RRg8qUjg65IFBNvQp6UGYH zieS-jQN36POl}$_c9O}GmcqcorG=l1Qj2yLYZmj08%H^enm+33=*ZD)#^A;<#~d4L zKDK0R%ReFitQrT8V~jgC-g12D_{S5XCafzVmE@P4pXf5NV&cb1LniGjH7T7?+B!LE z^2RA@Q-o7)O!b?(Vj6B5XWE77ZqpY}|5?T=J6rBjURnNq26M*QnY5XUW_HfXo^@fi z=j`Qk2y=LIuFnmcyRJgBVsu68ytsM0=TqjF&HuO{bHSNP_sSIuNed+ln->jSRKM72 z@tnoqm*g(Fwls9<)+*zw=~bVWv6fw49=v?Z3X>J(E55Geth~7@YSr#)o9fCMLQP@K zlhvuKPp$D@vwp47+VZtOYI(KI>k`*BtoK^KeuMFb*&8t%B^#e_%Gh*ibNJ@^Ez~Wm zw(4yy-v(`yY3=yN##?sr|X}&K0EL{^7*9~!(Kdo zDR}wq)s)woudCkJz1j6P_-$ibTHE7y!grnTXM8aHQ2WvSW8t@$1=w_4Al{u2Nn|UnRc=uUATL&f)eAHpX|c3l z>N53O3|NNu`^6dWHZ?I5Qudj@w=}czvJSC{vJJEIwfAta>u>6)NySk=IX!c}?b1j) z?7G9P#=XL0qNl)XxOcRVhp(w0!S9X#jesM88-kVu&kiXIogP*mK0Bf!a$eN@=mjwg z2F#D0J8)K9`Jid>lM^Nlo|IUcG%2|>r8ITokdn0VL&u~S4-;kZhI2-+GMQOydOkzK zEMd)JFU_va*_nHYb2_gn|2DU^;1#b!fE}qNv=;e@6C^o>{}jzFt{t^+^o21kW8aU% zj@OuAR6?0(Imx1wGTC^F!Bm}T>eESOxUwJR9W&m}d^W3P_T4!*=U%J0GVk*I%L|$+ zFD^X4=K?v5vG}Z-eDVr%gVa!?z6D znzk)#d(Mu6ox)v3bz^pq+f!0sx_9cn>HEtM%se>j(Cot%M;07ia%{!%)eRd?Y&p68 zRNd+NGyBgTJa?$^$oZoej$S-`X@67Q)tGTJGqVbF718j2kJ+| zc6@tV$K6jSKX3n1^>xZO!T0nZVLz#zdg#iqwEjckCd^c9BF-9bL~tTTEAf+DxJRQ4}- z97i4L#Bfe=iK6+rQr*nlH9cUD_ns|Ym%I=8Z1Ao0o8X@xkP;XaS*qb0Ko*A(q7 zzA&m~bo*H1KZfJ%$9qi(D;Y2`eo{hd!sPfVgQgCg7BfAvEVMjmhVM+zS+v>IISzB} zD(vRj&bM7)TWPb~;*pQN60Iqi1F*^Z?JD(zP;LZ^xd}i z)gLN9&S)>`DEyTFIqOTx*8$%GztetL|1|6*%hi7|)*GjS2g?COGo?i3X{1K7y=sZt z6OAOz^V-2WJM|p(R~s4_mGx^g8Ejf>_SW3RBGYob)dK6)Hd{db@3gOTsOw+nxP!XY zX^ZnFmvyw&t}ES^x-ayo@GSG1e-!jBB)Huu}+$4e$Nr|FF zo5q+7FpSk3s1ZjVM2yG8cP4xv{4Mco()Z-=Dc@7S4f&GRG4y@D=bCTh44fv+eBm^E;Y$UfXrM?!oTXJx}Xj?0vnjZU6fN9}l)4`gHiykxxfI zANzd#bHnEopH6n1YCrwq%)7I1&%JJZasJ7L){D)T?l#@LeC5i8tEaCWyMEwC-OVkx zYHzQ&v*_;ZdsFZK^FY*`(=zm7Osn@Jo5$KupeL`M-h9^ZeA|nqFQ>d3`8wlG)LZv9 z%Xj+k)jz0wB(;+|NS{cbNnez|Dt#kJXl@T1#g>n;7v0C{Kl08WkFo< zOVm{GM!6c=2_1*7K#!nySPAY2JHuh%4UrE|g;&D+;A`-Ej3&kvlZqLOS&O-f#esJ^ zKDHLy3f|hXaMidccq(3kKSCfAh7mRsVPYC_yONp`SLuSXoAMG8mc%FBQHfI7K{g>z zCwHi_Rd1-psvTALRj<=<)7YiyskvV(RO_5}igvROPv@uZ96f8j1Ny1@9}FrC-3@OU zP3ULe@3Qe26HAkGreZTwv$K>@<__lfEaq7bv?5wHSeM#F*b;5e*p=JIIcPXs>A%>K zPIaVyb~^36*rk9L?rP%t)$OkPagS}D)n1Fe=lfLn&huO7zbv3Oa92=6@QsjHVK~sX zy&@B%c+urC8wNDSzKb&)6do^3s2O}CNi8`#Wn${VAss^<)9J$&WSkuVXZmIp((4!< zEMIm>_PJbrPEOuFt|s`h@>zl7$hpEVVwU7`QCRVw(N1G(|FIgkdV+Pyx=H;@w@&ex zdT@Gl*^L>TnLlS&&ZSjcoIkQscj3XsoTdG$t}dUqa%ig(IMcdI{ic8vIZ93zvMbu22Ro z25SlR&}rxv^aA=0tHYMC7g!@;!lS{ez$W+<{0M`=SYRSBd6;>aLzp*M3N{5h6MG6Q z@P^d_g8}zd&!KNO(!?ESX!_UYs%NaI=YYCFol5ja|3i-=*GXHCH}7@#y_i%JamR zQ(hl_`}Mug$FUv9zo>po|FKb4|9TJwe6!sHtTM$yX<+eM2#tqkK~>Nuu!__O-Gko3 z7+4p!2dhL$a2{L&)`WJ!7vWbJ5~e>U4kN@Y!JNQ+z*=Hcu`{s8u|II$xI(Z-^BM1l zFTtN7XcICCn+ZRN3B)zT?@FmkJC(JR#mYBHfuuDmsw#yl&E!~eJy`izq^6=aQSGaG zq5206u||jH7%hxenYNDh3LQtCeY&x_5A-DZYWf=tq79xK&NOl}y3?=J*xC4w$y8Gh z(?@2Nlvs0&`2mY!OE1eWR);|UA84x!-tTMdIS$Sa9sLhGmQjZ|**bl7zUZ=+Ho_hg_Yp6e zziFg~ut@YkGN7=&*nZTqF*;*sjZ+z4UZOT}eyPdi4O4xloh{2O@0dAvw$q%86{7h@ z3mO)VTx`DNT2=Y-@RjhYqcxM)46M~(_h`fJO=Vjc+X8kN@BC5Mx~FmPzWtjI)*fDW zbo=qcCz?(@JBw{JzYunbb9vs?BiG;Evc8jkul&L8mYb~~pQt{wc@gp|^G!+Hn)l~F ze*R?hCGFdc9}P(Ti?ZEZ(Kia1914~n?{{{7umQgwRzMIkK76b0?EFy!UN-JR&=Ib5 zy&ZklXh2XEc+No3$g;c0ap_LmeXpsh`7(I$;AvPa7OX@6m&b4EyZz+l z3;!?ofg!24q^!yY*KutKq3%l z3WTJP5R$74#hqjyOJ{QVh|mE-1l}$*Z;B_$#l_pj!<#~Zd;P?LSnEvT)v;> z+x>?vNnDnnYv0MmBsX8SqAtMd<(n_vW3}f37u4s&Et!` z3;ZnUhzH()M#RpRBxw>!mY=1}wL!7*q!59KO`3PT8Quw@;hn_+&d)MaA`yB!JLl);JLS7M2}B%cikFv{ zvx}>FzNOLn1=DYPV4H*YsDZ_rp=ke2d; z5m`zl8?m50vgi`}&sIE>V3+gY4x&XOZ0*R5qF6N~4k)o-7uHMPmRlTVBL(%=}VR zBv%aD)5ss%8E9?N(IAnX^Rra0;BlqBT1Xd(*+^&cvy}H1#W0}g8ug=PqeigYoUUiG&Dv0#U4h#rAjeb^e|B zx4EK1LgGb&3@(rDAIcRAdGwJ#X8u9jnOjzqA7*OO0Y)YT^FS~Kbymzle;IoegY@4d zx~laztt#2-DMSg7?%5u=y2nRJ+XI&pAl9=MbM>7MO@t9yKuv^{Vs0n$C&16TL>C~14(QUauVwg;~6@ln$Dz@-F8 z_iPVb-Q%OA?SV@PknY(YxVpzjN!tUL5+L2PJ#cl8kCL_rE+s&^XM5o49v>xb4_r!s zbkFv{)jd8++8(%+0O_9XfvbCbl(ao?DFMK-2@Z4X>Z zfOOAx3m2hlS0|efwsPi!J)4jzoCcwL*+eMLV6Q4_dBR6$S^iomYYxLk=aR{~gMn=BMBmLxL3#y@F_D87Wv z=I3T33WP?^Av_VnYfAGbatn|Y!CVQF2T{vxvPJ#r+3cjSK}kR)D@>LFY#$J0B(f#B z!Z^kVCQuTgct`{Zz+VPLf)XJ%B!O}vAz}(52o0XTM<4rXR?I)RX(1SLcShX8MotZk518uB{>j^H`+c$rHppiBuk6zzbw3k`waSOt5ti z?3V=lYdc#-JSSc(ZxslQBnD^1Z77DFAv2>?Y!cYb{JUZknLL?1Uc?McMJz~z7E>e; z4g@>q;*l20<#XilX&{OO;8U4(7;d{ zILgx?e!~#b*E%Iqo1Xy>A$_^yw*lRRsDG>K_)m0FED+P6`*$LR?C9^}T%;V_i7MhX z;x~c^TAEiyDnW1pGE|@}c3MKNA|&0}FS`aN2#ZGQFRMAiLJ+AlBD5T5gqDXNWh5X( z;!okn1ad{ELkP>yt7N_uHkd6-jR1Q|E17h%t2M}J$M1}rP7M>##sDZC05N8h(-nRxE%T2PE%I-NVyo) z9M58B&~v53yJ{X=B>7G96uJ24%(@aXg5Zu@9j_sx^d}33hr|N@4WuFEAl3ws9`3jc6+uK56%|z#qN*xU zTaBQmt*=QWYU&&5>gwz28fg=yq4OkTl#j5wnwq+Xx|W89mY#-&h8}Xz(354+{u2Wo zM<8t#PyrGewuDgHFj^b#xDP6d>ZpYSfR|WU8i2z{KtnJJgT>)hR0(R}X7sZXhEQm^ z68zK&21cVWC@dbQf<+VEfKnTcvCyGlg9gxbEprN8aeA{?ZVR@u)=xOfaB~+;tP8>0 zlqWVfykm-~29?_<*@n(ZVuc-BCGjx4lKhDMen-*qtGSII!tLg+p1gBj?X|}r*VLT2 z{-h-(BX3H@+Fd7aJZ+^#4CLe&&#&5j>gKag+7Jo_yv0a;!sD=1sS6eq9Sraw$5I#T zS~yz|@!)7eU9+1tqd_#WJS0({DRzHngF_s^+ft8R0ZyzkWQ8SrNZ5}QF8s3xc3m!X z+<}N_X_?wk0MwF9*j)Wo%~3d76JvXt5>_;>@v!A%ikpaHeyBL&t^13s?HQ}9c0_SL zKG@P<&~*CaTU7K&{DsYFstz5OTTIKET05Wt4`&N`JFJ`vA_hF0VV?^FdfbWv;;)4loEmzhX0!sBq#*@ksw#d z1)@Oih+zV76!$~$AHAY3&2S0 z4XG*UDjBi$yF}f{v{~RcT7WO{APs{hW@ZC=Cx}~_LJ^phqLBgKDqkW*=&69#69ESS zy#%2-GI}dQGh}qFG)+ zri%d8nT9KgN|MteL4v|QTO5`smuIr0khUVV$>;S~&>7tDD7k!8X3{`8oySe-FQ>&> zi3%S^Wrir^qTB?9&l#d{MIE!H&lR$=nDj0mB$-K(a+_@NAcYSsc4(MF&QDhOER+N* zYzleOwl4Lb&5KaT#d(Q}yb@88LOz1t4{5v7^g>Cz0w0JA#e&&8Qv&YhKo5logd?T* zH&PJjC2Ud@pXns~JtPQ1`W%u5f<7cj`x0z$sY@mX_Px)8>wBe3mOci8_6z~dp4KI^ zB7o)q+WbK)X09ktW)Fj$uwW*y3F$$`P;bZzvIlc;SI7hMfdZj0s2>yuo;OmVVc-cP z6Uqip8~M-}s1TY0m4auQdC($gIkXB|2W^73L%X2^&{60lbPl=;y44eR`!s##v=EJ%07)_jP1N6<@B-Bt82bF^wg(^bLL@hv7qBf#- zp^l=?p{}FqQ7=&~;0M9f&<1D=G#TxQ4nfDE)6f}c5qccD1YLoyL~lm#L!UxlMc1QW zp}$~o7+nkrL&o@EA~DGrCME|n4l^CI2(u2e3sZ}^ifOe6v8LEQSZ{0;b`X|> z&Bso`R$$j+Yp^G<*RfBqtvDRc0B47z;UaOVxDmL~xaqj1xGlINxH?=Tt_6?B8{_-n z{qS*kI$naGf?tT=h(CJS}?A;clXT;fb(74Zo1Ht~bHy1K1;pn96RM17|EdiCS#57a+v z=xR7=L}{=z#%nCr*rjnrCNNfJwf|GLsV~uX^eA z^6ACwRnlvFuREqFQ%BPT)6u4@OwXIPnDsV`FcX?BG&^qgs<%P!z}_Qz&+UDv_j7Yy zbANNL`CRkE<}XP4q#zQHw18AgYPK-7h_uMHSZQ(5qRrCIGTCyX5T zR>!QGt<9}tt;bkzu)brXYU62>X*1vEl+7nwJKKS_#kRX`o9vA2qU=W5ZLqs%uWlb; zpJQKXf6W2s;OUU%u+-tQBg&ELnCZCK@lqdDACErVK1=)5^~Lt}>dWt2+4m-yNDdT0@oszE-nsX2XS*+RzeUxh#!`!^$EfWdG!K!-W{>AIYg#&O3GJq*o@c!0bkEaX zSg&BO@m>eKzIc0hOT4#xzx5&eWcgJ4H2K>3vVB+kHu_om(fwBX)%%nD)BRWY*9TYx z&;u$19tBzjvI5rzJ_~XP8WFTH=uNOouqe1D_)~~?$k>o0q3FakNIr*}r3>{cLuzry9ps|C_rJAI2Q}?9d(^AsbrnL+X8$56D zlOfb0Q-<6aYB#iC=$T8eOe~-Hanis^`-;qpCKNSJj+ne*ipCVtl$*sq#mlE+rgEoV zoaQ!d;k551tdg^(E~OQv-=;ICpPfOOv0z5W%#4{A%RI`K&BD#%&$=-?VD`Fl?ebCO zjdNn>?3zoOTQc|Kyy5fCRJd0xpHG;dJHLKG%z`}&tryN(_-#?s7;#&ga3wI*vz*S1&j ztLoP!tgBs5Tfe^Aw7P5qYD4aZ=NpG?yu2xN)1J-b%`3MUY$@FeZOz^KVq5yQ8{4C| zAKT%%WAjd%ol9zTYf5&(yGHJ6-krI-eoyM2y1o7O9^2=$uV%l~{;C5O2NoaHKUj8% zaH!}|$Kg?jTaE~iygJG`+IVdEvAf3y9lusPp!VX4=o6<;hMzosD(KYV(|)H9obf)h z_pImH-RC^c?K)3AUvq(aq2{8;#a)+Zm-bxty1cK>x9-rDfGbC@hF(2+E$Z62>;13S z-AKN1>*kP~^|x5Jnr`!Mzq^xnr|s^9d)Rv=_qFa|?^KIbU z^UZ^rpS%;j>v%u?gYk!|kM19jwZykPXw7bI`&9DT`186io?lLV9r*QGTmCovw*~DE z?fbq*f4|p}-O&M78R^ow02&-oV9gGCUj-IXQXxq9GFal%kj;suDZrE&Oy`jWBW*A% zI08q*Z&CBmX&8U3J1!j0R#~gspyo$hr~zwcYdzLs>Auuw8Z;QOj34xhHQm+Q%v?m; zXYt<3+?r++WE)`@V(;xhb+qr(yRSAGL;mE{|= ziV`O!6(tv?OdMD^XngAEw1UCnA^f4-VXWcIbT&PUk;^P(&15gmsN(F%Jj6XcqAu$W zuQB@-zg39N(Gl5*y(ICuoV>C5vkR(5?i+P+bikX={HaKnc+7!CE|CT{p)3l&Lqw!7`N*{^e0?pV>MwC^}_juXQ<*(HMF<4Sfjch{!E z)b}0@w9B4{ysEt`d?xs2`6c@Y1ULqo1Zf0gg4;t{L*Irqg*Qapio6(A+iy?w#+Vhc z<^89`jf@u#;3i}wGLsm|!&8P1OdFJ(Iv_22aM%$4p|oL?;eFEW>2?fzrX#B_+d0F9 zL&>CYDI;96oO$GIaH|zK38^_jq5)!-WK?ch-kSWq1s6v)jA|K!A8S0$VLWX@NMXN; zag*YU;wQ&V>0cZ(HELRTNpNYvbnh7+Gbv@{S&p;q%kAgb&9$3nS7AHfW`XrW%SEKc zW=l+#8Z6UYuDwEMrCz1cD)ZHLYn<15RQat7T_0VYuwmfFp_>?+Ia~N!^R|uOK5fUm zohxfL?b^G$cF(1~clI^ze|_N7A?UEm5zV6p$4rk~)Y_bII7vR`a@y?-^(^h2*Lj}{ zz8C#2`CksK3%(L|HS${Y^|%`eHHcs9R__3R~s9dl=Nyg z8_>JT{H=wH<#4O<*7Iyu+inKee}_YjV@;o$zT3%LoHjdebXiAP?YhEkvHN^#xkm|Y zlIIvNk#~kqns2OMpuan~`c^@`gH1!sLe0WR;iL#sWbY`me#X%TF}HwH)+<+^qdFHi4_yIOw9o&tpk-n6qL+)G zEU905XW7-|msXr#dA9QGs&lK)uerGPV%4Q}m)2jZzOdoK#&es_Za%Z+%+|BpE^M#c zaee2Vnuog@cR$-7kJH_My0*(~$Zo zs?qbY?GxRn(9>7XZZ*|D-}++l%PFsNUJrQ#Rd?I`%d{O^cfiQ?m#vK;_XL~=1g!d)@t>^)22Om()5EO!8_Y@hzH(a6@w?r)zA*;ICK?y47I>2a4*;y z4gpVy0=O7n0q=va!|zerC|6VpY7A;E>KYmYp6LYWDs&@wYD>pdVxD5j*j(%p91%Ad zw+Rp92jRD=XsGa1E~>hzE+U`_0>WLj2(|4*GvYL2t2$f#rbe{JQB7~n8Z9@io!TDS z`*nhK&gmxW*6Z>0zU$92urWAbm}2V&2>QENP^L zqs4v8IaV>&cKJ$H-`c?Vw45$sf8T2Xy1KKt%JRyP~SsGQ{?|k&TSmXYoaiaKD z18yd2Bt<4qOgT8PHMMUVeek>?XNSSVz0>pPHH=p9+p&ci=Q0hsoDutY+TfR%&kFnI z%ocr-uyU{DhZO7{~9ReweZf3`+5%(8p<25J~eC_{-XNT*SE3nR)6Sd9rpQ1 zn_c^C>G**KZ!z^DbI1X5gZ#l7Lkd{96o7Sw5@;bn z;wRznt9Yp_Q2DAlT=gWug|Gyy*B7WgC8iKhs(Yz#*09l7u4$^dSj$YSQrkg$r%s^G zCEa1VZ}i6LYw52t@G__~J@96PCP^4MbZ)EOlvrPVY1W?q|>U9LK3{k-UkcMBFS3S0bP z>8j<)D^)5Fu9mDNS3O_9enZwKm(8EI)^0D~$=cMI_dc>Mku>3PD-DX$N|{rcYPpzV{0VE+)YbCT>WR_BJz(WyfrgsKM2)YSd72-zBwDT7qjgX^CAxaL%k}!| z?bDCee`t_vs9{)b6lwI_c!r6a$=zN>rp~5!&5CAVpiCEDl%}SkbJ$SRVrY zKgLcUJm0T!;5s@xw)Q#Pw}d><$I*}^J?ekEVNj3eM#xE&=v5?qpK#b ziK#MN_qcl3#*)p9t$y20ceK|u?moYF-~LSps}8R_y6yPk6LqJW&Z5s-TnxF)y)x(8 zksI%B+uTjNU;1!Y!>z`TPt}`jUj)4x{-&^b&HD=bc82cZ<2+xX(b)$x)3HkaJJy zL7)eLKSLlVCuf6}mKJ!Q^*<6+)~#FDv2^Luw}F9yOyu44f7uIDqsym6esPv9YmvXf#^-66Rm_#YJAO^0~OU_#%l!LO%8RH^V=ckNC4@&6>8f zw6tm9y@}#Wv%l<2x8=(*nKf(HJx52!pub!;V(yR1NBpR&s`}31aF&8MIN*Nw*TNr{ zFUMm3{Q1v3JUozhpnoI$AD3TIQSlO#pAHKD8~x*t%Ln*(WMpLA1Naw$vOPgm1Mxo% ze^h>1Sy>Bcf8aS90&B3y7oGo|@9k5BeW6zp4O{10oGXJrMs@{K5G19*jRH zK{;zc919}yKHdUEWGwhw_laNd2jg#hOiavOF#c`><;(_=0U|OEYJ-TZhX2j*Q~6`Z zj(uZjXm}J9uoA=q5W_)4zRksh__yi|Oeuo2d~pA53kV3f4sO4jfo2AX;2QzyH@9HD zM!K>OPX9`95ekL3H8nMnZ||0Zhveb;E&?`FsCm^!MumUCR PV@Urdtw49tvU2_xKL_}8 diff --git a/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureUpSelected.tif b/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureUpSelected.tif deleted file mode 100644 index 7ba0da97fc16034725b2d65e758c2a894f01a785..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25688 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 diff --git a/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureUpSelected@2x.tif b/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewDisclosureUpSelected@2x.tif deleted file mode 100644 index eb152f22c9a46d7d3b0a9d7a8adf3f2c4143e05e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28788 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 Z|0fXHV_1$szYC0v;gsdr4qE2Je*rzEVgLXD diff --git a/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewSelectedPrivateMessageUserActive.tif b/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewSelectedPrivateMessageUserActive.tif deleted file mode 100644 index ed0b5acf943bdb2633144d1ad4e8afff99503a19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67862 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 diff --git a/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewSelectedPrivateMessageUserInactive.tif b/Sources/App/Resources/Images/User Interface/Server List/Black/MavericksDarkServerListViewSelectedPrivateMessageUserInactive.tif deleted file mode 100644 index 077bfab0e230748c3198b740bf8cdb52e89091d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85480 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 AumAu6 diff --git a/Sources/App/Resources/Images/User Interface/Server List/Glass/YosemiteDarkServerListViewDisclosureDown.tif b/Sources/App/Resources/Images/User Interface/Server List/Glass/YosemiteDarkServerListViewDisclosureDown.tif deleted file mode 100644 index 35200b4c78e09f4ce70f6c43a12c05c6e637225b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22704 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 SMzOt%7x*lr+GXqS*#8GD_v(27 diff --git a/Sources/App/Resources/Images/User Interface/Server List/Glass/YosemiteDarkServerListViewDisclosureUp.tif b/Sources/App/Resources/Images/User Interface/Server List/Glass/YosemiteDarkServerListViewDisclosureUp.tif deleted file mode 100644 index 3c159f7a2af80e466c9f2f137c9a42113d3a03e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22684 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 E0kw|&WdHyG diff --git a/Sources/App/Resources/Language Files/en.lproj/TDCPreferencesController.strings b/Sources/App/Resources/Language Files/en.lproj/TDCPreferencesController.strings index 81103ebe4..905537215 100644 --- a/Sources/App/Resources/Language Files/en.lproj/TDCPreferencesController.strings +++ b/Sources/App/Resources/Language Files/en.lproj/TDCPreferencesController.strings @@ -35,7 +35,7 @@ * *********************************************************************** */ -"r62-4k" = "Are you sure you want to delete everything uploaded to iCloud thats related to Textual?"; +"r62-4k" = "Are you sure you want to delete everything uploaded to iCloud by Textual?"; "t8v-w8" = "This action will not effect the configuration of this device or others."; "70s-c6" = "No Log Location Selected"; diff --git a/Sources/App/Resources/Property Lists/Application Properties/Info.plist b/Sources/App/Resources/Property Lists/Application Properties/Info.plist index fc753ac9a..4e93a359f 100755 --- a/Sources/App/Resources/Property Lists/Application Properties/Info.plist +++ b/Sources/App/Resources/Property Lists/Application Properties/Info.plist @@ -29,7 +29,7 @@ NSMainNibFile TXCMainMenu LSMinimumSystemVersion - 10.9.5 + 10.12 NSPrincipalClass TXApplication NSContactsUsageDescription diff --git a/Sources/App/Resources/Property Lists/Application Properties/InfoAppStore.plist b/Sources/App/Resources/Property Lists/Application Properties/InfoAppStore.plist index 033a3a40b..421b409c3 100755 --- a/Sources/App/Resources/Property Lists/Application Properties/InfoAppStore.plist +++ b/Sources/App/Resources/Property Lists/Application Properties/InfoAppStore.plist @@ -29,7 +29,7 @@ NSMainNibFile TXCMainMenu LSMinimumSystemVersion - 10.9.5 + 10.12 NSPrincipalClass TXApplication NSContactsUsageDescription diff --git a/Sources/App/Resources/Property Lists/StaticStore.plist b/Sources/App/Resources/Property Lists/StaticStore.plist index a08def7eb..c43418617 100644 --- a/Sources/App/Resources/Property Lists/StaticStore.plist +++ b/Sources/App/Resources/Property Lists/StaticStore.plist @@ -220,11 +220,11 @@ THOPluginManager Extras Installer Latest Extension Versions com.codeux.app-extensions.textual-BlowfishEncryption - 1.0.16 + 1.0.17 com.codeux.app-extensions.textual-Caffeine - 1.0.7 + 1.0.8 com.codeux.app-extensions.textual-WikiStyleLinkParser - 1.0.7 + 1.0.8 Spelling Ignores diff --git a/Sources/App/Resources/Scripting/Script Files/Textual Extras Installer/Installer Resources/en.lproj/Welcome.rtf b/Sources/App/Resources/Scripting/Script Files/Textual Extras Installer/Installer Resources/en.lproj/Welcome.rtf index 31d14fc54..b276fe50e 100644 --- a/Sources/App/Resources/Scripting/Script Files/Textual Extras Installer/Installer Resources/en.lproj/Welcome.rtf +++ b/Sources/App/Resources/Scripting/Script Files/Textual Extras Installer/Installer Resources/en.lproj/Welcome.rtf @@ -1,4 +1,4 @@ -{\rtf1\ansi\ansicpg1252\cocoartf2511 +{\rtf1\ansi\ansicpg1252\cocoartf2571 \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;\f1\fnil\fcharset0 HelveticaNeue-Bold;} {\colortbl;\red255\green255\blue255;\red252\green41\blue19;} {\*\expandedcolortbl;;\cssrgb\c100000\c25745\c7993;} @@ -11,7 +11,7 @@ When the next screen appears, expand the various categories,\ then click each item to view its description. \ \ Enable the checkbox next to the items that you are interested in \ -then click \'93Install\'94 to finish installation.\ +then click \'93Install\'94 to complete installation.\ \ \'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\'97\ \ diff --git a/Sources/App/Resources/Scripting/Script Files/Textual Extras Installer/Packages/Textual-Extras-MAS.pkg b/Sources/App/Resources/Scripting/Script Files/Textual Extras Installer/Packages/Textual-Extras-MAS.pkg index 9b076333a0b8ac0b4a65de70589277b54189c8b7..62aafc25cfb6903471cc24a70ef5f42e72771a05 100644 GIT binary patch delta 863449 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%0D`MXV{>%TUi&Pm4qJG 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