Skip to content

Commit

Permalink
Fix exception when opening options dialog and no open solution
Browse files Browse the repository at this point in the history
  • Loading branch information
sboulema committed Nov 20, 2017
1 parent ddfdc42 commit a9adfe1
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 12 deletions.
17 changes: 11 additions & 6 deletions TSVN/Options/OptionsDialog.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 13 additions & 2 deletions TSVN/Options/OptionsDialog.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using EnvDTE;
using System;
using System.IO;
using System.Windows.Forms;

namespace SamirBoulema.TSVN.Options
Expand All @@ -12,8 +13,18 @@ public OptionsDialog(DTE dte)
{
InitializeComponent();
OptionsHelper.Dte = dte;
options = OptionsHelper.GetOptions();
rootFolderTextBox.Text = options.RootFolder;

if (File.Exists(dte.Solution.FileName))
{
options = OptionsHelper.GetOptions();
rootFolderTextBox.Text = options.RootFolder;
}
else
{
rootFolderTextBox.Enabled = false;
okButton.Enabled = false;
browseButton.Enabled = false;
}
}

private void cancelButton_Click(object sender, EventArgs e)
Expand Down
12 changes: 10 additions & 2 deletions TSVN/Options/OptionsHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@ public static class OptionsHelper

public static Options GetOptions()
{
var solutionFolder = Path.GetDirectoryName(Dte.Solution.FileName);
var solutionFilePath = Dte.Solution.FileName;

if (!File.Exists(solutionFilePath)) return new Options();

var solutionFolder = Path.GetDirectoryName(solutionFilePath);
var settingFilePath = Path.Combine(solutionFolder, "TSVN.json");

if (File.Exists(settingFilePath))
Expand All @@ -26,7 +30,11 @@ public static void SaveOptions(Options options)
{
var json = JsonConvert.SerializeObject(options);

var solutionFolder = Path.GetDirectoryName(Dte.Solution.FileName);
var solutionFilePath = Dte.Solution.FileName;

if (!File.Exists(solutionFilePath)) return;

var solutionFolder = Path.GetDirectoryName(solutionFilePath);
File.WriteAllText(Path.Combine(solutionFolder, "TSVN.json"), json);
}
}
Expand Down
2 changes: 1 addition & 1 deletion TSVN/source.extension.vsixmanifest
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?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="07fd7462-cd4b-433b-9ab5-8ad3ad87bc65" Version="4.1" Language="en-US" Publisher="Samir L. Boulema" />
<Identity Id="07fd7462-cd4b-433b-9ab5-8ad3ad87bc65" Version="4.2" Language="en-US" Publisher="Samir L. Boulema" />
<DisplayName>TSVN</DisplayName>
<Description>Control TortoiseSVN from within Visual Studio</Description>
<MoreInfo>https://marketplace.visualstudio.com/items?itemName=SamirBoulema.TSVN</MoreInfo>
Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 4.1.{build}
version: 4.2.{build}
skip_tags: true

configuration:
Expand Down

0 comments on commit a9adfe1

Please sign in to comment.