Skip to content

Commit feddd82

Browse files
authored
Improved welcomewindow (#1039)
* simplified recents list Signed-off-by: Wouter01 <[email protected]> * small fixes Signed-off-by: Wouter01 <[email protected]> * added comment Signed-off-by: Wouter01 <[email protected]> * fix lint error Signed-off-by: Wouter01 <[email protected]> * switched @NSApplicationMain to @main Signed-off-by: Wouter01 <[email protected]> --------- Signed-off-by: Wouter01 <[email protected]>
1 parent 766eaa6 commit feddd82

14 files changed

+114
-399
lines changed

CodeEdit.xcodeproj/project.pbxproj

Lines changed: 4 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -83,16 +83,8 @@
8383
581BFB672926431000D251EC /* WelcomeWindowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 581BFB5A2926431000D251EC /* WelcomeWindowView.swift */; };
8484
581BFB682926431000D251EC /* WelcomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 581BFB5B2926431000D251EC /* WelcomeView.swift */; };
8585
581BFB692926431000D251EC /* WelcomeActionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 581BFB5C2926431000D251EC /* WelcomeActionView.swift */; };
86-
581BFB6A2926431000D251EC /* RecentProjectsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 581BFB5D2926431000D251EC /* RecentProjectsView.swift */; };
8786
581BFB6B2926431000D251EC /* RecentProjectItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 581BFB5E2926431000D251EC /* RecentProjectItem.swift */; };
8887
582213F0291834A500EFE361 /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 582213EF291834A500EFE361 /* AboutView.swift */; };
89-
583E528529361B39001AB554 /* WelcomeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 583E526A29361B39001AB554 /* WelcomeTests.swift */; };
90-
583E528629361B39001AB554 /* testWelcomeActionViewLightSnapshot.1.png in Resources */ = {isa = PBXBuildFile; fileRef = 583E526E29361B39001AB554 /* testWelcomeActionViewLightSnapshot.1.png */; };
91-
583E528729361B39001AB554 /* testWelcomeActionViewDarkSnapshot.1.png in Resources */ = {isa = PBXBuildFile; fileRef = 583E526F29361B39001AB554 /* testWelcomeActionViewDarkSnapshot.1.png */; };
92-
583E528829361B39001AB554 /* testRecentJSFileDarkSnapshot.1.png in Resources */ = {isa = PBXBuildFile; fileRef = 583E527029361B39001AB554 /* testRecentJSFileDarkSnapshot.1.png */; };
93-
583E528929361B39001AB554 /* testRecentProjectItemDarkSnapshot.1.png in Resources */ = {isa = PBXBuildFile; fileRef = 583E527129361B39001AB554 /* testRecentProjectItemDarkSnapshot.1.png */; };
94-
583E528A29361B39001AB554 /* testRecentJSFileLightSnapshot.1.png in Resources */ = {isa = PBXBuildFile; fileRef = 583E527229361B39001AB554 /* testRecentJSFileLightSnapshot.1.png */; };
95-
583E528B29361B39001AB554 /* testRecentProjectItemLightSnapshot.1.png in Resources */ = {isa = PBXBuildFile; fileRef = 583E527329361B39001AB554 /* testRecentProjectItemLightSnapshot.1.png */; };
9688
583E528C29361B39001AB554 /* CodeEditUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 583E527529361B39001AB554 /* CodeEditUITests.swift */; };
9789
583E528D29361B39001AB554 /* testHelpButtonDark.1.png in Resources */ = {isa = PBXBuildFile; fileRef = 583E527929361B39001AB554 /* testHelpButtonDark.1.png */; };
9890
583E528E29361B39001AB554 /* testEffectViewLight.1.png in Resources */ = {isa = PBXBuildFile; fileRef = 583E527A29361B39001AB554 /* testEffectViewLight.1.png */; };
@@ -315,6 +307,7 @@
315307
6C05A8AF284D0CA3007F4EAA /* WorkspaceDocument+Listeners.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C05A8AE284D0CA3007F4EAA /* WorkspaceDocument+Listeners.swift */; };
316308
6C14CEB028777D3C001468FE /* FindNavigatorListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C14CEAF28777D3C001468FE /* FindNavigatorListViewController.swift */; };
317309
6C14CEB32877A68F001468FE /* FindNavigatorMatchListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C14CEB22877A68F001468FE /* FindNavigatorMatchListCell.swift */; };
310+
6C18620A298BF5A800C663EA /* RecentProjectsListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C186209298BF5A800C663EA /* RecentProjectsListView.swift */; };
318311
6C4104E3297C87A000F472BA /* BlurButtonStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C4104E2297C87A000F472BA /* BlurButtonStyle.swift */; };
319312
6C4104E6297C884F00F472BA /* AboutDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C4104E5297C884F00F472BA /* AboutDetailView.swift */; };
320313
6C4104E9297C970F00F472BA /* AboutDefaultView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C4104E8297C970F00F472BA /* AboutDefaultView.swift */; };
@@ -478,16 +471,8 @@
478471
581BFB5A2926431000D251EC /* WelcomeWindowView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WelcomeWindowView.swift; sourceTree = "<group>"; };
479472
581BFB5B2926431000D251EC /* WelcomeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WelcomeView.swift; sourceTree = "<group>"; };
480473
581BFB5C2926431000D251EC /* WelcomeActionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WelcomeActionView.swift; sourceTree = "<group>"; };
481-
581BFB5D2926431000D251EC /* RecentProjectsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecentProjectsView.swift; sourceTree = "<group>"; };
482474
581BFB5E2926431000D251EC /* RecentProjectItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecentProjectItem.swift; sourceTree = "<group>"; };
483475
582213EF291834A500EFE361 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = "<group>"; };
484-
583E526A29361B39001AB554 /* WelcomeTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WelcomeTests.swift; sourceTree = "<group>"; };
485-
583E526E29361B39001AB554 /* testWelcomeActionViewLightSnapshot.1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testWelcomeActionViewLightSnapshot.1.png; sourceTree = "<group>"; };
486-
583E526F29361B39001AB554 /* testWelcomeActionViewDarkSnapshot.1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testWelcomeActionViewDarkSnapshot.1.png; sourceTree = "<group>"; };
487-
583E527029361B39001AB554 /* testRecentJSFileDarkSnapshot.1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testRecentJSFileDarkSnapshot.1.png; sourceTree = "<group>"; };
488-
583E527129361B39001AB554 /* testRecentProjectItemDarkSnapshot.1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testRecentProjectItemDarkSnapshot.1.png; sourceTree = "<group>"; };
489-
583E527229361B39001AB554 /* testRecentJSFileLightSnapshot.1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testRecentJSFileLightSnapshot.1.png; sourceTree = "<group>"; };
490-
583E527329361B39001AB554 /* testRecentProjectItemLightSnapshot.1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testRecentProjectItemLightSnapshot.1.png; sourceTree = "<group>"; };
491476
583E527529361B39001AB554 /* CodeEditUITests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CodeEditUITests.swift; sourceTree = "<group>"; };
492477
583E527929361B39001AB554 /* testHelpButtonDark.1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testHelpButtonDark.1.png; sourceTree = "<group>"; };
493478
583E527A29361B39001AB554 /* testEffectViewLight.1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testEffectViewLight.1.png; sourceTree = "<group>"; };
@@ -501,7 +486,6 @@
501486
583E528229361B39001AB554 /* testSegmentedControlDark.1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testSegmentedControlDark.1.png; sourceTree = "<group>"; };
502487
583E528329361B39001AB554 /* testEffectViewDark.1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testEffectViewDark.1.png; sourceTree = "<group>"; };
503488
583E528429361B39001AB554 /* testBranchPickerLight.1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testBranchPickerLight.1.png; sourceTree = "<group>"; };
504-
583E529E29361BCF001AB554 /* WelcomeTests-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WelcomeTests-Bridging-Header.h"; sourceTree = "<group>"; };
505489
583E52A129361BFD001AB554 /* CodeEditUITests-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CodeEditUITests-Bridging-Header.h"; sourceTree = "<group>"; };
506490
5878DA81291863F900DD95A3 /* AcknowledgementsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AcknowledgementsView.swift; sourceTree = "<group>"; };
507491
5878DA832918642000DD95A3 /* ParsePackagesResolved.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ParsePackagesResolved.swift; sourceTree = "<group>"; };
@@ -706,6 +690,7 @@
706690
6C05A8AE284D0CA3007F4EAA /* WorkspaceDocument+Listeners.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WorkspaceDocument+Listeners.swift"; sourceTree = "<group>"; };
707691
6C14CEAF28777D3C001468FE /* FindNavigatorListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindNavigatorListViewController.swift; sourceTree = "<group>"; };
708692
6C14CEB22877A68F001468FE /* FindNavigatorMatchListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FindNavigatorMatchListCell.swift; sourceTree = "<group>"; };
693+
6C186209298BF5A800C663EA /* RecentProjectsListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecentProjectsListView.swift; sourceTree = "<group>"; };
709694
6C4104E2297C87A000F472BA /* BlurButtonStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlurButtonStyle.swift; sourceTree = "<group>"; };
710695
6C4104E5297C884F00F472BA /* AboutDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutDetailView.swift; sourceTree = "<group>"; };
711696
6C4104E8297C970F00F472BA /* AboutDefaultView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutDefaultView.swift; sourceTree = "<group>"; };
@@ -1037,10 +1022,10 @@
10371022
581BFB562926431000D251EC /* Views */ = {
10381023
isa = PBXGroup;
10391024
children = (
1025+
6C186209298BF5A800C663EA /* RecentProjectsListView.swift */,
10401026
581BFB5A2926431000D251EC /* WelcomeWindowView.swift */,
10411027
581BFB5B2926431000D251EC /* WelcomeView.swift */,
10421028
581BFB5C2926431000D251EC /* WelcomeActionView.swift */,
1043-
581BFB5D2926431000D251EC /* RecentProjectsView.swift */,
10441029
581BFB5E2926431000D251EC /* RecentProjectItem.swift */,
10451030
);
10461031
path = Views;
@@ -1178,37 +1163,6 @@
11781163
path = NSTableView;
11791164
sourceTree = "<group>";
11801165
};
1181-
583E526929361B39001AB554 /* Welcome */ = {
1182-
isa = PBXGroup;
1183-
children = (
1184-
583E526C29361B39001AB554 /* __Snapshots__ */,
1185-
583E526A29361B39001AB554 /* WelcomeTests.swift */,
1186-
583E529E29361BCF001AB554 /* WelcomeTests-Bridging-Header.h */,
1187-
);
1188-
path = Welcome;
1189-
sourceTree = "<group>";
1190-
};
1191-
583E526C29361B39001AB554 /* __Snapshots__ */ = {
1192-
isa = PBXGroup;
1193-
children = (
1194-
583E526D29361B39001AB554 /* UnitTests */,
1195-
);
1196-
path = __Snapshots__;
1197-
sourceTree = "<group>";
1198-
};
1199-
583E526D29361B39001AB554 /* UnitTests */ = {
1200-
isa = PBXGroup;
1201-
children = (
1202-
583E526E29361B39001AB554 /* testWelcomeActionViewLightSnapshot.1.png */,
1203-
583E526F29361B39001AB554 /* testWelcomeActionViewDarkSnapshot.1.png */,
1204-
583E527029361B39001AB554 /* testRecentJSFileDarkSnapshot.1.png */,
1205-
583E527129361B39001AB554 /* testRecentProjectItemDarkSnapshot.1.png */,
1206-
583E527229361B39001AB554 /* testRecentJSFileLightSnapshot.1.png */,
1207-
583E527329361B39001AB554 /* testRecentProjectItemLightSnapshot.1.png */,
1208-
);
1209-
path = UnitTests;
1210-
sourceTree = "<group>";
1211-
};
12121166
583E527429361B39001AB554 /* CodeEditUI */ = {
12131167
isa = PBXGroup;
12141168
children = (
@@ -1497,7 +1451,6 @@
14971451
283BDCC22972F211002AFF81 /* Acknowledgements */,
14981452
4EE96EC82960562000FFBEA8 /* Documents */,
14991453
583E527429361B39001AB554 /* CodeEditUI */,
1500-
583E526929361B39001AB554 /* Welcome */,
15011454
587B612C2934199800D5CD8F /* CodeFile */,
15021455
);
15031456
path = Features;
@@ -2510,20 +2463,14 @@
25102463
isa = PBXResourcesBuildPhase;
25112464
buildActionMask = 2147483647;
25122465
files = (
2513-
583E528729361B39001AB554 /* testWelcomeActionViewDarkSnapshot.1.png in Resources */,
25142466
583E529329361B39001AB554 /* testFontPickerViewDark.1.png in Resources */,
25152467
583E529129361B39001AB554 /* testHelpButtonLight.1.png in Resources */,
25162468
583E529029361B39001AB554 /* testSegmentedControlProminentLight.1.png in Resources */,
25172469
583E528F29361B39001AB554 /* testSegmentedControlLight.1.png in Resources */,
25182470
583E529429361B39001AB554 /* testFontPickerViewLight.1.png in Resources */,
2519-
583E528A29361B39001AB554 /* testRecentJSFileLightSnapshot.1.png in Resources */,
25202471
583E529729361B39001AB554 /* testEffectViewDark.1.png in Resources */,
2521-
583E528629361B39001AB554 /* testWelcomeActionViewLightSnapshot.1.png in Resources */,
25222472
583E529829361B39001AB554 /* testBranchPickerLight.1.png in Resources */,
25232473
583E528E29361B39001AB554 /* testEffectViewLight.1.png in Resources */,
2524-
583E528B29361B39001AB554 /* testRecentProjectItemLightSnapshot.1.png in Resources */,
2525-
583E528929361B39001AB554 /* testRecentProjectItemDarkSnapshot.1.png in Resources */,
2526-
583E528829361B39001AB554 /* testRecentJSFileDarkSnapshot.1.png in Resources */,
25272474
583E529229361B39001AB554 /* testBranchPickerDark.1.png in Resources */,
25282475
583E529529361B39001AB554 /* testSegmentedControlProminentDark.1.png in Resources */,
25292476
583E528D29361B39001AB554 /* testHelpButtonDark.1.png in Resources */,
@@ -2617,7 +2564,6 @@
26172564
587B9E7F29301D8F00AC7927 /* GitHubUserRouter.swift in Sources */,
26182565
20EBB50D280C383700F3A5DA /* LanguageType.swift in Sources */,
26192566
587B9E9729301D8F00AC7927 /* BitBucketAccount+Token.swift in Sources */,
2620-
581BFB6A2926431000D251EC /* RecentProjectsView.swift in Sources */,
26212567
587B9E7729301D8F00AC7927 /* String+PercentEncoding.swift in Sources */,
26222568
587B9E5B29301D8F00AC7927 /* GitCheckoutBranchView.swift in Sources */,
26232569
2813F93827ECC4AA00E305E4 /* FindNavigatorResultList.swift in Sources */,
@@ -2694,6 +2640,7 @@
26942640
043C321427E31FF6006AE443 /* CodeEditDocumentController.swift in Sources */,
26952641
587B9E6629301D8F00AC7927 /* GitLabProjectHook.swift in Sources */,
26962642
587B9E9329301D8F00AC7927 /* BitBucketOAuthConfiguration.swift in Sources */,
2643+
6C18620A298BF5A800C663EA /* RecentProjectsListView.swift in Sources */,
26972644
58F2EB0A292FB2B0004A9BDE /* AppPreferences.swift in Sources */,
26982645
20EBB503280C327C00F3A5DA /* HistoryInspectorView.swift in Sources */,
26992646
587B9E7529301D8F00AC7927 /* String+QueryParameters.swift in Sources */,
@@ -2888,7 +2835,6 @@
28882835
isa = PBXSourcesBuildPhase;
28892836
buildActionMask = 2147483647;
28902837
files = (
2891-
583E528529361B39001AB554 /* WelcomeTests.swift in Sources */,
28922838
583E528C29361B39001AB554 /* CodeEditUITests.swift in Sources */,
28932839
587B60F82934124200D5CD8F /* WorkspaceClientTests.swift in Sources */,
28942840
587B61012934170A00D5CD8F /* UnitTests_Extensions.swift in Sources */,

CodeEdit/AppDelegate.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ final class CodeEditApplication: NSApplication {
2424

2525
}
2626

27-
@NSApplicationMain
27+
@main
2828
final class AppDelegate: NSObject, NSApplicationDelegate, ObservableObject { // swiftlint:disable:this type_body_length
2929
var updater: SoftwareUpdater = SoftwareUpdater()
3030

CodeEdit/Features/Welcome/Views/RecentProjectItem.swift

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,27 @@ extension String {
1414
}
1515

1616
struct RecentProjectItem: View {
17-
let projectPath: String
17+
let projectPath: URL
1818

19-
init(projectPath: String) {
19+
init(projectPath: URL) {
2020
self.projectPath = projectPath
2121
}
2222

2323
var body: some View {
2424
HStack(spacing: 8) {
25-
Image(nsImage: NSWorkspace.shared.icon(forFile: projectPath))
25+
Image(nsImage: NSWorkspace.shared.icon(forFile: projectPath.path(percentEncoded: false)))
2626
.resizable()
2727
.aspectRatio(contentMode: .fit)
2828
.frame(width: 32, height: 32)
2929
VStack(alignment: .leading) {
30-
Text(projectPath.components(separatedBy: "/").last ?? "")
30+
Text(projectPath.lastPathComponent)
3131
.font(.system(size: 13))
3232
.lineLimit(1)
33-
Text(projectPath.abbreviatingWithTildeInPath())
33+
Text(projectPath.path(percentEncoded: false).abbreviatingWithTildeInPath())
3434
.font(.system(size: 11))
3535
.lineLimit(1)
3636
.truncationMode(.head)
37-
}
38-
.padding(.trailing, 15)
37+
}.padding(.trailing, 15)
3938
Spacer()
4039
}
4140
.contentShape(Rectangle())

0 commit comments

Comments
 (0)