Skip to content

Commit

Permalink
Release 0.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
jpsfs committed Feb 27, 2015
1 parent deda297 commit 6199323
Show file tree
Hide file tree
Showing 6 changed files with 88 additions and 3 deletions.
Binary file added releases/0.1.0/TFSScrumExtensions.vsix
Binary file not shown.
21 changes: 21 additions & 0 deletions releases/0.1.0/release-notes.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
==================================================================
=
= TFS Scrum Extensions
=
==================================================================

Release 0.1.0:
- Dropped Support for VS 2012;
- Hide Home ShortCut if Team Explorer is disconnected.
- Copy Bug Repro Steps to Task Description if Base Work Item Description is empty.

Release 0.0.6:
- Support for Visual Studio Online;
- Team Explorer Home ShortCut for Work Item Planning.

Release 0.0.5:
- Copy tags on Work Items (VS2013);

Release 0.0.4:
- Support to multiple project work items;
- Multiple bug fixes;
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ public class PlanWorkItemController
#endregion

#region Public Variables

public event EventHandler TeamFoundationProjectChanged;

#endregion

#region Properties
Expand All @@ -42,7 +45,25 @@ public class PlanWorkItemController
/// </summary>
public PlanWorkItemController()
{
var dteService = Package.GetGlobalService(typeof(EnvDTE.DTE)) as EnvDTE.DTE;
if (dteService == null)
{
Debug.WriteLine("[PlanWorkItemController] DTE Service is null.");
return;
}

var teamExplorer = (ITeamExplorer)(Package.GetGlobalService(typeof(ITeamExplorer)));

teamFoundationServerExt = (dteService.GetObject("Microsoft.VisualStudio.TeamFoundation.TeamFoundationServerExt") as TeamFoundationServerExt);
teamFoundationServerExt.ProjectContextChanged +=teamFoundationServerExt_ProjectContextChanged;
}

private void teamFoundationServerExt_ProjectContextChanged(object sender, EventArgs e)
{
if(this.TeamFoundationProjectChanged != null)
{
this.TeamFoundationProjectChanged(this, e);
}
}

#endregion
Expand Down Expand Up @@ -127,6 +148,29 @@ public void OnPlanWorkItem(int[] workItemIds, bool areWorkItemsSelected = true)
});
}

/// <summary>
/// Determines whether this instance is connected.
/// </summary>
/// <returns></returns>
public bool IsConnected()
{
var dteService = Package.GetGlobalService(typeof(EnvDTE.DTE)) as EnvDTE.DTE;
if (dteService == null)
{
Debug.WriteLine("[PlanWorkItemController] DTE Service is null.");
return false;
}

var teamExplorer = (ITeamExplorer)(Package.GetGlobalService(typeof(ITeamExplorer)));

teamFoundationServerExt = (dteService.GetObject("Microsoft.VisualStudio.TeamFoundation.TeamFoundationServerExt") as TeamFoundationServerExt);
TfsClient tfsClient = new TfsClient(teamFoundationServerExt);

return tfsClient.IsTeamProjectConnnected();
}



#endregion

#region Event handling Methods
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,12 @@ public class PlanWorkItemNavigationItem : TeamExplorerBaseNavigationItem
public PlanWorkItemNavigationItem([Import(typeof(SVsServiceProvider))]IServiceProvider serviceProvider) : base(serviceProvider)
{
this.Text = TFSScrumExtensions.Resources.PlanWorkItem_TeamExplorer_Home;
this.IsVisible = true;
this.Image = TFSScrumExtensions.Resources.PlanWorkItemNavigationItem;

PlanWorkItemController controller = new PlanWorkItemController();
controller.TeamFoundationProjectChanged += controller_TeamFoundationProjectChanged;

this.IsVisible = controller.IsConnected();
}

#endregion
Expand Down Expand Up @@ -67,6 +71,13 @@ public override void Execute()
#endregion

#region Event handling Methods

private void controller_TeamFoundationProjectChanged(object sender, EventArgs e)
{
PlanWorkItemController controller = new PlanWorkItemController();
this.IsVisible = controller.IsConnected();
}

#endregion
}
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Id="59e02031-1f61-4fba-9c44-b40543411b8d" Version="0.0.6" Language="en-US" Publisher="JosePedroSilva" />
<Identity Id="59e02031-1f61-4fba-9c44-b40543411b8d" Version="0.1.0" Language="en-US" Publisher="JosePedroSilva" />
<DisplayName>TFSScrumExtensions</DisplayName>
<Description xml:space="preserve">TFS Scrum Extensions is a Visual Studio Extension designed to help Project Managers and Developers to easily plan and estimate multiple tasks.</Description>
<MoreInfo>https://github.com/jpsfs/TFSScrumExtensions</MoreInfo>
<Icon>Resources\PlanWorkItem.png</Icon>
<Tags>Scrum, Planning</Tags>
</Metadata>
<Installation>
<InstallationTarget Version="[11.0,13.0)" Id="Microsoft.VisualStudio.Pro" />
<InstallationTarget Version="[12.0,13.0)" Id="Microsoft.VisualStudio.Pro" />
</Installation>
<Content>
<Assembly AssemblyName="System.Windows.Interactivity" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,15 @@ public TfsTeamProjectCollection GetTeamProjectCollection()
return TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(this.TfsServer.ActiveProjectContext.DomainUri));
}

/// <summary>
/// Determines whether [is team project connnected].
/// </summary>
/// <returns></returns>
public bool IsTeamProjectConnnected()
{
return this.TfsServer.ActiveProjectContext.DomainUri != null;
}

/// <summary>
/// Creates the work items.
/// </summary>
Expand Down

0 comments on commit 6199323

Please sign in to comment.