SrcsetImages { get; set; } = [];
10 |
11 | public PictureFile? PictureClosestToByArea(int area)
12 | {
13 | return SrcsetImages.MinBy(x => Math.Abs(x.Width * x.Height - area));
14 | }
15 |
16 | public string SrcSetString()
17 | {
18 | return string.Join(", ",
19 | SrcsetImages.OrderByDescending(x => x.Width).Select(x => $"{x.SiteUrl} {x.Width}w"));
20 | }
21 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/CommonHtml/PictureFile.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.CommonHtml;
2 |
3 | public class PictureFile
4 | {
5 | public string? AltText { get; init; }
6 | public FileInfo? File { get; init; }
7 | public string? FileName { get; set; }
8 | public int Height { get; init; }
9 | public string? SiteUrl { get; init; }
10 | public int Width { get; init; }
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/FileHtml/SingleFileDiv.tt:
--------------------------------------------------------------------------------
1 | <#@ template language="C#" #>
2 | <#@ import namespace="CommonHtml" #>
3 |
4 | " data-contentid="<#= DbEntry.ContentId.ToString() #>">
5 | <#= Tags.TitleLinkDiv(DbEntry, DbEntry).ToString() #>
6 | <#= Tags.PostCreatedByAndUpdatedOnDiv(DbEntry).ToString() #>
7 | <#= FileParts.EmbedFileTag(DbEntry).Result #>
8 | <#= Tags.PostBodyDiv(DbEntry).Result.ToString() #>
9 | <#= FileParts.DownloadLinkTag(DbEntry) #>
10 | <#= FileParts.FileLocationDiv(DbEntry) #>
11 | <#= BodyContentReferences.CompactContentTag(DbEntry, GenerationVersion).Result #>
12 |
13 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/FileHtml/SingleFileDivCode.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.CmsData.Database.Models;
2 |
3 | namespace PointlessWaymarks.CmsData.ContentHtml.FileHtml;
4 |
5 | public partial class SingleFileDiv
6 | {
7 | public SingleFileDiv(FileContent dbEntry)
8 | {
9 | DbEntry = dbEntry;
10 |
11 | var settings = UserSettingsSingleton.CurrentSettings();
12 | SiteUrl = settings.SiteUrl();
13 | SiteName = settings.SiteName;
14 | PageUrl = settings.FilePageUrl(DbEntry);
15 | }
16 |
17 | public FileContent DbEntry { get; set; }
18 | public DateTime? GenerationVersion { get; set; }
19 | public string PageUrl { get; set; }
20 | public string SiteName { get; set; }
21 | public string SiteUrl { get; set; }
22 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/GeoJsonHtml/SingleGeoJsonDiv.tt:
--------------------------------------------------------------------------------
1 | <#@ template language="C#" #>
2 | <#@ import namespace="CommonHtml" #>
3 |
4 | " data-contentid="<#= DbEntry.ContentId.ToString() #>">
5 | <#= Tags.TitleLinkDiv(DbEntry, DbEntry) #>
6 | <#= Tags.PostCreatedByAndUpdatedOnDiv(DbEntry).ToString() #>
7 | <#= GeoJsonParts.GeoJsonDivAndScript(DbEntry) #>
8 | <#= Tags.PostBodyDiv(DbEntry).Result #>
9 | <#= GeoJsonParts.DownloadLinkTag(DbEntry) #>
10 | <#= BodyContentReferences.CompactContentTag(DbEntry, GenerationVersion).Result #>
11 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/ImageHtml/SingleImageDiv.tt:
--------------------------------------------------------------------------------
1 | <#@ template language="C#" #>
2 | <#@ import namespace="CommonHtml" #>
3 |
4 | " data-contentid="<#= DbEntry.ContentId.ToString() #>">
5 | <#=
6 | PictureInformation.PictureFigureWithCaptionAndLinkToPicturePageTag("100vw") #>
7 | <#= Tags.PostBodyDiv(DbEntry).Result.ToString() #>
8 | <#= ImageParts.ImageLocationDiv(DbEntry) #>
9 | <#=
10 | BodyContentReferences.CompactContentTag(DbEntry, GenerationVersion).Result #>
11 |
12 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/LineHtml/SingleLineDiv.tt:
--------------------------------------------------------------------------------
1 | <#@ template language="C#" #>
2 | <#@ import namespace="CommonHtml" #>
3 |
4 | " data-contentid="<#= DbEntry.ContentId.ToString() #>">
5 | <#= Tags.TitleLinkDiv(DbEntry, DbEntry) #>
6 | <#= Tags.PostCreatedByAndUpdatedOnDiv(DbEntry).ToString() #>
7 | <#= LineParts.LineDivAndScript(DbEntry) #>
8 | <#= LineParts.LineElevationChartDivAndScript(DbEntry) #>
9 | <#= LineParts.LineStatisticsWithContentDiv(DbEntry).ToString() #>
10 | <#= Tags.PostBodyDiv(DbEntry).Result #>
11 | <#= BodyContentReferences.CompactContentTag(DbEntry, GenerationVersion).Result #>
12 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/LineHtml/SingleLineDivCode.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.CmsData.Database.Models;
2 |
3 | namespace PointlessWaymarks.CmsData.ContentHtml.LineHtml;
4 |
5 | public partial class SingleLineDiv
6 | {
7 | public SingleLineDiv(LineContent dbEntry)
8 | {
9 | DbEntry = dbEntry;
10 |
11 | var settings = UserSettingsSingleton.CurrentSettings();
12 | SiteUrl = settings.SiteUrl();
13 | SiteName = settings.SiteName;
14 | PageUrl = settings.LinePageUrl(DbEntry);
15 | }
16 |
17 | public LineContent DbEntry { get; set; }
18 | public DateTime? GenerationVersion { get; set; }
19 | public string PageUrl { get; set; }
20 | public string SiteName { get; set; }
21 | public string SiteUrl { get; set; }
22 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/NoteHtml/SingleNoteDiv.tt:
--------------------------------------------------------------------------------
1 | <#@ template language="C#" #>
2 | <#@ import namespace="CommonHtml" #>
3 |
4 | " data-contentid="<#= DbEntry.ContentId.ToString() #>">
5 | <#= NoteParts.NoteTitleLinkDiv(DbEntry) #>
6 | <#= Tags.PostBodyDiv(DbEntry).Result #>
7 | <#=
8 | BodyContentReferences.CompactContentTag(DbEntry, GenerationVersion).Result #>
9 |
10 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/NoteHtml/SingleNoteDivCode.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.CmsData.Database.Models;
2 |
3 | namespace PointlessWaymarks.CmsData.ContentHtml.NoteHtml;
4 |
5 | public partial class SingleNoteDiv
6 | {
7 | public SingleNoteDiv(NoteContent dbEntry)
8 | {
9 | DbEntry = dbEntry;
10 |
11 | var settings = UserSettingsSingleton.CurrentSettings();
12 | SiteUrl = settings.SiteUrl();
13 | SiteName = settings.SiteName;
14 | PageUrl = settings.NotePageUrl(DbEntry);
15 | }
16 |
17 | public NoteContent DbEntry { get; set; }
18 | public DateTime? GenerationVersion { get; set; }
19 | public string PageUrl { get; set; }
20 | public string SiteName { get; set; }
21 | public string SiteUrl { get; set; }
22 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/PointHtml/SinglePointDiv.tt:
--------------------------------------------------------------------------------
1 | <#@ template language="C#" #>
2 | <#@ import namespace="CommonHtml" #>
3 |
4 | " data-contentid="<#= DbEntry.ContentId.ToString() #>">
5 | <#= Tags.TitleLinkDiv(DbEntry, DbEntry) #>
6 | <#= Tags.PostCreatedByAndUpdatedOnDiv(DbEntry).ToString() #>
7 | <#= PointParts.PointDivAndScript(DbEntry.ContentId) #>
8 | <#= PointParts.PointTextInfoDiv(DbEntry) #>
9 | <#= Tags.PostBodyDiv(DbEntry).Result.ToString() #>
10 | <#= PointParts.PointDetailsDiv(DbEntry).Result.ToString() #>
11 | <#= BodyContentReferences.CompactContentTag(DbEntry, GenerationVersion).Result #>
12 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/PostHtml/SinglePostDiv.tt:
--------------------------------------------------------------------------------
1 | <#@ template language="C#" #>
2 | <#@ import namespace="CommonHtml" #>
3 |
4 | " data-contentid="<#= DbEntry.ContentId.ToString() #>">
5 | <#= Tags.TitleLinkDiv(DbEntry, DbEntry) #>
6 | <#= Tags.PostCreatedByAndUpdatedOnDiv(DbEntry).ToString() #>
7 | <#= Tags.PostBodyDiv(DbEntry).Result #>
8 | <#= PostParts.PostLocationDiv(DbEntry) #>
9 | <#= BodyContentReferences.CompactContentTag(DbEntry, GenerationVersion).Result #>
10 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/PostHtml/SinglePostDivCode.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.CmsData.Database.Models;
2 |
3 | namespace PointlessWaymarks.CmsData.ContentHtml.PostHtml;
4 |
5 | public partial class SinglePostDiv
6 | {
7 | public SinglePostDiv(PostContent dbEntry)
8 | {
9 | DbEntry = dbEntry;
10 |
11 | var settings = UserSettingsSingleton.CurrentSettings();
12 | SiteUrl = settings.SiteUrl();
13 | SiteName = settings.SiteName;
14 | PageUrl = settings.PostPageUrl(DbEntry);
15 | }
16 |
17 | public PostContent DbEntry { get; set; }
18 | public DateTime? GenerationVersion { get; set; }
19 | public string PageUrl { get; set; }
20 | public string SiteName { get; set; }
21 | public string SiteUrl { get; set; }
22 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/TrailHtml/SingleTrailDiv.tt:
--------------------------------------------------------------------------------
1 | <#@ template language="C#" #>
2 | <#@ import namespace="CommonHtml" #>
3 |
4 | " data-contentid="<#= DbEntry.ContentId.ToString() #>">
5 | <#= Tags.TitleLinkDiv(DbEntry, DbEntry) #>
6 | <#= Tags.PostCreatedByAndUpdatedOnDiv(DbEntry).ToString() #>
7 | <#= Tags.PostBodyDiv(DbEntry, null, TrailParts.TrailGeneratedInfo(DbEntry).Result.ToString()).Result #>
8 | <#= BodyContentReferences.CompactContentTag(DbEntry, GenerationVersion).Result #>
9 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ContentHtml/VideoHtml/SingleVideoDiv.tt:
--------------------------------------------------------------------------------
1 | <#@ template language="C#" #>
2 | <#@ import namespace="CommonHtml" #>
3 |
4 | " data-contentid="<#= DbEntry.ContentId.ToString() #>">
5 | <#= Tags.TitleLinkDiv(DbEntry, DbEntry).ToString() #>
6 | <#= Tags.PostCreatedByAndUpdatedOnDiv(DbEntry).ToString() #>
7 | <#= VideoParts.EmbedVideoTag(DbEntry).Result #>
8 | <#= Tags.PostBodyDiv(DbEntry).Result.ToString() #>
9 | <#= VideoParts.VideoLocationDiv(DbEntry) #>
10 | <#= BodyContentReferences.CompactContentTag(DbEntry, GenerationVersion).Result #>
11 |
12 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/ContentFormats.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database;
2 |
3 | public static class ContentFormatDefaults
4 | {
5 | public static ContentFormatEnum Content => ContentFormatEnum.MarkdigMarkdown01;
6 | }
7 |
8 | public enum ContentFormatEnum
9 | {
10 | MarkdigMarkdown01,
11 | Html01
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/GenerationChangedContentId.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel.DataAnnotations;
2 |
3 | namespace PointlessWaymarks.CmsData.Database.Models;
4 |
5 | public class GenerationChangedContentId
6 | {
7 | [Key] public Guid ContentId { get; set; }
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/GenerationDailyPhotoLog.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public class GenerationDailyPhotoLog
4 | {
5 | public DateTime DailyPhotoDate { get; set; }
6 | public DateTime GenerationVersion { get; set; }
7 | public int Id { get; set; }
8 | public Guid RelatedContentId { get; set; }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/GenerationFileTransferScriptLog.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public class GenerationFileTransferScriptLog
4 | {
5 | public string? FileName { get; set; }
6 | public int Id { get; set; }
7 | public DateTime WrittenOnVersion { get; set; }
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/GenerationFileWriteLog.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public class GenerationFileWriteLog
4 | {
5 | public string? FileName { get; set; }
6 | public int Id { get; set; }
7 | public DateTime WrittenOnVersion { get; set; }
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/GenerationLog.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public class GenerationLog
4 | {
5 | public string? GenerationSettings { get; set; }
6 | public DateTime GenerationVersion { get; set; }
7 | public int Id { get; set; }
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/GenerationRelatedContent.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public class GenerationRelatedContent
4 | {
5 | public Guid ContentOne { get; set; }
6 | public Guid ContentTwo { get; set; }
7 | public DateTime GenerationVersion { get; set; }
8 | public int Id { get; set; }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/GenerationTagLog.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public class GenerationTagLog
4 | {
5 | public DateTime GenerationVersion { get; set; }
6 | public int Id { get; set; }
7 | public Guid RelatedContentId { get; set; }
8 | public bool TagIsExcludedFromSearch { get; set; }
9 | public string? TagSlug { get; set; }
10 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/HistoricMapElement.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public class HistoricMapElement
4 | {
5 | public Guid ElementContentId { get; set; }
6 | public Guid HistoricGroupId { get; set; }
7 | public int Id { get; set; }
8 | public bool IncludeInDefaultView { get; set; }
9 | public bool IsFeaturedElement { get; set; }
10 | public DateTime LastUpdateOn { get; set; }
11 | public string? LinksTo { get; set; } = string.Empty;
12 | public Guid MapComponentContentId { get; set; }
13 | public bool ShowDetailsDefault { get; set; }
14 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/HistoricMapIcon.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public class HistoricMapIcon
4 | {
5 | public required Guid ContentId { get; set; }
6 | public string? IconName { get; set; }
7 | public string? IconSource { get; set; }
8 | public string? IconSvg { get; set; }
9 | public int Id { get; set; }
10 | public string? LastUpdatedBy { get; set; }
11 | public required DateTime LastUpdatedOn { get; set; }
12 | public required DateTime ContentVersion { get; set; }
13 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/HistoricPointDetail.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public class HistoricPointDetail : IContentId
4 | {
5 | public Guid ContentId { get; set; }
6 | public DateTime ContentVersion { get; set; }
7 | public DateTime CreatedOn { get; set; }
8 | public string? DataType { get; set; }
9 | public Guid HistoricGroupId { get; set; }
10 | public int Id { get; set; }
11 | public DateTime? LastUpdatedOn { get; set; }
12 | public Guid PointContentId { get; set; }
13 | public string? StructuredDataAsJson { get; set; }
14 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/IBodyContent.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public interface IBodyContent
4 | {
5 | public string? BodyContent { get; }
6 | public string? BodyContentFormat { get; }
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/IContentCommon.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public interface IContentCommon : IContentId, IMainImage, ITag, ITitleSummarySlugFolder,
4 | ICreatedAndLastUpdateOnAndBy, IMainSiteFeed, IBodyContent, IShowInSearch
5 | {
6 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/IContentId.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public interface IContentId
4 | {
5 | public Guid ContentId { get; }
6 | public DateTime ContentVersion { get; }
7 | public int Id { get; }
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/ICreatedAndLastUpdateOnAndBy.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public interface ICreatedAndLastUpdateOnAndBy
4 | {
5 | public string? CreatedBy { get; }
6 | public DateTime CreatedOn { get; }
7 | public string? LastUpdatedBy { get; }
8 | public DateTime? LastUpdatedOn { get; }
9 | public DateTime LatestUpdate { get; }
10 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/IMainImage.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public interface IMainImage
4 | {
5 | public Guid? MainPicture { get; }
6 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/IMainSiteFeed.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public interface IMainSiteFeed
4 | {
5 | public DateTime FeedOn { get; set; }
6 | public bool IsDraft { get; set; }
7 | bool ShowInMainSiteFeed { get; }
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/IOptionalLocation.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public interface IOptionalLocation
4 | {
5 | public double? Elevation { get; set; }
6 | public double? Latitude { get; set; }
7 | public double? Longitude { get; set; }
8 | public bool ShowLocation { get; set; }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/IShowInSearch.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public interface IShowInSearch
4 | {
5 | bool ShowInSearch { get; }
6 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/ITags.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public interface ITag
4 | {
5 | public string? Tags { get; }
6 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/ITitle.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public interface ITitle
4 | {
5 | public string? Title { get; }
6 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/ITitleSummarySlugFolder.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public interface ITitleSummarySlugFolder : ITitle
4 | {
5 | public string? Folder { get; }
6 | public string? Slug { get; }
7 | public string? Summary { get; }
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/IUpdateNotes.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public interface IUpdateNotes
4 | {
5 | public string? UpdateNotes { get; }
6 | public string? UpdateNotesFormat { get; }
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/ImageMetadata.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public class ImageMetadata
4 | {
5 | public string? Summary { get; set; }
6 | public string? Tags { get; set; }
7 | public string? Title { get; set; }
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/MenuLink.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public class MenuLink
4 | {
5 | public DateTime ContentVersion { get; set; }
6 | public int Id { get; set; }
7 | public string? LinkTag { get; set; }
8 | public int MenuOrder { get; set; }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/Models/TagExclusion.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.Database.Models;
2 |
3 | public class TagExclusion
4 | {
5 | public DateTime ContentVersion { get; set; }
6 | public int Id { get; set; }
7 | public string? Tag { get; set; }
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/PointDetailDataModels/Fee.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.CommonTools;
2 |
3 | namespace PointlessWaymarks.CmsData.Database.PointDetailDataModels;
4 |
5 | public class Fee : IPointDetailData
6 | {
7 | public string DataTypeIdentifier => "Fee";
8 | public string? Notes { get; set; }
9 | public string? NotesContentFormat { get; set; } = ContentFormatDefaults.Content.ToString();
10 |
11 | public async Task Validate()
12 | {
13 | var formatValidation = await CommonContentValidation.ValidateBodyContentFormat(NotesContentFormat);
14 | return !formatValidation.Valid
15 | ? new IsValid(false, formatValidation.Explanation)
16 | : new IsValid(true, string.Empty);
17 | }
18 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/PointDetailDataModels/IPointDetailData.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.CommonTools;
2 |
3 | namespace PointlessWaymarks.CmsData.Database.PointDetailDataModels;
4 |
5 | public interface IPointDetailData
6 | {
7 | string DataTypeIdentifier { get; }
8 | public Task Validate();
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/PointDetailDataModels/Peak.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.CommonTools;
2 |
3 | namespace PointlessWaymarks.CmsData.Database.PointDetailDataModels;
4 |
5 | public class Peak : IPointDetailData
6 | {
7 | public string DataTypeIdentifier => "Peak";
8 | public string? Notes { get; set; }
9 | public string NotesContentFormat { get; set; } = ContentFormatDefaults.Content.ToString();
10 |
11 | public async Task Validate()
12 | {
13 | var formatValidation = await CommonContentValidation.ValidateBodyContentFormat(NotesContentFormat);
14 | return !formatValidation.Valid
15 | ? new IsValid(false, formatValidation.Explanation)
16 | : new IsValid(true, string.Empty);
17 | }
18 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Database/PointDetailDataModels/Restroom.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.CommonTools;
2 |
3 | namespace PointlessWaymarks.CmsData.Database.PointDetailDataModels;
4 |
5 | public class Restroom : IPointDetailData
6 | {
7 | public string DataTypeIdentifier => "Restroom";
8 | public string? Notes { get; set; }
9 | public string NotesContentFormat { get; set; } = ContentFormatDefaults.Content.ToString();
10 |
11 | public async Task Validate()
12 | {
13 | var formatValidation = await CommonContentValidation.ValidateBodyContentFormat(NotesContentFormat);
14 | return !formatValidation.Valid
15 | ? new IsValid(false, formatValidation.Explanation)
16 | : new IsValid(true, string.Empty);
17 | }
18 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ExcelImport/ContentImportColumn.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.ExcelImport;
2 |
3 | public class ContentImportColumn
4 | {
5 | public string? ColumnHeader { get; set; }
6 | public int ColumnNumber { get; set; }
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ExcelImport/ContentImportValueParse.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.ExcelImport;
2 |
3 | public class ContentImportValueParse
4 | {
5 | public T? ParsedValue { get; set; }
6 | public string? StringValue { get; init; }
7 | public bool? ValueParsed { get; set; }
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/ImageHelpers/IPictureResizer.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData.ImageHelpers;
2 |
3 | public interface IPictureResizer
4 | {
5 | Task ResizeTo(FileInfo toResize, int width, int quality, string imageTypeString, bool addSizeString,
6 | IProgress? progress = null);
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "PointlessWaymarks.CmsData": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/L.Control.Locate.min.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sourceRoot":"","sources":["../src/L.Control.Locate.scss"],"names":[],"mappings":"AASE,0BACE,eAEA,iEACE,qBACA,WACA,YACA,WACA,0OAGF,0DACE,qBACA,WACA,YACA,WACA,6bACA,yDAIJ,wEACE,sPAGF,2EACE,sPAIJ,wDACE,WACA,gBACA,uBACA,mBACA,gBACA,eAEA,6EACE,kBAIJ,wCACE,wDAGF,wCACE,GACE,eAGF,IACE,eACA,0BAGF,KACE,gBAIJ,uCACE,GACE,uBAGF,KACE","file":"L.Control.Locate.min.css"}
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/images/layers-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/SiteResources/images/layers-2x.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/SiteResources/images/layers.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/images/marker-icon-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/SiteResources/images/marker-icon-2x.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/images/marker-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/SiteResources/images/marker-icon.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/images/marker-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/SiteResources/images/marker-shadow.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/images/markers-matte.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/SiteResources/images/markers-matte.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/images/markers-matte@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/SiteResources/images/markers-matte@2x.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/images/markers-plain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/SiteResources/images/markers-plain.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/images/markers-shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/SiteResources/images/markers-shadow.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/images/markers-shadow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/SiteResources/images/markers-shadow@2x.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/images/markers-soft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/SiteResources/images/markers-soft.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/images/markers-soft@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/SiteResources/images/markers-soft@2x.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/SiteResources/location-arrow-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/UserSettingsGenerationValues.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData;
2 |
3 | public class UserSettingsGenerationValues
4 | {
5 | public DateTime? LastGenerationUtc { get; set; }
6 | public string? SiteAuthors { get; set; }
7 | public string? SiteEmailTo { get; set; }
8 | public string? SiteKeywords { get; set; }
9 | public string? SiteName { get; set; }
10 | public string? SiteSummary { get; set; }
11 | public string? SiteUrl { get; set; }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/UserSettingsSingleton.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsData;
2 |
3 | public static class UserSettingsSingleton
4 | {
5 | private static UserSettings? _userSettings;
6 |
7 | public static UserSettings CurrentSettings()
8 | {
9 | return _userSettings ??= UserSettingsUtilities.ReadFromCurrentSettingsFile().Result;
10 | }
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsData/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsData/favicon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsGui/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsGui/CmsInstallerLeftImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsGui/CmsInstallerLeftImage.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsGui/CmsInstallerLeftImage.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsGui/CmsInstallerLeftImage.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsGui/CmsInstallerTopRightImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsGui/CmsInstallerTopRightImage.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsGui/CmsInstallerTopRightImage.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsGui/CmsInstallerTopRightImage.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsGui/JotServices.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 | using Jot;
3 | using WpfScreenHelper;
4 |
5 | namespace PointlessWaymarks.CmsGui;
6 |
7 | internal static class JotServices
8 | {
9 | public static readonly Tracker Tracker = new();
10 |
11 | static JotServices()
12 | {
13 | Tracker.Configure().Id(w => w.Name, SystemInformation.VirtualScreen.Size)
14 | .Properties(w => new
15 | {
16 | w.Top,
17 | w.Width,
18 | w.Height,
19 | w.Left,
20 | w.WindowState
21 | }).PersistOn(nameof(Window.Closing)).StopTrackingOn(nameof(Window.Closing));
22 | }
23 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsGui/PointlessWaymarksCmsIcon.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsGui/PointlessWaymarksCmsIcon.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsGui/PointlessWaymarksCmsIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsGui/PointlessWaymarksCmsIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsGui/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "PointlessWaymarks.CmsGui": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsGui/SettingsFileChooserControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsGui;
2 |
3 | ///
4 | /// Interaction logic for SettingsFileChooserControl.xaml
5 | ///
6 | public partial class SettingsFileChooserControl
7 | {
8 | public SettingsFileChooserControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsGui/SettingsFileListItem.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using PointlessWaymarks.CmsData;
3 | using PointlessWaymarks.LlamaAspects;
4 |
5 | namespace PointlessWaymarks.CmsGui;
6 |
7 | [NotifyPropertyChanged]
8 | public partial class SettingsFileListItem
9 | {
10 | public UserSettings ParsedSettings { get; set; }
11 | public FileInfo SettingsFile { get; set; }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/AllContentList.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/AllContentList.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/ContentMapList.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/ContentMapList.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/FeatureIntersectionsTagsExample.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/FeatureIntersectionsTagsExample.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/FileEditorShowingValidationAndChangeIndicators.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/FileEditorShowingValidationAndChangeIndicators.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/GeoJsonContentEditor.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/GeoJsonContentEditor.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/ImageEditor.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/ImageEditor.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/LaunchScreen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/LaunchScreen.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/LineEditorMapTab.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/LineEditorMapTab.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/ListSearchBuilder.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/ListSearchBuilder.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/MainListWithProgramUpdateNotice.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/MainListWithProgramUpdateNotice.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/MemoriesEmail.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/MemoriesEmail.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/MenuLinksEditor.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/MenuLinksEditor.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/PhotoEditor-ShowingFileAndPhotoMetadata.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/PhotoEditor-ShowingFileAndPhotoMetadata.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/PhotoList.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/PhotoList.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/PointEditor.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/PointEditor.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/PostEditorWithPreview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/PostEditorWithPreview.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/PostsList.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/PostsList.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/S3Uploader.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/S3Uploader.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/TagList.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/TagList.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsScreenShots/WrittenFilesList.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsScreenShots/WrittenFilesList.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTask.GarminConnectGpxImport/GarminConnectGpxImportSettingsSample.json:
--------------------------------------------------------------------------------
1 | {
2 | "connectUserName": "",
3 | "connectPassword": "",
4 | "gpxArchiveDirectoryFullName": "C:\\GarminPointlessWaymarksArchive",
5 | "intersectionTagSettings": "",
6 | "downloadEndDate": "",
7 | "downloadDaysBack": 1,
8 | "overwriteExistingArchiveDirectoryFiles": false,
9 | "importActivitiesToSite": false,
10 | "pointlessWaymarksSiteSettingsFileFullName": "",
11 | "showInMainSiteFeed": true,
12 | "generateSiteAndUploadAfterImport": false
13 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTask.GarminConnectGpxImport/PointlessWaymarksCmsAutomationIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTask.GarminConnectGpxImport/PointlessWaymarksCmsAutomationIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTask.MemoriesEmail/Helpers.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsTask.MemoriesEmail;
2 |
3 | public static class Helpers
4 | {
5 | public static string SafeObjectDump(this object toDump)
6 | {
7 | return ObjectDumper.Dump(toDump, new DumpOptions { MaxLevel = 2, DumpStyle = DumpStyle.Console });
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTask.MemoriesEmail/MemoriesSmtpEmailFromWebSettingsSample.json:
--------------------------------------------------------------------------------
1 | {
2 | "yearsBack": [ 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 5, 3, 2, 1 ],
3 | "siteUrl": "http://example.com",
4 | "basicAuthUserName": "",
5 | "basicAuthPassword": "",
6 | "smtpHost": "smtp.gmail.com",
7 | "smtpPort": 587,
8 | "enableSsl": true,
9 | "fromDisplayName": "Pointless Waymarks Emailer",
10 | "fromEmailAddress": "",
11 | "fromEmailPassword": "",
12 | "toAddressList": ""
13 | }
14 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTask.MemoriesEmail/PointlessWaymarksCmsAutomationIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTask.MemoriesEmail/PointlessWaymarksCmsAutomationIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTask.PhotoPickup/PhotoPickupSettingsSample.json:
--------------------------------------------------------------------------------
1 | {
2 | "photoPickupDirectory": "C:\\TestDirectory",
3 | "photoPickupArchiveDirectory": "C:\\TestDirectory\\PickUpArchive",
4 | "pointlessWaymarksSiteSettingsFileFullName": "C:\\Site\\SiteSettings.json",
5 | "renameFileToTitle": true,
6 | "showInMainSiteFeed": false
7 | }
8 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTask.PhotoPickup/PointlessWaymarksCmsAutomationIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTask.PhotoPickup/PointlessWaymarksCmsAutomationIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTask.PublishSiteToS3/PointlessWaymarksCmsAutomationIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTask.PublishSiteToS3/PointlessWaymarksCmsAutomationIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTask.PublishSiteToS3/PublishToS3SettingsSample.json:
--------------------------------------------------------------------------------
1 | {
2 | "pointlessWaymarksSiteSettingsFileFullName": "C:\\Site\\SiteSettings.json"
3 | }
4 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/DebugTrackers.cs:
--------------------------------------------------------------------------------
1 | using System.Diagnostics;
2 | using TinyIpc.Messaging;
3 |
4 | namespace PointlessWaymarks.CmsTests;
5 |
6 | public static class DebugTrackers
7 | {
8 | public static void DataNotificationDiagnostic(object sender, TinyMessageReceivedEventArgs e)
9 | {
10 | Debug.Print(e.Message.ToString());
11 | }
12 |
13 | public static IProgress DebugProgressTracker()
14 | {
15 | var toReturn = new Progress();
16 | toReturn.ProgressChanged += DebugProgressTrackerChange;
17 | return toReturn;
18 | }
19 |
20 | private static void DebugProgressTrackerChange(object? sender, string e)
21 | {
22 | Debug.WriteLine(e);
23 | }
24 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/1705-Ironwood-02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/1705-Ironwood-02.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/1808-Agua-Blanca-Ranch-Sign-at-the-Manville-Road-Entrance-to-the-Ironwood-Forest-National-Monument.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/1808-Agua-Blanca-Ranch-Sign-at-the-Manville-Road-Entrance-to-the-Ironwood-Forest-National-Monument.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/2020-05-A-Quarry-in-Ironwood-Forest-National-Monument.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/2020-05-A-Quarry-in-Ironwood-Forest-National-Monument.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/2020-05-Fire-Barrel-Cactus.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/2020-05-Fire-Barrel-Cactus.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/2020-05-Ironwood-Pod.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/2020-05-Ironwood-Pod.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/2020-06-Disappearing-into-the-Flower.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/2020-06-Disappearing-into-the-Flower.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/AZ_IronwoodForest_NM_map-CoverPage.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/AZ_IronwoodForest_NM_map-CoverPage.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/AZ_IronwoodForest_NM_map.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/AZ_IronwoodForest_NM_map.pdf
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/Blue-Sky-and-Clouds-Video.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/Blue-Sky-and-Clouds-Video.mp4
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/GrandCanyonPointsImport.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/GrandCanyonPointsImport.xlsx
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/GrandviewTrail'sIllegalName.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/GrandviewTrail'sIllegalName.pdf
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/GrandviewTrail.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/GrandviewTrail.pdf
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/HermitsRestDuplicateSlugImport.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/HermitsRestDuplicateSlugImport.xlsx
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/Mt-Lemmon-Trail-Small-Trailhead-Sign-1312.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/Mt-Lemmon-Trail-Small-Trailhead-Sign-1312.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/YumaPointImport.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/YumaPointImport.xlsx
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/TestMedia/ironwood_proc.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsTests/TestMedia/ironwood_proc.pdf
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsTests/UtilityHelpers.cs:
--------------------------------------------------------------------------------
1 | using Omu.ValueInjecter;
2 | using Omu.ValueInjecter.Injections;
3 |
4 | namespace PointlessWaymarks.CmsTests;
5 |
6 | public static class UtilityHelpers
7 | {
8 | public static void InjectFromSkippingIds(this object toInject, object from)
9 | {
10 | toInject.InjectFrom(new LoopInjection(["ContentId", "Id", "ContentVersion"]), from);
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/AllContentList/AllContentItemsWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.AllContentList;
2 |
3 | public partial class AllContentItemsWithActionsControl
4 | {
5 | public AllContentItemsWithActionsControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/AllContentList/AllContentListWindow.xaml:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 |
3 | [assembly: ThemeInfo(ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
4 | //(used if a resource is not found in the page,
5 | // or application resource dictionaries)
6 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
7 | //(used if a resource is not found in the page,
8 | // app, or any theme specific resource dictionaries)
9 | )]
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ContentDropdownDataEntry/ContentDropdownDataChoice.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.ContentDropdownDataEntry;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class ContentDropdownDataChoice
7 | {
8 | public required Guid ContentId { get; set; }
9 | public required string DisplayString { get; set; } = string.Empty;
10 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ContentDropdownDataEntry/ContentDropdownDataEntryControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.ContentDropdownDataEntry;
2 |
3 | ///
4 | /// Interaction logic for ContentDropdownDataEntryControl.xaml
5 | ///
6 | public partial class ContentDropdownDataEntryControl
7 | {
8 | public ContentDropdownDataEntryControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ContentFormat/ContentFormatChooserControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.ContentFormat;
2 |
3 | ///
4 | /// Interaction logic for ContentFormatChooserControl.xaml
5 | ///
6 | public partial class ContentFormatChooserControl
7 | {
8 | public ContentFormatChooserControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ContentIdViewer/ContentIdViewerControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.ContentIdViewer;
2 |
3 | public partial class ContentIdViewerControl
4 | {
5 | public ContentIdViewerControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ContentList/ContentListControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.ContentList;
4 |
5 | public partial class ContentListControl
6 | {
7 | public ContentListControl()
8 | {
9 | InitializeComponent();
10 | }
11 |
12 | private void Selector_OnSelectionChanged(object? sender, SelectionChangedEventArgs e)
13 | {
14 | if (DataContext == null) return;
15 | var viewmodel = (ContentListContext) DataContext;
16 | viewmodel.ListSelection.SelectedItems = ContentListBox?.SelectedItems.Cast().ToList();
17 | }
18 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ContentList/IContentListImage.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.ContentList;
2 |
3 | public interface IContentListImage
4 | {
5 | string? SmallImageUrl { get; set; }
6 | string? DisplayImageUrl { get; set; }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ContentList/IContentListItem.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.CmsData.Database.Models;
2 | using PointlessWaymarks.WpfCommon.Utility;
3 |
4 | namespace PointlessWaymarks.CmsWpfControls.ContentList;
5 |
6 | public interface IContentListItem : ISelectedTextTracker
7 | {
8 | IContentCommon Content();
9 | Guid? ContentId();
10 | string DefaultBracketCode();
11 | Task DefaultBracketCodeToClipboard();
12 | Task Delete();
13 | Task Edit();
14 | Task ExtractNewLinks();
15 | Task GenerateHtml();
16 | Task ViewOnSite();
17 | Task ViewHistory();
18 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ContentMap/ContentMapControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.ContentMap;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class ContentMapControl
7 | {
8 | public ContentMapControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ContentMap/ContentMapListLoader.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.CmsData.Database;
2 | using PointlessWaymarks.CmsWpfControls.ContentList;
3 |
4 | namespace PointlessWaymarks.CmsWpfControls.ContentMap;
5 |
6 | public class ContentMapListLoader(string headerName, List contentIdsToLoad)
7 | : ContentListLoaderBase(headerName, null)
8 | {
9 | public List ContentIdsToLoad { get; set; } = contentIdsToLoad;
10 |
11 | public override async Task> LoadItems(IProgress? progress = null)
12 | {
13 | var db = await Db.Context();
14 |
15 | return await db.ContentFromContentIds(ContentIdsToLoad, false);
16 | }
17 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ContentMap/ContentMapMapSelection.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.ContentMap;
2 |
3 | public class ContentMapMapSelection(Guid selectedContentId) : EventArgs
4 | {
5 | public Guid SelectedContentId { get; set; } = selectedContentId;
6 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ContentSiteFeedAndIsDraft/ContentSiteFeedAndIsDraftControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.ContentSiteFeedAndIsDraft;
2 |
3 | ///
4 | /// Interaction logic for ContentInMainSiteFeedControl.xaml
5 | ///
6 | public partial class ContentSiteFeedAndIsDraftControl
7 | {
8 | public ContentSiteFeedAndIsDraftControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/CreatedAndUpdatedByAndOnDisplay/CreatedAndUpdatedByAndOnDisplayControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.CreatedAndUpdatedByAndOnDisplay;
2 |
3 | public partial class CreatedAndUpdatedByAndOnDisplayControl
4 | {
5 | public CreatedAndUpdatedByAndOnDisplayControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/DropdownDataEntry/ContentMapIconDataEntryControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.DropdownDataEntry;
2 |
3 | ///
4 | /// Interaction logic for ContentMapIconDataEntryControl.xaml
5 | ///
6 | public partial class ContentMapIconDataEntryControl
7 | {
8 | public ContentMapIconDataEntryControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/DropdownDataEntry/ContentMapMarkerColorDataEntryControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.DropdownDataEntry;
4 |
5 | ///
6 | /// Interaction logic for ContentMapMarkerColorDataEntryControl.xaml
7 | ///
8 | public partial class ContentMapMarkerColorDataEntryControl : UserControl
9 | {
10 | public ContentMapMarkerColorDataEntryControl()
11 | {
12 | InitializeComponent();
13 | }
14 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/FileContentEditor/FileContentEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.FileContentEditor;
2 |
3 | public partial class FileContentEditorControl
4 | {
5 | public FileContentEditorControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/FileList/FileListWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.FileList;
2 |
3 | public partial class FileListWithActionsControl
4 | {
5 | public FileListWithActionsControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/FilesWrittenLogList/FileWrittenLogListDateTimeFilterChoice.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.FilesWrittenLogList;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class FileWrittenLogListDateTimeFilterChoice
7 | {
8 | public string DisplayText { get; set; } = string.Empty;
9 | public DateTime? FilterDateTimeUtc { get; set; }
10 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/FilesWrittenLogList/FilesWrittenLogListListItem.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 | using CommunityToolkit.Mvvm.ComponentModel;
3 | using PointlessWaymarks.LlamaAspects;
4 |
5 | namespace PointlessWaymarks.CmsWpfControls.FilesWrittenLogList;
6 |
7 | [NotifyPropertyChanged]
8 | public partial class FilesWrittenLogListListItem
9 | {
10 | public string FileBase { get; set; } = string.Empty;
11 | public bool IsInGenerationDirectory { get; set; }
12 | public string TransformedFile { get; set; } = string.Empty;
13 | public string WrittenFile { get; set; } = string.Empty;
14 | public DateTime WrittenOn { get; set; }
15 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/GeoJsonContentEditor/GeoJsonContentEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.GeoJsonContentEditor;
2 |
3 | ///
4 | /// Interaction logic for GeoJsonContentEditorControl.xaml
5 | ///
6 | public partial class GeoJsonContentEditorControl
7 | {
8 | public GeoJsonContentEditorControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/GeoJsonList/GeoJsonListWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.GeoJsonList;
2 |
3 | public partial class GeoJsonListWithActionsControl
4 | {
5 | public GeoJsonListWithActionsControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/GpxImport/IGpxImportListItem.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.GpxImport;
2 |
3 | public interface IGpxImportListItem
4 | {
5 | DateTime? CreatedOn { get; set; }
6 | Guid DisplayId { get; set; }
7 | bool MarkedForImport { get; set; }
8 | bool ReplaceElevationOnImport { get; set; }
9 | string UserContentName { get; set; }
10 | string UserSummary { get; set; }
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ImageContentEditor/ImageContentEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.ImageContentEditor;
2 |
3 | public partial class ImageContentEditorControl
4 | {
5 | public ImageContentEditorControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ImageList/ImageListWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.ImageList;
2 |
3 | public partial class ImageListWithActionsControl
4 | {
5 | public ImageListWithActionsControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/LineContentEditor/LineContentEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.LineContentEditor;
2 |
3 | ///
4 | /// Interaction logic for LineContentEditorControl.xaml
5 | ///
6 | public partial class LineContentEditorControl
7 | {
8 | public LineContentEditorControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/LineList/LineListWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.LineList;
2 |
3 | ///
4 | /// Interaction logic for LineListWithActionsControl.xaml
5 | ///
6 | public partial class LineListWithActionsControl
7 | {
8 | public LineListWithActionsControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/LinkContentEditor/LinkContentEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.LinkContentEditor;
2 |
3 | public partial class LinkContentEditorControl
4 | {
5 | public LinkContentEditorControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/LinkList/LinkListWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.LinkList;
2 |
3 | public partial class LinkListWithActionsControl
4 | {
5 | public LinkListWithActionsControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ListFilterBuilder/BooleanListFilterFieldBuilder.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.ListFilterBuilder;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class BooleanListFilterFieldBuilder
7 | {
8 | public required string FieldTitle { get; set; }
9 | public bool SearchBoolean { get; set; }
10 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ListFilterBuilder/ContentIdListFilterFieldBuilder.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.ListFilterBuilder;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class ContentIdListFilterFieldBuilder
7 | {
8 | public required string FieldTitle { get; set; }
9 | public bool Not { get; set; }
10 | public string SearchText { get; set; } = string.Empty;
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ListFilterBuilder/ContentTypeChoice.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.ListFilterBuilder;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class ContentTypeListFilterChoice
7 | {
8 | public bool IsSelected { get; set; }
9 | public required string TypeDescription { get; set; }
10 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ListFilterBuilder/ListFilterBuilderFilterAdd.cs:
--------------------------------------------------------------------------------
1 | using CommunityToolkit.Mvvm.Input;
2 | using PointlessWaymarks.LlamaAspects;
3 |
4 | namespace PointlessWaymarks.CmsWpfControls.ListFilterBuilder;
5 |
6 | [NotifyPropertyChanged]
7 | public partial class ListFilterBuilderFilterAdd
8 | {
9 | public required RelayCommand? AddFilterCommand { get; set; }
10 | public required List AppliesTo { get; set; }
11 | public required string Description { get; set; }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/ListFilterBuilder/TextListFilterFieldBuilder.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.ListFilterBuilder;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class TextListFilterFieldBuilder
7 | {
8 | public required string FieldTitle { get; set; }
9 | public bool Not { get; set; }
10 | public string SearchText { get; set; } = string.Empty;
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/MapComponentEditor/IMapElementListItem.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.WpfCommon.Utility;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.MapComponentEditor;
4 |
5 | public interface IMapElementListItem : ISelectedTextTracker
6 | {
7 | MapElementSettings ElementSettings { get; set; }
8 | string ElementType { get; set; }
9 | string Title { get; set; }
10 | Guid? ContentId();
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/MapComponentEditor/MapComponentEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.MapComponentEditor;
2 |
3 | ///
4 | /// Interaction logic for MapComponentEditorControl.xaml
5 | ///
6 | public partial class MapComponentEditorControl
7 | {
8 | public MapComponentEditorControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/MapComponentList/MapComponentListWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.MapComponentList;
2 |
3 | ///
4 | /// Interaction logic for MapComponentListWithActionsControl.xaml
5 | ///
6 | public partial class MapComponentListWithActionsControl
7 | {
8 | public MapComponentListWithActionsControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/MapIconList/MapIconListControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.MapIconList;
2 |
3 | ///
4 | /// Interaction logic for MapIconListControl.xaml
5 | ///
6 | public partial class MapIconListControl
7 | {
8 | public MapIconListControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/MenuLinkEditor/MenuLinkEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.MenuLinkEditor;
4 |
5 | ///
6 | /// Interaction logic for MenuLinkEditorControl.xaml
7 | ///
8 | public partial class MenuLinkEditorControl
9 | {
10 | public MenuLinkEditorControl()
11 | {
12 | InitializeComponent();
13 | }
14 |
15 | private void Selector_OnSelectionChanged(object? sender, SelectionChangedEventArgs e)
16 | {
17 | if (DataContext == null) return;
18 | var viewmodel = (MenuLinkEditorContext) DataContext;
19 | viewmodel.SelectedItems = MenuLinkListBox?.SelectedItems.Cast().ToList();
20 | }
21 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/NoteContentEditor/NoteContentEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.NoteContentEditor;
2 |
3 | ///
4 | /// Interaction logic for NoteContentEditorControl.xaml
5 | ///
6 | public partial class NoteContentEditorControl
7 | {
8 | public NoteContentEditorControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/NoteList/NoteListWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.NoteList;
2 |
3 | public partial class NoteListWithActionsControl
4 | {
5 | public NoteListWithActionsControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PhotoContentEditor/PhotoContentEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PhotoContentEditor;
2 |
3 | public partial class PhotoContentEditorControl
4 | {
5 | public PhotoContentEditorControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PhotoList/PhotoListWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PhotoList;
2 |
3 | public partial class PhotoListWithActionsControl
4 | {
5 | public PhotoListWithActionsControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointContentEditor/PointContentEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 | using Microsoft.Web.WebView2.Core;
3 | using PointlessWaymarks.CmsData;
4 | using PointlessWaymarks.CmsWpfControls.WpfCmsHtml;
5 | using PointlessWaymarks.CommonTools;
6 | using PointlessWaymarks.WpfCommon;
7 |
8 | namespace PointlessWaymarks.CmsWpfControls.PointContentEditor;
9 |
10 | ///
11 | /// Interaction logic for PointContentEditorControl.xaml
12 | ///
13 | public partial class PointContentEditorControl
14 | {
15 | public PointContentEditorControl()
16 | {
17 | InitializeComponent();
18 | }
19 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointContentEditor/PointLatitudeLongitudeChange.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PointContentEditor;
2 |
3 | public class PointLatitudeLongitudeChange(double latitude, double longitude) : EventArgs
4 | {
5 | public double Latitude { get; set; } = latitude;
6 | public double Longitude { get; set; } = longitude;
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointDetailEditor/CampgroundPointDetailControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PointDetailEditor;
2 |
3 | ///
4 | /// Interaction logic for CampgroundPointDetailControl.xaml
5 | ///
6 | public partial class CampgroundPointDetailControl
7 | {
8 | public CampgroundPointDetailControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointDetailEditor/DrivingDirectionsPointDetailControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PointDetailEditor;
2 |
3 | ///
4 | /// Interaction logic for DrivingDirectionsPointDetailControl.xaml
5 | ///
6 | public partial class DrivingDirectionsPointDetailControl
7 | {
8 | public DrivingDirectionsPointDetailControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointDetailEditor/FeaturePointDetailControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PointDetailEditor;
2 |
3 | ///
4 | /// Interaction logic for FeaturePointDetailControl.xaml
5 | ///
6 | public partial class FeaturePointDetailControl
7 | {
8 | public FeaturePointDetailControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointDetailEditor/FeePointDetailControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PointDetailEditor;
2 |
3 | ///
4 | /// Interaction logic for FeePointDetailControl.xaml
5 | ///
6 | public partial class FeePointDetailControl
7 | {
8 | public FeePointDetailControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointDetailEditor/IPointDetailEditor.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 | using PointlessWaymarks.CmsData.Database.Models;
3 |
4 | namespace PointlessWaymarks.CmsWpfControls.PointDetailEditor;
5 |
6 | public interface IPointDetailEditor : INotifyPropertyChanged
7 | {
8 | PointDetail DbEntry { get; }
9 | public bool HasChanges { get; }
10 | public bool HasValidationIssues { get; set; }
11 | PointDetail CurrentPointDetail();
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointDetailEditor/ParkingPointDetailControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PointDetailEditor;
2 |
3 | ///
4 | /// Interaction logic for ParkingPointDetailControl.xaml
5 | ///
6 | public partial class ParkingPointDetailControl
7 | {
8 | public ParkingPointDetailControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointDetailEditor/PeakPointDetailControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PointDetailEditor;
2 |
3 | ///
4 | /// Interaction logic for PeakPointDetailControl.xaml
5 | ///
6 | public partial class PeakPointDetailControl
7 | {
8 | public PeakPointDetailControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointDetailEditor/PointDetailListControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PointDetailEditor;
2 |
3 | ///
4 | /// Interaction logic for PointDetailListControl.xaml
5 | ///
6 | public partial class PointDetailListControl
7 | {
8 | public PointDetailListControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointDetailEditor/RestRoomPointDetailControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PointDetailEditor;
2 |
3 | ///
4 | /// Interaction logic for RestroomPointDetailControl.xaml
5 | ///
6 | public partial class RestroomPointDetailControl
7 | {
8 | public RestroomPointDetailControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointDetailEditor/TrailJunctionPointDetailControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PointDetailEditor;
2 |
3 | ///
4 | /// Interaction logic for TrailJunctionPointDetailControl.xaml
5 | ///
6 | public partial class TrailJunctionPointDetailControl
7 | {
8 | public TrailJunctionPointDetailControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointDetailEditor/VehicleAccessPointDetailControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PointDetailEditor;
2 |
3 | ///
4 | /// Interaction logic for VehicleAccessPointDetailControl.xaml
5 | ///
6 | public partial class VehicleAccessPointDetailControl
7 | {
8 | public VehicleAccessPointDetailControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointList/PointListWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PointList;
2 |
3 | ///
4 | /// Interaction logic for PointListWithActionsControl.xaml
5 | ///
6 | public partial class PointListWithActionsControl
7 | {
8 | public PointListWithActionsControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/IconNotes.md:
--------------------------------------------------------------------------------
1 | Created With:
2 | https://favicon.io/favicon-generator/
3 |
4 | Text
5 | .w
6 |
7 | Background
8 | Rounded
9 |
10 | Font Family
11 | Raleway
12 |
13 | FontSize
14 | 110
15 |
16 | FontColor
17 | #FFFFFF
18 |
19 | BackgroundColor
20 | #250
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/android-chrome-192x192.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/android-chrome-512x512.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/apple-touch-icon.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/favicon-16x16.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/favicon-32x32.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/favicon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/github.png
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PointlessWaymarksCmsIcons/site.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "",
3 | "short_name": "",
4 | "icons": [
5 | { "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
6 | { "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
7 | ],
8 | "theme_color": "#ffffff",
9 | "background_color": "#ffffff",
10 | "display": "standalone"
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PostContentEditor/PostContentEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PostContentEditor;
2 |
3 | public partial class PostContentEditorControl
4 | {
5 | public PostContentEditorControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/PostList/PostListWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.PostList;
2 |
3 | public partial class PostListWithActionsControl
4 | {
5 | public PostListWithActionsControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/Server/ServerPreviewPage.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.Server;
2 |
3 | public class ServerLoadPreviewPage
4 | {
5 | public required Guid RequesterId { get; set; }
6 | public required string ToPreview { get; set; }
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/SitePictureSizesEditor/SitePictureSizesEditorItem.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.SitePictureSizesEditor;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class SitePictureSizesEditorItem
7 | {
8 | public int MaxDimension { get; set; }
9 | public int Quality { get; set; }
10 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/SitePreview/SitePreviewMenuNavigationItem.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.SitePreview;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class SitePreviewMenuNavigationItem
7 | {
8 | public SitePreviewMenuNavigationItem(string displayText, string url)
9 | {
10 | DisplayText = displayText;
11 | Url = url;
12 | }
13 |
14 | public string DisplayText { get; set; }
15 | public string Url { get; set; }
16 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/SnippetEditor/SnippetEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.SnippetEditor;
4 |
5 | ///
6 | /// Interaction logic for SnippetEditorControl.xaml
7 | ///
8 | public partial class SnippetEditorControl
9 | {
10 | public SnippetEditorControl()
11 | {
12 | InitializeComponent();
13 | }
14 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/SnippetList/SnippetListListItem.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.CmsData.Database.Models;
2 | using PointlessWaymarks.LlamaAspects;
3 | using PointlessWaymarks.WpfCommon;
4 | using PointlessWaymarks.WpfCommon.Utility;
5 |
6 | namespace PointlessWaymarks.CmsWpfControls.SnippetList;
7 |
8 | [NotifyPropertyChanged]
9 | public partial class SnippetListListItem : ISelectedTextTracker
10 | {
11 | public required Snippet DbEntry { get; set; }
12 | public CurrentSelectedTextTracker? SelectedTextTracker { get; set; } = new();
13 |
14 | public static SnippetListListItem CreateInstance(Snippet dbItem)
15 | {
16 | return new SnippetListListItem { DbEntry = dbItem };
17 | }
18 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/SnippetList/SnippetListWindow.xaml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/StringWithDropdownDataEntry/IStringWithDropdownDataEntryContext.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.ObjectModel;
2 | using PointlessWaymarks.WpfCommon.ChangesAndValidation;
3 | using PointlessWaymarks.WpfCommon.Status;
4 |
5 | namespace PointlessWaymarks.CmsWpfControls.StringWithDropdownDataEntry;
6 |
7 | public interface IStringWithDropdownDataEntryContext : IHasChanges, IHasValidationIssues
8 | {
9 | ObservableCollection ExistingChoices { get; set; }
10 | string HelpText { get; set; }
11 | string? ReferenceValue { get; set; }
12 | StatusControlContext StatusContext { get; set; }
13 | string Title { get; set; }
14 | string? UserValue { get; set; }
15 | string ValidationMessage { get; set; }
16 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/StringWithDropdownDataEntry/StringWithDropdownDataEntryControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.StringWithDropdownDataEntry;
2 |
3 | ///
4 | /// Interaction logic for ContentFolderControl.xaml
5 | ///
6 | public partial class StringWithDropdownDataEntryControl
7 | {
8 | public StringWithDropdownDataEntryControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/TagExclusionEditor/TagExclusionEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.TagExclusionEditor;
2 |
3 | ///
4 | /// Interaction logic for TagExclusionEditorControl.xaml
5 | ///
6 | public partial class TagExclusionEditorControl
7 | {
8 | public TagExclusionEditorControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/TagList/TagItemContentInformation.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.TagList;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class TagItemContentInformation
7 | {
8 | public Guid ContentId { get; set; }
9 | public string ContentType { get; set; } = string.Empty;
10 | public string Tags { get; set; } = string.Empty;
11 | public string Title { get; set; } = string.Empty;
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/TagList/TagListListItem.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.CmsWpfControls.TagList;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class TagListListItem
7 | {
8 | public int ContentCount { get; set; }
9 | public List ContentInformation { get; set; } = [];
10 | public bool IsExcludedTag { get; set; }
11 | public string TagName { get; set; } = string.Empty;
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/TagsEditor/TagsEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.TagsEditor;
2 |
3 | public partial class TagsEditorControl
4 | {
5 | public TagsEditorControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/TitleSummarySlugFolderEditor/TitleSummarySlugEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.TitleSummarySlugFolderEditor;
2 |
3 | public partial class TitleSummarySlugEditorControl
4 | {
5 | public TitleSummarySlugEditorControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/TrailContentEditor/TrailContentEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.TrailContentEditor;
2 |
3 | public partial class TrailContentEditorControl
4 | {
5 | public TrailContentEditorControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/TrailList/TrailListWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.TrailList;
2 |
3 | public partial class TrailListWithActionsControl
4 | {
5 | public TrailListWithActionsControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/UpdateNotesEditor/UpdateNotesEditorHorizontalControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.UpdateNotesEditor;
2 |
3 | ///
4 | /// Interaction logic for UpdateNotesEditorHorizontalControl.xaml
5 | ///
6 | public partial class UpdateNotesEditorHorizontalControl
7 | {
8 | public UpdateNotesEditorHorizontalControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/UpdateNotesEditor/UpdateNotesEditorVerticalControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.UpdateNotesEditor;
2 |
3 | public partial class UpdateNotesEditorVerticalControl
4 | {
5 | public UpdateNotesEditorVerticalControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/UserSettingsEditor/UserSettingsEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Input;
2 | using PointlessWaymarks.WpfCommon.Utility;
3 |
4 | namespace PointlessWaymarks.CmsWpfControls.UserSettingsEditor;
5 |
6 | public partial class UserSettingsEditorControl
7 | {
8 | public UserSettingsEditorControl()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void OpenHyperlink(object? sender, ExecutedRoutedEventArgs e)
14 | {
15 | var toOpen = e.Parameter.ToString();
16 | if (string.IsNullOrEmpty(toOpen)) return;
17 | ProcessHelpers.OpenUrlInExternalBrowser(toOpen);
18 | }
19 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/Utility/GenerationHelpers.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.CmsData.CommonHtml;
2 | using PointlessWaymarks.CmsData.ContentHtml;
3 | using PointlessWaymarks.CmsWpfControls.Diagnostics;
4 | using PointlessWaymarks.WpfCommon;
5 |
6 | namespace PointlessWaymarks.CmsWpfControls.Utility;
7 |
8 | public static class GenerationHelpers
9 | {
10 | public static async Task GenerateChangedHtml(IProgress progress)
11 | {
12 | await ThreadSwitcher.ResumeBackgroundAsync();
13 | var generationResults = await SiteGeneration.ChangedSiteContent(progress);
14 |
15 | if (generationResults.All(x => !x.HasError)) return;
16 |
17 | await Reports.InvalidBracketCodeContentIdsHtmlReport(generationResults);
18 | }
19 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/VideoContentEditor/VideoContentEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.VideoContentEditor;
2 |
3 | public partial class VideoContentEditorControl
4 | {
5 | public VideoContentEditorControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.CmsWpfControls/VideoList/VideoListWithActionsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.CmsWpfControls.VideoList
2 | {
3 | ///
4 | /// Interaction logic for VideoListWithActionsControl.xaml
5 | ///
6 | public partial class VideoListWithActionsControl
7 | {
8 | public VideoListWithActionsControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/PointlessWaymarks.FeatureIntersectionTags/Models/FeatureFile.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace PointlessWaymarks.FeatureIntersectionTags.Models;
4 |
5 | public record FeatureFile(
6 | [property: JsonPropertyName("source")] string Source,
7 | [property: JsonPropertyName("name")] string Name,
8 | [property: JsonPropertyName("attributesForTags")]
9 | IReadOnlyList AttributesForTags,
10 | [property: JsonPropertyName("tagAll")] string TagAll,
11 | [property: JsonPropertyName("fileName")]
12 | string FileName,
13 | [property: JsonPropertyName("downloaded")]
14 | string Downloaded,
15 | [property: JsonPropertyName("note")]
16 | string Note
17 | );
--------------------------------------------------------------------------------
/PointlessWaymarks.FeatureIntersectionTags/Models/IntersectFileTaggingResult.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.FeatureIntersectionTags.Models;
2 |
3 | public record IntersectFileTaggingResult(FileInfo FileToTag)
4 | {
5 | public IntersectResult? IntersectInformation { get; set; }
6 | public string Notes { get; set; } = string.Empty;
7 | public string Result { get; set; } = string.Empty;
8 | public string FinalTagString { get; set; } = string.Empty;
9 | public string ExistingTagString { get; set; } = string.Empty;
10 | public string NewTagsString { get; set; } = string.Empty;
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeatureIntersectionTags/Models/IntersectResult.cs:
--------------------------------------------------------------------------------
1 | using NetTopologySuite.Features;
2 | using PointlessWaymarks.CommonTools;
3 |
4 | namespace PointlessWaymarks.FeatureIntersectionTags.Models;
5 |
6 | public class IntersectResult
7 | {
8 | public IntersectResult(IFeature feature)
9 | {
10 | Features = feature.AsList();
11 | }
12 |
13 | public IntersectResult(List features)
14 | {
15 | Features = features;
16 | }
17 |
18 | public Guid ContentId { get; init; } = Guid.Empty;
19 | public List Features { get; }
20 | public List IntersectsWith { get; } = [];
21 | public List Sources { get; } = [];
22 | public List Tags { get; } = [];
23 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeatureIntersectionTags/Models/IntersectSettings.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace PointlessWaymarks.FeatureIntersectionTags.Models;
4 |
5 | public record IntersectSettings(
6 | [property: JsonPropertyName("intersectFiles")]
7 | IReadOnlyList IntersectFiles,
8 | [property: JsonPropertyName("padUsDirectory")]
9 | string PadUsDirectory,
10 | [property: JsonPropertyName("padUsAttributesForTags")]
11 | IReadOnlyList PadUsAttributesForTags
12 | );
--------------------------------------------------------------------------------
/PointlessWaymarks.FeatureIntersectionTags/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "PointlessWaymarks.FeatureIntersectionTags": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader.Tests/Feeds/Rss091Stadtfeuerwehr.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.FeedReader.Tests/Feeds/Rss091Stadtfeuerwehr.xml
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader.Tests/Feeds/Rss20ISO88591Intranet30.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.FeedReader.Tests/Feeds/Rss20ISO88591Intranet30.xml
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader/Feeds/Itunes/ItunesImage.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 |
3 | namespace PointlessWaymarks.FeedReader.Feeds.Itunes;
4 |
5 | ///
6 | /// The itunes:image xml element
7 | ///
8 | public class ItunesImage
9 | {
10 | ///
11 | /// Initializes a new instance of the class.
12 | ///
13 | /// The itunes:image element
14 | public ItunesImage(XElement image)
15 | {
16 | Href = image.GetAttributeValue("href");
17 | }
18 |
19 | ///
20 | /// The value of the href attribute
21 | ///
22 | public string? Href { get; }
23 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader/Feeds/MediaRSS/Medium.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.FeedReader.Feeds.MediaRSS;
2 |
3 | ///
4 | /// Specifies the type of an object
5 | ///
6 | public enum Medium
7 | {
8 | ///
9 | /// Image
10 | ///
11 | Image,
12 |
13 | ///
14 | /// Audio
15 | ///
16 | Audio,
17 |
18 | ///
19 | /// Video
20 | ///
21 | Video,
22 |
23 | ///
24 | /// Document
25 | ///
26 | Document,
27 |
28 | ///
29 | /// Executable
30 | ///
31 | Executable,
32 |
33 | ///
34 | /// Type could not be determined
35 | ///
36 | Unknown
37 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader/Parser/AbstractXmlFeedParser.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using PointlessWaymarks.FeedReader.Feeds.Base;
3 |
4 | namespace PointlessWaymarks.FeedReader.Parser;
5 |
6 | internal abstract class AbstractXmlFeedParser : IFeedParser
7 | {
8 | public BaseFeed Parse(string feedXml)
9 | {
10 | var feedDoc = XDocument.Parse(feedXml);
11 |
12 | return Parse(feedXml, feedDoc);
13 | }
14 |
15 | public abstract BaseFeed Parse(string feedXml, XDocument feedDoc);
16 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader/Parser/AtomParser.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using PointlessWaymarks.FeedReader.Feeds.Atom;
3 | using PointlessWaymarks.FeedReader.Feeds.Base;
4 |
5 | namespace PointlessWaymarks.FeedReader.Parser;
6 |
7 | internal class AtomParser : AbstractXmlFeedParser
8 | {
9 | public override BaseFeed Parse(string feedXml, XDocument feedDoc)
10 | {
11 | var feed = new AtomFeed(feedXml, feedDoc.Root);
12 | return feed;
13 | }
14 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader/Parser/Factory.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.FeedReader.Parser;
2 |
3 | internal static class Factory
4 | {
5 | public static AbstractXmlFeedParser GetParser(FeedType feedType)
6 | {
7 | return feedType switch
8 | {
9 | FeedType.Atom => new AtomParser(),
10 | FeedType.Rss_0_91 => new Rss091Parser(),
11 | FeedType.Rss_0_92 => new Rss092Parser(),
12 | FeedType.Rss_1_0 => new Rss10Parser(),
13 | FeedType.MediaRss => new MediaRssParser(),
14 | _ => new Rss20Parser()
15 | };
16 | }
17 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader/Parser/IFeedParser.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.FeedReader.Feeds.Base;
2 |
3 | namespace PointlessWaymarks.FeedReader.Parser;
4 |
5 | internal interface IFeedParser
6 | {
7 | BaseFeed Parse(string feedXml);
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader/Parser/MediaRssParser.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using PointlessWaymarks.FeedReader.Feeds.Base;
3 | using PointlessWaymarks.FeedReader.Feeds.MediaRSS;
4 |
5 | namespace PointlessWaymarks.FeedReader.Parser;
6 |
7 | internal class MediaRssParser : AbstractXmlFeedParser
8 | {
9 | public override BaseFeed Parse(string feedXml, XDocument feedDoc)
10 | {
11 | var rss = feedDoc.Root;
12 | var channel = rss.GetElement("channel");
13 | var feed = new MediaRssFeed(feedXml, channel);
14 | return feed;
15 | }
16 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader/Parser/Rss091Parser.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using PointlessWaymarks.FeedReader.Feeds._0._91;
3 | using PointlessWaymarks.FeedReader.Feeds.Base;
4 |
5 | namespace PointlessWaymarks.FeedReader.Parser;
6 |
7 | internal class Rss091Parser : AbstractXmlFeedParser
8 | {
9 | public override BaseFeed Parse(string feedXml, XDocument feedDoc)
10 | {
11 | var rss = feedDoc.Root;
12 | var channel = rss.GetElement("channel");
13 | var feed = new Rss091Feed(feedXml, channel);
14 | return feed;
15 | }
16 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader/Parser/Rss092Parser.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using PointlessWaymarks.FeedReader.Feeds._0._92;
3 | using PointlessWaymarks.FeedReader.Feeds.Base;
4 |
5 | namespace PointlessWaymarks.FeedReader.Parser;
6 |
7 | internal class Rss092Parser : AbstractXmlFeedParser
8 | {
9 | public override BaseFeed Parse(string feedXml, XDocument feedDoc)
10 | {
11 | var rss = feedDoc.Root;
12 | var channel = rss.GetElement("channel");
13 | var feed = new Rss092Feed(feedXml, channel);
14 | return feed;
15 | }
16 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader/Parser/Rss10Parser.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using PointlessWaymarks.FeedReader.Feeds._1._0;
3 | using PointlessWaymarks.FeedReader.Feeds.Base;
4 |
5 | namespace PointlessWaymarks.FeedReader.Parser;
6 |
7 | internal class Rss10Parser : AbstractXmlFeedParser
8 | {
9 | public override BaseFeed Parse(string feedXml, XDocument feedDoc)
10 | {
11 | var rdf = feedDoc.Root;
12 | var channel = rdf.GetElement("channel");
13 | var feed = new Rss10Feed(feedXml, channel);
14 | return feed;
15 | }
16 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReader/Parser/Rss20Parser.cs:
--------------------------------------------------------------------------------
1 | using System.Xml.Linq;
2 | using PointlessWaymarks.FeedReader.Feeds._2._0;
3 | using PointlessWaymarks.FeedReader.Feeds.Base;
4 |
5 | namespace PointlessWaymarks.FeedReader.Parser;
6 |
7 | internal class Rss20Parser : AbstractXmlFeedParser
8 | {
9 | public override BaseFeed Parse(string feedXml, XDocument feedDoc)
10 | {
11 | var rss = feedDoc.Root;
12 | var channel = rss.GetElement("channel");
13 | var feed = new Rss20Feed(feedXml, channel);
14 | return feed;
15 | }
16 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderData/Migrations/DefaultMigration.cs:
--------------------------------------------------------------------------------
1 | using FluentMigrator;
2 |
3 | namespace PointlessWaymarks.FeedReaderData.Migrations;
4 |
5 | [Migration(202307110000)]
6 | public class DefaultMigration : Migration
7 | {
8 | public override void Down()
9 | {
10 | }
11 |
12 | public override void Up()
13 | {
14 | }
15 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderData/Models/ReaderKeyValue.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace PointlessWaymarks.FeedReaderData.Models
8 | {
9 | public class ReaderKeyValue
10 | {
11 | public int Id { get; set; }
12 | public string Key { get; set; } = string.Empty;
13 | public string Value { get; set; } = string.Empty;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 |
3 | [assembly: ThemeInfo(
4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
5 | //(used if a resource is not found in the page,
6 | // or application resource dictionaries)
7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
8 | //(used if a resource is not found in the page,
9 | // app, or any theme specific resource dictionaries)
10 | )]
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/Controls/AppSettingsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace PointlessWaymarks.FeedReaderGui.Controls;
4 |
5 | public partial class AppSettingsControl
6 | {
7 | public AppSettingsControl()
8 | {
9 | InitializeComponent();
10 | }
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/Controls/FeedEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace PointlessWaymarks.FeedReaderGui.Controls;
4 |
5 | public partial class FeedEditorControl : UserControl
6 | {
7 | public FeedEditorControl()
8 | {
9 | InitializeComponent();
10 | }
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/Controls/FeedItemListListItem.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.FeedReaderData.Models;
2 | using PointlessWaymarks.LlamaAspects;
3 |
4 | namespace PointlessWaymarks.FeedReaderGui.Controls;
5 |
6 | [NotifyPropertyChanged]
7 | public partial class FeedItemListListItem
8 | {
9 | public required ReaderFeed DbReaderFeed { get; set; }
10 | public required ReaderFeedItem DbItem { get; set; }
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/Controls/FeedListControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.FeedReaderGui.Controls;
2 |
3 | public partial class FeedListControl
4 | {
5 | public FeedListControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/Controls/FeedListListItem.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.FeedReaderData.Models;
2 | using PointlessWaymarks.LlamaAspects;
3 |
4 | namespace PointlessWaymarks.FeedReaderGui.Controls;
5 |
6 | [NotifyPropertyChanged]
7 | public partial class FeedListListItem
8 | {
9 | public int UnreadItemsCount { get; set; }
10 | public int ItemsCount { get; set; }
11 | public required ReaderFeed DbReaderFeed { get; set; }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/Controls/SavedFeedItemListControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.FeedReaderGui.Controls;
2 |
3 | ///
4 | /// Interaction logic for SavedFeedItemListControl.xaml
5 | ///
6 | public partial class SavedFeedItemListControl
7 | {
8 | public SavedFeedItemListControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/Controls/SavedFeedItemListListItem.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.FeedReaderData.Models;
2 | using PointlessWaymarks.LlamaAspects;
3 |
4 | namespace PointlessWaymarks.FeedReaderGui.Controls;
5 |
6 | [NotifyPropertyChanged]
7 | public partial class SavedFeedItemListListItem
8 | {
9 | public required SavedFeedItem DbItem { get; set; }
10 | public required ReaderFeed? DbReaderFeed { get; set; }
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/FeedReaderGuiSettings.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.FeedReaderGui;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class FeedReaderGuiSettings
7 | {
8 | public string LastDatabaseFile { get; set; } = string.Empty;
9 | public string? LastDirectory { get; set; } = string.Empty;
10 | public string ProgramUpdateDirectory { get; set; } = @"https://software.pointlesswaymarks.com/Software/PointlessWaymarksSoftwareList.json";
11 | public bool AutoMarkReadDefault { get; set; } = true;
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/FeedReaderInstallerLeftImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.FeedReaderGui/FeedReaderInstallerLeftImage.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/FeedReaderInstallerLeftImage.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.FeedReaderGui/FeedReaderInstallerLeftImage.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/FeedReaderInstallerTopRightImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.FeedReaderGui/FeedReaderInstallerTopRightImage.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/FeedReaderInstallerTopRightImage.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.FeedReaderGui/FeedReaderInstallerTopRightImage.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/JotServices.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 | using Jot;
3 | using WpfScreenHelper;
4 |
5 | namespace PointlessWaymarks.FeedReaderGui;
6 |
7 | internal static class JotServices
8 | {
9 | public static readonly Tracker Tracker = new();
10 |
11 | static JotServices()
12 | {
13 | Tracker.Configure().Id(w => w.Name, SystemInformation.VirtualScreen.Size)
14 | .Properties(w => new
15 | {
16 | w.Top,
17 | w.Width,
18 | w.Height,
19 | w.Left,
20 | w.WindowState
21 | }).PersistOn(nameof(Window.Closing)).StopTrackingOn(nameof(Window.Closing));
22 | }
23 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/PointlessWaymarksFeedReaderIcon.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.FeedReaderGui/PointlessWaymarksFeedReaderIcon.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/PointlessWaymarksFeedReaderIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.FeedReaderGui/PointlessWaymarksFeedReaderIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderGui/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "PointlessWaymarks.RssReaderGui": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.FeedReaderScreenShots/FeedReaderItems.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.FeedReaderScreenShots/FeedReaderItems.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoTaggingService/IGpxService.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.GeoTaggingService;
2 |
3 | public interface IGpxService
4 | {
5 | Task> GetGpxPoints(List photoDateTimeUtcList, IProgress progress, CancellationToken cancellationToken);
6 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoTaggingService/PointlessWaymarks.GeoTaggingService.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | all
6 | runtime; build; native; contentfiles; analyzers; buildtransitive
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoTaggingService/WaypointAndSource.cs:
--------------------------------------------------------------------------------
1 | using NetTopologySuite.IO;
2 |
3 | namespace PointlessWaymarks.GeoTaggingService;
4 |
5 | public record WaypointAndSource(GpxWaypoint Waypoint, string Source);
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 |
3 | [assembly: ThemeInfo(
4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
5 | //(used if a resource is not found in the page,
6 | // or application resource dictionaries)
7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
8 | //(used if a resource is not found in the page,
9 | // app, or any theme specific resource dictionaries)
10 | )]
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/Controls/AppSettingsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.GeoToolsGui.Controls
2 | {
3 | ///
4 | /// Interaction logic for AppSettingsControl.xaml
5 | ///
6 | public partial class AppSettingsControl
7 | {
8 | public AppSettingsControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/Controls/ConnectBasedGeoTaggerControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.GeoToolsGui.Controls;
2 |
3 | public partial class ConnectBasedGeoTaggerControl
4 | {
5 | public ConnectBasedGeoTaggerControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/Controls/ConnectDownloadControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.GeoToolsGui.Controls;
2 |
3 | public partial class ConnectDownloadControl
4 | {
5 | public ConnectDownloadControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/Controls/FeatureFileEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.GeoToolsGui.Controls;
2 |
3 | ///
4 | /// Interaction logic for FeatureFileEditorControl.xaml
5 | ///
6 | public partial class FeatureFileEditorControl
7 | {
8 | public FeatureFileEditorControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/Controls/FeatureIntersectTaggerControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Input;
2 | using PointlessWaymarks.WpfCommon.Utility;
3 |
4 | namespace PointlessWaymarks.GeoToolsGui.Controls;
5 |
6 | ///
7 | /// Interaction logic for FeatureIntersectTaggerControl.xaml
8 | ///
9 | public partial class FeatureIntersectTaggerControl
10 | {
11 | public FeatureIntersectTaggerControl()
12 | {
13 | InitializeComponent();
14 | }
15 |
16 | private void OpenHyperlink(object sender, ExecutedRoutedEventArgs e)
17 | {
18 | if (string.IsNullOrWhiteSpace(e.Parameter.ToString())) return;
19 | ProcessHelpers.OpenUrlInExternalBrowser(e.Parameter.ToString());
20 | }
21 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/Controls/FileBasedGeoTaggerControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.GeoToolsGui.Controls;
2 |
3 | public partial class FileBasedGeoTaggerControl
4 | {
5 | public FileBasedGeoTaggerControl()
6 | {
7 | InitializeComponent();
8 | }
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/GeoToolsGuiSettings.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.GeoToolsGui;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class GeoToolsGuiSettings
7 | {
8 | public string ProgramUpdateDirectory { get; set; } = @"https://software.pointlesswaymarks.com/Software/PointlessWaymarksSoftwareList.json";
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/GeoToolsInstallerLeftImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsGui/GeoToolsInstallerLeftImage.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/GeoToolsInstallerLeftImage.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsGui/GeoToolsInstallerLeftImage.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/GeoToolsInstallerTopRightImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsGui/GeoToolsInstallerTopRightImage.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/GeoToolsInstallerTopRightImage.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsGui/GeoToolsInstallerTopRightImage.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/JotServices.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 | using Jot;
3 | using WpfScreenHelper;
4 |
5 | namespace PointlessWaymarks.GeoToolsGui;
6 |
7 | internal static class JotServices
8 | {
9 | public static readonly Tracker Tracker = new();
10 |
11 | static JotServices()
12 | {
13 | Tracker.Configure().Id(w => w.Name, SystemInformation.VirtualScreen.Size)
14 | .Properties(w => new
15 | {
16 | w.Top,
17 | w.Width,
18 | w.Height,
19 | w.Left,
20 | w.WindowState
21 | }).PersistOn(nameof(Window.Closing)).StopTrackingOn(nameof(Window.Closing));
22 | }
23 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/Messages/ArchiveDirectoryUpdateMessage.cs:
--------------------------------------------------------------------------------
1 | using CommunityToolkit.Mvvm.Messaging.Messages;
2 |
3 | namespace PointlessWaymarks.GeoToolsGui.Messages;
4 |
5 | public class ArchiveDirectoryUpdateMessage((object sender, string archiveDirectory) message)
6 | : ValueChangedMessage<(object sender, string archiveDirectory)>(message);
7 |
8 | public class FeatureIntersectFileAddRequestMessage((object sender, List files) message)
9 | : ValueChangedMessage<(object sender, List files)>(message);
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/Messages/ExifToolSettingsUpdateMessage.cs:
--------------------------------------------------------------------------------
1 | using CommunityToolkit.Mvvm.Messaging.Messages;
2 |
3 | namespace PointlessWaymarks.GeoToolsGui.Messages;
4 |
5 | public class ExifToolSettingsUpdateMessage((object sender, string exifToolFullName) message)
6 | : ValueChangedMessage<(object sender, string exifToolFullName)>(message);
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/Models/FeatureFileEditorEndEditCondition.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.GeoToolsGui.Models;
2 |
3 | public enum FeatureFileEditorEndEditCondition
4 | {
5 | Cancelled,
6 | Saved
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/PointlessWaymarksGeoToolsIcon.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsGui/PointlessWaymarksGeoToolsIcon.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/PointlessWaymarksGeoToolsIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsGui/PointlessWaymarksGeoToolsIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "PointlessWaymarks.GeoToolsGui": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/Settings/ConnectBasedGeoTaggerSettings.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.GeoToolsGui.Settings;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class ConnectBasedGeoTaggerSettings
7 | {
8 | public string ArchiveDirectory { get; set; } = string.Empty;
9 | public bool CreateBackups { get; set; } = true;
10 | public bool CreateBackupsInDefaultStorage { get; set; } = true;
11 | public string ExifToolFullName { get; set; } = string.Empty;
12 | public string FilesToTagLastDirectoryFullName { get; set; } = string.Empty;
13 | public bool OverwriteExistingGeoLocation { get; set; }
14 | public int PointsMustBeWithinMinutes { get; set; } = 10;
15 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsGui/Settings/ConnectDownloadSettings.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.GeoToolsGui.Settings;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class ConnectDownloadSettings
7 | {
8 | public string ArchiveDirectory { get; set; } = string.Empty;
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsScreenShots/ConnectDownload.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsScreenShots/ConnectDownload.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsScreenShots/ConnectGeoTaggingFilesToTag.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsScreenShots/ConnectGeoTaggingFilesToTag.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsScreenShots/ConnectGeoTaggingPreview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsScreenShots/ConnectGeoTaggingPreview.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsScreenShots/ConnectGeoTaggingSettings.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsScreenShots/ConnectGeoTaggingSettings.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsScreenShots/FeatureIntersectGeoJsonFileSettings.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsScreenShots/FeatureIntersectGeoJsonFileSettings.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsScreenShots/FeatureIntersectNewTags.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsScreenShots/FeatureIntersectNewTags.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.GeoToolsScreenShots/FeatureIntersectPadUsSettings.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.GeoToolsScreenShots/FeatureIntersectPadUsSettings.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksCmsAutomationCircularLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksCmsAutomationCircularLogo.png
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksCmsAutomationCircularLogo.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksCmsAutomationCircularLogo.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksCmsAutomationErrorCircularLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksCmsAutomationErrorCircularLogo.png
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksCmsAutomationIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksCmsAutomationIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksCmsAutomationSquareLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksCmsAutomationSquareLogo.png
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksCmsAutomationSquareLogo.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksCmsAutomationSquareLogo.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksCmsIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksCmsIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksCmsInstallerIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksCmsInstallerIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksCmsSquareLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksCmsSquareLogo.png
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksCmsSquareLogo.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksCmsSquareLogo.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksGeoToolsIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksGeoToolsIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksGeoToolsInstallerIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksGeoToolsInstallerIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksGeoToolsSquareLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksGeoToolsSquareLogo.png
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksGeoToolsSquareLogo.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksGeoToolsSquareLogo.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksSiteViewerIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksSiteViewerIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksSiteViewerInstallerIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksSiteViewerInstallerIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksSiteViewerSquareLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksSiteViewerSquareLogo.png
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksSiteViewerSquareLogo.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksSiteViewerSquareLogo.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksSoftwareBadge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksSoftwareBadge.png
--------------------------------------------------------------------------------
/PointlessWaymarks.Graphics/PointlessWaymarksSoftwareBadge.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.Graphics/PointlessWaymarksSoftwareBadge.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerData/Migrations/AddRunTotalSecondsMigration.cs:
--------------------------------------------------------------------------------
1 | using System.Data;
2 | using FluentMigrator;
3 |
4 | namespace PointlessWaymarks.PowerShellRunnerData.Migrations;
5 |
6 | [Migration(202407071700)]
7 | public class AddRunTotalSecondsMigration : Migration
8 | {
9 | public override void Down()
10 | {
11 | throw new DataException($"No Down Available for Migration {nameof(AddRunTotalSecondsMigration)}");
12 | }
13 |
14 | public override void Up()
15 | {
16 | if (Schema.Table("ScriptJobRuns").Column("LengthInSeconds").Exists())
17 | return;
18 |
19 | Execute.Sql(@"ALTER TABLE ScriptJobRuns
20 | ADD COLUMN LengthInSeconds INTEGER");
21 | }
22 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerData/Migrations/AddScriptTypeMigration.cs:
--------------------------------------------------------------------------------
1 | using System.Data;
2 | using FluentMigrator;
3 |
4 | namespace PointlessWaymarks.PowerShellRunnerData.Migrations;
5 |
6 | [Migration(202409230800)]
7 | public class AddScriptTypeMigration : Migration
8 | {
9 | public override void Down()
10 | {
11 | throw new DataException($"No Down Available for Migration {nameof(AddRunTotalSecondsMigration)}");
12 | }
13 |
14 | public override void Up()
15 | {
16 | if (Schema.Table("ScriptJobs").Column("ScriptType").Exists())
17 | return;
18 |
19 | Execute.Sql("ALTER TABLE ScriptJobs ADD COLUMN ScriptType TEXT NOT NULL DEFAULT 'PowerShell'");
20 | }
21 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerData/Migrations/DefaultMigration.cs:
--------------------------------------------------------------------------------
1 | using FluentMigrator;
2 |
3 | namespace PointlessWaymarks.PowerShellRunnerData.Migrations;
4 |
5 | [Migration(202406170000)]
6 | public class DefaultMigration : Migration
7 | {
8 | public override void Down()
9 | {
10 | }
11 |
12 | public override void Up()
13 | {
14 | }
15 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerData/Models/PowerShellRunnerSetting.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerData.Models;
2 |
3 | public class PowerShellRunnerSetting
4 | {
5 | public int Id { get; set; }
6 | public string Key { get; set; } = string.Empty;
7 | public string Value { get; set; } = string.Empty;
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerData/Models/ScriptJob.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerData.Models;
2 |
3 | public class ScriptJob
4 | {
5 | public bool AllowSimultaneousRuns { get; set; }
6 | public string CronExpression { get; set; } = string.Empty;
7 | public int DeleteScriptJobRunsAfterMonths { get; set; } = 12;
8 | public string Description { get; set; } = string.Empty;
9 | public int Id { get; set; }
10 | public DateTime LastEditOn { get; set; }
11 | public string Name { get; set; } = string.Empty;
12 | public Guid PersistentId { get; set; }
13 | public bool ScheduleEnabled { get; set; }
14 | public string Script { get; set; } = string.Empty;
15 | public string ScriptType { get; set; } = string.Empty;
16 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerData/Models/ScriptJobRun.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerData.Models;
2 |
3 | public class ScriptJobRun
4 | {
5 | public DateTime? CompletedOnUtc { get; set; }
6 | public bool Errors { get; set; }
7 | public int Id { get; set; }
8 | public int? LengthInSeconds { get; set; }
9 | public string Output { get; set; } = string.Empty;
10 | public Guid PersistentId { get; set; }
11 | public string RunType { get; set; } = string.Empty;
12 | public string Script { get; set; } = string.Empty;
13 | public Guid ScriptJobPersistentId { get; set; }
14 | public DateTime StartedOnUtc { get; set; }
15 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerData/ScriptKind.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerData;
2 |
3 | public enum ScriptKind
4 | {
5 | PowerShell,
6 | CsScript
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 |
3 | [assembly:ThemeInfo(
4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
5 | //(used if a resource is not found in the page,
6 | // or application resource dictionaries)
7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
8 | //(used if a resource is not found in the page,
9 | // app, or any theme specific resource dictionaries)
10 | )]
11 |
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/AppSettingsControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
2 |
3 | ///
4 | /// Interaction logic for AppSettingsControl.xaml
5 | ///
6 | public partial class AppSettingsControl
7 | {
8 | public AppSettingsControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/CsCustomScriptRunnerControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
4 |
5 | ///
6 | /// Interaction logic for CsCustomScriptRunnerControl.xaml
7 | ///
8 | public partial class CsCustomScriptRunnerControl
9 | {
10 | public CsCustomScriptRunnerControl()
11 | {
12 | InitializeComponent();
13 | }
14 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/CsScriptJobEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
4 |
5 | ///
6 | /// Interaction logic for CsScriptJobEditorControl.xaml
7 | ///
8 | public partial class CsScriptJobEditorControl
9 | {
10 | public CsScriptJobEditorControl()
11 | {
12 | InitializeComponent();
13 | }
14 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/CustomScriptRunnerControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
2 |
3 | ///
4 | /// Interaction logic for CustomScriptRunnerControl.xaml
5 | ///
6 | public partial class CustomScriptRunnerControl
7 | {
8 | public CustomScriptRunnerControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/DateTimeMaxValueToNullConverter.cs:
--------------------------------------------------------------------------------
1 | using System.Globalization;
2 | using System.Windows.Data;
3 |
4 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
5 |
6 | public class DateTimeMaxValueToNullConverter : IValueConverter
7 | {
8 | public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
9 | {
10 | if (value is not DateTime dateTime) return null;
11 | if (dateTime == DateTime.MaxValue) return null;
12 | return dateTime;
13 | }
14 |
15 | public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
16 | {
17 | throw new NotSupportedException();
18 | }
19 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/IScriptMessageItem.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
2 |
3 | public interface IScriptMessageItem
4 | {
5 | string Message { get; set; }
6 | DateTime ReceivedOn { get; set; }
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/LengthInSecondsToHumanReadableConverter.cs:
--------------------------------------------------------------------------------
1 | using System.Globalization;
2 | using System.Windows.Data;
3 |
4 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
5 |
6 | public class LengthInSecondsToHumanReadableConverter : IValueConverter
7 | {
8 | public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
9 | {
10 | if (value is not int lengthInSeconds) return string.Empty;
11 | return TimeSpan.FromSeconds(lengthInSeconds).ToString(@"hh\:mm\:ss");
12 | }
13 |
14 | public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
15 | {
16 | throw new NotSupportedException();
17 | }
18 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/ScriptJobEditorControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
2 |
3 | ///
4 | /// Interaction logic for ScriptJobEditorControl.xaml
5 | ///
6 | public partial class ScriptJobEditorControl
7 | {
8 | public ScriptJobEditorControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/ScriptJobListControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
2 |
3 | ///
4 | /// Interaction logic for ScriptJobListControl.xaml
5 | ///
6 | public partial class ScriptJobListControl
7 | {
8 | public ScriptJobListControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/ScriptJobRunListControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
2 |
3 | ///
4 | /// Interaction logic for ScriptJobRunListControl.xaml
5 | ///
6 | public partial class ScriptJobRunListControl
7 | {
8 | public ScriptJobRunListControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/ScriptJobRunOutputDiffControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
2 |
3 | ///
4 | /// Interaction logic for ScriptJobRunOutputDiffControl.xaml
5 | ///
6 | public partial class ScriptJobRunOutputDiffControl
7 | {
8 | public ScriptJobRunOutputDiffControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/ScriptJobRunViewerControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
2 |
3 | ///
4 | /// Interaction logic for ScriptJobRunViewerControl.xaml
5 | ///
6 | public partial class ScriptJobRunViewerControl
7 | {
8 | public ScriptJobRunViewerControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/ScriptMessageItemError.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class ScriptMessageItemError : IScriptMessageItem
7 | {
8 | public string Message { get; set; } = string.Empty;
9 | public DateTime ReceivedOn { get; set; }
10 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/ScriptMessageItemProgress.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class ScriptMessageItemProgress : IScriptMessageItem
7 | {
8 | public Guid ScriptJobPersistentId { get; set; }
9 | public Guid ScriptJobRunPersistentId { get; set; }
10 | public string? Sender { get; set; }
11 | public string Message { get; set; } = string.Empty;
12 | public DateTime ReceivedOn { get; set; }
13 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/ScriptMessageItemState.cs:
--------------------------------------------------------------------------------
1 | using System.Management.Automation.Runspaces;
2 | using PointlessWaymarks.LlamaAspects;
3 |
4 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
5 |
6 | [NotifyPropertyChanged]
7 | public partial class ScriptMessageItemState : IScriptMessageItem
8 | {
9 | public Guid ScriptJobPersistentId { get; set; }
10 | public Guid ScriptJobRunPersistentId { get; set; }
11 | public string? Sender { get; set; }
12 | public PipelineState State { get; set; }
13 | public string Message { get; set; } = string.Empty;
14 | public DateTime ReceivedOn { get; set; }
15 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/ScriptProgressControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
2 |
3 | ///
4 | /// Interaction logic for ScriptProgressControl.xaml
5 | ///
6 | public partial class ScriptProgressControl
7 | {
8 | public ScriptProgressControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/ScriptViewControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
2 |
3 | ///
4 | /// Interaction logic for ScriptViewControl.xaml
5 | ///
6 | public partial class ScriptViewControl
7 | {
8 | public ScriptViewControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/Controls/UtcTimeToLocalTimeConverter.cs:
--------------------------------------------------------------------------------
1 | using System.Globalization;
2 | using System.Windows.Data;
3 |
4 | namespace PointlessWaymarks.PowerShellRunnerGui.Controls;
5 |
6 | public class UtcTimeToLocalTimeConverter : IValueConverter
7 | {
8 | public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
9 | {
10 | if (value is not DateTime utcTime) return null;
11 | return utcTime.ToLocalTime();
12 | }
13 |
14 | public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
15 | {
16 | throw new NotSupportedException();
17 | }
18 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/JotServices.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 | using Jot;
3 | using WpfScreenHelper;
4 |
5 | namespace PointlessWaymarks.PowerShellRunnerGui;
6 |
7 | internal static class JotServices
8 | {
9 | public static readonly Tracker Tracker = new();
10 |
11 | static JotServices()
12 | {
13 | Tracker.Configure().Id(w => w.Name, SystemInformation.VirtualScreen.Size)
14 | .Properties(w => new
15 | {
16 | w.Top,
17 | w.Width,
18 | w.Height,
19 | w.Left,
20 | w.WindowState
21 | }).PersistOn(nameof(Window.Closing)).StopTrackingOn(nameof(Window.Closing));
22 | }
23 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/PointlessWaymarksPowerShellRunnerIcon.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.PowershellRunnerGui/PointlessWaymarksPowerShellRunnerIcon.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/PointlessWaymarksPowerShellRunnerIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.PowershellRunnerGui/PointlessWaymarksPowerShellRunnerIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/PowerShellEditor/TextMarkerType.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PowerShellRunnerGui.PowerShellEditor;
2 |
3 | //Code copied from or based on [GitHub - dfinke/PowerShellConsole: Create a PowerShell Console using the AvalonEdit control](https://github.com/dfinke/PowerShellConsole/tree/master)
4 | //[dfinke (Doug Finke)](https://github.com/dfinke) - Apache-2.0 license
5 | public enum TextMarkerType
6 | {
7 | ///
8 | /// Use no marker
9 | ///
10 | None,
11 |
12 | ///
13 | /// Use squiggly underline marker
14 | ///
15 | SquigglyUnderline
16 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/PowerShellRunnerGuiSettings.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.PowerShellRunnerGui;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class PowerShellRunnerGuiSettings
7 | {
8 | public string DatabaseFile { get; set; } = string.Empty;
9 | public string? LastDirectory { get; set; } = string.Empty;
10 | public string ProgramUpdateDirectory { get; set; } = @"https://software.pointlesswaymarks.com/Software/PointlessWaymarksSoftwareList.json";
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/PowerShellRunnerInstallerTopRightImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.PowershellRunnerGui/PowerShellRunnerInstallerTopRightImage.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/PowerShellRunnerInstallerTopRightImage.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.PowershellRunnerGui/PowerShellRunnerInstallerTopRightImage.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/PowerShellRunnerLeftInstallerImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.PowershellRunnerGui/PowerShellRunnerLeftInstallerImage.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerGui/PowerShellRunnerLeftInstallerImage.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.PowershellRunnerGui/PowerShellRunnerLeftInstallerImage.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerScreenShots/PowerShellRunnerJobList.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.PowershellRunnerScreenShots/PowerShellRunnerJobList.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerScreenShots/PowerShellRunnerRunDiffView.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.PowershellRunnerScreenShots/PowerShellRunnerRunDiffView.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.PowershellRunnerScreenShots/PowerShellRunnerRunList.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.PowershellRunnerScreenShots/PowerShellRunnerRunList.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.PressSharper.UnitTests/README.md:
--------------------------------------------------------------------------------
1 | This code was pulled from [bcwood/PressSharper: A C# class library for parsing WordPress XML export data.](https://github.com/bcwood/PressSharper) which was forked from [dreadwail/press_sharp: A C# class library for parsing Wordpress XML export data.](https://github.com/dreadwail/press_sharp). It has been lightly refactored and integrated into this project.
2 |
3 | This provides test coverage for the PressSharper project - see that project for more notes.
--------------------------------------------------------------------------------
/PointlessWaymarks.PressSharper/Attachment.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PressSharper;
2 |
3 | public class Attachment
4 | {
5 | public int Id { get; init; }
6 | public string Title { get; init; } = string.Empty;
7 | public string Url { get; init; } = string.Empty;
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PressSharper/Author.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PressSharper;
2 |
3 | public class Author
4 | {
5 | public string DisplayName { get; init; } = string.Empty;
6 | public string Email { get; init; } = string.Empty;
7 | public int Id { get; init; }
8 | public string Username { get; init; } = string.Empty;
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PressSharper/Category.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PressSharper;
2 |
3 | public class Category
4 | {
5 | public string Name { get; init; } = string.Empty;
6 | public string Slug { get; init; } = string.Empty;
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PressSharper/Page.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PressSharper;
2 |
3 | public class Page
4 | {
5 | public Author? Author { get; init; }
6 | public string Body { get; init; } = string.Empty;
7 | public int Id { get; init; }
8 | public int? ParentId { get; init; }
9 | public DateTime PublishDate { get; init; }
10 | public string Slug { get; init; } = string.Empty;
11 | public string Title { get; init; } = string.Empty;
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PressSharper/Post.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PressSharper;
2 |
3 | public class Post
4 | {
5 | public Author? Author { get; init; }
6 | public string Body { get; init; } = string.Empty;
7 | public List Categories { get; } = Enumerable.Empty().ToList();
8 | public string Excerpt { get; init; } = string.Empty;
9 | public Attachment? FeaturedImage { get; set; }
10 | public DateTime? PublishDate { get; init; }
11 | public string Slug { get; init; } = string.Empty;
12 | public List Tags { get; } = Enumerable.Empty().ToList();
13 | public string Title { get; init; } = string.Empty;
14 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PressSharper/Tag.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.PressSharper;
2 |
3 | public class Tag : Category
4 | {
5 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.PublishReadmeHelper/PointlessWaymarks.PublishReadmeHelper.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/PointlessWaymarks.ScriptB64Runner/PointlessWaymarks.ScriptB64Runner.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 |
3 | [assembly: ThemeInfo(
4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
5 | //(used if a resource is not found in the page,
6 | // or application resource dictionaries)
7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
8 | //(used if a resource is not found in the page,
9 | // app, or any theme specific resource dictionaries)
10 | )]
11 |
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/JotServices.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 | using Jot;
3 | using WpfScreenHelper;
4 |
5 | namespace PointlessWaymarks.SiteViewerGui;
6 |
7 | internal static class JotServices
8 | {
9 | public static readonly Tracker Tracker = new();
10 |
11 | static JotServices()
12 | {
13 | Tracker.Configure().Id(w => w.Name, SystemInformation.VirtualScreen.Size)
14 | .Properties(w => new
15 | {
16 | w.Top,
17 | w.Width,
18 | w.Height,
19 | w.Left,
20 | w.WindowState
21 | }).PersistOn(nameof(Window.Closing)).StopTrackingOn(nameof(Window.Closing));
22 | }
23 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/PointlessWaymarksSiteViewerIcon.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.SiteViewerGui/PointlessWaymarksSiteViewerIcon.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/PointlessWaymarksSiteViewerIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.SiteViewerGui/PointlessWaymarksSiteViewerIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "PointlessWaymarks.SiteViewerGui": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/SiteChooserControl.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.SiteViewerGui;
2 |
3 | ///
4 | /// Interaction logic for ProjectChooserControl.xaml
5 | ///
6 | public partial class SiteChooserControl
7 | {
8 | public SiteChooserControl()
9 | {
10 | InitializeComponent();
11 | }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/SiteChooserDataTemplateSelector.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 | using System.Windows.Controls;
3 |
4 | namespace PointlessWaymarks.SiteViewerGui;
5 |
6 | public class SiteChooserDataTemplateSelector : DataTemplateSelector
7 | {
8 | public DataTemplate? SiteDirectoryTemplate { get; set; }
9 | public DataTemplate? SiteSettingsFileTemplate { get; set; }
10 |
11 | public override DataTemplate? SelectTemplate(object? item, DependencyObject container)
12 | {
13 | return item switch
14 | {
15 | SiteSettingsFileListItem => SiteSettingsFileTemplate,
16 | SiteDirectoryListItem => SiteDirectoryTemplate,
17 | _ => null
18 | };
19 | }
20 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/SiteDirectoryListItem.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using PointlessWaymarks.LlamaAspects;
3 |
4 | namespace PointlessWaymarks.SiteViewerGui;
5 |
6 | [NotifyPropertyChanged]
7 | public partial class SiteDirectoryListItem
8 | {
9 | public DirectoryInfo SiteDirectory { get; set; }
10 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/SiteSettingsFileListItem.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using PointlessWaymarks.CmsData;
3 | using PointlessWaymarks.LlamaAspects;
4 |
5 | namespace PointlessWaymarks.SiteViewerGui;
6 |
7 | [NotifyPropertyChanged]
8 | public partial class SiteSettingsFileListItem
9 | {
10 | public UserSettings ParsedSettings { get; set; }
11 | public FileInfo SettingsFile { get; set; }
12 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/SiteViewerGuiSettings.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.SiteViewerGui;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class SiteViewerGuiSettings
7 | {
8 | public string ProgramUpdateDirectory { get; set; } = @"https://software.pointlesswaymarks.com/Software/PointlessWaymarksSoftwareList.json";
9 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/SiteViewerInstallerLeftImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.SiteViewerGui/SiteViewerInstallerLeftImage.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/SiteViewerInstallerLeftImage.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.SiteViewerGui/SiteViewerInstallerLeftImage.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/SiteViewerInstallerTopRightImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.SiteViewerGui/SiteViewerInstallerTopRightImage.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerGui/SiteViewerInstallerTopRightImage.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.SiteViewerGui/SiteViewerInstallerTopRightImage.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.SiteViewerScreenShots/LocalSiteViewer.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.SiteViewerScreenShots/LocalSiteViewer.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImage/CombinerOrientation.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.UtilitarianImage;
2 |
3 | public enum CombinerOrientation
4 | {
5 | Vertical,
6 | Horizontal,
7 | Grid
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImage/ImageRotation.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.UtilitarianImage;
2 |
3 | public enum ImageRotation
4 | {
5 | Right,
6 | Left,
7 | Flip
8 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImage/PointlessWaymarks.UtilitarianImage.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombiner/Options.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace PointlessWaymarks.UtilitarianImageCombiner
8 | {
9 | internal class Options
10 | {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombiner/Program.cs:
--------------------------------------------------------------------------------
1 | // See https://aka.ms/new-console-template for more information
2 | Console.WriteLine("Hello, World!");
3 |
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/App.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 |
3 | [assembly:ThemeInfo(
4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
5 | //(used if a resource is not found in the page,
6 | // or application resource dictionaries)
7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
8 | //(used if a resource is not found in the page,
9 | // app, or any theme specific resource dictionaries)
10 | )]
11 |
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/Controls/ColorNameAndSkColor.cs:
--------------------------------------------------------------------------------
1 | using SkiaSharp;
2 |
3 | namespace PointlessWaymarks.UtilitarianImageCombinerGui.Controls;
4 |
5 | public record ColorNameAndSkColor
6 | {
7 | public SKColor SkiaColor { get; set; }
8 | public required string ColorName { get; set; }
9 | public required string Color { get; set; }
10 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/Controls/CombinerListControl.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Controls;
2 |
3 | namespace PointlessWaymarks.UtilitarianImageCombinerGui.Controls
4 | {
5 | ///
6 | /// Interaction logic for CombinerListControl.xaml
7 | ///
8 | public partial class CombinerListControl : UserControl
9 | {
10 | public CombinerListControl()
11 | {
12 | InitializeComponent();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/Controls/WebPageAsJpegWindowImageSavedEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace PointlessWaymarks.UtilitarianImageCombinerGui.Controls;
2 |
3 | public class WebPageAsJpegWindowImageSavedEventArgs(string newFilename) : EventArgs
4 | {
5 | public string NewFilename { get; } = newFilename;
6 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/ImageCombinerGuiSettings.cs:
--------------------------------------------------------------------------------
1 | using PointlessWaymarks.LlamaAspects;
2 |
3 | namespace PointlessWaymarks.UtilitarianImageCombinerGui;
4 |
5 | [NotifyPropertyChanged]
6 | public partial class ImageCombinerGuiSettings
7 | {
8 | public string? LastFileSourceDirectory { get; set; } = string.Empty;
9 | public string ProgramUpdateDirectory { get; set; } = @"https://software.pointlesswaymarks.com/Software/PointlessWaymarksSoftwareList.json";
10 | public string SaveToDirectory { get; set; } = string.Empty;
11 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/JotServices.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 | using Jot;
3 | using WpfScreenHelper;
4 |
5 | namespace PointlessWaymarks.UtilitarianImageCombinerGui;
6 |
7 | internal static class JotServices
8 | {
9 | public static readonly Tracker Tracker = new();
10 |
11 | static JotServices()
12 | {
13 | Tracker.Configure().Id(w => w.Name, SystemInformation.VirtualScreen.Size)
14 | .Properties(w => new
15 | {
16 | w.Top,
17 | w.Width,
18 | w.Height,
19 | w.Left,
20 | w.WindowState
21 | }).PersistOn(nameof(Window.Closing)).StopTrackingOn(nameof(Window.Closing));
22 | }
23 | }
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/UtilitarianImageCombinerGuiIcon.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageCombinerGui/UtilitarianImageCombinerGuiIcon.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/UtilitarianImageCombinerGuiIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageCombinerGui/UtilitarianImageCombinerGuiIcon.ico
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/UtilitarianImageCombinerInstallerLeftImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageCombinerGui/UtilitarianImageCombinerInstallerLeftImage.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/UtilitarianImageCombinerInstallerLeftImage.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageCombinerGui/UtilitarianImageCombinerInstallerLeftImage.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/UtilitarianImageCombinerInstallerTopRightImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageCombinerGui/UtilitarianImageCombinerInstallerTopRightImage.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageCombinerGui/UtilitarianImageCombinerInstallerTopRightImage.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageCombinerGui/UtilitarianImageCombinerInstallerTopRightImage.psd
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageTests/TestImages/BlueBottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageTests/TestImages/BlueBottom.png
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageTests/TestImages/BlueTop.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageTests/TestImages/BlueTop.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageTests/TestImages/CactusForestDrive.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageTests/TestImages/CactusForestDrive.pdf
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageTests/TestImages/GreenBlueSquare.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageTests/TestImages/GreenBlueSquare.jpeg
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageTests/TestImages/GreenDownLeftOfCenter.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageTests/TestImages/GreenDownLeftOfCenter.bmp
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageTests/TestImages/GreenDownRightOfCenter.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageTests/TestImages/GreenDownRightOfCenter.gif
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageTests/TestImages/Result-A-RotatedVertical.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageTests/TestImages/Result-A-RotatedVertical.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageTests/TestImages/Result-B-RotatedHorizontal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageTests/TestImages/Result-B-RotatedHorizontal.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageTests/TestImages/Result-C-GridAutoRowsAndColumns.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageTests/TestImages/Result-C-GridAutoRowsAndColumns.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageTests/TestImages/Result-D-GridFourColumns.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageTests/TestImages/Result-D-GridFourColumns.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageTests/TestImages/Result-E-GridFiveRows.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageTests/TestImages/Result-E-GridFiveRows.jpg
--------------------------------------------------------------------------------
/PointlessWaymarks.UtilitarianImageTests/TestImages/Result-F-GridThreeByThree.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cmiles/PointlessWaymarksProject/e4795b9cb1534bca0d0bdcd92b471c19835acd48/PointlessWaymarks.UtilitarianImageTests/TestImages/Result-F-GridThreeByThree.jpg
--------------------------------------------------------------------------------
/Publish-All.ps1:
--------------------------------------------------------------------------------
1 | $ErrorActionPreference = "Stop"
2 | .\Publish-ProgramToInnoSetupInstaller.ps1 CloudBackupGui
3 | .\Publish-ProgramToInnoSetupInstaller.ps1 CmsGui
4 | .\Publish-ProgramToInnoSetupInstaller.ps1 FeedReaderGui
5 | .\Publish-ProgramToInnoSetupInstaller.ps1 GeoToolsGui
6 | .\Publish-ProgramToInnoSetupInstaller.ps1 PowerShellRunnerGui
7 | .\Publish-ProgramToInnoSetupInstaller.ps1 SiteViewerGui
8 | .\Publish-ProgramToInnoSetupInstaller.ps1 UtilitarianImageCombinerGui
9 | .\Publish-ProgramToZip.ps1 CloudBackupRunner
10 | .\Publish-ProgramToZip.ps1 CmsTask.GarminConnectGpxImport
11 | .\Publish-ProgramToZip.ps1 CmsTask.MemoriesEmail
12 | .\Publish-ProgramToZip.ps1 CmsTask.PhotoPickup
13 | .\Publish-ProgramToZip.ps1 CmsTask.PublishSiteToS3
14 |
--------------------------------------------------------------------------------
/Publish-Cms.ps1:
--------------------------------------------------------------------------------
1 | $ErrorActionPreference = "Stop"
2 | .\Publish-ProgramToInnoSetupInstaller.ps1 CmsGui
3 | .\Publish-ProgramToInnoSetupInstaller.ps1 SiteViewerGui
4 | .\Publish-ProgramToZip.ps1 CmsTask.GarminConnectGpxImport
5 | .\Publish-ProgramToZip.ps1 CmsTask.MemoriesEmail
6 | .\Publish-ProgramToZip.ps1 CmsTask.PhotoPickup
7 | .\Publish-ProgramToZip.ps1 CmsTask.PublishSiteToS3
8 |
--------------------------------------------------------------------------------
/Tools-DeleteAllBinAndObj.ps1:
--------------------------------------------------------------------------------
1 | Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }
--------------------------------------------------------------------------------
/Tools-FormatAllXaml.ps1:
--------------------------------------------------------------------------------
1 | xstyler -r -d .\
--------------------------------------------------------------------------------
/Tools-GetNugetLocal.ps1:
--------------------------------------------------------------------------------
1 | $sourceNugetExe = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
2 | $nugetExe = ".\nuget.exe"
3 | Invoke-WebRequest $sourceNugetExe -OutFile $nugetExe
--------------------------------------------------------------------------------
/Tools-InstallGlobalTools.ps1:
--------------------------------------------------------------------------------
1 | dotnet tool install -g JetBrains.ReSharper.GlobalTools;
2 | dotnet tool install -g XamlStyler.Console;
3 | dotnet tool install -g metalama.tool;
--------------------------------------------------------------------------------
/Tools-UpdateAllTools.ps1:
--------------------------------------------------------------------------------
1 | dotnet tool list -g | ForEach-Object {$index = 0} { $index++; if($index -gt 2) { dotnet tool update -g $_.split(" ")[0] } }
--------------------------------------------------------------------------------
/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "sdk": {
3 | "version": "8.0",
4 | "rollForward": "latestMinor",
5 | "allowPrerelease": true
6 | }
7 | }
--------------------------------------------------------------------------------