Commit graph

255 commits

Author SHA1 Message Date
Matt Kiazyk
ecfb49a216
Merge branch 'main' into Notifications 2021-05-02 09:38:29 -05:00
Andrew Erickson
9395b1fda2 only present a single alert at time 2021-05-02 07:52:42 -06:00
Andrew Erickson
2289692422 show auth errors inline on sign in view 2021-05-01 09:12:53 -06:00
Andrew Erickson
499d33f8e0 only show signed in view if authenticated 2021-05-01 08:20:54 -06:00
Andrew Erickson
357121bad5 fix branch conflicts 2021-04-30 20:15:54 -06:00
Andrew Erickson
c300a75b22 add login button in main toolbar 2021-04-30 14:44:14 -06:00
Andrew Erickson
287b5500fe present sign in when credentials are required 2021-04-30 14:43:54 -06:00
Matt Kiazyk
11e8fdecf8
Adds a settings button that loads MacOS Notification when user denies access 2021-04-29 17:04:38 -05:00
Matt Kiazyk
094bb6f0cc
Adds MacOS notifications 2021-04-28 21:50:44 -05:00
Matt Kiazyk
0c94a76baa
Merge pull request #115 from RobotsAndPencils/EstimatedNewLine
Updates estimated time on info pane to 2 lines for better readability
2021-03-10 08:28:17 -06:00
Matt Kiazyk
da56b2ac6d
Updates estimated time on info pane to 2 lines for better readability 2021-03-07 14:33:32 -06:00
Matt Kiazyk
8011f4a288
Auto Install Xcode if wanted 2021-03-07 14:21:27 -06:00
Brandon Evans
22894e2d6d
Move installation step beside cancel button in info pane 2021-02-18 19:20:08 -07:00
Brandon Evans
d00a356c29
Show installation step description for all steps in InstallationStepDetailView 2021-02-18 19:14:06 -07:00
Brandon Evans
1469dfa56b
Replace ObservingDownloadStatsView with ObservingProgressIndicator
This more closely replicates the default look and feel of SwiftUI.ProgressView, but with explicit control over whether localizedAdditionalDescription is shown and without the label above the progress view that displays a fileOperationKind string.
2021-02-18 19:10:12 -07:00
Matt Kiazyk
e638547900
add Percent text to bar 2021-02-15 13:14:52 -06:00
Matt Kiazyk
b06be4e3fa
Download stats for Aria2 2021-02-13 21:23:22 -06:00
Matt Kiazyk
2329098601
Merge pull request #104 from RobotsAndPencils/matt/FractionDownloadHelp
Moves the .help for the ProgressIndicator so it refreshes with the fraction change
2021-02-10 10:24:50 -06:00
Matt Kiazyk
80c02295be
fix typo
Co-authored-by: Sam Lu <sam.lu@robotsandpencils.com>
2021-02-10 08:12:56 -06:00
Brandon Evans
519df4e63c
Merge pull request #103 from RobotsAndPencils/fix-split-view
Remove info pane from split view instead of hiding it
2021-02-08 08:16:58 -07:00
Matt Kiazyk
f636651ba4
Moves the .help for the ProgressIndicator so it refreshes with the fraction change 2021-02-07 14:33:48 -06:00
Brandon Evans
1dd6232891
Remove InfoPane from split view instead of hiding it
When it was hidden the split view would still allow you to resize the remaining split, which resulted in weird behaviour. Instead, just remove the info pane split and the split view doesn't let you resize. Had to move where this global alert lives as a result because it might have to be presented even if the info pane isn't visible.

