Bumping MACOSX_DEPLOYMENT_TARGET to 11.0 (#6911)

* Bumping MACOSX_DEPLOYMENT_TARGET to 11.0

* removing obsolete code and resources

* Add a build action for Transmission.xcodeproj

* removing obsolete code
This commit is contained in:
Cœur
2024-08-22 22:07:17 +02:00
committed by GitHub
parent 173c19eb5a
commit d9d87eddd8
85 changed files with 83 additions and 692 deletions

View File

@@ -309,6 +309,28 @@ jobs:
run: | run: |
if (Select-String -Path makelog -Pattern 'warning:') { exit 1 } if (Select-String -Path makelog -Pattern 'warning:') { exit 1 }
macos-14-project:
runs-on: macos-14
needs: [ what-to-make ]
if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-mac == 'true' || needs.what-to-make.outputs.make-utils == 'true' }}
steps:
- name: Show Configuration
run: |
echo '${{ toJSON(needs) }}'
echo '${{ toJSON(runner) }}'
sw_vers
- name: Get Source
uses: actions/checkout@v4
with:
path: src
submodules: recursive
- name: Build
run: xcodebuild -project src/Transmission.xcodeproj
- uses: actions/upload-artifact@v4
with:
name: binaries-${{ github.job }}
path: pfx/**/*
macos-14-arm64: macos-14-arm64:
runs-on: macos-14 runs-on: macos-14
needs: [ what-to-make ] needs: [ what-to-make ]

View File

@@ -8,7 +8,7 @@ if(POLICY CMP0114)
endif() endif()
# Value should follow latest stable Xcode's RECOMMENDED_MACOSX_DEPLOYMENT_TARGET # Value should follow latest stable Xcode's RECOMMENDED_MACOSX_DEPLOYMENT_TARGET
set(MACOS_SUPPORT_MINIMUM 10.14.6) set(MACOS_SUPPORT_MINIMUM 11.0)
# The value of this variable should be set prior to the first project() command invocation. # The value of this variable should be set prior to the first project() command invocation.
# See: https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_DEPLOYMENT_TARGET.html # See: https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_DEPLOYMENT_TARGET.html

View File

