Skip to content

Commit

Permalink
CardMaker 1.3.0.0 A9 prep
Browse files Browse the repository at this point in the history
  • Loading branch information
nhmkdev committed Feb 29, 2024
1 parent 746268c commit 1e4a70f
Show file tree
Hide file tree
Showing 12 changed files with 597 additions and 75 deletions.
16 changes: 13 additions & 3 deletions CardMaker/Card/Import/GoogleSpreadsheetReference.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@

using System;
using Support.Google.Sheets;
using Support.IO;
using Support.UI;

namespace CardMaker.Card.Import
{
Expand Down Expand Up @@ -144,9 +146,17 @@ public static string generateFullReference(string sSpreadsheetName, string sShee

public static string ExtractSpreadsheetIDFromURLString(string sUrl)
{
var zUri = new Uri(sUrl);
var arrayPathComponents = zUri.LocalPath.Split(new char[] { '/' });
return (arrayPathComponents.Length > 3) ? arrayPathComponents[3] : string.Empty;
try
{
var zUri = new Uri(sUrl);
var arrayPathComponents = zUri.LocalPath.Split(new char[] { '/' });
return (arrayPathComponents.Length > 3) ? arrayPathComponents[3] : string.Empty;
}
catch (Exception ex)
{
Logger.AddLogLine("Failed to parse URL: {0} Error: {1}".FormatString(sUrl, ex.ToString()));
return string.Empty;
}
}
}
}
9 changes: 9 additions & 0 deletions CardMaker/CardMaker.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,12 @@
<Compile Include="Support\Google\GoogleInitializerFactory.cs" />
<Compile Include="Support\Google\Sheets\GoogleSheetInfo.cs" />
<Compile Include="Support\Google\Sheets\GoogleSpreadsheet.cs" />
<Compile Include="Support\Google\Sheets\GoogleSpreadsheetSelector.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Support\Google\Sheets\GoogleSpreadsheetSelector.Designer.cs">
<DependentUpon>GoogleSpreadsheetSelector.cs</DependentUpon>
</Compile>
<Compile Include="Support\Google\Sheets\GoogleSpreadsheetBrowser.cs">
<SubType>Form</SubType>
</Compile>
Expand Down Expand Up @@ -387,6 +393,9 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="Support\Google\Sheets\GoogleSpreadsheetSelector.resx">
<DependentUpon>GoogleSpreadsheetSelector.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Support\Google\Sheets\GoogleSpreadsheetBrowser.resx">
<DependentUpon>GoogleSpreadsheetBrowser.cs</DependentUpon>
</EmbeddedResource>
Expand Down
2 changes: 1 addition & 1 deletion CardMaker/CardMakerBuild.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public static class CardMakerBuild
public static string GetBuildSuffix()
{
#if UNSTABLE
return "[UNSTABLE] V.A8";
return "[UNSTABLE] V.A9";
#else
return string.Empty;
#endif
Expand Down
9 changes: 9 additions & 0 deletions CardMaker/CardMaker_Mono.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,12 @@
<Compile Include="Support\Google\GoogleInitializerFactory.cs" />
<Compile Include="Support\Google\Sheets\GoogleSheetInfo.cs" />
<Compile Include="Support\Google\Sheets\GoogleSpreadsheet.cs" />
<Compile Include="Support\Google\Sheets\GoogleSpreadsheetSelector.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Support\Google\Sheets\GoogleSpreadsheetSelector.Designer.cs">
<DependentUpon>GoogleSpreadsheetSelector.cs</DependentUpon>
</Compile>
<Compile Include="Support\Google\Sheets\GoogleSpreadsheetBrowser.cs">
<SubType>Form</SubType>
</Compile>
Expand Down Expand Up @@ -387,6 +393,9 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="Support\Google\Sheets\GoogleSpreadsheetSelector.resx">
<DependentUpon>GoogleSpreadsheetSelector.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Support\Google\Sheets\GoogleSpreadsheetBrowser.resx">
<DependentUpon>GoogleSpreadsheetBrowser.cs</DependentUpon>
</EmbeddedResource>
Expand Down
35 changes: 1 addition & 34 deletions CardMaker/Forms/Dialogs/ProjectSettingsDialog.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,46 +56,14 @@ public static void ShowProjectSettings(Form parentForm)

zQuery.AddPullDownBox("Default Define Reference Type", Enum.GetNames(typeof(ReferenceType)), (int)eDefaultDefineReferenceType, DEFAULT_DEFINE_REFERENCE_TYPE);

const string SPREADHSEET_URL = "sheets_url";
const string SPREADHSEET_ID = "sheets_id";
const string SPREADSHEET_NAME = "spreadsheet_name";

zQuery.AddSelectorBox(
"Google Project define spreadsheet override",
ProjectManager.Instance.LoadedProject.overrideDefineReferenceName,
() =>
#if true
{
var zGoogleReferenceQuery = FormUtils.InitializeQueryPanelDialog(new QueryPanelDialog("Setup Google Sheets Reference", 750, false));
zGoogleReferenceQuery.AddTextBox("Sheets URL:", string.Empty, false, SPREADHSEET_URL);
zGoogleReferenceQuery.AddTextBox("Sheets ID: (alternative)", string.Empty, false, SPREADHSEET_ID);
zGoogleReferenceQuery.AddTextBox("Spreadsheet Name:", string.Empty, false, SPREADSHEET_NAME);
return zGoogleReferenceQuery.Form;
},
(zGoogleReferenceForm, txtOverride) =>
{
var zGoogleReferenceQuery = (QueryPanelDialog)zGoogleReferenceForm.Tag;
var sUri = zGoogleReferenceQuery.GetString(SPREADHSEET_URL).Trim();
var sSpreadsheetId = zGoogleReferenceQuery.GetString(SPREADHSEET_ID).Trim();
var sSpreadsheetName = zGoogleReferenceQuery.GetString(SPREADSHEET_NAME).Trim();
var sId = string.IsNullOrWhiteSpace(sUri)
? sSpreadsheetId
: GoogleSpreadsheetReference.ExtractSpreadsheetIDFromURLString(sUri);
var zGoogleSpreadsheetReference =
txtOverride.Text = new GoogleSpreadsheetReference(
new GoogleSheetInfo()
{
Name = sSpreadsheetName,
Id = sId
}
).generateSpreadsheetReference();

},
#else
{
if (GoogleAuthManager.CheckGoogleCredentials(parentForm))
{
return new GoogleSpreadsheetBrowser(new GoogleSpreadsheet(CardMakerInstance.GoogleInitializerFactory), false);
return new GoogleSpreadsheetSelector(new GoogleSpreadsheet(CardMakerInstance.GoogleInitializerFactory), false);
}
return null;
},
Expand All @@ -104,7 +72,6 @@ public static void ShowProjectSettings(Form parentForm)
txtOverride.Text = new GoogleSpreadsheetReference(zGoogleSpreadsheetBrowser.SelectedSpreadsheet)
.generateSpreadsheetReference();
},
#endif
OVERRIDE_DEFINE_REFRENCE_NAME);

