Skip to content

Commit 577c650

Browse files
authored
Merge pull request #2 from shugaoye/main
Build 2.0.2
2 parents a312a3e + cd74bf6 commit 577c650

File tree

9 files changed

+130
-31
lines changed

9 files changed

+130
-31
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
## Change log
22

3+
### 2.0.2
4+
- Built for .NET MAUI GA release
5+
36
### 2.0.1-rc.1
47
- Upgraded to .NET MAUI RC1
58
- PassXYZLib moved to a separate project

PassXYZLib.nuspec

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
33
<metadata>
44
<id>PassXYZLib</id>
5-
<version>2.0.1-rc.1</version>
5+
<version>2.0.2</version>
66
<authors>Roger Ye</authors>
77
<owners>Roger Ye</owners>
88
<requireLicenseAcceptance>false</requireLicenseAcceptance>
@@ -13,47 +13,37 @@
1313
- Fixed dependency issue
1414
</releaseNotes>
1515
<copyright>Roger Ye</copyright>
16-
<repository url="https://github.com/passxyz/KPCLib" />
16+
<repository url="https://github.com/passxyz/Lib" />
1717
<dependencies>
1818
<group targetFramework="net6.0">
1919
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
2020
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
21-
<dependency id="Microsoft.Maui.Dependencies" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
22-
<dependency id="Microsoft.Maui.Extensions" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
2321
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
24-
<dependency id="PassXYZ" version="2.1.5.22" exclude="Build,Analyzers" />
22+
<dependency id="PassXYZ" version="2.1.5.28" exclude="Build,Analyzers" />
2523
</group>
2624
<group targetFramework="net6.0-android31.0">
2725
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
2826
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
29-
<dependency id="Microsoft.Maui.Dependencies" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
30-
<dependency id="Microsoft.Maui.Extensions" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
3127
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
32-
<dependency id="PassXYZ" version="2.1.5.22" exclude="Build,Analyzers" />
28+
<dependency id="PassXYZ" version="2.1.5.28" exclude="Build,Analyzers" />
3329
</group>
34-
<group targetFramework="net6.0-ios15.2">
30+
<group targetFramework="net6.0-ios15.4">
3531
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
3632
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
37-
<dependency id="Microsoft.Maui.Dependencies" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
38-
<dependency id="Microsoft.Maui.Extensions" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
3933
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
40-
<dependency id="PassXYZ" version="2.1.5.22" exclude="Build,Analyzers" />
34+
<dependency id="PassXYZ" version="2.1.5.28" exclude="Build,Analyzers" />
4135
</group>
42-
<group targetFramework="net6.0-maccatalyst15.2">
36+
<group targetFramework="net6.0-maccatalyst15.4">
4337
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
4438
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
45-
<dependency id="Microsoft.Maui.Dependencies" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
46-
<dependency id="Microsoft.Maui.Extensions" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
4739
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
48-
<dependency id="PassXYZ" version="2.1.5.22" exclude="Build,Analyzers" />
40+
<dependency id="PassXYZ" version="2.1.5.28" exclude="Build,Analyzers" />
4941
</group>
5042
<group targetFramework="net6.0-windows10.0.19041">
5143
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
5244
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
53-
<dependency id="Microsoft.Maui.Dependencies" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
54-
<dependency id="Microsoft.Maui.Extensions" version="6.0.200-preview.14.5099" exclude="Build,Analyzers" />
5545
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
56-
<dependency id="PassXYZ" version="2.1.5.22" exclude="Build,Analyzers" />
46+
<dependency id="PassXYZ" version="2.1.5.28" exclude="Build,Analyzers" />
5747
</group>
5848
</dependencies>
5949
<summary>PassXYZLib added additional features for .NET MAUI.</summary>
@@ -62,14 +52,13 @@
6252
<file src="PassXYZLib/bin/Release/net6.0/PassXYZLib.dll" target="lib/net6.0/PassXYZLib.dll" />
6353
<file src="PassXYZLib/bin/Release/net6.0/PureOtp.dll" target="lib/net6.0/PureOtp.dll" />
6454
<file src="PassXYZLib/bin/Release/net6.0-android/PassXYZLib.dll" target="lib/net6.0-android31.0/PassXYZLib.dll" />
65-
<file src="PassXYZLib/bin/Release/net6.0-android/PassXYZLib.aar" target="lib/net6.0-android31.0/PassXYZLib.aar" />
6655
<file src="PassXYZLib/bin/Release/net6.0-android/PassXYZLib.xml" target="lib/net6.0-android31.0/PassXYZLib.xml" />
6756
<file src="PassXYZLib/bin/Release/net6.0-android/PureOtp.dll" target="lib/net6.0-android31.0/PureOtp.dll" />
68-
<file src="PassXYZLib/bin/Release/net6.0-ios/PassXYZLib.dll" target="lib/net6.0-ios15.2/PassXYZLib.dll" />
69-
<file src="PassXYZLib/bin/Release/net6.0-ios/PureOtp.dll" target="lib/net6.0-ios15.2/PureOtp.dll" />
70-
<file src="PassXYZLib/bin/Release/net6.0-maccatalyst/PassXYZLib.dll" target="lib/net6.0-maccatalyst15.2/PassXYZLib.dll" />
71-
<file src="PassXYZLib/bin/Release/net6.0-maccatalyst/PureOtp.dll" target="lib/net6.0-maccatalyst15.2/PureOtp.dll" />
72-
<file src="PassXYZLib/bin/Release/net6.0-windows10.0.19041/PassXYZLib.dll" target="lib/net6.0-windows10.0.19041/PassXYZLib.dll" />
73-
<file src="PassXYZLib/bin/Release/net6.0-windows10.0.19041/PureOtp.dll" target="lib/net6.0-windows10.0.19041/PureOtp.dll" />
57+
<file src="PassXYZLib/bin/Release/net6.0-ios/PassXYZLib.dll" target="lib/net6.0-ios15.4/PassXYZLib.dll" />
58+
<file src="PassXYZLib/bin/Release/net6.0-ios/PureOtp.dll" target="lib/net6.0-ios15.4/PureOtp.dll" />
59+
<file src="PassXYZLib/bin/Release/net6.0-maccatalyst/PassXYZLib.dll" target="lib/net6.0-maccatalyst15.4/PassXYZLib.dll" />
60+
<file src="PassXYZLib/bin/Release/net6.0-maccatalyst/PureOtp.dll" target="lib/net6.0-maccatalyst15.4/PureOtp.dll" />
61+
<file src="PassXYZLib/bin/Release/net6.0-windows10.0.19041.0/PassXYZLib.dll" target="lib/net6.0-windows10.0.19041/PassXYZLib.dll" />
62+
<file src="PassXYZLib/bin/Release/net6.0-windows10.0.19041.0/PureOtp.dll" target="lib/net6.0-windows10.0.19041/PureOtp.dll" />
7463
</files>
7564
</package>

