Skip to content

Commit 5a57bcd

Browse files
committed
Add console view to Install toolchain
1 parent 3bc82f6 commit 5a57bcd

7 files changed

+181
-24
lines changed

App/Base.lproj/Main.storyboard

+1-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@
2727
<action selector="showPreferences:" target="Ady-hI-5gd" id="RiF-uc-YRo"/>
2828
</connections>
2929
</menuItem>
30-
<menuItem title="Toolchains" id="8gg-Yy-zGP">
31-
<modifierMask key="keyEquivalentModifierMask"/>
30+
<menuItem title="Toolchains..." keyEquivalent="T" id="8gg-Yy-zGP">
3231
<connections>
3332
<action selector="showInstallToolchains:" target="Ady-hI-5gd" id="lyA-k8-L0e"/>
3433
</connections>

Composite.xcodeproj/project.pbxproj

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
C709B37E223A3852003C7AC0 /* QuickHelp.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C709B37D223A3852003C7AC0 /* QuickHelp.storyboard */; };
2424
C709B381223A3870003C7AC0 /* QuickHelpPopoverController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C709B37F223A3870003C7AC0 /* QuickHelpPopoverController.swift */; };
2525
C709B384223B0D7E003C7AC0 /* NSViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C709B383223B0D7E003C7AC0 /* NSViewController.swift */; };
26+
C709B386223B17CB003C7AC0 /* InstallToolchainConsoleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C709B385223B17CB003C7AC0 /* InstallToolchainConsoleViewController.swift */; };
2627
C70B970021322CA000B0E4C8 /* TemplateSectionHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C70B96FF21322CA000B0E4C8 /* TemplateSectionHeaderView.xib */; };
2728
C70B970221322D4800B0E4C8 /* TemplateSectionHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C70B970121322D4800B0E4C8 /* TemplateSectionHeaderView.swift */; };
2829
C70F666C22128E1500EEA9D1 /* DocumentInspectorView.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C79A6D3921EE9D93007FB630 /* DocumentInspectorView.storyboard */; };
@@ -415,6 +416,7 @@
415416
C709B37D223A3852003C7AC0 /* QuickHelp.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = QuickHelp.storyboard; sourceTree = "<group>"; };
416417
C709B37F223A3870003C7AC0 /* QuickHelpPopoverController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuickHelpPopoverController.swift; sourceTree = "<group>"; };
417418
C709B383223B0D7E003C7AC0 /* NSViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSViewController.swift; sourceTree = "<group>"; };
419+
C709B385223B17CB003C7AC0 /* InstallToolchainConsoleViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstallToolchainConsoleViewController.swift; sourceTree = "<group>"; };
418420
C70B96FF21322CA000B0E4C8 /* TemplateSectionHeaderView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TemplateSectionHeaderView.xib; sourceTree = "<group>"; };
419421
C70B970121322D4800B0E4C8 /* TemplateSectionHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TemplateSectionHeaderView.swift; sourceTree = "<group>"; };
420422
C711F58721DCAB62005EBC5D /* Templates-Tronbox.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Templates-Tronbox.plist"; sourceTree = "<group>"; };
@@ -901,6 +903,7 @@
901903
children = (
902904
C7DDD7592141E02800674942 /* InstallToolchain.storyboard */,
903905
C76FC31F21439FAC00DB2C62 /* InstallToolchainViewController.swift */,
906+
C709B385223B17CB003C7AC0 /* InstallToolchainConsoleViewController.swift */,
904907
C72FEA9321E433BA000EF3C7 /* PlatformCollectionViewItem.swift */,
905908
C72FEA9421E433BA000EF3C7 /* PlatformCollectionViewItem.xib */,
906909
C7DDD74D2140AFDC00674942 /* DependencyPlatform.swift */,
@@ -2336,6 +2339,7 @@
23362339
C79A6B7621EE987D007FB630 /* KeyBinding.swift in Sources */,
23372340
C79A6CB321EE9C10007FB630 /* Debouncer.swift in Sources */,
23382341
C79A75BD21EEF070007FB630 /* DetachablePopoverViewController.swift in Sources */,
2342+
C709B386223B17CB003C7AC0 /* InstallToolchainConsoleViewController.swift in Sources */,
23392343
C79A75E421EEF5C1007FB630 /* MainMenu.swift in Sources */,
23402344
C79A6D1021EE9C64007FB630 /* NSStoryboard+Instantiation.swift in Sources */,
23412345
C79A75D621EEF0A6007FB630 /* MultipleReplacement+TextView.swift in Sources */,

InstallToolchain/DependencyViewModel.swift

+12
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ class DependencyViewModel {
4040
// Find location of dependency
4141
let whichCommand: String
4242

43+
var output: (String)->Void = {_ in }
44+
4345
private (set) var version: String = "" {
4446
didSet {
4547
NotificationCenter.default.post(name: NSNotification.Name(rawValue: DependencyViewModel.notificationString), object: self)
@@ -128,6 +130,8 @@ extension DependencyViewModel {
128130
self.path = url.path
129131
}
130132

133+
operation.outputClosure = output
134+
131135
return operation
132136
}
133137

@@ -147,6 +151,8 @@ extension DependencyViewModel {
147151
self.version = version.trimmingCharacters(in: .whitespaces)
148152
}
149153
}
154+
155+
operation.outputClosure = output
150156

151157
return operation
152158
}
@@ -162,6 +168,8 @@ extension DependencyViewModel {
162168
let operation = try? BashOperation(directory: "~", commands: [command])
163169
else { return nil }
164170

171+
operation.outputClosure = output
172+
165173
return operation
166174
}
167175

@@ -177,6 +185,8 @@ extension DependencyViewModel {
177185
self.newerVersionAvailable = self.versionQueryParser(operation.output)?.last
178186
}
179187

188+
operation.outputClosure = output
189+
180190
return operation
181191
}
182192

@@ -205,6 +215,7 @@ extension DependencyViewModel {
205215
let operation = try? BashOperation(directory: "~", commands: [command])
206216
else { return nil }
207217

218+
operation.outputClosure = output
208219
let operations = [operation, initOperation(), fileLocationOperation(), versionQueryOperation()].compactMap{ $0 }
209220
self.installOperations.addObjects(operations)
210221
return operations
@@ -222,6 +233,7 @@ extension DependencyViewModel {
222233
operation.completionBlock = {
223234
self.newerVersionAvailable = nil
224235
}
236+
operation.outputClosure = output
225237
let operations = [operation, versionQueryOperation()].compactMap{ $0 }
226238
self.updateOperations.addObjects(operations)
227239
return operations

0 commit comments

Comments
 (0)