Skip to content

Commit 543702e

Browse files
committed
add undock delay option;
change dock and undock mechanism; defaults to 64bit build; refactor code; some changes made by vs; bump version;
1 parent 0c13e9f commit 543702e

16 files changed

Lines changed: 251 additions & 218 deletions

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ bld/
2222
[Bb]in/*
2323
[Bb]in/[Rr]elease/*
2424
[Oo]bj/
25-
!bin/Release/DesktopNote.exe
2625

2726
# Visual Studio 2015 cache/options directory
2827
.vs/

App.config

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,14 @@
1010
</startup>
1111
<userSettings>
1212
<DesktopNote.Properties.Settings>
13+
<setting name="UpgradeFlag" serializeAs="String">
14+
<value>True</value>
15+
</setting>
1316
<setting name="NoteList" serializeAs="Xml">
1417
<value>
15-
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
16-
xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
18+
<ArrayOfString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
1719
</value>
1820
</setting>
19-
<setting name="UpgradeFlag" serializeAs="String">
20-
<value>True</value>
21-
</setting>
2221
</DesktopNote.Properties.Settings>
2322
</userSettings>
2423
</configuration>

App.xaml.cs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@
88
using System.Web.Script.Serialization;
99
using System.Net;
1010
using System.Diagnostics;
11+
using System.Reflection;
1112

1213
namespace DesktopNote
1314
{
1415
public partial class App : Application
1516
{
1617
public static readonly string AppRootDir = AppDomain.CurrentDomain.BaseDirectory;
18+
public static Assembly Assembly => Assembly.GetExecutingAssembly();
1719
public static List<MainWindow> MainWindows = new List<MainWindow>();
1820
public static ResourceDictionary Res;
1921
public static Win_Format FormatWindow;
@@ -38,15 +40,15 @@ private void RunCheck(object sender1, StartupEventArgs e1)
3840
}
3941

4042
AppDomain.CurrentDomain.AssemblyResolve += (object sender, ResolveEventArgs e) => {
41-
var desiredAssembly = new System.Reflection.AssemblyName(e.Name).Name;
43+
var desiredAssembly = new AssemblyName(e.Name).Name;
4244
switch (desiredAssembly) {
4345
case "Xceed.Wpf.Toolkit":
4446
case "Hardcodet.Wpf.TaskbarNotification":
4547
var ressourceName = "DesktopNote.Resources." + desiredAssembly + ".dll";
46-
using (var stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(ressourceName)) {
48+
using (var stream = Assembly.GetManifestResourceStream(ressourceName)) {
4749
byte[] assemblyData = new byte[stream.Length];
4850
stream.Read(assemblyData, 0, assemblyData.Length);
49-
return System.Reflection.Assembly.Load(assemblyData);
51+
return Assembly.Load(assemblyData);
5052
}
5153
default:
5254
return null;
@@ -57,9 +59,8 @@ private void RunCheck(object sender1, StartupEventArgs e1)
5759
var lang = System.Threading.Thread.CurrentThread.CurrentCulture.Name.Substring(0, 2);
5860
//check if stringresources.lang exist
5961
bool langadded = false;
60-
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
61-
var resourceName = assembly.GetName().Name + ".g";
62-
var resourceManager = new System.Resources.ResourceManager(resourceName, assembly);
62+
var resourceName = Assembly.GetName().Name + ".g";
63+
var resourceManager = new System.Resources.ResourceManager(resourceName, Assembly);
6364
try {
6465
var resourceSet = resourceManager.GetResourceSet(System.Threading.Thread.CurrentThread.CurrentCulture, true, true);
6566
foreach (System.Collections.DictionaryEntry resource in resourceSet) {
@@ -82,7 +83,7 @@ private void RunCheck(object sender1, StartupEventArgs e1)
8283

8384
// check for updates
8485
Task.Run(() => {
85-
var localVer = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
86+
var localVer = Assembly.GetName().Version;
8687
var req = WebRequest.CreateHttp($@"https://api.github.com/repos/changbowen/{nameof(DesktopNote)}/releases/latest");
8788
req.ContentType = @"application/json; charset=utf-8";
8889
req.UserAgent = nameof(DesktopNote); // needed otherwise 403
@@ -93,7 +94,7 @@ private void RunCheck(object sender1, StartupEventArgs e1)
9394
var dict = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(reader.ReadToEnd());
9495
if (!dict.TryGetValue("tag_name", out var tagName)) return;
9596
var remoteVer = Version.Parse(((string)tagName).TrimStart('v'));
96-
if (localVer < remoteVer && MessageBox.Show(string.Format((string)App.Res["msgbox_new_version_avail"],
97+
if (localVer < remoteVer && MessageBox.Show(string.Format((string)Res["msgbox_new_version_avail"],
9798
localVer, remoteVer), string.Empty, MessageBoxButton.OKCancel, MessageBoxImage.Information) == MessageBoxResult.OK) {
9899
Process.Start(@"explorer", $@"https://github.com/changbowen/{nameof(DesktopNote)}/releases");
99100
}
@@ -120,7 +121,7 @@ public async static void Quit()
120121
{
121122
//update notelist
122123
Setting.NoteList.Clear();
123-
Setting.NoteList.AddRange(App.MainWindows.Select(w => w.CurrentSetting.Doc_Location).ToArray());
124+
Setting.NoteList.AddRange(MainWindows.Select(w => w.CurrentSetting.Doc_Location).ToArray());
124125
Setting.Save();
125126

126127
foreach (var win in MainWindows.ToArray()) {

DesktopNote.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
<DefineConstants>DEBUG;TRACE</DefineConstants>
4141
<ErrorReport>prompt</ErrorReport>
4242
<WarningLevel>4</WarningLevel>
43+
<Prefer32Bit>false</Prefer32Bit>
4344
</PropertyGroup>
4445
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
4546
<PlatformTarget>AnyCPU</PlatformTarget>

Helpers.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,11 @@
1414

1515
namespace DesktopNote
1616
{
17-
internal static class Helpers
17+
public static class Helpers
1818
{
19+
public enum DockStatus { None, Docking, Left, Right, Top, Bottom }
20+
public static bool Docked(this DockStatus status) => (int)status > 1;
21+
1922
internal static string OpenFileDialog(Window owner, bool save, string path = null, string filter = null)
2023
{
2124
if (owner == null || PresentationSource.FromVisual(owner) == null)

0 commit comments

Comments
 (0)