Initial commit

This commit includes an updated, mostly refactored version of LockNote
for Windows Phone version 1.3. The last version released to the public
in 2014 was 1.2.

The app has been completely designed (back in 2014) to match a more
modern design approach, including the use of the user's accent color.

The live tile and logo have been redesigned while still trying to
recreate the original app icon. I don't have the original design
files anymore, so I had to recreate it to use the icons in higher
resolutions.
This commit is contained in:
Nic
2026-04-06 18:52:15 +02:00
commit 939bcfade2
49 changed files with 2793 additions and 0 deletions

472
.gitignore vendored Normal file
View File

@@ -0,0 +1,472 @@
# Created by https://www.toptal.com/developers/gitignore/api/windows,macos,visualstudio,visualstudiocode
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,macos,visualstudio,visualstudiocode
### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### macOS Patch ###
# iCloud generated files
*.icloud
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide
### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
### VisualStudio ###
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
*.vbp
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp
# Visual Studio 6 technical files
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# Visual Studio History (VSHistory) files
.vshistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
# VS Code files for those working on multiple tools
*.code-workspace
# Local History for Visual Studio Code
# Windows Installer files from build outputs
# JetBrains Rider
*.sln.iml
### VisualStudio Patch ###
# Additional files built by Visual Studio
# End of https://www.toptal.com/developers/gitignore/api/windows,macos,visualstudio,visualstudiocode

BIN
.img/promo_art_new.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

BIN
.img/promo_art_old.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

40
LockNote.sln Normal file
View File

@@ -0,0 +1,40 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2013 for Windows
VisualStudioVersion = 12.0.30723.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LockNote", "LockNote\LockNote.csproj", "{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Debug|ARM.ActiveCfg = Debug|ARM
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Debug|ARM.Build.0 = Debug|ARM
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Debug|ARM.Deploy.0 = Debug|ARM
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Debug|x86.ActiveCfg = Debug|x86
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Debug|x86.Build.0 = Debug|x86
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Debug|x86.Deploy.0 = Debug|x86
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Release|Any CPU.Build.0 = Release|Any CPU
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Release|Any CPU.Deploy.0 = Release|Any CPU
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Release|ARM.ActiveCfg = Release|ARM
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Release|ARM.Build.0 = Release|ARM
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Release|ARM.Deploy.0 = Release|ARM
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Release|x86.ActiveCfg = Release|x86
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Release|x86.Build.0 = Release|x86
{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}.Release|x86.Deploy.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

18
LockNote/App.xaml Normal file
View File

@@ -0,0 +1,18 @@
<Application
x:Class="LockNote.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
<Application.Resources>
<local:LocalizedStrings xmlns:local="clr-namespace:LockNote" x:Key="LocalizedStrings"/>
</Application.Resources>
<Application.ApplicationLifetimeObjects>
<shell:PhoneApplicationService
Launching="Application_Launching" Closing="Application_Closing"
Activated="Application_Activated" Deactivated="Application_Deactivated"/>
</Application.ApplicationLifetimeObjects>
</Application>

235
LockNote/App.xaml.cs Normal file
View File

@@ -0,0 +1,235 @@
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Markup;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using LockNote.Resources;
using Windows.Phone.Speech.VoiceCommands;
namespace LockNote
{
public partial class App : Application
{
/// <summary>
/// Bietet einen einfachen Zugriff auf den Stammframe der Phone-Anwendung.
/// </summary>
/// <returns>Der Stammframe der Phone-Anwendung.</returns>
public static PhoneApplicationFrame RootFrame { get; private set; }
public static string APP_VERSION = "1.3";
/// <summary>
/// Konstruktor für das Application-Objekt.
/// </summary>
public App()
{
// Globaler Handler für nicht abgefangene Ausnahmen.
UnhandledException += Application_UnhandledException;
// Standard-XAML-Initialisierung
InitializeComponent();
// Phone-spezifische Initialisierung
InitializePhoneApplication();
// Initialisierung der Sprachanzeige
InitializeLanguage();
// Während des Debuggens Profilerstellungsinformationen zur Grafikleistung anzeigen.
if (Debugger.IsAttached)
{
// Zähler für die aktuelle Bildrate anzeigen.
Application.Current.Host.Settings.EnableFrameRateCounter = false;
// Bereiche der Anwendung hervorheben, die mit jedem Bild neu gezeichnet werden.
//Application.Current.Host.Settings.EnableRedrawRegions = true;
// Nicht produktiven Visualisierungsmodus für die Analyse aktivieren,
// in dem Bereiche einer Seite angezeigt werden, die mit einer Farbüberlagerung an die GPU übergeben wurden.
//Application.Current.Host.Settings.EnableCacheVisualization = true;
// Verhindert, dass der Bildschirm im Debugger ausgeschaltet wird, indem
// die Leerlauferkennung der Anwendung deaktiviert wird.
// Vorsicht: Nur im Debugmodus verwenden. Eine Anwendung mit deaktivierter Benutzerleerlauferkennung wird weiterhin ausgeführt
// und verbraucht auch dann Akkuenergie, wenn der Benutzer das Handy nicht verwendet.
PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
}
}
// Code, der beim Starten der Anwendung ausgeführt werden soll (z. B. über "Start")
// Dieser Code wird beim Reaktivieren der Anwendung nicht ausgeführt
private void Application_Launching(object sender, LaunchingEventArgs e)
{
RegisterVoiceCommands();
}
// Code, der ausgeführt werden soll, wenn die Anwendung aktiviert wird (in den Vordergrund gebracht wird)
// Dieser Code wird beim ersten Starten der Anwendung nicht ausgeführt
private void Application_Activated(object sender, ActivatedEventArgs e)
{
}
// Code, der ausgeführt werden soll, wenn die Anwendung deaktiviert wird (in den Hintergrund gebracht wird)
// Dieser Code wird beim Schließen der Anwendung nicht ausgeführt
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
}
// Code, der beim Schließen der Anwendung ausgeführt wird (z. B. wenn der Benutzer auf "Zurück" klickt)
// Dieser Code wird beim Deaktivieren der Anwendung nicht ausgeführt
private void Application_Closing(object sender, ClosingEventArgs e)
{
}
// Code, der bei einem Navigationsfehler ausgeführt wird
private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
{
if (Debugger.IsAttached)
{
// Navigationsfehler. Unterbrechen und Debugger öffnen
Debugger.Break();
}
}
// Code, der bei Ausnahmefehlern ausgeführt wird
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
if (Debugger.IsAttached)
{
// Ein Ausnahmefehler ist aufgetreten. Unterbrechen und Debugger öffnen
Debugger.Break();
}
}
#region Initialisierung der Phone-Anwendung
// Doppelte Initialisierung vermeiden
private bool phoneApplicationInitialized = false;
// Fügen Sie keinen zusätzlichen Code zu dieser Methode hinzu
private void InitializePhoneApplication()
{
if (phoneApplicationInitialized)
return;
// Frame erstellen, aber noch nicht als RootVisual festlegen. Dadurch kann der Begrüßungsbildschirm
// aktiv bleiben, bis die Anwendung bereit für das Rendern ist.
RootFrame = new TransitionFrame();
RootFrame.Navigated += CompleteInitializePhoneApplication;
RootFrame.UriMapper = new AssociationUriMapper();
// Navigationsfehler behandeln
RootFrame.NavigationFailed += RootFrame_NavigationFailed;
// Behandeln Sie Rücksetzanforderungen zum Löschen des Backstack
RootFrame.Navigated += CheckForResetNavigation;
// Sicherstellen, dass keine erneute Initialisierung erfolgt
phoneApplicationInitialized = true;
}
// Fügen Sie keinen zusätzlichen Code zu dieser Methode hinzu
private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)
{
// Visuelle Stammkomponente festlegen, sodass die Anwendung gerendert werden kann
if (RootVisual != RootFrame)
RootVisual = RootFrame;
// Dieser Handler wird nicht mehr benötigt und kann entfernt werden
RootFrame.Navigated -= CompleteInitializePhoneApplication;
}
private void CheckForResetNavigation(object sender, NavigationEventArgs e)
{
// Wenn die App eine 'Reset'-Navigation empfangen hat, müssen wir prüfen
// bei der nächsten Navigation, um festzustellen, ob der Seitenstapel zurückgesetzt werden muss
if (e.NavigationMode == NavigationMode.Reset)
RootFrame.Navigated += ClearBackStackAfterReset;
}
private void ClearBackStackAfterReset(object sender, NavigationEventArgs e)
{
// Heben Sie die Registrierung des Ereignisses auf, damit es nicht erneut aufgerufen wird.
RootFrame.Navigated -= ClearBackStackAfterReset;
// Löschen Sie den Stapel nur bei den Navigationen "neu" (vorwärts) und "Aktualisieren"
if (e.NavigationMode != NavigationMode.New && e.NavigationMode != NavigationMode.Refresh)
return;
// Löschen Sie zur Sicherstellung der UI-Konsistenz den gesamten Seitenstapel
while (RootFrame.RemoveBackEntry() != null)
{
; // unternehmen Sie nichts
}
}
#endregion
// Initialisieren Sie die Schriftart und Flussrichtung der App wie in den lokalisierten Ressourcenzeichenfolgen angegeben.
//
// Um sicherzustellen, dass die Schriftart der Anwendung mit den unterstützten Sprachen abgestimmt ist und dass
// FlowDirection der einzelnen Sprachen der herkömmlichen Richtung folgt, müssen ResourceLanguage
// und ResourceFlowDirection in jeder RESX-Datei initialisiert werden, damit sie den Werten
// der Kultur dieser Datei entsprechen. Zum Beispiel:
//
// AppResources.es-ES.resx
// Der Wert von ResourceLanguage muss "es-ES" sein.
// Der Wert von ResourceFlowDirection muss "LeftToRight" sein.
//
// AppResources.ar-SA.resx
// Der Wert von ResourceLanguage muss "ar-SA" sein.
// Der Wert von ResourceFlowDirection muss "RightToLeft" sein.
//
// Weitere Informationen über die Lokalisierung von Windows Phone-Apps finden Sie unter http://go.microsoft.com/fwlink/?LinkId=262072.
//
private void InitializeLanguage()
{
try
{
// Legen Sie die Schriftart so fest, dass sie der Anzeigesprache entspricht, die
// in der ResourceLanguage-Ressourcenzeichenfolge der einzelnen unterstützten Sprachen definiert ist.
//
// Greifen Sie auf die Schriftart der neutralen Sprache zurück, wenn die
// Anzeigesprache des Telefons nicht unterstützt wird.
//
// Wenn ein Compilerfehler auftritt, fehlt ResourceLanguage in
// der Ressourcendatei.
RootFrame.Language = XmlLanguage.GetLanguage(AppResources.ResourceLanguage);
// Legen Sie FlowDirection aller Elemente im Stammframe fest und zwar auf Grundlage
// der ResourceFlowDirection-Ressourcenzeichenfolge der einzelnen
// unterstützten Sprachen.
//
// Wenn ein Compilerfehler auftritt, fehlt ResourceFlowDirection in
// der Ressourcendatei.
FlowDirection flow = (FlowDirection)Enum.Parse(typeof(FlowDirection), AppResources.ResourceFlowDirection);
RootFrame.FlowDirection = flow;
}
catch
{
// Tritt hier eine Ausnahme auf, liegt das wahrscheinlich entweder an
// ResourceLangauge ist nicht korrekt auf eine unterstützte Sprache festgelegt
// Code oder ResourceFlowDirection ist auf einen anderen Wert als LeftToRight festgelegt
// oder RightToLeft.
if (Debugger.IsAttached)
{
Debugger.Break();
}
throw;
}
}
private async void RegisterVoiceCommands() => await VoiceCommandService.InstallCommandSetsFromFileAsync(
new Uri(
"ms-appx:///VoiceCommandDefinition.xml",
UriKind.RelativeOrAbsolute
)
);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