PassXYZLib/IKeyValue.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace PassXYZLib
8+
{
9+
public interface IKeyValue
10+
{
11+
string Key { get; set; }
12+
string Value { get; set; }
13+
bool IsValid { get => !(string.IsNullOrEmpty(Key) || string.IsNullOrEmpty(Value)); }
14+
}
15+
}

PassXYZLib/NewField.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace PassXYZLib
8+
{
9+
public class NewField : Field
10+
{
11+
public NewField(string key = "", string value="", bool isProtected=false) : base(key, value, isProtected)
12+
{
13+
}
14+
}
15+
}

PassXYZLib/NewItem.cs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
using KPCLib;
2+
using PassXYZLib;
3+
4+
namespace PassXYZLib
5+
{
6+
public class NewItem : Item
7+
{
8+
private readonly Guid uid = new();
9+
public override string Id
10+
{
11+
get
12+
{
13+
return uid.ToString();
14+
}
15+
}
16+
public override string Name { get; set; } = default!;
17+
public override string Notes { get; set; } = default!;
18+
public override bool IsGroup { get => (SubType == ItemSubType.Group); }
19+
public override DateTime LastModificationTime { get; set; } = default!;
20+
public override string Description
21+
{
22+
get
23+
{
24+
return $"{ItemType} | {LastModificationTime.ToString("yyyy'-'MM'-'dd")} | {Notes}".Truncate(50);
25+
}
26+
}
27+
public ItemSubType SubType { get; set; } = ItemSubType.Group;
28+
public string ItemType
29+
{
30+
get => SubType.ToString();
31+
set
32+
{
33+
SubType = SubType.GetItemSubType(value);
34+
}
35+
}
36+
}
37+
}

