Skip to content

Commit b89fc21

Browse files
authored
Merge pull request #526 from chickdan/trailing_icon_release_filter
Trailing Icon for Filter Button
2 parents bf0dc9d + 6cd8584 commit b89fc21

File tree

3 files changed

+30
-16
lines changed

3 files changed

+30
-16
lines changed

Xcodes.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
B0C6AD042AD6E65700E64698 /* ReleaseDateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0C6AD032AD6E65700E64698 /* ReleaseDateView.swift */; };
2626
B0C6AD0B2AD9178E00E64698 /* IdenticalBuildView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0C6AD0A2AD9178E00E64698 /* IdenticalBuildView.swift */; };
2727
B0C6AD0D2AD91D7900E64698 /* IconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0C6AD0C2AD91D7900E64698 /* IconView.swift */; };
28+
BDBAB7452B9FF55800694B0B /* TrailingIconLabelStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDBAB7442B9FF55800694B0B /* TrailingIconLabelStyle.swift */; };
2829
CA11E7BA2598476C00D2EE1C /* XcodeCommands.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */; };
2930
CA2518EC25A7FF2B00F08414 /* AppStateUpdateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA2518EB25A7FF2B00F08414 /* AppStateUpdateTests.swift */; };
3031
CA25192A25A9644800F08414 /* XcodeInstallState.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA25192925A9644800F08414 /* XcodeInstallState.swift */; };
@@ -209,6 +210,7 @@
209210
B0C6AD032AD6E65700E64698 /* ReleaseDateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReleaseDateView.swift; sourceTree = "<group>"; };
210211
B0C6AD0A2AD9178E00E64698 /* IdenticalBuildView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdenticalBuildView.swift; sourceTree = "<group>"; };
211212
B0C6AD0C2AD91D7900E64698 /* IconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconView.swift; sourceTree = "<group>"; };
213+
BDBAB7442B9FF55800694B0B /* TrailingIconLabelStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrailingIconLabelStyle.swift; sourceTree = "<group>"; };
212214
CA11E7B92598476C00D2EE1C /* XcodeCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeCommands.swift; sourceTree = "<group>"; };
213215
CA2518EB25A7FF2B00F08414 /* AppStateUpdateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateUpdateTests.swift; sourceTree = "<group>"; };
214216
CA25192925A9644800F08414 /* XcodeInstallState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XcodeInstallState.swift; sourceTree = "<group>"; };
@@ -380,6 +382,7 @@
380382
536CFDD3263C9A8000026CE0 /* XcodesSheet.swift */,
381383
53CBAB2B263DCC9100410495 /* XcodesAlert.swift */,
382384
E84B7D0C2B296A8900DBDA2B /* NavigationSplitViewWrapper.swift */,
385+
BDBAB7442B9FF55800694B0B /* TrailingIconLabelStyle.swift */,
383386
);
384387
path = Common;
385388
sourceTree = "<group>";
@@ -919,6 +922,7 @@
919922
CA9FF84E2595079F00E47BAF /* ScrollingTextView.swift in Sources */,
920923
E832EAF82B0FBCF4001B570D /* RuntimeInstallationStepDetailView.swift in Sources */,
921924
CABFA9C12592EEEA00380FEE /* Version+.swift in Sources */,
925+
BDBAB7452B9FF55800694B0B /* TrailingIconLabelStyle.swift in Sources */,
922926
E8D655C0288DD04700A139C2 /* SelectedActionType.swift in Sources */,
923927
36741BFD291E4FDB00A85AAE /* DownloadPreferencePane.swift in Sources */,
924928
E84E4F542B333864003F3959 /* PlatformsListView.swift in Sources */,
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
//
2+
// TrailingIconLabelStyle.swift
3+
// Xcodes
4+
//
5+
// Created by Daniel Chick on 3/11/24.
6+
// Copyright © 2024 Robots and Pencils. All rights reserved.
7+
//
8+
9+
import SwiftUI
10+
11+
struct TrailingIconLabelStyle: LabelStyle {
12+
func makeBody(configuration: Configuration) -> some View {
13+
HStack {
14+
configuration.title
15+
configuration.icon
16+
}
17+
}
18+
}
19+
20+
extension LabelStyle where Self == TrailingIconLabelStyle {
21+
static var trailingIcon: Self { Self() }
22+
}

Xcodes/Frontend/XcodeList/MainToolbar.swift

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -34,25 +34,13 @@ struct MainToolbarModifier: ViewModifier {
3434
case .all:
3535
Label("All", systemImage: "line.horizontal.3.decrease.circle")
3636
case .release:
37-
if #available(macOS 11.3, *) {
3837
Label("ReleaseOnly", systemImage: "line.horizontal.3.decrease.circle.fill")
39-
.labelStyle(TitleAndIconLabelStyle())
38+
.labelStyle(.trailingIcon)
4039
.foregroundColor(.accentColor)
41-
} else {
42-
Label("ReleaseOnly", systemImage: "line.horizontal.3.decrease.circle.fill")
43-
.labelStyle(TitleOnlyLabelStyle())
44-
.foregroundColor(.accentColor)
45-
}
4640
case .beta:
47-
if #available(macOS 11.3, *) {
48-
Label("BetaOnly", systemImage: "line.horizontal.3.decrease.circle.fill")
49-
.labelStyle(TitleAndIconLabelStyle())
50-
.foregroundColor(.accentColor)
51-
} else {
52-
Label("BetaOnly", systemImage: "line.horizontal.3.decrease.circle.fill")
53-
.labelStyle(TitleOnlyLabelStyle())
54-
.foregroundColor(.accentColor)
55-
}
41+
Label("BetaOnly", systemImage: "line.horizontal.3.decrease.circle.fill")
42+
.labelStyle(.trailingIcon)
43+
.foregroundColor(.accentColor)
5644
}
5745
}
5846
.help("FilterAvailableDescription")

0 commit comments

Comments
 (0)