Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 1821d30

Browse files
Merge pull request #553 from github-for-unity/enhancements/window-loading-view
Window loading view
2 parents 9e424f6 + afce3f9 commit 1821d30

File tree

3 files changed

+83
-26
lines changed

3 files changed

+83
-26
lines changed

src/UnityExtension/Assets/Editor/GitHub.Unity/EntryPoint.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,17 @@ private static void Initialize()
4040
var oldLogPath = logPath.Parent.Combine(logPath.FileNameWithoutExtension + "-old" + logPath.ExtensionWithDot);
4141
try
4242
{
43-
oldLogPath.DeleteIfExists();
44-
if (logPath.FileExists())
43+
var shouldRotate = true;
44+
#if DEVELOPER_BUILD
45+
shouldRotate = new FileInfo(logPath).Length > 10 * 1024 * 1024;
46+
#endif
47+
if (shouldRotate)
4548
{
46-
logPath.Move(oldLogPath);
49+
oldLogPath.DeleteIfExists();
50+
if (logPath.FileExists())
51+
{
52+
logPath.Move(oldLogPath);
53+
}
4754
}
4855
}
4956
catch (Exception ex)

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/LoadingView.cs

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,37 @@
1-
using System;
2-
using System.Linq;
3-
using System.Threading.Tasks;
4-
using Octokit;
5-
using Rackspace.Threading;
6-
using UnityEditor;
1+
using UnityEditor;
72
using UnityEngine;
83

94
namespace GitHub.Unity
105
{
116
class LoadingView : Subview
127
{
13-
private static readonly Vector2 viewSize = new Vector2(300, 250);
8+
private static readonly Vector2 MinViewSize = new Vector2(300, 250);
149

1510
private const string WindowTitle = "Loading...";
16-
private const string Header = "";
17-
1811

1912
public override void InitializeView(IView parent)
2013
{
2114
base.InitializeView(parent);
2215
Title = WindowTitle;
23-
Size = viewSize;
16+
Size = MinViewSize;
2417
}
2518

2619
public override void OnGUI()
27-
{}
20+
{
21+
GUILayout.BeginVertical();
22+
{
23+
GUILayout.FlexibleSpace();
24+
GUILayout.BeginHorizontal();
25+
{
26+
GUILayout.FlexibleSpace();
27+
GUILayout.Label(WindowTitle);
28+
GUILayout.FlexibleSpace();
29+
}
30+
GUILayout.EndHorizontal();
31+
GUILayout.FlexibleSpace();
32+
}
33+
GUILayout.EndVertical();
34+
}
2835

2936
public override bool IsBusy
3037
{

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/Window.cs

Lines changed: 55 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@ class Window : BaseWindow
2323
private const string Window_RepoBranchTooltip = "Active branch";
2424

2525
[NonSerialized] private double notificationClearTime = -1;
26-
[SerializeField] private SubTab changeTab = SubTab.History;
27-
[SerializeField] private SubTab activeTab = SubTab.History;
26+
[SerializeField] private SubTab changeTab = SubTab.Loading;
27+
[SerializeField] private SubTab activeTab = SubTab.Loading;
2828
[SerializeField] private InitProjectView initProjectView = new InitProjectView();
29+
[SerializeField] private LoadingView loadingView = new LoadingView();
2930
[SerializeField] private BranchesView branchesView = new BranchesView();
3031
[SerializeField] private ChangesView changesView = new ChangesView();
3132
[SerializeField] private HistoryView historyView = new HistoryView();
@@ -39,6 +40,7 @@ class Window : BaseWindow
3940

4041
[SerializeField] private CacheUpdateEvent lastCurrentBranchAndRemoteChangedEvent;
4142
[NonSerialized] private bool currentBranchAndRemoteHasUpdate;
43+
[NonSerialized] private bool gitExecutableIsSet;
4244

4345
[MenuItem(LaunchMenu)]
4446
public static void Window_GitHub()
@@ -84,9 +86,20 @@ public override void Initialize(IApplicationManager applicationManager)
8486
{
8587
base.Initialize(applicationManager);
8688

87-
if (!HasRepository && activeTab != SubTab.InitProject && activeTab != SubTab.Settings)
88-
changeTab = activeTab = SubTab.InitProject;
89+
gitExecutableIsSet = !string.IsNullOrEmpty(Environment.GitExecutablePath);
90+
if (gitExecutableIsSet)
91+
{
92+
if (!HasRepository)
93+
{
94+
if (activeTab == SubTab.Loading)
95+
{
96+
Logger.Trace("Initialze set all tabs to InitProject");
97+
changeTab = activeTab = SubTab.InitProject;
98+
}
99+
}
100+
}
89101

102+
LoadingView.InitializeView(this);
90103
HistoryView.InitializeView(this);
91104
ChangesView.InitializeView(this);
92105
BranchesView.InitializeView(this);
@@ -139,10 +152,28 @@ public override void OnRepositoryChanged(IRepository oldRepository)
139152
DetachHandlers(oldRepository);
140153
AttachHandlers(Repository);
141154

142-
if (Repository != null && activeTab == SubTab.InitProject)
155+
if (gitExecutableIsSet)
143156
{
144-
changeTab = SubTab.History;
145-
UpdateActiveTab();
157+
if (HasRepository)
158+
{
159+
if (activeTab == SubTab.InitProject)
160+
{
161+
Logger.Trace("OnRepositoryChanged set changeTab to History");
162+
163+
changeTab = SubTab.History;
164+
UpdateActiveTab();
165+
}
166+
}
167+
else
168+
{
169+
if (activeTab == SubTab.Loading)
170+
{
171+
Logger.Trace("OnRepositoryChanged set changeTab to InitProject");
172+
173+
changeTab = SubTab.InitProject;
174+
UpdateActiveTab();
175+
}
176+
}
146177
}
147178
}
148179

@@ -165,12 +196,15 @@ public override void OnUI()
165196
{
166197
base.OnUI();
167198

168-
if (HasRepository)
169-
{
170-
DoHeaderGUI();
171-
}
199+
if(gitExecutableIsSet)
200+
{
201+
if (HasRepository)
202+
{
203+
DoHeaderGUI();
204+
}
172205

173-
DoToolbarGUI();
206+
DoToolbarGUI();
207+
}
174208

175209
// GUI for the active tab
176210
if (ActiveView != null)
@@ -370,6 +404,7 @@ private void SwitchView(Subview fromView, Subview toView)
370404

371405
if (fromView != null)
372406
fromView.OnDisable();
407+
373408
toView.OnEnable();
374409
toView.OnDataUpdate();
375410

@@ -442,6 +477,8 @@ private Subview ToView(SubTab tab)
442477
{
443478
switch (tab)
444479
{
480+
case SubTab.Loading:
481+
return loadingView;
445482
case SubTab.InitProject:
446483
return initProjectView;
447484
case SubTab.History:
@@ -457,6 +494,11 @@ private Subview ToView(SubTab tab)
457494
}
458495
}
459496

497+
public LoadingView LoadingView
498+
{
499+
get { return loadingView; }
500+
}
501+
460502
public HistoryView HistoryView
461503
{
462504
get { return historyView; }
@@ -495,6 +537,7 @@ public override bool IsBusy
495537
private enum SubTab
496538
{
497539
None,
540+
Loading,
498541
InitProject,
499542
History,
500543
Changes,

0 commit comments

Comments
 (0)