I tried changing the alert so it wasn't on the main window, and was instead local to the buttons that triggered its presentation, and this worked for all but the case where the CancelInstallButton was used from the Xcode menu. So for now I left it close to where it already was.
2021-02-06 18:28:05 -07:00
Brandon Evans
3208a4d8d2
Put InfoPane content in ScrollView
This issue was revealed when I broke the identical builds functionality with the Apple data source. https://github.com/RobotsAndPencils/XcodesApp/pull/100#pullrequestreview-584917125
2021-02-06 15:29:33 -07:00
Brandon Evans
ef646b7b88
Add identical builds indicator to XcodeListViewRow 2021-02-06 14:43:35 -07:00
Brandon Evans
70872f441a
Make XcodeListViewRow.appState a normal property
It doesn't need to be a DynamicProperty because it only invokes its methods.
2021-02-06 14:43:35 -07:00
Brandon Evans
70ca8c37bf
Add identical builds to the info pane 2021-02-06 14:43:35 -07:00
Matt Kiazyk
75cbd9550b
Adjust ByteCountFormatter. PR Feedback 2021-02-03 21:55:47 -06:00
Matt Kiazyk
b53c480764
Adds a DownloadFileSize when using Apple Data Source 2021-02-01 21:18:49 -06:00
Matt Kiazyk
e6ee43a169
Preferences UI adjustments 2021-01-28 17:20:22 -07:00
Matt Kiazyk
a740b3be08
Remove Preferences dependency. Adjust Settings UI with groups 2021-01-27 21:38:22 -06:00
Matt Kiazyk
202212f417
Updates PreferencesView To use built in Settings Scene 2021-01-26 22:45:43 -06:00
Brandon Evans
352816f64a
Merge pull request #87 from RobotsAndPencils/auth-pref-ui-change
Show stored username in General preference pane even when we don't have a valid session
2021-01-26 08:50:18 -07:00
Brandon Evans
75457dd9eb
Show stored username in General preference pane
This reverts the change from 90c067997b so that the username is shown in situations where we don't have a valid session but could almost certainly get one. Instead, to achieve what that commit was trying to do, we'll instead remove the username from UserDefaults if auth fails with an invalid username or password error. I think this will more closely match what users expect in this UI.