BIN
LockNote/Assets/Logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@@ -0,0 +1,21 @@
using System;
using System.Net;
using System.Windows.Navigation;
namespace LockNote
{
public class AssociationUriMapper : UriMapperBase
{
string tempUri;
public override Uri MapUri(Uri uri)
{
tempUri = HttpUtility.UrlDecode(uri.ToString());
if (tempUri.Contains("locknote"))
{
string[] tempArray = tempUri.Split(':');
return new Uri("/MainPage.xaml?apicontent=" + tempArray[1], UriKind.Relative);
}
return uri;
}
}
}

View File

@@ -0,0 +1,43 @@
<UserControl x:Class="LockNote.Controls.PageHeaderControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
d:DesignHeight="80" d:DesignWidth="480"
x:Name="Root">
<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
<StackPanel>
<Grid Background="{StaticResource PhoneAccentBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
<!-- SystemTray -->
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock
Grid.Row="1"
Margin="0,20,0,10"
FontSize="28"
FontWeight="Light"
Foreground="White"
TextAlignment="Center"
Text="{Binding Header, ElementName=Root}" />
</Grid>
<Grid Height="5">
<Rectangle
Fill="{StaticResource PhoneAccentBrush}"
StrokeThickness="0" />
<Rectangle
Fill="Black"
Opacity="0.3"
StrokeThickness="0" />
</Grid>
</StackPanel>
</Grid>
</UserControl>

View File