@@ -4170,7 +4170,7 @@
INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional"; INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional";
INFOPLIST_PREFIX_HEADER = libtransmission/version.h; INFOPLIST_PREFIX_HEADER = libtransmission/version.h;
INFOPLIST_PREPROCESS = YES; INFOPLIST_PREPROCESS = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14.6; MACOSX_DEPLOYMENT_TARGET = 11.0;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = ( OTHER_CFLAGS = (
"$(inherited)", "$(inherited)",
@@ -4374,7 +4374,7 @@
INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional"; INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional";
INFOPLIST_PREFIX_HEADER = libtransmission/version.h; INFOPLIST_PREFIX_HEADER = libtransmission/version.h;
INFOPLIST_PREPROCESS = YES; INFOPLIST_PREPROCESS = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14.6; MACOSX_DEPLOYMENT_TARGET = 11.0;
OTHER_CFLAGS = ( OTHER_CFLAGS = (
"$(inherited)", "$(inherited)",
"-DFMT_HEADER_ONLY", "-DFMT_HEADER_ONLY",
@@ -4478,7 +4478,7 @@
INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional"; INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional";
INFOPLIST_PREFIX_HEADER = libtransmission/version.h; INFOPLIST_PREFIX_HEADER = libtransmission/version.h;
INFOPLIST_PREPROCESS = YES; INFOPLIST_PREPROCESS = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14.6; MACOSX_DEPLOYMENT_TARGET = 11.0;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = ( OTHER_CFLAGS = (
"$(inherited)", "$(inherited)",

View File

@@ -3,8 +3,8 @@ The source code for both official and nightly releases can be found on our [down
## On macOS ## ## On macOS ##
Software prerequisites: Software prerequisites:
* macOS 10.14.4 or newer * macOS 11.0 or newer
* Xcode 11.3.1 or newer * Xcode 12.5.1 or newer
Building the project on Mac requires the source to be retrieved from GitHub. Pre-packaged source code will not compile. Building the project on Mac requires the source to be retrieved from GitHub. Pre-packaged source code will not compile.
```bash ```bash

View File

@@ -228,7 +228,6 @@ set_source_files_properties(
set(IMAGESETS set(IMAGESETS
ActionHover ActionHover
Bandwidth
CleanupTemplate CleanupTemplate
CompleteCheck CompleteCheck
CreateLarge CreateLarge
@@ -236,17 +235,7 @@ set(IMAGESETS
DownArrowTemplate DownArrowTemplate
DownloadBadge DownloadBadge
EllipsisTemplate EllipsisTemplate
FavIcon
GearshapeTemplate
Globe Globe
Groups
InfoActivity
InfoFiles
InfoGeneral
InfoOptions
InfoPeers
InfoTracker
Lock
Magnet Magnet
PauseHover PauseHover
PauseOff PauseOff
@@ -258,7 +247,6 @@ set(IMAGESETS
PriorityHighTemplate PriorityHighTemplate
PriorityLowTemplate PriorityLowTemplate
PriorityNormalTemplate PriorityNormalTemplate
Remote
ResumeHover ResumeHover
ResumeNoWaitHover ResumeNoWaitHover
ResumeNoWaitOff ResumeNoWaitOff
@@ -268,18 +256,7 @@ set(IMAGESETS
RevealHover RevealHover
RevealOff RevealOff
RevealOn RevealOn
ToolbarCreateTemplate
ToolbarFilterTemplate
ToolbarInfoTemplate
ToolbarOpenTemplate
ToolbarOpenWebTemplate
ToolbarPauseAllTemplate
ToolbarPauseSelectedTemplate
ToolbarRemoveTemplate
ToolbarResumeAllTemplate
ToolbarResumeSelectedTemplate
TortoiseTemplate TortoiseTemplate
Transfers
UpArrowGroupTemplate UpArrowGroupTemplate
UpArrowTemplate UpArrowTemplate
UploadBadge UploadBadge

View File

@@ -6,38 +6,7 @@
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
// Compatibility declarations to build `@available(macOS 11.0, *)` code with older Xcode 11.3.1 (the last 32-bit OS compatible Xcode) // Compatibility declarations to build `@available(macOS 13.0, *)` code with older Xcode 12.5.1 (the last macOS 11.0 compatible Xcode)
#ifndef __MAC_11_0
typedef NS_ENUM(NSInteger, NSImageSymbolScale) {
NSImageSymbolScaleLarge = 3,
} API_AVAILABLE(macos(11.0));
@interface NSImage ()
+ (nullable instancetype)imageWithSystemSymbolName:(NSString*)symbolName
accessibilityDescription:(nullable NSString*)description API_AVAILABLE(macos(11.0));
@end
typedef NS_ENUM(NSInteger, NSWindowToolbarStyle) {
NSWindowToolbarStylePreference = 2,
NSWindowToolbarStyleUnified = 3,
} API_AVAILABLE(macos(11.0));
@interface NSWindow ()
@property NSWindowToolbarStyle toolbarStyle API_AVAILABLE(macos(11.0));
@end
typedef NS_ENUM(NSInteger, NSTableViewStyle) {
NSTableViewStyleFullWidth = 1,
} API_AVAILABLE(macos(11.0));
@interface NSTableView ()
@property NSTableViewStyle style API_AVAILABLE(macos(11.0));
@end
#endif
// Compatibility declarations to build `@available(macOS 13.0, *)` code with older Xcode 11.3.1 (the last 32-bit OS compatible Xcode)
#ifndef __MAC_13_0 #ifndef __MAC_13_0
typedef NS_ENUM(NSInteger, NSColorWellStyle) { typedef NS_ENUM(NSInteger, NSColorWellStyle) {

View File

@@ -632,11 +632,8 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
toolbar.displayMode = NSToolbarDisplayModeIconOnly; toolbar.displayMode = NSToolbarDisplayModeIconOnly;
self.fWindow.toolbar = toolbar; self.fWindow.toolbar = toolbar;
if (@available(macOS 11.0, *)) self.fWindow.toolbarStyle = NSWindowToolbarStyleUnified;
{ self.fWindow.titleVisibility = NSWindowTitleHidden;
self.fWindow.toolbarStyle = NSWindowToolbarStyleUnified;
self.fWindow.titleVisibility = NSWindowTitleHidden;
}
self.fWindow.delegate = self; //do manually to avoid placement issue self.fWindow.delegate = self; //do manually to avoid placement issue
@@ -4207,17 +4204,6 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
item.view = button; item.view = button;
if (@available(macOS 11.0, *))
{
//standard button sizes
}
else
{
NSSize const buttonSize = NSMakeSize(36.0, 25.0);
item.minSize = buttonSize;
item.maxSize = buttonSize;
}
return item; return item;
} }
@@ -4230,7 +4216,7 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
item.label = NSLocalizedString(@"Create", "Create toolbar item -> label"); item.label = NSLocalizedString(@"Create", "Create toolbar item -> label");
item.paletteLabel = NSLocalizedString(@"Create Torrent File", "Create toolbar item -> palette label"); item.paletteLabel = NSLocalizedString(@"Create Torrent File", "Create toolbar item -> palette label");
item.toolTip = NSLocalizedString(@"Create torrent file", "Create toolbar item -> tooltip"); item.toolTip = NSLocalizedString(@"Create torrent file", "Create toolbar item -> tooltip");
item.image = [NSImage systemSymbol:@"doc.badge.plus" withFallback:@"ToolbarCreateTemplate"]; item.image = [NSImage imageWithSystemSymbolName:@"doc.badge.plus" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(createFile:); item.action = @selector(createFile:);
item.autovalidates = NO; item.autovalidates = NO;
@@ -4244,7 +4230,7 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
item.label = NSLocalizedString(@"Open", "Open toolbar item -> label"); item.label = NSLocalizedString(@"Open", "Open toolbar item -> label");
item.paletteLabel = NSLocalizedString(@"Open Torrent Files", "Open toolbar item -> palette label"); item.paletteLabel = NSLocalizedString(@"Open Torrent Files", "Open toolbar item -> palette label");
item.toolTip = NSLocalizedString(@"Open torrent files", "Open toolbar item -> tooltip"); item.toolTip = NSLocalizedString(@"Open torrent files", "Open toolbar item -> tooltip");
item.image = [NSImage systemSymbol:@"folder" withFallback:@"ToolbarOpenTemplate"]; item.image = [NSImage imageWithSystemSymbolName:@"folder" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(openShowSheet:); item.action = @selector(openShowSheet:);
item.autovalidates = NO; item.autovalidates = NO;
@@ -4258,7 +4244,7 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
item.label = NSLocalizedString(@"Open Address", "Open address toolbar item -> label"); item.label = NSLocalizedString(@"Open Address", "Open address toolbar item -> label");
item.paletteLabel = NSLocalizedString(@"Open Torrent Address", "Open address toolbar item -> palette label"); item.paletteLabel = NSLocalizedString(@"Open Torrent Address", "Open address toolbar item -> palette label");
item.toolTip = NSLocalizedString(@"Open torrent web address", "Open address toolbar item -> tooltip"); item.toolTip = NSLocalizedString(@"Open torrent web address", "Open address toolbar item -> tooltip");
item.image = [NSImage systemSymbol:@"globe" withFallback:@"ToolbarOpenWebTemplate"]; item.image = [NSImage imageWithSystemSymbolName:@"globe" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(openURLShowSheet:); item.action = @selector(openURLShowSheet:);
item.autovalidates = NO; item.autovalidates = NO;
@@ -4272,7 +4258,7 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
item.label = NSLocalizedString(@"Remove", "Remove toolbar item -> label"); item.label = NSLocalizedString(@"Remove", "Remove toolbar item -> label");
item.paletteLabel = NSLocalizedString(@"Remove Selected", "Remove toolbar item -> palette label"); item.paletteLabel = NSLocalizedString(@"Remove Selected", "Remove toolbar item -> palette label");
item.toolTip = NSLocalizedString(@"Remove selected transfers", "Remove toolbar item -> tooltip"); item.toolTip = NSLocalizedString(@"Remove selected transfers", "Remove toolbar item -> tooltip");
item.image = [NSImage systemSymbol:@"nosign" withFallback:@"ToolbarRemoveTemplate"]; item.image = [NSImage imageWithSystemSymbolName:@"nosign" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(removeNoDelete:); item.action = @selector(removeNoDelete:);
item.visibilityPriority = NSToolbarItemVisibilityPriorityHigh; item.visibilityPriority = NSToolbarItemVisibilityPriorityHigh;
@@ -4287,7 +4273,7 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
item.label = NSLocalizedString(@"Inspector", "Inspector toolbar item -> label"); item.label = NSLocalizedString(@"Inspector", "Inspector toolbar item -> label");
item.paletteLabel = NSLocalizedString(@"Toggle Inspector", "Inspector toolbar item -> palette label"); item.paletteLabel = NSLocalizedString(@"Toggle Inspector", "Inspector toolbar item -> palette label");
item.toolTip = NSLocalizedString(@"Toggle the torrent inspector", "Inspector toolbar item -> tooltip"); item.toolTip = NSLocalizedString(@"Toggle the torrent inspector", "Inspector toolbar item -> tooltip");
item.image = [NSImage systemSymbol:@"info.circle" withFallback:@"ToolbarInfoTemplate"]; item.image = [NSImage imageWithSystemSymbolName:@"info.circle" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(showInfo:); item.action = @selector(showInfo:);
@@ -4306,13 +4292,13 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
segmentedControl.segmentCount = 2; segmentedControl.segmentCount = 2;
[segmentedControl setTag:ToolbarGroupTagPause forSegment:ToolbarGroupTagPause]; [segmentedControl setTag:ToolbarGroupTagPause forSegment:ToolbarGroupTagPause];
[segmentedControl setImage:[NSImage systemSymbol:@"pause.circle.fill" withFallback:@"ToolbarPauseAllTemplate"] [segmentedControl setImage:[NSImage imageWithSystemSymbolName:@"pause.circle.fill" accessibilityDescription:nil]
forSegment:ToolbarGroupTagPause]; forSegment:ToolbarGroupTagPause];
[segmentedControl setToolTip:NSLocalizedString(@"Pause all transfers", "All toolbar item -> tooltip") [segmentedControl setToolTip:NSLocalizedString(@"Pause all transfers", "All toolbar item -> tooltip")
forSegment:ToolbarGroupTagPause]; forSegment:ToolbarGroupTagPause];
[segmentedControl setTag:ToolbarGroupTagResume forSegment:ToolbarGroupTagResume]; [segmentedControl setTag:ToolbarGroupTagResume forSegment:ToolbarGroupTagResume];
[segmentedControl setImage:[NSImage systemSymbol:@"arrow.clockwise.circle.fill" withFallback:@"ToolbarResumeAllTemplate"] [segmentedControl setImage:[NSImage imageWithSystemSymbolName:@"arrow.clockwise.circle.fill" accessibilityDescription:nil]
forSegment:ToolbarGroupTagResume]; forSegment:ToolbarGroupTagResume];
[segmentedControl setToolTip:NSLocalizedString(@"Resume all transfers", "All toolbar item -> tooltip") [segmentedControl setToolTip:NSLocalizedString(@"Resume all transfers", "All toolbar item -> tooltip")
forSegment:ToolbarGroupTagResume]; forSegment:ToolbarGroupTagResume];
@@ -4331,17 +4317,6 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
groupItem.target = self; groupItem.target = self;
groupItem.action = @selector(allToolbarClicked:); groupItem.action = @selector(allToolbarClicked:);
if (@available(macOS 11.0, *))
{
//standard segment size
}
else
{
NSSize const groupSize = NSMakeSize(72.0, 25.0);
groupItem.minSize = groupSize;
groupItem.maxSize = groupSize;
}
[groupItem createMenu:@[ [groupItem createMenu:@[
NSLocalizedString(@"Pause All", "All toolbar item -> label"), NSLocalizedString(@"Pause All", "All toolbar item -> label"),
NSLocalizedString(@"Resume All", "All toolbar item -> label") NSLocalizedString(@"Resume All", "All toolbar item -> label")
@@ -4362,13 +4337,13 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
segmentedControl.segmentCount = 2; segmentedControl.segmentCount = 2;
[segmentedControl setTag:ToolbarGroupTagPause forSegment:ToolbarGroupTagPause]; [segmentedControl setTag:ToolbarGroupTagPause forSegment:ToolbarGroupTagPause];
[segmentedControl setImage:[NSImage systemSymbol:@"pause" withFallback:@"ToolbarPauseSelectedTemplate"] [segmentedControl setImage:[NSImage imageWithSystemSymbolName:@"pause" accessibilityDescription:nil]
forSegment:ToolbarGroupTagPause]; forSegment:ToolbarGroupTagPause];
[segmentedControl setToolTip:NSLocalizedString(@"Pause selected transfers", "Selected toolbar item -> tooltip") [segmentedControl setToolTip:NSLocalizedString(@"Pause selected transfers", "Selected toolbar item -> tooltip")
forSegment:ToolbarGroupTagPause]; forSegment:ToolbarGroupTagPause];
[segmentedControl setTag:ToolbarGroupTagResume forSegment:ToolbarGroupTagResume]; [segmentedControl setTag:ToolbarGroupTagResume forSegment:ToolbarGroupTagResume];
[segmentedControl setImage:[NSImage systemSymbol:@"arrow.clockwise" withFallback:@"ToolbarResumeSelectedTemplate"] [segmentedControl setImage:[NSImage imageWithSystemSymbolName:@"arrow.clockwise" accessibilityDescription:nil]
forSegment:ToolbarGroupTagResume]; forSegment:ToolbarGroupTagResume];
[segmentedControl setToolTip:NSLocalizedString(@"Resume selected transfers", "Selected toolbar item -> tooltip") [segmentedControl setToolTip:NSLocalizedString(@"Resume selected transfers", "Selected toolbar item -> tooltip")
forSegment:ToolbarGroupTagResume]; forSegment:ToolbarGroupTagResume];
@@ -4387,17 +4362,6 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
groupItem.target = self; groupItem.target = self;
groupItem.action = @selector(selectedToolbarClicked:); groupItem.action = @selector(selectedToolbarClicked:);
if (@available(macOS 11.0, *))
{
//standard segment size
}
else
{
NSSize const groupSize = NSMakeSize(72.0, 25.0);
groupItem.minSize = groupSize;
groupItem.maxSize = groupSize;
}
[groupItem createMenu:@[ [groupItem createMenu:@[
NSLocalizedString(@"Pause Selected", "Selected toolbar item -> label"), NSLocalizedString(@"Pause Selected", "Selected toolbar item -> label"),
NSLocalizedString(@"Resume Selected", "Selected toolbar item -> label") NSLocalizedString(@"Resume Selected", "Selected toolbar item -> label")
@@ -4413,7 +4377,7 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
item.label = NSLocalizedString(@"Filter", "Filter toolbar item -> label"); item.label = NSLocalizedString(@"Filter", "Filter toolbar item -> label");
item.paletteLabel = NSLocalizedString(@"Toggle Filter", "Filter toolbar item -> palette label"); item.paletteLabel = NSLocalizedString(@"Toggle Filter", "Filter toolbar item -> palette label");
item.toolTip = NSLocalizedString(@"Toggle the filter bar", "Filter toolbar item -> tooltip"); item.toolTip = NSLocalizedString(@"Toggle the filter bar", "Filter toolbar item -> tooltip");
item.image = [NSImage systemSymbol:@"magnifyingglass" withFallback:@"ToolbarFilterTemplate"]; item.image = [NSImage imageWithSystemSymbolName:@"magnifyingglass" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(toggleFilterBar:); item.action = @selector(toggleFilterBar:);
@@ -5263,16 +5227,9 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
//Hacky way of fixing an issue with showing the Toolbar //Hacky way of fixing an issue with showing the Toolbar
if (!self.isFullScreen) if (!self.isFullScreen)
{ {
//macOS Big Sur shows the unified toolbar by default //macOS shows the unified toolbar by default
//and we only need to "fix" the layout when showing the toolbar //and we only need to "fix" the layout when showing the toolbar
if (@available(macOS 11.0, *)) if (!self.fWindow.toolbar.isVisible)
{
if (!self.fWindow.toolbar.isVisible)
{
[self removeStackViewHeightConstraints];
}
}
else
{ {
[self removeStackViewHeightConstraints]; [self removeStackViewHeightConstraints];
} }
@@ -5289,12 +5246,9 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
- (void)hideToolBarBezels:(BOOL)hide - (void)hideToolBarBezels:(BOOL)hide
{ {
if (@available(macOS 11.0, *)) for (NSToolbarItem* item in self.fWindow.toolbar.items)
{ {
for (NSToolbarItem* item in self.fWindow.toolbar.items) item.view.hidden = hide;
{
item.view.hidden = hide;
}
} }
} }

View File

@@ -120,34 +120,18 @@ UTType* GetTorrentFileType(void) API_AVAILABLE(macos(11.0))
- (BOOL)isDefaultForMagnetURLs - (BOOL)isDefaultForMagnetURLs
{ {
if (@available(macOS 12, *)) NSURL* schemeUrl = [NSURL URLWithString:[kMagnetURLScheme stringByAppendingString:@":"]];
NSURL* appUrl = [NSWorkspace.sharedWorkspace URLForApplicationToOpenURL:schemeUrl];
if (!appUrl)
{ {
NSURL* schemeUrl = [NSURL URLWithString:[kMagnetURLScheme stringByAppendingString:@":"]]; return NO;
NSURL* appUrl = [NSWorkspace.sharedWorkspace URLForApplicationToOpenURL:schemeUrl];
if (!appUrl)
{
return NO;
}
NSString* bundleId = [NSBundle bundleWithURL:appUrl].bundleIdentifier;
if ([self.bundleIdentifier isEqualToString:bundleId])
{
return YES;
}
} }
else
{
NSString* bundleId = (__bridge_transfer NSString*)LSCopyDefaultHandlerForURLScheme((__bridge CFStringRef)kMagnetURLScheme);
if (!bundleId)
{
return NO;
}
if ([self.bundleIdentifier isEqualToString:bundleId]) NSString* bundleId = [NSBundle bundleWithURL:appUrl].bundleIdentifier;
{
return YES; if ([self.bundleIdentifier isEqualToString:bundleId])
} {
return YES;
} }
return NO; return NO;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "Bandwidth.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "Bandwidth@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "original"
}
}

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "FavIcon.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "FavIcon@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"filename" : "GearshapeTemplate.png",
"idiom" : "mac",
"scale" : "1x"
},
{
"filename" : "GearshapeTemplate@2x.png",
"idiom" : "mac",
"scale" : "2x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"template-rendering-intent" : "template"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "Groups.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "Groups@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "InfoActivity.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "InfoActivity@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "InfoFiles.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "InfoFiles@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "InfoGeneral.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "InfoGeneral@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 879 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "InfoOptions.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "InfoOptions@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 853 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "InfoPeers.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "InfoPeers@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 755 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "InfoTracker.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "InfoTracker@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 429 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 970 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "Lock.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "Lock@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 811 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "Remote.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "Remote@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "ToolbarCreateTemplate.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "ToolbarCreateTemplate@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "ToolbarFilterTemplate.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "ToolbarFilterTemplate@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "ToolbarInfoTemplate.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "ToolbarInfoTemplate@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "ToolbarOpenTemplate.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "ToolbarOpenTemplate@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "ToolbarOpenWebTemplate.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "ToolbarOpenWebTemplate@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 543 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "ToolbarPauseAllTemplate.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "ToolbarPauseAllTemplate@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "ToolbarPauseSelectedTemplate.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "ToolbarPauseSelectedTemplate@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "ToolbarRemoveTemplate.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "ToolbarRemoveTemplate@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 454 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "ToolbarResumeAllTemplate.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "ToolbarResumeAllTemplate@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 534 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "ToolbarResumeSelectedTemplate.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "ToolbarResumeSelectedTemplate@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 391 B

View File

@@ -1,21 +0,0 @@
{
"images" : [
{
"idiom" : "mac",
"filename" : "Transfers.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"filename" : "Transfers@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "original"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 761 B

View File

@@ -353,7 +353,7 @@ static NSString* const kWebSeedAnimationId = @"webSeed";
if ([ident isEqualToString:@"Encryption"]) if ([ident isEqualToString:@"Encryption"])
{ {
return [peer[@"Encryption"] boolValue] ? [NSImage systemSymbol:@"lock.fill" withFallback:@"Lock"] : nil; return [peer[@"Encryption"] boolValue] ? [NSImage imageWithSystemSymbolName:@"lock.fill" accessibilityDescription:nil] : nil;
} }
else if ([ident isEqualToString:@"Client"]) else if ([ident isEqualToString:@"Client"])
{ {

View File

@@ -102,21 +102,27 @@ typedef NS_ENUM(NSUInteger, TabTag) {
[self.fTabs.cell setToolTip:toolTip forSegment:segment]; [self.fTabs.cell setToolTip:toolTip forSegment:segment];
}; };
setImageAndToolTipForSegment( setImageAndToolTipForSegment(
[NSImage systemSymbol:@"info.circle" withFallback:@"InfoGeneral"], [NSImage imageWithSystemSymbolName:@"info.circle" accessibilityDescription:nil],
NSLocalizedString(@"General Info", "Inspector -> tab"), NSLocalizedString(@"General Info", "Inspector -> tab"),
TabTagGeneral); TabTagGeneral);
setImageAndToolTipForSegment( setImageAndToolTipForSegment(
[NSImage systemSymbol:@"square.grid.3x3.fill.square" withFallback:@"InfoActivity"], [NSImage imageWithSystemSymbolName:@"square.grid.3x3.fill.square" accessibilityDescription:nil],
NSLocalizedString(@"Activity", "Inspector -> tab"), NSLocalizedString(@"Activity", "Inspector -> tab"),
TabTagActivity); TabTagActivity);
setImageAndToolTipForSegment( setImageAndToolTipForSegment(
[NSImage systemSymbol:@"antenna.radiowaves.left.and.right" withFallback:@"InfoTracker"], [NSImage imageWithSystemSymbolName:@"antenna.radiowaves.left.and.right" accessibilityDescription:nil],
NSLocalizedString(@"Trackers", "Inspector -> tab"), NSLocalizedString(@"Trackers", "Inspector -> tab"),
TabTagTrackers); TabTagTrackers);
setImageAndToolTipForSegment([NSImage systemSymbol:@"person.2" withFallback:@"InfoPeers"], NSLocalizedString(@"Peers", "Inspector -> tab"), TabTagPeers);
setImageAndToolTipForSegment([NSImage systemSymbol:@"doc.on.doc" withFallback:@"InfoFiles"], NSLocalizedString(@"Files", "Inspector -> tab"), TabTagFile);
setImageAndToolTipForSegment( setImageAndToolTipForSegment(
[NSImage systemSymbol:@"gearshape" withFallback:@"InfoOptions"], [NSImage imageWithSystemSymbolName:@"person.2" accessibilityDescription:nil],
NSLocalizedString(@"Peers", "Inspector -> tab"),
TabTagPeers);
setImageAndToolTipForSegment(
[NSImage imageWithSystemSymbolName:@"doc.on.doc" accessibilityDescription:nil],
NSLocalizedString(@"Files", "Inspector -> tab"),
TabTagFile);
setImageAndToolTipForSegment(
[NSImage imageWithSystemSymbolName:@"gearshape" accessibilityDescription:nil],
NSLocalizedString(@"Options", "Inspector -> tab"), NSLocalizedString(@"Options", "Inspector -> tab"),
TabTagOptions); TabTagOptions);

View File

@@ -9,8 +9,4 @@
+ (NSImage*)discIconWithColor:(NSColor*)color insetFactor:(CGFloat)insetFactor; + (NSImage*)discIconWithColor:(NSColor*)color insetFactor:(CGFloat)insetFactor;
- (NSImage*)imageWithColor:(NSColor*)color; - (NSImage*)imageWithColor:(NSColor*)color;
/* macOS < 11 compatibility */
+ (NSImage*)systemSymbol:(NSString*)symbolName withFallback:(NSString*)fallbackName;
+ (NSImage*)largeSystemSymbol:(NSString*)symbolName withFallback:(NSString*)fallbackName;
@end @end

View File

@@ -50,27 +50,4 @@ static CGFloat const kBorderWidth = 1.25;
return coloredImage; return coloredImage;
} }
+ (NSImage*)systemSymbol:(NSString*)symbolName withFallback:(NSString*)fallbackName
{
if (@available(macOS 11.0, *))
{
return [NSImage imageWithSystemSymbolName:symbolName accessibilityDescription:nil];
}
return [NSImage imageNamed:fallbackName];
}
+ (NSImage*)largeSystemSymbol:(NSString*)symbolName withFallback:(NSString*)fallbackName
{
#ifdef __MAC_11_0
if (@available(macOS 11.0, *))
{
return [[NSImage imageWithSystemSymbolName:symbolName accessibilityDescription:nil]
imageWithSymbolConfiguration:[NSImageSymbolConfiguration configurationWithScale:NSImageSymbolScaleLarge]];
}
#endif
return [NSImage imageNamed:fallbackName];
}
@end @end

View File

@@ -302,7 +302,7 @@ static NSString* const kWebUIURLFormat = @"http://localhost:%ld/";
if ([ident isEqualToString:ToolbarTabGeneral]) if ([ident isEqualToString:ToolbarTabGeneral])
{ {
item.label = NSLocalizedString(@"General", "Preferences -> toolbar item title"); item.label = NSLocalizedString(@"General", "Preferences -> toolbar item title");
item.image = [NSImage systemSymbol:@"gearshape" withFallback:NSImageNamePreferencesGeneral]; item.image = [NSImage imageWithSystemSymbolName:@"gearshape" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(setPrefView:); item.action = @selector(setPrefView:);
item.autovalidates = NO; item.autovalidates = NO;
@@ -310,7 +310,7 @@ static NSString* const kWebUIURLFormat = @"http://localhost:%ld/";
else if ([ident isEqualToString:ToolbarTabTransfers]) else if ([ident isEqualToString:ToolbarTabTransfers])
{ {
item.label = NSLocalizedString(@"Transfers", "Preferences -> toolbar item title"); item.label = NSLocalizedString(@"Transfers", "Preferences -> toolbar item title");
item.image = [NSImage systemSymbol:@"arrow.up.arrow.down" withFallback:@"Transfers"]; item.image = [NSImage imageWithSystemSymbolName:@"arrow.up.arrow.down" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(setPrefView:); item.action = @selector(setPrefView:);
item.autovalidates = NO; item.autovalidates = NO;
@@ -318,7 +318,7 @@ static NSString* const kWebUIURLFormat = @"http://localhost:%ld/";
else if ([ident isEqualToString:ToolbarTabGroups]) else if ([ident isEqualToString:ToolbarTabGroups])
{ {
item.label = NSLocalizedString(@"Groups", "Preferences -> toolbar item title"); item.label = NSLocalizedString(@"Groups", "Preferences -> toolbar item title");
item.image = [NSImage systemSymbol:@"pin" withFallback:@"Groups"]; item.image = [NSImage imageWithSystemSymbolName:@"pin" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(setPrefView:); item.action = @selector(setPrefView:);
item.autovalidates = NO; item.autovalidates = NO;
@@ -326,7 +326,7 @@ static NSString* const kWebUIURLFormat = @"http://localhost:%ld/";
else if ([ident isEqualToString:ToolbarTabBandwidth]) else if ([ident isEqualToString:ToolbarTabBandwidth])
{ {
item.label = NSLocalizedString(@"Bandwidth", "Preferences -> toolbar item title"); item.label = NSLocalizedString(@"Bandwidth", "Preferences -> toolbar item title");
item.image = [NSImage systemSymbol:@"speedometer" withFallback:@"Bandwidth"]; item.image = [NSImage imageWithSystemSymbolName:@"speedometer" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(setPrefView:); item.action = @selector(setPrefView:);
item.autovalidates = NO; item.autovalidates = NO;
@@ -334,7 +334,7 @@ static NSString* const kWebUIURLFormat = @"http://localhost:%ld/";
else if ([ident isEqualToString:ToolbarTabPeers]) else if ([ident isEqualToString:ToolbarTabPeers])
{ {
item.label = NSLocalizedString(@"Peers", "Preferences -> toolbar item title"); item.label = NSLocalizedString(@"Peers", "Preferences -> toolbar item title");
item.image = [NSImage systemSymbol:@"person.2" withFallback:NSImageNameUserGroup]; item.image = [NSImage imageWithSystemSymbolName:@"person.2" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(setPrefView:); item.action = @selector(setPrefView:);
item.autovalidates = NO; item.autovalidates = NO;
@@ -342,7 +342,7 @@ static NSString* const kWebUIURLFormat = @"http://localhost:%ld/";
else if ([ident isEqualToString:ToolbarTabNetwork]) else if ([ident isEqualToString:ToolbarTabNetwork])
{ {
item.label = NSLocalizedString(@"Network", "Preferences -> toolbar item title"); item.label = NSLocalizedString(@"Network", "Preferences -> toolbar item title");
item.image = [NSImage systemSymbol:@"network" withFallback:NSImageNameNetwork]; item.image = [NSImage imageWithSystemSymbolName:@"network" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(setPrefView:); item.action = @selector(setPrefView:);
item.autovalidates = NO; item.autovalidates = NO;
@@ -350,7 +350,7 @@ static NSString* const kWebUIURLFormat = @"http://localhost:%ld/";
else if ([ident isEqualToString:ToolbarTabRemote]) else if ([ident isEqualToString:ToolbarTabRemote])
{ {
item.label = NSLocalizedString(@"Remote", "Preferences -> toolbar item title"); item.label = NSLocalizedString(@"Remote", "Preferences -> toolbar item title");
item.image = [NSImage systemSymbol:@"antenna.radiowaves.left.and.right" withFallback:@"Remote"]; item.image = [NSImage imageWithSystemSymbolName:@"antenna.radiowaves.left.and.right" accessibilityDescription:nil];
item.target = self; item.target = self;
item.action = @selector(setPrefView:); item.action = @selector(setPrefView:);
item.autovalidates = NO; item.autovalidates = NO;

View File

@@ -12,10 +12,7 @@
{ {
[super awakeFromNib]; [super awakeFromNib];
if (@available(macOS 11.0, *)) self.toolbarStyle = NSWindowToolbarStylePreference;
{
self.toolbarStyle = NSWindowToolbarStylePreference;
}
} }
- (void)keyDown:(NSEvent*)event - (void)keyDown:(NSEvent*)event

View File

@@ -82,10 +82,7 @@ static NSTimeInterval const kToggleProgressSeconds = 0.175;
_piecesBarPercent = [_fDefaults boolForKey:@"PiecesBar"] ? 1.0 : 0.0; _piecesBarPercent = [_fDefaults boolForKey:@"PiecesBar"] ? 1.0 : 0.0;
if (@available(macOS 11.0, *)) self.style = NSTableViewStyleFullWidth;
{
self.style = NSTableViewStyleFullWidth;
}
} }
return self; return self;

View File

@@ -183,18 +183,13 @@ static NSMutableSet* fTrackerIconLoading;
return icon; return icon;
} }
if (@available(macOS 11.0, *)) NSImage* result = [NSImage imageWithSystemSymbolName:@"globe" accessibilityDescription:nil];
{ [result lockFocus];
NSImage* result = [NSImage imageWithSystemSymbolName:@"globe" accessibilityDescription:nil]; [NSColor.textColor set];
[result lockFocus]; NSRect imageRect = { NSZeroPoint, result.size };
[NSColor.textColor set]; NSRectFillUsingOperation(imageRect, NSCompositingOperationSourceIn);
NSRect imageRect = { NSZeroPoint, result.size }; [result unlockFocus];
NSRectFillUsingOperation(imageRect, NSCompositingOperationSourceIn); return result;
[result unlockFocus];
return result;
}
return [NSImage imageNamed:@"FavIcon"];
} }
- (void)loadTrackerIcon:(NSString*)baseAddress - (void)loadTrackerIcon:(NSString*)baseAddress