From 2b00694b502811d4e978cf48bbcb38654f8889d5 Mon Sep 17 00:00:00 2001 From: Michele Lunardi Date: Wed, 10 Mar 2021 10:35:58 +0100 Subject: [PATCH 1/2] Added 1 year SyncTimeFrame support --- .../Features/SyncState/SyncStateDialog.Designer.cs | 3 ++- .../Features/SyncState/SyncStateDialog.resx | 3 +++ .../Properties/Resources.Designer.cs | 13 ++++++++++++- .../AcaciaZPushPlugin/Properties/Resources.resx | 3 +++ .../AcaciaZPushPlugin/ZPush/ZPushTypes.cs | 3 ++- 5 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.Designer.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.Designer.cs index ea558fa..94f2128 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.Designer.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.Designer.cs @@ -155,7 +155,8 @@ resources.GetString("comboTimeFrame.Items4"), resources.GetString("comboTimeFrame.Items5"), resources.GetString("comboTimeFrame.Items6"), - resources.GetString("comboTimeFrame.Items7")}); + resources.GetString("comboTimeFrame.Items7"), + resources.GetString("comboTimeFrame.Items8")}); this.comboTimeFrame.Name = "comboTimeFrame"; this.comboTimeFrame.SelectedIndexChanged += new System.EventHandler(this.comboTimeFrame_SelectedIndexChanged); // diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.resx b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.resx index d3b1824..ce5dc53 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.resx +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.resx @@ -444,6 +444,9 @@ 6 months + + 1 year + 4, 5 diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Properties/Resources.Designer.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Properties/Resources.Designer.cs index 6f2014a..a0200be 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Properties/Resources.Designer.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Properties/Resources.Designer.cs @@ -1438,7 +1438,18 @@ namespace Acacia.Properties { return ResourceManager.GetString("SyncTimeFrame_WEEK_2", resourceCulture); } } - + + /// + /// Looks up a localized string similar to 1 year. + /// + internal static string SyncTimeFrame_YEAR_1 + { + get + { + return ResourceManager.GetString("SyncTimeFrame_YEAR_1", resourceCulture); + } + } + /// /// Looks up a localized string similar to Kopano. /// diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Properties/Resources.resx b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Properties/Resources.resx index f026e3e..07f8f4e 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Properties/Resources.resx +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Properties/Resources.resx @@ -578,6 +578,9 @@ New sync window: {1} 6 months + + 1 year + 1 week diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushTypes.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushTypes.cs index 9e9de9e..06947c5 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushTypes.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushTypes.cs @@ -161,7 +161,8 @@ namespace Acacia.ZPush WEEK_2, MONTH_1, MONTH_3, - MONTH_6 + MONTH_6, + YEAR_1 } public static class SyncTimeFrameMethods From c328404e43a452673f22045c781a363929284def Mon Sep 17 00:00:00 2001 From: Michele Lunardi Date: Wed, 17 Mar 2021 11:33:57 +0100 Subject: [PATCH 2/2] Changed SyncTimeFrame.YEAR_1 to value 101 to avoid SYNC_FILTERTYPE_INCOMPLETETASKS value of 8 --- .../SyncState/SyncStateDialog.Designer.cs | 2 +- .../Features/SyncState/SyncStateDialog.cs | 33 ++++++++++++++++--- .../Features/SyncState/SyncStateDialog.resx | 2 +- .../AcaciaZPushPlugin/ZPush/ZPushTypes.cs | 2 +- 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.Designer.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.Designer.cs index 94f2128..ead5216 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.Designer.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.Designer.cs @@ -156,7 +156,7 @@ resources.GetString("comboTimeFrame.Items5"), resources.GetString("comboTimeFrame.Items6"), resources.GetString("comboTimeFrame.Items7"), - resources.GetString("comboTimeFrame.Items8")}); + resources.GetString("comboTimeFrame.Items101")}); // custom time frame value this.comboTimeFrame.Name = "comboTimeFrame"; this.comboTimeFrame.SelectedIndexChanged += new System.EventHandler(this.comboTimeFrame_SelectedIndexChanged); // diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.cs index bccaa5e..a6bf911 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.cs @@ -36,6 +36,8 @@ namespace Acacia.Features.SyncState private readonly Button[] _syncButtons; + private readonly System.ComponentModel.ComponentResourceManager resources; + private ZPushAccount SelectedAccount { get @@ -48,6 +50,9 @@ namespace Acacia.Features.SyncState { InitializeComponent(); + // Used for handling custom time frame values. + resources = new System.ComponentModel.ComponentResourceManager(typeof(SyncStateDialog)); + // Ensure these are in sync with ResyncOption _syncButtons = new Button[] { @@ -81,6 +86,9 @@ namespace Acacia.Features.SyncState if (SelectedAccount == null) comboTimeFrame.SelectedIndex = 0; + // Custom values handling. Custom values will be appended into comboTimeFrame after the last standard value (7) + else if (SelectedAccount.SyncTimeFrame == (SyncTimeFrame)(int)SyncTimeFrame.YEAR_1) // 1 year + comboTimeFrame.SelectedIndex = comboTimeFrame.Items.IndexOf(resources.GetString("comboTimeFrame.Items101")); else comboTimeFrame.SelectedIndex = (int)SelectedAccount.SyncTimeFrame; @@ -97,8 +105,17 @@ namespace Acacia.Features.SyncState if (SelectedAccount != null) { SyncTimeFrame timeFrame = (SyncTimeFrame)comboTimeFrame.SelectedIndex; - bool isDirty = timeFrame != SelectedAccount.SyncTimeFrame; - buttonApplyTimeFrame.Enabled = buttonResetTimeFrame.Enabled = isDirty; + // Handle custom values + if ((int)timeFrame == comboTimeFrame.Items.IndexOf(resources.GetString("comboTimeFrame.Items101"))) + { + bool isDirty = SelectedAccount.SyncTimeFrame != (SyncTimeFrame)(int)SyncTimeFrame.YEAR_1; + buttonApplyTimeFrame.Enabled = buttonResetTimeFrame.Enabled = isDirty; + } + else + { + bool isDirty = timeFrame != SelectedAccount.SyncTimeFrame; + buttonApplyTimeFrame.Enabled = buttonResetTimeFrame.Enabled = isDirty; + } } else { @@ -118,8 +135,16 @@ namespace Acacia.Features.SyncState { Busy = true; - // TODO: do this in the background - _feature.SetDeviceOptions(SelectedAccount, (SyncTimeFrame)comboTimeFrame.SelectedIndex); + // Custom values handling. Custom values will be appended into comboTimeFrame after the last standard value (7) + if (comboTimeFrame.SelectedItem.Equals(resources.GetString("comboTimeFrame.Items101"))) + { + _feature.SetDeviceOptions(SelectedAccount, (SyncTimeFrame)(int)SyncTimeFrame.YEAR_1); + } + else + { + // TODO: do this in the background + _feature.SetDeviceOptions(SelectedAccount, (SyncTimeFrame)comboTimeFrame.SelectedIndex); + } CheckTimeFrameDirty(); } } diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.resx b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.resx index ce5dc53..c7427bd 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.resx +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.resx @@ -444,7 +444,7 @@ 6 months - + 1 year diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushTypes.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushTypes.cs index 06947c5..8306e65 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushTypes.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushTypes.cs @@ -162,7 +162,7 @@ namespace Acacia.ZPush MONTH_1, MONTH_3, MONTH_6, - YEAR_1 + YEAR_1 = 101 // Custom value } public static class SyncTimeFrameMethods