I've added a comment in the UI explaining why it is the way it is. It might also be worth considering renaming AuthenticationState or its cases to better reflect that it's probably more about the (short-lived) session state than whether the user has signed in before and has stored their credentials.
2021-01-25 19:56:28 -07:00
Brandon Evans
6b5a64010e
Add bug report and feature request options to Help menu
This will support error messages that instruct the user to go to the Help menu for these things.
2021-01-25 19:23:50 -07:00
Brandon Evans
9a2057bcd5
Merge pull request #84 from RobotsAndPencils/prepare-user-for-helper-installation
Prepare user for helper installation before attempting to install
2021-01-25 18:33:48 -07:00
Brandon Evans
cb507c3d02
Prepare user for helper installation before post-install steps 2021-01-23 20:25:28 -07:00
Brandon Evans
d84173e29c
Prepare user for helper installation
Doesn't yet handle the post-install steps that need the helper.
2021-01-23 19:38:11 -07:00
Matt Kiazyk
f970649bad
Merge pull request #81 from RobotsAndPencils/matt/progressToolTip
Show ToolTip on progress indicator
2021-01-23 17:29:27 -06:00
Matt Kiazyk
7fad56b3f7
Put tooltip on installationStepView 2021-01-23 17:13:07 -06:00
Brandon Evans
408d05a4a7
Merge pull request #80 from RobotsAndPencils/handle-helper-install-errors
Handle helper installation errors
2021-01-23 15:00:57 -07:00
Matt Kiazyk
102f3bbb58
Add comments about why we're using appStorage instead of sceneStorage
Co-authored-by: Brandon Evans <brandon.evans@robotsandpencils.com>
2021-01-23 15:45:52 -06:00
Matt Kiazyk
f9fe902007
Show ToolTip on progress indicator 2021-01-23 15:41:49 -06:00
Matt Kiazyk
8334e38a0a
#71 Update Filter/Info to use AppStorage 2021-01-23 14:22:23 -06:00
Brandon Evans
e21e4d9cdf
Handle helper installation errors 2021-01-22 22:18:59 -07:00
Brandon Evans
d834f3ed74
Merge pull request #73 from RobotsAndPencils/matt/fixbuildMetadataIdentifiers
Don't show brackets when buildMetadataIdentifiers is empty
2021-01-21 08:18:48 -07:00
Matt Kiazyk
7d57124a5f
Updates the App Update copy to be more relevant about app vs xcode 2021-01-20 21:19:44 -06:00
Matt Kiazyk
aa49f36b03
don't show brackets when buildMetadataIdentifiers is empty 2021-01-20 21:13:53 -06:00
Brandon Evans
b0f09ace04
Add trailing padding to preference panes 2021-01-20 08:45:18 -07:00
Brandon Evans
b39d6d58da
Add Toggle for prerelease appcast 2021-01-19 21:46:02 -07:00
Brandon Evans
f3a3961e0e
Split up preferences, add Updates pane 2021-01-19 21:46:02 -07:00
Brandon Evans
a504504825
Always show build identifiers in list and info pane 2021-01-16 13:30:52 -07:00
Brandon Evans
cd2bde2272
Move Xcode path into XcodeInstallState.installed case 2021-01-16 13:09:48 -07:00
Brandon Evans
4a33d010a8
Confirm before cancelling installation 2021-01-07 21:25:08 -07:00
Brandon Evans
1a830dc9dc
Add cancel install button to context menu and info pane 2021-01-07 21:25:08 -07:00
Brandon Evans
bfb3fd9ea5
Add install functionality
I'm omitting aria2 support for now.
2021-01-07 21:25:07 -07:00
Brandon Evans
a3e9101397
Replace .alert with .emittingError 2021-01-04 16:23:35 -07:00
Brandon Evans
f3680da2ae
Add InstallationStepView 2021-01-01 15:36:20 -07:00
Brandon Evans
ba1c4fec0f
Merge pull request #38 from RobotsAndPencils/remove-promisekit
Remove PromiseKit
2021-01-01 15:03:34 -07:00
Brandon Evans
95ca2bc1c3
Remove PromiseKit and PMKFoundation 2021-01-01 10:29:27 -07:00
Matt Kiazyk
72bdadb796
PR Cleanup 2020-12-31 16:06:03 -06:00
Matt Kiazyk
7bfb94d75a
Uninstall a xcode version 2020-12-31 12:36:31 -06:00
Brandon Evans
15132bdfaa
Psych, switch "default" to "active", add justification 2020-12-30 22:06:39 -07:00
Brandon Evans
7b4c4fc14c
Use term "info pane" consistently instead of "inspector pane" 2020-12-30 22:06:39 -07:00
Brandon Evans
f1bb76b029
Disable Select button in info pane but don't change title 2020-12-30 22:06:38 -07:00
Brandon Evans
69d85a9478
Extract XcodeListViewRow 2020-12-30 22:05:38 -07:00
Brandon Evans
69c083ca35
Update AppStoreButtonStyle with secondary state 2020-12-30 22:05:38 -07:00
Brandon Evans
d122014b74
Update install and select state representations in Xcode list 2020-12-30 22:05:38 -07:00
Brandon Evans
ee08684e01
Merge pull request #36 from RobotsAndPencils/bug/acknowledgementDark
Fixes acknowledgment screen in darkmode
2020-12-30 22:04:51 -07:00
Matt Kiazyk
8d1f2b512d
Fixes acknowledgment screen in darkmode 2020-12-30 15:43:33 -06:00
Matt Kiazyk
1cd96cc9fc
Merge branch 'main' into enhancement/31-helpModifier 2020-12-30 15:07:08 -06:00
Matt Kiazyk
8df4bb59e0
Update some text to better suit HIG
Co-authored-by: Brandon Evans <brandon.evans@robotsandpencils.com>
2020-12-30 15:00:18 -06:00
Chad Sykes
94ef499e9c Non-functional fix so it compiles locally 2020-12-29 14:52:34 -07:00
Brandon Evans
b32687484d
Move Xcode selection state into window 2020-12-29 13:48:17 -07:00
Brandon Evans
047288384d
Reflect currently-selected Xcode in list 2020-12-28 19:58:36 -07:00
Matt Kiazyk
fdb74ee8d9
Adds the .help modifier to a variety of buttons 2020-12-28 16:27:35 -06:00
Brandon Evans
8084f057fd
Create MainWindow to split up XcodeListView 2020-12-28 12:42:28 -07:00
Brandon Evans
9dc3d21f2e
Rename launch to open
This is the preferred verb when it's user-facing, according to Apple's style guide.
2020-12-28 12:42:28 -07:00
Brandon Evans
ba0c429766
Add trailing inspector pane 2020-12-28 12:42:28 -07:00
Brandon Evans
09653b7357
Use ProgressButton in MainToolbar
Made a small change to how ProgressButton is constructed to prevent its frame changing when isInProgress changes.
2020-12-28 11:57:45 -07:00
Brandon Evans
4cb60e2929
Extract MainToolbar 2020-12-28 10:41:11 -07:00
Brandon Evans
192a1c6371
Move all toolbar items to status position, use filter button instead of picker 2020-12-28 10:40:44 -07:00
Brandon Evans
dbff012dc8
Use copyright value from Info.plist in about window 2020-12-28 10:38:29 -07:00
Brandon Evans
1fef255c3d
Add app icon to installed rows 2020-12-28 07:55:12 -07:00
Brandon Evans
4d2600f821
Add Xcode command menu 2020-12-27 23:23:33 -07:00
Brandon Evans
912ac0a28e
Allow launching and copying the path of an installed Xcode 2020-12-27 23:22:57 -07:00
Brandon Evans
adad238b2a
Move uninstalled Xcode property into AppState 2020-12-27 23:22:57 -07:00
Brandon Evans
acd82fa07a
Extract AppState.XcodeVersion to Xcode 2020-12-27 23:22:57 -07:00
Brandon Evans
115de2d3a2
Show last updated date in toolbar 2020-12-27 18:29:25 -07:00
Brandon Evans
b342baff02
Update when the app launches or becomes active and it's been a day since last update 2020-12-27 18:29:25 -07:00
Brandon Evans
9b26688255
Add refresh menu item and progress view 2020-12-27 18:29:24 -07:00
Chad Sykes
6cddffbef3 Convert the common code into a ProgressButton 2020-12-27 16:13:36 -07:00
Chad Sykes
74cb2198f5 Add missing error alerts to the SignIn views (this does not fix the error formatting from AppState for fear of merge issues) 2020-12-27 13:36:28 -07:00
Chad Sykes
fb6dd8fac8 Fix some layout issues to improve readability 2020-12-27 13:10:36 -07:00
Chad Sykes
ff1d2546dc Switch out the action button with an activity spinner when processing a request 2020-12-27 13:10:12 -07:00
Chad Sykes
4e03c59d0a Disable the action button when the AppState isProcessingRequest 2020-12-27 12:22:57 -07:00
Matt Kiazyk
1d9db94efa
Merge pull request #16 from RobotsAndPencils/matt/listCategoryDefault
Saves the list category to userdefaults on top tab
2020-12-27 08:58:48 -06:00
Matt Kiazyk
583eb8b2b8
PR List tab Tweaks 2020-12-27 08:49:28 -06:00
Brandon Evans
047d69197e
Merge pull request #20 from RobotsAndPencils/bug-14/cutOffDigits
Bug #14 - Stop clipping the security code numbers input
2020-12-26 19:34:43 -07:00
Brandon Evans
cb42864d44
Add custom about window with dependency acknowledgments 2020-12-26 16:34:16 -07:00
Chad Sykes
cce80ae012 Simple fix to ensure all characters are shown without clipping... while I could try to figure a more robust solution but it feels like there are bigger fish to fry 2020-12-26 16:02:35 -07:00
Matt Kiazyk
46c5399b36
Saves the list category to userdefaults on top tab 2020-12-23 16:20:03 -06:00
Brandon Evans
bfb56660bf
Sign In instead of Login 2020-12-22 22:11:42 -07:00
Brandon Evans
5149e817da
Store credentials in the keychain
Like xcodes, storing the username in defaults so we know which item to look up in the keychain later. This also fixes the Xcode list update logic to not only validate the session but login with saved credentials if it fails.
2020-12-22 22:06:18 -07:00
Brandon Evans
867ad8ab4b
Add SettingsView 2020-12-22 21:26:25 -07:00
Brandon Evans
34adfb73a2
Reorganize files a bit 2020-12-22 21:01:33 -07:00