PassXYZLib/PassXYZLib.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
1919

20-
<Version>2.0.1</Version>
20+
<Version>2.0.2</Version>
2121
<NeutralLanguage>en-US</NeutralLanguage>
2222
</PropertyGroup>
2323

PassXYZLib/PwEntryEx.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,24 @@ public static void SetPxEntry(this PwEntry entry)
4646
entry.CustomData.Set(PxDefs.PxCustomDataItemSubType, ItemSubType.PxEntry.ToString());
4747
}
4848

49+
/// <summary>
50+
/// Find the encoded key using a key in the field.
51+
/// </summary>
52+
/// <param name="entry">an instance of PwEntry</param>
53+
/// <param name="key">key of Field</param>
54+
/// <returns>encoded key</returns>
55+
public static string FindEncodeKey(this PwEntry entry, string key)
56+
{
57+
if (PxDefs.IsPxEntry(entry))
58+
{
59+
return PxDefs.FindEncodeKey(entry.Strings, key);
60+
}
61+
else
62+
{
63+
return key;
64+
}
65+
}
66+
4967
/// <summary>
5068
/// Create a new encoded key for PxEntry.
5169
/// </summary>

PassXYZLib/PxDefs.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,18 @@ public static string GetDatabaseType(string fileName)
309309
{
310310
return "KeePass";
311311
}
312+
}
313+
314+
public static ItemSubType GetItemSubType(this ItemSubType subType, string type)
315+
{
316+
if (type == ItemSubType.Group.ToString()) return ItemSubType.Group;
317+
if (type == ItemSubType.Entry.ToString()) return ItemSubType.Entry;
318+
if (type == ItemSubType.Notes.ToString()) return ItemSubType.Notes;
319+
if (type == ItemSubType.PxEntry.ToString()) return ItemSubType.PxEntry;
320+
321+
return ItemSubType.None;
312322
}
323+
313324
// The end of PxDefs
314325
}
315326

PassXYZLib/PxItem.cs

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -452,12 +452,23 @@ public static string GetCustomIcon(this Item item)
452452
}
453453
else
454454
{
455-
Debug.WriteLine("SetIcon: PasswordDb is closed");
455+
Debug.WriteLine("GetCustomIcon: PasswordDb is closed");
456456
}
457457
}
458458
else
459459
{
460-
Debug.WriteLine("SetIcon: No PasswordDb instance");
460+
Debug.WriteLine("GetCustomIcon: No PasswordDb instance");
461+
}
462+
}
463+
else
464+
{
465+
if (item.IsGroup)
466+
{
467+
return "folder.svg";
468+
}
469+
else
470+
{
471+
return "file.svg";
461472
}
462473
}
463474
return string.Empty;
@@ -560,7 +571,7 @@ public static Field AddField(this Item item, string key, string value, bool isPr
560571

561572
if (entry.IsPxEntry())
562573
{
563-
field = new Field(k, value, isProtected, FieldIcons.GetImage, entry.EncodeKey(k));
574+
field = new Field(key, value, isProtected, FieldIcons.GetImage, entry.EncodeKey(k));
564575
}
565576
else
566577
{
@@ -604,7 +615,7 @@ public static void UpdateField(this Item item, string key, string value, bool is
604615
{
605616
if (item is PwEntry entry)
606617
{
607-
string k = entry.IsPxEntry() ? entry.EncodeKey(key) : key;
618+
string k = entry.IsPxEntry() ? entry.FindEncodeKey(key) : key;
608619
if (entry.Strings.Exists(k))
609620
{
610621
entry.Strings.Set(k, new ProtectedString(isProtected, value));

0 commit comments

Comments
 (0)