@@ -0,0 +1,22 @@
using System.Windows;
using System.Windows.Controls;
namespace LockNote.Controls
{
public partial class PageHeaderControl : UserControl
{
public PageHeaderControl()
{
InitializeComponent();
}
public string Header
{
get { return (string)GetValue(HeaderProperty); }
set { SetValue(HeaderProperty, value); }
}
public static readonly DependencyProperty HeaderProperty =
DependencyProperty.Register(nameof(Header), typeof(string), typeof(PageHeaderControl), new PropertyMetadata(nameof(Header)));
}
}

View File

@@ -0,0 +1,11 @@
using LockNote.Resources;
namespace LockNote
{
public class LocalizedStrings
{
private static AppResources _localizedResources = new AppResources();
public AppResources LocalizedResources { get { return _localizedResources; } }
}
}

222
LockNote/LockNote.csproj Normal file
View File

@@ -0,0 +1,222 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>10.0.20506</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{26F1E9F8-BE72-42CA-8B8F-A5145EF39AF3}</ProjectGuid>
<ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LockNote</RootNamespace>
<AssemblyName>LockNote</AssemblyName>
<TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v8.1</TargetFrameworkVersion>
<SilverlightVersion>
</SilverlightVersion>
<SilverlightApplication>true</SilverlightApplication>
<SupportedCultures>de</SupportedCultures>
<XapOutputs>true</XapOutputs>
<GenerateSilverlightManifest>true</GenerateSilverlightManifest>
<XapFilename>LockNote_$(Configuration)_$(Platform).xap</XapFilename>
<SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
<SilverlightAppEntry>LockNote.App</SilverlightAppEntry>
<ValidateXaml>true</ValidateXaml>
<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
<ThrowErrorsInValidation>true</ThrowErrorsInValidation>
<TargetFrameworkProfile />
<DefaultLanguage>de-DE</DefaultLanguage>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\x86\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\x86\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|ARM' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\ARM\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|ARM' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\ARM\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget />
</PropertyGroup>
<ItemGroup>
<Compile Include="Views\AboutPage.xaml.cs">
<DependentUpon>AboutPage.xaml</DependentUpon>
</Compile>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
</Compile>
<Compile Include="AssociationUriMapper.cs" />
<Compile Include="Controls\PageHeaderControl.xaml.cs">
<DependentUpon>PageHeaderControl.xaml</DependentUpon>
</Compile>
<Compile Include="Views\HelpPage.xaml.cs">
<DependentUpon>HelpPage.xaml</DependentUpon>
</Compile>
<Compile Include="LocalizedStrings.cs" />
<Compile Include="Views\MainPage.xaml.cs">
<DependentUpon>MainPage.xaml</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Resources\AppResources.en.Designer.cs">
<DependentUpon>AppResources.en.resx</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="Resources\AppResources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>AppResources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</ApplicationDefinition>
<Page Include="Views\AboutPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Controls\PageHeaderControl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\HelpPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\MainPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<AppxManifest Include="Package.appxmanifest">
<SubType>Designer</SubType>
</AppxManifest>
<None Include="packages.config" />
<None Include="Properties\AppManifest.xml" />
<None Include="Properties\WMAppManifest.xml">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="Assets\AlignmentGrid.png" />
<Content Include="Assets\ApplicationIcon.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\BadgeLogo.png" />
<Content Include="Assets\LargeTile.png" />
<Content Include="Assets\Logo.png" />
<Content Include="Assets\SplashScreen.png" />
<Content Include="Assets\SquareTile150x150.png" />
<Content Include="Assets\SquareTile71x71.png" />
<Content Include="Assets\StoreLogo.png" />
<Content Include="Assets\Tiles\FlipCycleTileLarge.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Tiles\FlipCycleTileMedium.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Tiles\FlipCycleTileSmall.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Tiles\IconicTileMediumLarge.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Tiles\IconicTileSmall.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\WideLogo.png" />
<Content Include="Assets\LockNoteTileBlue.png" />
<Content Include="Screenshots\scr1.png" />
<Content Include="Screenshots\scr2.png" />
<Content Include="Screenshots\scr3.png" />
<Content Include="SplashScreenImage.jpg" />
<Content Include="VoiceCommandDefinition.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\AppResources.en.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>AppResources.en.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Resources\AppResources.de.resx" />
<EmbeddedResource Include="Resources\AppResources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>AppResources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.Phone.Controls.Toolkit">
<HintPath>..\packages\WPtoolkit.4.2013.08.16\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<ProjectExtensions />
</Project>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest" xmlns:m3="http://schemas.microsoft.com/appx/2014/manifest" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest">
<Identity Name="34923IRWorks.LockNote" Publisher="CN=8CDF1C72-E452-4E26-9486-529427078BCA" Version="1.3.0.0" />
<mp:PhoneIdentity PhoneProductId="26f1e9f8-be72-42ca-8b8f-a5145ef39af3" PhonePublisherId="b7ff1b2d-73bf-49ed-84e4-1bb6b0f148c3" />
<Properties>
<DisplayName>LockNote</DisplayName>
<PublisherDisplayName>Nic</PublisherDisplayName>
<Logo>Assets\StoreLogo.png</Logo>
</Properties>
<Prerequisites>
<OSMinVersion>6.3.1</OSMinVersion>
<OSMaxVersionTested>6.3.1</OSMaxVersionTested>
</Prerequisites>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="x26f1e9f8ybe72y42cay8b8fya5145ef39af3x" Executable="AGHost.exe" EntryPoint="Views\MainPage.xaml">
<m3:VisualElements DisplayName="LockNote" Square150x150Logo="Assets\SquareTile150x150.png" Square44x44Logo="Assets\Logo.png" Description="LockNote" ForegroundText="light" BackgroundColor="#464646">
<m3:DefaultTile Square71x71Logo="Assets\SquareTile71x71.png">
</m3:DefaultTile>
<m3:SplashScreen Image="Assets\Splashscreen.png" />
</m3:VisualElements>
<Extensions>
<Extension Category="windows.backgroundTasks" EntryPoint="AgHost.BackgroundTask">
<BackgroundTasks>
<Task Type="systemEvent" />
</BackgroundTasks>
</Extension>
</Extensions>
</Application>
</Applications>
<Extensions>
<Extension Category="windows.activatableClass.inProcessServer">
<InProcessServer>
<Path>AgHostSvcs.dll</Path>
<ActivatableClass ActivatableClassId="AgHost.BackgroundTask" ThreadingModel="both" />
</InProcessServer>
</Extension>
</Extensions>
</Package>

View File