zQuery.ChangeToTab("Javascript");
Expand Down
36 changes: 1 addition & 35 deletions CardMaker/Forms/MDIProject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -490,41 +490,8 @@ private void addGoogleSpreadsheetReferenceToolStripMenuItem_Click(object sender,
{
return;
}

#if true
const string SPREADHSEET_URL = "sheets_url";
const string SPREADHSEET_ID = "sheets_id";
const string SPREADSHEET_NAME = "spreadsheet_name";
const string SHEET_NAME = "sheet_name";
var zQuery = FormUtils.InitializeQueryPanelDialog(new QueryPanelDialog("Setup Google Sheets Reference", 750, false));
zQuery.AddTextBox("Sheets URL:", string.Empty, false, SPREADHSEET_URL);
zQuery.AddTextBox("Sheets ID: (alternative)", string.Empty, false, SPREADHSEET_ID);
zQuery.AddTextBox("Spreadsheet Name:", string.Empty, false, SPREADSHEET_NAME);
zQuery.AddTextBox("Sheet Name (within Spreadsheet):", string.Empty, false, SHEET_NAME);
if (DialogResult.OK == zQuery.ShowDialog(this))
{
var sUri = zQuery.GetString(SPREADHSEET_URL).Trim();
var sSpreadsheetId = zQuery.GetString(SPREADHSEET_ID).Trim();
var sSpreadsheetName = zQuery.GetString(SPREADSHEET_NAME).Trim();
var sSheetName = zQuery.GetString(SHEET_NAME).Trim();
var sId = string.IsNullOrWhiteSpace(sUri)
? sSpreadsheetId
: GoogleSpreadsheetReference.ExtractSpreadsheetIDFromURLString(sUri);
var zGoogleSpreadsheetReference = new GoogleSpreadsheetReference(
new GoogleSheetInfo()
{
Name = sSpreadsheetName,
Id = sId
}
)
{
SheetName = sSheetName
};
tryToAddReferenceNode(zGoogleSpreadsheetReference.generateFullReference());
}
#else
var zDialog =
new GoogleSpreadsheetBrowser(new GoogleSpreadsheet(CardMakerInstance.GoogleInitializerFactory), true);
new GoogleSpreadsheetSelector(new GoogleSpreadsheet(CardMakerInstance.GoogleInitializerFactory), true);
if (DialogResult.OK == zDialog.ShowDialog(this))
{
var zGoogleSpreadsheetReference = new GoogleSpreadsheetReference(zDialog.SelectedSpreadsheet)
Expand All @@ -533,7 +500,6 @@ private void addGoogleSpreadsheetReferenceToolStripMenuItem_Click(object sender,
};
tryToAddReferenceNode(zGoogleSpreadsheetReference.generateFullReference());
}
#endif
}

private void removeReferenceToolStripMenuItem_Click(object sender, EventArgs e)
Expand Down
16 changes: 14 additions & 2 deletions CardMaker/Support/Google/Sheets/GoogleSpreadsheet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,20 @@ public List<string> GetSheetNames(string sSpreadsheetId)
{
var zSheetsService = CreateSheetsService();
// TODO: this can likely be optimized to not return everything (contents won't be included)
var zSpreadSheet = zSheetsService.Spreadsheets.Get(sSpreadsheetId).Execute();
return zSpreadSheet.Sheets.Select(sheet => sheet.Properties.Title).ToList();
var zSpreadsheet = zSheetsService.Spreadsheets.Get(sSpreadsheetId).Execute();
return GetSheetNames(zSpreadsheet);
}

public List<string> GetSheetNames(Spreadsheet zSheet)
{
var zSheetsService = CreateSheetsService();
// TODO: this can likely be optimized to not return everything (contents won't be included)
return zSheet.Sheets.Select(sheet => sheet.Properties.Title).ToList();
}

public string GetSpreadsheetName(Spreadsheet zSheet)
{
return zSheet.Properties.Title;
}

/// <summary>
Expand Down
Loading

0 comments on commit 1e4a70f

Please sign in to comment.