@@ -0,0 +1,4 @@
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Deployment.Parts>
</Deployment.Parts>
</Deployment>

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.InteropServices;
using System.Resources;
// Allgemeine Informationen über eine Assembly werden über die folgende
// Attributgruppe gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("LockNote")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Nic")]
[assembly: AssemblyProduct("LockNote")]
[assembly: AssemblyCopyright("Copyright © 2014-2026")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
[assembly: ComVisible(false)]
// Die folgende GUID ist für die ID der typelib, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("b2f69682-9578-479f-bebe-56a75904db88")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder die Standardwerte für Revisions- und Buildnummer verwenden
// übernehmen, indem Sie "*" wie folgt verwenden:
[assembly: AssemblyVersion("1.3")]
[assembly: AssemblyFileVersion("1.3")]
[assembly: NeutralResourcesLanguageAttribute("en")]

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2014/deployment" AppPlatformVersion="8.1">
<DefaultLanguage xmlns="" code="en" />
<Languages xmlns="">
<Language code="en" />
<Language code="de" />
</Languages>
<App xmlns="" ProductID="{26f1e9f8-be72-42ca-8b8f-a5145ef39af3}" Title="LockNote" RuntimeType="Silverlight" Version="1.3.0.0" Genre="apps.normal" Author="Nic" Description="Sample description" Publisher="Nic" PublisherID="{b7ff1b2d-73bf-49ed-84e4-1bb6b0f148c3}">
<IconPath IsRelative="true" IsResource="false">Assets\ApplicationIcon.png</IconPath>
<Capabilities>
<Capability Name="ID_CAP_SPEECH_RECOGNITION" />
<Capability Name="ID_CAP_MICROPHONE" />
<Capability Name="ID_CAP_NETWORKING" />
</Capabilities>
<Tasks>
<DefaultTask Name="_default" NavigationPage="Views\MainPage.xaml" />
</Tasks>
<Tokens>
<PrimaryToken TokenID="LockNoteToken" TaskName="_default">
<TemplateFlip>
<SmallImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileSmall.png</SmallImageURI>
<Count>0</Count>
<BackgroundImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileMedium.png</BackgroundImageURI>
<Title>LockNote</Title>
<BackContent>
</BackContent>
<BackBackgroundImageURI>
</BackBackgroundImageURI>
<BackTitle>
</BackTitle>
<LargeBackgroundImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileLarge.png</LargeBackgroundImageURI>
<LargeBackContent />
<LargeBackBackgroundImageURI IsRelative="true" IsResource="false">
</LargeBackBackgroundImageURI>
<DeviceLockImageURI>
</DeviceLockImageURI>
<HasLarge>True</HasLarge>
</TemplateFlip>
</PrimaryToken>
</Tokens>
<Extensions>
<Extension ExtensionName="LockScreen_Notification_TextField" ConsumerID="{111DFF24-AA15-4A96-8006-2BFF8122084F}" TaskID="_default" />
<Protocol Name="locknote" NavUriFragment="encodedLaunchUri=%s" TaskID="_default" />
</Extensions>
<ScreenResolutions>
<ScreenResolution Name="ID_RESOLUTION_WVGA" />
<ScreenResolution Name="ID_RESOLUTION_WXGA" />
<ScreenResolution Name="ID_RESOLUTION_HD720P" />
</ScreenResolutions>
</App>
</Deployment>

View File

@@ -0,0 +1,324 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace LockNote.Resources {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class AppResources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal AppResources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("LockNote.Resources.AppResources", typeof(AppResources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to About.
/// </summary>
public static string aboutString {
get {
return ResourceManager.GetString("aboutString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to About.
/// </summary>
public static string aboutTitleString {
get {
return ResourceManager.GetString("aboutTitleString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The note has been added to your lock screen!.
/// </summary>
public static string addedMsgString {
get {
return ResourceManager.GetString("addedMsgString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Okay!.
/// </summary>
public static string addedMsgTitleString {
get {
return ResourceManager.GetString("addedMsgTitleString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Refresh lock screen.
/// </summary>
public static string addToLSString {
get {
return ResourceManager.GetString("addToLSString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Another app wants to set.
/// </summary>
public static string apiContentString1 {
get {
return ResourceManager.GetString("apiContentString1", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to as your lock screen text. Allow?.
/// </summary>
public static string apiContentString2 {
get {
return ResourceManager.GetString("apiContentString2", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Allow API request?.
/// </summary>
public static string apiTitleString {
get {
return ResourceManager.GetString("apiTitleString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to LockNote for Windows Phone.
/// </summary>
public static string appTitleString {
get {
return ResourceManager.GetString("appTitleString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to It seems like you&apos;ve started LockNote for the first time, so we recommend you to read the tutorial to avoid problems with the app..
/// </summary>
public static string firstStartContentString {
get {
return ResourceManager.GetString("firstStartContentString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to First start.
/// </summary>
public static string firstStartTitleString {
get {
return ResourceManager.GetString("firstStartTitleString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Lock screen settings.
/// </summary>
public static string helpButtonString {
get {
return ResourceManager.GetString("helpButtonString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Help.
/// </summary>
public static string helpString {
get {
return ResourceManager.GetString("helpString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to 1. Navigate to the lock screen settings..
/// </summary>
public static string helpString1 {
get {
return ResourceManager.GetString("helpString1", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to 2. Scroll down to &quot;notifications&quot; and tap on the box below &quot;Chosse an app to show detailed status&quot;..
/// </summary>
public static string helpString2 {
get {
return ResourceManager.GetString("helpString2", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to 3. Select LockNote..
/// </summary>
public static string helpString3 {
get {
return ResourceManager.GetString("helpString3", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Help.
/// </summary>
public static string helpTitleString {
get {
return ResourceManager.GetString("helpTitleString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Show text on lock screen.
/// </summary>
public static string isVisibleString {
get {
return ResourceManager.GetString("isVisibleString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to LockNote has been deactivated successfully..
/// </summary>
public static string offMsgContentString {
get {
return ResourceManager.GetString("offMsgContentString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to LockNote deactivated.
/// </summary>
public static string offMsgTitleString {
get {
return ResourceManager.GetString("offMsgTitleString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Off.
/// </summary>
public static string offString {
get {
return ResourceManager.GetString("offString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to LockNote has been activated successfully..
/// </summary>
public static string onMsgContentString {
get {
return ResourceManager.GetString("onMsgContentString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to LockNote activated.
/// </summary>
public static string onMsgTitleString {
get {
return ResourceManager.GetString("onMsgTitleString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to On.
/// </summary>
public static string onString {
get {
return ResourceManager.GetString("onString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Other apps.
/// </summary>
public static string otherAppsString {
get {
return ResourceManager.GetString("otherAppsString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Enter text....
/// </summary>
public static string placeholderString {
get {
return ResourceManager.GetString("placeholderString", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to LeftToRight.
/// </summary>
public static string ResourceFlowDirection {
get {
return ResourceManager.GetString("ResourceFlowDirection", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to en.
/// </summary>
public static string ResourceLanguage {
get {
return ResourceManager.GetString("ResourceLanguage", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Your text on your lock screen..
/// </summary>
public static string sloganString {
get {
return ResourceManager.GetString("sloganString", resourceCulture);
}
}
}
}

View File

@@ -0,0 +1,207 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ResourceFlowDirection" xml:space="preserve">
<value>LeftToRight</value>
</data>
<data name="ResourceLanguage" xml:space="preserve">
<value>de</value>
</data>
<data name="sloganString" xml:space="preserve">
<value>Dein Text auf deinem Sperrbildschirm.</value>
</data>
<data name="aboutString" xml:space="preserve">
<value>Über</value>
</data>
<data name="addToLSString" xml:space="preserve">
<value>Sperrbildschirm aktualisieren</value>
</data>
<data name="helpString" xml:space="preserve">
<value>Hilfe</value>
</data>
<data name="addedMsgString" xml:space="preserve">
<value>Die Notiz wurde zum Sperrbildschirm hinzugefügt!</value>
</data>
<data name="addedMsgTitleString" xml:space="preserve">
<value>Fertig!</value>
</data>
<data name="aboutTitleString" xml:space="preserve">
<value>Infos</value>
</data>
<data name="appTitleString" xml:space="preserve">
<value>LockNote für Windows Phone</value>
</data>
<data name="helpButtonString" xml:space="preserve">
<value>Sperrbildschirm-Einstellungen</value>
</data>
<data name="helpString1" xml:space="preserve">
<value>1. Navigiere zu den Sperrbildschirm-EInstellungen.</value>
</data>
<data name="helpString2" xml:space="preserve">
<value>2. Rolle runter zu "Benachrichtigungen" und klicke auf das Feld unter "App für detaillierte Statusanzeige auswählen".</value>
</data>
<data name="helpString3" xml:space="preserve">
<value>3. Wähle LockNote.</value>
</data>
<data name="helpTitleString" xml:space="preserve">
<value>Hilfe</value>
</data>
<data name="otherAppsString" xml:space="preserve">
<value>Weitere Apps</value>
</data>
<data name="firstStartContentString" xml:space="preserve">
<value>Es scheint, als wäre dies das erste Mal, dass du LockNote startest. Aus diesem Grund wird empfohlen, das Tutorial zu lesen, um Probleme mit der App zu vermeiden.</value>
</data>
<data name="firstStartTitleString" xml:space="preserve">
<value>Erster Start</value>
</data>
<data name="isVisibleString" xml:space="preserve">
<value>Text anzeigen</value>
</data>
<data name="offString" xml:space="preserve">
<value>Aus</value>
</data>
<data name="onString" xml:space="preserve">
<value>An</value>
</data>
<data name="offMsgContentString" xml:space="preserve">
<value>LockNote wurde erfolgreich deaktiviert.</value>
</data>
<data name="offMsgTitleString" xml:space="preserve">
<value>LockNote deaktiviert</value>
</data>
<data name="onMsgContentString" xml:space="preserve">
<value>LockNote wurde erfolgreich aktiviert.</value>
</data>
<data name="onMsgTitleString" xml:space="preserve">
<value>LockNote aktiviert</value>
</data>
<data name="apiContentString1" xml:space="preserve">
<value>Eine andere App möchte</value>
</data>
<data name="apiContentString2" xml:space="preserve">
<value>als Sperrbildschirm-Text festlegen. Zulassen?</value>
</data>
<data name="apiTitleString" xml:space="preserve">
<value>API-Anfrage erlauben?</value>
</data>
<data name="placeholderString" xml:space="preserve">
<value>Text eingeben...</value>
</data>
</root>

View File

View File

@@ -0,0 +1,207 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="aboutString" xml:space="preserve">
<value>About</value>
</data>
<data name="addedMsgString" xml:space="preserve">
<value>The note has been added to your lock screen!</value>
</data>
<data name="addedMsgTitleString" xml:space="preserve">
<value>Okay!</value>
</data>
<data name="addToLSString" xml:space="preserve">
<value>Refresh lock screen</value>
</data>
<data name="helpString" xml:space="preserve">
<value>Help</value>
</data>
<data name="ResourceFlowDirection" xml:space="preserve">
<value>LeftToRight</value>
</data>
<data name="ResourceLanguage" xml:space="preserve">
<value>en</value>
</data>
<data name="sloganString" xml:space="preserve">
<value>Your text on your lock screen.</value>
</data>
<data name="aboutTitleString" xml:space="preserve">
<value>About</value>
</data>
<data name="appTitleString" xml:space="preserve">
<value>LockNote for Windows Phone</value>
</data>
<data name="helpButtonString" xml:space="preserve">
<value>Lock screen settings</value>
</data>
<data name="helpString1" xml:space="preserve">
<value>1. Navigate to the lock screen settings.</value>
</data>
<data name="helpString2" xml:space="preserve">
<value>2. Scroll down to "notifications" and tap on the box below "Chosse an app to show detailed status".</value>
</data>
<data name="helpString3" xml:space="preserve">
<value>3. Select LockNote.</value>
</data>
<data name="helpTitleString" xml:space="preserve">
<value>Help</value>
</data>
<data name="otherAppsString" xml:space="preserve">
<value>Other apps</value>
</data>
<data name="firstStartContentString" xml:space="preserve">
<value>It seems like you've started LockNote for the first time, so we recommend you to read the tutorial to avoid problems with the app.</value>
</data>
<data name="firstStartTitleString" xml:space="preserve">
<value>First start</value>
</data>
<data name="isVisibleString" xml:space="preserve">
<value>Show text on lock screen</value>
</data>
<data name="offString" xml:space="preserve">
<value>Off</value>
</data>
<data name="onString" xml:space="preserve">
<value>On</value>
</data>
<data name="offMsgContentString" xml:space="preserve">
<value>LockNote has been deactivated successfully.</value>
</data>
<data name="offMsgTitleString" xml:space="preserve">
<value>LockNote deactivated</value>
</data>
<data name="onMsgContentString" xml:space="preserve">
<value>LockNote has been activated successfully.</value>
</data>
<data name="onMsgTitleString" xml:space="preserve">
<value>LockNote activated</value>
</data>
<data name="apiContentString1" xml:space="preserve">
<value>Another app wants to set</value>
</data>
<data name="apiContentString2" xml:space="preserve">
<value>as your lock screen text. Allow?</value>
</data>
<data name="apiTitleString" xml:space="preserve">
<value>Allow API request?</value>
</data>
<data name="placeholderString" xml:space="preserve">
<value>Enter text...</value>
</data>
</root>

View File

@@ -0,0 +1,207 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="aboutString" xml:space="preserve">
<value>About</value>
</data>
<data name="addedMsgString" xml:space="preserve">
<value>The note has been added to your lock screen!</value>
</data>
<data name="addedMsgTitleString" xml:space="preserve">
<value>Okay!</value>
</data>
<data name="addToLSString" xml:space="preserve">
<value>Refresh lock screen</value>
</data>
<data name="helpString" xml:space="preserve">
<value>Help</value>
</data>
<data name="ResourceFlowDirection" xml:space="preserve">
<value>LeftToRight</value>
</data>
<data name="ResourceLanguage" xml:space="preserve">
<value>en</value>
</data>
<data name="sloganString" xml:space="preserve">
<value>Your text on your lock screen.</value>
</data>
<data name="aboutTitleString" xml:space="preserve">
<value>About</value>
</data>
<data name="appTitleString" xml:space="preserve">
<value>LockNote for Windows Phone</value>
</data>
<data name="helpButtonString" xml:space="preserve">
<value>Lock screen settings</value>
</data>
<data name="helpString1" xml:space="preserve">
<value>1. Navigate to the lock screen settings.</value>
</data>
<data name="helpString2" xml:space="preserve">
<value>2. Scroll down to "notifications" and tap on the box below "Chosse an app to show detailed status".</value>
</data>
<data name="helpString3" xml:space="preserve">
<value>3. Select LockNote.</value>
</data>
<data name="helpTitleString" xml:space="preserve">
<value>Help</value>
</data>
<data name="otherAppsString" xml:space="preserve">
<value>Other apps</value>
</data>
<data name="firstStartContentString" xml:space="preserve">
<value>It seems like you've started LockNote for the first time, so we recommend you to read the tutorial to avoid problems with the app.</value>
</data>
<data name="firstStartTitleString" xml:space="preserve">
<value>First start</value>
</data>
<data name="isVisibleString" xml:space="preserve">
<value>Show text on lock screen</value>
</data>
<data name="offString" xml:space="preserve">
<value>Off</value>
</data>
<data name="onString" xml:space="preserve">
<value>On</value>
</data>
<data name="offMsgContentString" xml:space="preserve">
<value>LockNote has been deactivated successfully.</value>
</data>
<data name="offMsgTitleString" xml:space="preserve">
<value>LockNote deactivated</value>
</data>
<data name="onMsgContentString" xml:space="preserve">
<value>LockNote has been activated successfully.</value>
</data>
<data name="onMsgTitleString" xml:space="preserve">
<value>LockNote activated</value>
</data>
<data name="apiContentString1" xml:space="preserve">
<value>Another app wants to set</value>
</data>
<data name="apiContentString2" xml:space="preserve">
<value>as your lock screen text. Allow?</value>
</data>
<data name="apiTitleString" xml:space="preserve">
<value>Allow API request?</value>
</data>
<data name="placeholderString" xml:space="preserve">
<value>Enter text...</value>
</data>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -0,0 +1,68 @@
<phone:PhoneApplicationPage
x:Class="LockNote.AboutPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:LockNote.Controls"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait"
Orientation="Portrait"
mc:Ignorable="d"
shell:SystemTray.ForegroundColor="White"
shell:SystemTray.IsVisible="True"
shell:SystemTray.Opacity="0">
<toolkit:TransitionService.NavigationInTransition>
<toolkit:NavigationInTransition>
<toolkit:NavigationInTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardIn" />
</toolkit:NavigationInTransition.Backward>
<toolkit:NavigationInTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardIn" />
</toolkit:NavigationInTransition.Forward>
</toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
<toolkit:TransitionService.NavigationOutTransition>
<toolkit:NavigationOutTransition>
<toolkit:NavigationOutTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardOut" />
</toolkit:NavigationOutTransition.Backward>
<toolkit:NavigationOutTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardOut" />
</toolkit:NavigationOutTransition.Forward>
</toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition />
</Grid.RowDefinitions>
<controls:PageHeaderControl Grid.Row="0"
Header="{Binding Path=LocalizedResources.aboutTitleString, Source={StaticResource LocalizedStrings}}" />
<StackPanel VerticalAlignment="Center" Grid.Row="1">
<Image
Source="../Assets/LargeTile.png"
Margin="10"
Height="256"
Width="256" />
<TextBlock
FontSize="26"
TextAlignment="Center"
Text="{Binding Path=LocalizedResources.appTitleString, Source={StaticResource LocalizedStrings}}" />
<TextBlock
Name="versionTextBlock"
TextAlignment="Center"
Text="Version %v" />
</StackPanel>
</Grid>
</phone:PhoneApplicationPage>

View File

@@ -0,0 +1,13 @@
using Microsoft.Phone.Controls;
namespace LockNote
{
public partial class AboutPage : PhoneApplicationPage
{
public AboutPage()
{
InitializeComponent();
versionTextBlock.Text = versionTextBlock.Text.Replace("%v", App.APP_VERSION);
}
}
}

View File

@@ -0,0 +1,99 @@
<phone:PhoneApplicationPage
x:Class="LockNote.HelpPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:LockNote.Controls"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Background="Black"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="White"
SupportedOrientations="Portrait"
Orientation="Portrait"
mc:Ignorable="d"
shell:SystemTray.ForegroundColor="White"
shell:SystemTray.IsVisible="True"
shell:SystemTray.Opacity="0">
<toolkit:TransitionService.NavigationInTransition>
<toolkit:NavigationInTransition>
<toolkit:NavigationInTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardIn" />
</toolkit:NavigationInTransition.Backward>
<toolkit:NavigationInTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardIn" />
</toolkit:NavigationInTransition.Forward>
</toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
<toolkit:TransitionService.NavigationOutTransition>
<toolkit:NavigationOutTransition>
<toolkit:NavigationOutTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardOut" />
</toolkit:NavigationOutTransition.Backward>
<toolkit:NavigationOutTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardOut" />
</toolkit:NavigationOutTransition.Forward>
</toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>
<Grid Background="Black">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<controls:PageHeaderControl Grid.Row="0"
Header="{Binding Path=LocalizedResources.helpString, Source={StaticResource LocalizedStrings}}" />
<ScrollViewer VerticalAlignment="Center" Grid.Row="1">
<StackPanel Margin="10">
<TextBlock
Margin="10"
FontSize="22"
Text="{Binding Path=LocalizedResources.helpString1, Source={StaticResource LocalizedStrings}}"
TextWrapping="Wrap" />
<Image Source="../Screenshots/scr1.png" />
<TextBlock
Margin="10"
FontSize="22"
Text="{Binding Path=LocalizedResources.helpString2, Source={StaticResource LocalizedStrings}}"
TextWrapping="Wrap" />
<Image Source="../Screenshots/scr2.png" />
<TextBlock
Margin="10"
FontSize="22"
Text="{Binding Path=LocalizedResources.helpString3, Source={StaticResource LocalizedStrings}}"
TextWrapping="Wrap" />
<Image Source="../Screenshots/scr3.png" />
</StackPanel>
</ScrollViewer>
<Grid Background="{StaticResource PhoneAccentBrush}" Grid.Row="2">
<TextBlock
Margin="0,20"
FontSize="22"
FontWeight="Light"
Foreground="White"
HorizontalAlignment="Center"
Text="{Binding Path=LocalizedResources.helpButtonString, Source={StaticResource LocalizedStrings}}"
VerticalAlignment="Center" />
<Rectangle
Fill="Black"
StrokeThickness="0"
Opacity="0"
Name="LockScreenSettingsRectangle"
ManipulationCompleted="LockScreenSettingsRectangle_ManipulationCompleted"
ManipulationStarted="LockScreenSettingsRectangle_ManipulationStarted" />
</Grid>
</Grid>
</phone:PhoneApplicationPage>

View File

@@ -0,0 +1,21 @@
using System;
using Microsoft.Phone.Controls;
namespace LockNote
{
public partial class HelpPage : PhoneApplicationPage
{
public HelpPage()
{
InitializeComponent();
}
private async void LockScreenSettingsRectangle_ManipulationCompleted(object sender, System.Windows.Input.ManipulationCompletedEventArgs e)
{
LockScreenSettingsRectangle.Opacity = 0;
await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings-lock:"));
}
private void LockScreenSettingsRectangle_ManipulationStarted(object sender, System.Windows.Input.ManipulationStartedEventArgs e) => LockScreenSettingsRectangle.Opacity = 0.3;
}
}

View File

@@ -0,0 +1,180 @@
<phone:PhoneApplicationPage
x:Class="LockNote.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait"
Orientation="Portrait"
shell:SystemTray.ForegroundColor="White"
shell:SystemTray.IsVisible="True"
shell:SystemTray.Opacity="0">
<toolkit:TransitionService.NavigationInTransition>
<toolkit:NavigationInTransition>
<toolkit:NavigationInTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardIn" />
</toolkit:NavigationInTransition.Backward>
<toolkit:NavigationInTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardIn" />
</toolkit:NavigationInTransition.Forward>
</toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
<toolkit:TransitionService.NavigationOutTransition>
<toolkit:NavigationOutTransition>
<toolkit:NavigationOutTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardOut" />
</toolkit:NavigationOutTransition.Backward>
<toolkit:NavigationOutTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardOut" />
</toolkit:NavigationOutTransition.Forward>
</toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition />
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0">
<Grid Background="{StaticResource PhoneAccentBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
<!-- SystemTray -->
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock
Grid.Row="1"
Margin="0,20,0,10"
FontSize="28"
FontWeight="Light"
Foreground="White"
TextAlignment="Center"
Text="LockNote" />
</Grid>
<Grid Height="5">
<Rectangle
Fill="{StaticResource PhoneAccentBrush}"
StrokeThickness="0" />
<Rectangle
Fill="Black"
Opacity="0.3"
StrokeThickness="0" />
</Grid>
</StackPanel>
<Grid Grid.Row="1" VerticalAlignment="Bottom">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBox
Name="NoteTextBox"
AcceptsReturn="True"
BorderThickness="0"
FontSize="22"
InputScope="Text"
MinHeight="480"
Padding="10"
TextWrapping="Wrap"
Text="{Binding Path=LocalizedResources.placeholderString, Source={StaticResource LocalizedStrings}}" />
<toolkit:ToggleSwitch
Name="ShowTextToggleSwitch"
Margin="4,0"
Grid.Row="1"
Checked="ShowTextToggleSwitch_Toggle"
Header="{Binding Path=LocalizedResources.isVisibleString, Source={StaticResource LocalizedStrings}}"
Unchecked="ShowTextToggleSwitch_Toggle" />
<Grid Grid.Row="2">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid Background="{StaticResource PhoneAccentBrush}">
<TextBlock
Margin="0,20"
FontSize="22"
FontWeight="Light"
Foreground="White"
HorizontalAlignment="Center"
Text="{Binding Path=LocalizedResources.addToLSString, Source={StaticResource LocalizedStrings}}"
VerticalAlignment="Center" />
<Rectangle
Fill="Black"
StrokeThickness="0"
Opacity="0"
Name="AddToLockScreenRectangle"
ManipulationCompleted="AddToLockScreenRectangle_ManipulationCompleted"
ManipulationStarted="AddToLockScreenRectangle_ManipulationStarted" />
</Grid>
</Grid>
</Grid>
<Rectangle
Grid.Row="2"
Fill="{StaticResource PhoneAccentBrush}"
StrokeThickness="0" />
<Rectangle
Fill="Black"
Grid.Row="3"
StrokeThickness="0"
Opacity="0.3" />
<Grid Grid.Row="2" Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock
Text="{Binding Path=LocalizedResources.helpTitleString, Source={StaticResource LocalizedStrings}}"
Margin="0,20"
FontSize="22"
FontWeight="Light"
Foreground="White"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
<Rectangle
Name="HelpRectangle"
Fill="Black"
ManipulationCompleted="HelpRectangle_ManipulationCompleted"
ManipulationStarted="HelpRectangle_ManipulationStarted"
Opacity="0"
StrokeThickness="0" />
<TextBlock
Grid.Column="1"
Margin="0,20"
FontSize="22"
FontWeight="Light"
Foreground="White"
HorizontalAlignment="Center"
Text="{Binding Path=LocalizedResources.aboutString, Source={StaticResource LocalizedStrings}}"
VerticalAlignment="Center" />
<Rectangle
Name="AboutRectangle"
Grid.Column="1"
Fill="Black"
ManipulationCompleted="AboutRectangle_ManipulationCompleted"
ManipulationStarted="AboutRectangle_ManipulationStarted"
Opacity="0"
StrokeThickness="0" />
</Grid>
</Grid>
</phone:PhoneApplicationPage>

View File

@@ -0,0 +1,167 @@
using LockNote.Resources;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Controls.Primitives;
using Microsoft.Phone.Shell;
using System;
using System.IO.IsolatedStorage;
using System.Linq;
using System.Windows;
using System.Windows.Navigation;
namespace LockNote
{
public partial class MainPage : PhoneApplicationPage
{
IsolatedStorageSettings settings;
const double IDLE_OPACITY = 0;
const double ACTIVE_OPACITY = 0.3;
public MainPage()
{
InitializeComponent();
settings = IsolatedStorageSettings.ApplicationSettings;
}
private void AboutRectangle_ManipulationCompleted(object sender, System.Windows.Input.ManipulationCompletedEventArgs e)
{
AboutRectangle.Opacity = IDLE_OPACITY;
NavigationService.Navigate(new Uri("/Views/AboutPage.xaml", UriKind.Relative));
}
private void AboutRectangle_ManipulationStarted(object sender, System.Windows.Input.ManipulationStartedEventArgs e) => AboutRectangle.Opacity = ACTIVE_OPACITY;
private void AskForTutorial()
{
MessageBoxResult result = MessageBox.Show(
AppResources.firstStartContentString,
AppResources.firstStartTitleString,
MessageBoxButton.OKCancel
);
if (result == MessageBoxResult.OK)
NavigationService.Navigate(new Uri("/Views/HelpPage.xaml", UriKind.Relative));
settings["firstStart"] = false;
}
private void SetActivated(bool activated)
{
ShowTextToggleSwitch.IsChecked = activated;
NoteTextBox.IsEnabled = activated;
AddToLockScreenRectangle.IsHitTestVisible = activated;
settings["showText"] = activated;
RefreshLockscreen(NoteTextBox.Text, activated);
}
private void AddToLockScreenRectangle_ManipulationCompleted(object sender, System.Windows.Input.ManipulationCompletedEventArgs e)
{
AddToLockScreenRectangle.Opacity = IDLE_OPACITY;
RefreshLockscreen(NoteTextBox.Text, true);
MessageBox.Show(AppResources.addedMsgString, AppResources.addedMsgTitleString, MessageBoxButton.OK);
}
private void AddToLockScreenRectangle_ManipulationStarted(object sender, System.Windows.Input.ManipulationStartedEventArgs e) => AddToLockScreenRectangle.Opacity = ACTIVE_OPACITY;
private void HandleVoiceCommands()
{
if (NavigationContext.QueryString.ContainsKey("cmd"))
{
string command = NavigationContext.QueryString["cmd"];
switch (command)
{
case "off":
SetActivated(false);
MessageBox.Show(
AppResources.offMsgContentString,
AppResources.offMsgTitleString,
MessageBoxButton.OK
);
NavigationContext.QueryString.Clear();
break;
case "on":
SetActivated(true);
MessageBox.Show(
AppResources.onMsgContentString,
AppResources.onMsgTitleString,
MessageBoxButton.OK
);
NavigationContext.QueryString.Clear();
break;
default:
break;
}
}
if (NavigationContext.QueryString.ContainsKey("apicontent"))
{
string content = NavigationContext.QueryString["apicontent"];
MessageBoxResult result = MessageBox.Show(
string.Format(AppResources.apiContentString1 + " \"" + content + "\" " + AppResources.apiContentString2, content),
AppResources.apiTitleString,
MessageBoxButton.OKCancel
);
if (result == MessageBoxResult.OK)
{
SetActivated(true);
RefreshLockscreen(content, true);
MessageBox.Show(
AppResources.addedMsgString,
AppResources.addedMsgTitleString,
MessageBoxButton.OK
);
NavigationContext.QueryString.Clear();
}
}
}
private void HelpRectangle_ManipulationCompleted(object sender, System.Windows.Input.ManipulationCompletedEventArgs e)
{
HelpRectangle.Opacity = IDLE_OPACITY;
NavigationService.Navigate(new Uri("/Views/HelpPage.xaml", UriKind.Relative));
}
private void HelpRectangle_ManipulationStarted(object sender, System.Windows.Input.ManipulationStartedEventArgs e) => HelpRectangle.Opacity = ACTIVE_OPACITY;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (!settings.Contains("firstStart"))
AskForTutorial();
if (settings.Contains("note"))
NoteTextBox.Text = (string)settings["note"];
if (settings.Contains("showText"))
ShowTextToggleSwitch.IsChecked = (bool)settings["showText"];
else
{
settings.Add("showText", true);
ShowTextToggleSwitch.IsChecked = true;
}
NoteTextBox.IsEnabled = (bool)ShowTextToggleSwitch.IsChecked;
HandleVoiceCommands();
}
private void RefreshLockscreen(string text, bool refreshSettings)
{
ShellTile.ActiveTiles.First().Update(
new FlipTileData()
{
WideBackContent = text,
BackContent = text
});
if (refreshSettings)
settings["note"] = text;
NoteTextBox.Text = text.Length > 0 ? text : AppResources.placeholderString;
}
private void ShowTextToggleSwitch_Toggle(object sender, RoutedEventArgs e) => SetActivated(((ToggleSwitchButton)e.OriginalSource).IsChecked.GetValueOrDefault());
}
}

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.0">
<CommandSet xml:lang="de">
<CommandPrefix>LockNote</CommandPrefix>
<Example>LockNote deaktivieren</Example>
<Command Name="deaktivieren">
<Example>deaktivieren</Example>
<ListenFor>deaktivieren</ListenFor>
<ListenFor>ausschalten</ListenFor>
<Feedback>LockNote wird deaktiviert...</Feedback>
<Navigate Target="MainPage.xaml?cmd=off"/>
</Command>
<Command Name="aktivieren">
<Example>aktivieren</Example>
<ListenFor>aktivieren</ListenFor>
<ListenFor>einschalten</ListenFor>
<Feedback>LockNote wird aktiviert...</Feedback>
<Navigate Target="MainPage.xaml?cmd=on"/>
</Command>
</CommandSet>
<CommandSet xml:lang="en">
<CommandPrefix>LockNote</CommandPrefix>
<Example>LockNote off</Example>
<Command Name="off">
<Example>off</Example>
<ListenFor>off</ListenFor>
<Feedback>Deactivating LockNote...</Feedback>
<Navigate Target="MainPage.xaml?cmd=off"/>
</Command>
<Command Name="on">
<Example>on</Example>
<ListenFor>on</ListenFor>
<Feedback>Activating LockNote...</Feedback>
<Navigate Target="MainPage.xaml?cmd=on"/>
</Command>
</CommandSet>
</VoiceCommands>

4
LockNote/packages.config Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="WPtoolkit" version="4.2013.08.16" targetFramework="wp80" />
</packages>

35
README.md Normal file
View File

@@ -0,0 +1,35 @@
# LockNote
> _Your text on your lock screen._
This repository contains the __LockNote__ app for Windows Phone 8.1 released
in 2014. With LockNote, you can set a custom text as "detailed status" for your
lock screen.
## Screenshots of last published version (1.2)
![Old store promo art](.img/promo_art_old.jpg)
## Screenshots of final version (1.3)
![New store promo art](.img/promo_art_new.jpg)
I wrote the original code when I was around 16 years old. This repository
contains code that has been largely refactored and will be further polished
in the future.
## Development
### Requirements
- Visual Studio 2015 (Community Edition works fine)
- Windows Phone 8.1 SDK
- Windows Phone 8.1 Update 1 (GDR1) Emulators (optional) or an actual phone
If you want to use a real phone for development, make sure it's either
registered as a developer device (which you cannot do anymore) or its
bootloader is unlocked and XAP sideloading was activated using Xapload
Unlocker.
To deploy XAPs, use the _Windows Phone Application Deployment_ Tool bundled
with the Windows Phone 8.1 SDK.