Pull request #2: Added 1 year SyncTimeFrame support

Merge in KOE/kopano_ol_extension_source from ~MICHELE.LUNARDI/kopano_ol_extension_source:1year_SyncTimeFrame to master

* commit 'c328404e43a452673f22045c781a363929284def':
  Changed SyncTimeFrame.YEAR_1 to value 101 to avoid SYNC_FILTERTYPE_INCOMPLETETASKS value of 8
  Added 1 year SyncTimeFrame support
This commit is contained in:
Bob Huisman 2021-04-20 13:16:02 +02:00
commit 18a3333ede
6 changed files with 51 additions and 7 deletions

View File

@ -155,7 +155,8 @@
resources.GetString("comboTimeFrame.Items4"), resources.GetString("comboTimeFrame.Items4"),
resources.GetString("comboTimeFrame.Items5"), resources.GetString("comboTimeFrame.Items5"),
resources.GetString("comboTimeFrame.Items6"), resources.GetString("comboTimeFrame.Items6"),
resources.GetString("comboTimeFrame.Items7")}); resources.GetString("comboTimeFrame.Items7"),
resources.GetString("comboTimeFrame.Items101")}); // custom time frame value
this.comboTimeFrame.Name = "comboTimeFrame"; this.comboTimeFrame.Name = "comboTimeFrame";
this.comboTimeFrame.SelectedIndexChanged += new System.EventHandler(this.comboTimeFrame_SelectedIndexChanged); this.comboTimeFrame.SelectedIndexChanged += new System.EventHandler(this.comboTimeFrame_SelectedIndexChanged);
// //

View File

@ -36,6 +36,8 @@ namespace Acacia.Features.SyncState
private readonly Button[] _syncButtons; private readonly Button[] _syncButtons;
private readonly System.ComponentModel.ComponentResourceManager resources;
private ZPushAccount SelectedAccount private ZPushAccount SelectedAccount
{ {
get get
@ -48,6 +50,9 @@ namespace Acacia.Features.SyncState
{ {
InitializeComponent(); InitializeComponent();
// Used for handling custom time frame values.
resources = new System.ComponentModel.ComponentResourceManager(typeof(SyncStateDialog));
// Ensure these are in sync with ResyncOption // Ensure these are in sync with ResyncOption
_syncButtons = new Button[] _syncButtons = new Button[]
{ {
@ -81,6 +86,9 @@ namespace Acacia.Features.SyncState
if (SelectedAccount == null) if (SelectedAccount == null)
comboTimeFrame.SelectedIndex = 0; 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 else
comboTimeFrame.SelectedIndex = (int)SelectedAccount.SyncTimeFrame; comboTimeFrame.SelectedIndex = (int)SelectedAccount.SyncTimeFrame;
@ -97,8 +105,17 @@ namespace Acacia.Features.SyncState
if (SelectedAccount != null) if (SelectedAccount != null)
{ {
SyncTimeFrame timeFrame = (SyncTimeFrame)comboTimeFrame.SelectedIndex; SyncTimeFrame timeFrame = (SyncTimeFrame)comboTimeFrame.SelectedIndex;
bool isDirty = timeFrame != SelectedAccount.SyncTimeFrame; // Handle custom values
buttonApplyTimeFrame.Enabled = buttonResetTimeFrame.Enabled = isDirty; 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 else
{ {
@ -118,8 +135,16 @@ namespace Acacia.Features.SyncState
{ {
Busy = true; Busy = true;
// TODO: do this in the background // Custom values handling. Custom values will be appended into comboTimeFrame after the last standard value (7)
_feature.SetDeviceOptions(SelectedAccount, (SyncTimeFrame)comboTimeFrame.SelectedIndex); 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(); CheckTimeFrameDirty();
} }
} }

View File

@ -444,6 +444,9 @@
<data name="comboTimeFrame.Items7" xml:space="preserve"> <data name="comboTimeFrame.Items7" xml:space="preserve">
<value>6 months</value> <value>6 months</value>
</data> </data>
<data name="comboTimeFrame.Items101" xml:space="preserve">
<value>1 year</value>
</data>
<data name="comboTimeFrame.Location" type="System.Drawing.Point, System.Drawing"> <data name="comboTimeFrame.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 5</value> <value>4, 5</value>
</data> </data>

View File

@ -1438,7 +1438,18 @@ namespace Acacia.Properties {
return ResourceManager.GetString("SyncTimeFrame_WEEK_2", resourceCulture); return ResourceManager.GetString("SyncTimeFrame_WEEK_2", resourceCulture);
} }
} }
/// <summary>
/// Looks up a localized string similar to 1 year.
/// </summary>
internal static string SyncTimeFrame_YEAR_1
{
get
{
return ResourceManager.GetString("SyncTimeFrame_YEAR_1", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Kopano. /// Looks up a localized string similar to Kopano.
/// </summary> /// </summary>

View File

@ -578,6 +578,9 @@ New sync window: {1}</value>
<data name="SyncTimeFrame_MONTH_6" xml:space="preserve"> <data name="SyncTimeFrame_MONTH_6" xml:space="preserve">
<value>6 months</value> <value>6 months</value>
</data> </data>
<data name="SyncTimeFrame_YEAR_1" xml:space="preserve">
<value>1 year</value>
</data>
<data name="SyncTimeFrame_WEEK_1" xml:space="preserve"> <data name="SyncTimeFrame_WEEK_1" xml:space="preserve">
<value>1 week</value> <value>1 week</value>
</data> </data>

View File

@ -161,7 +161,8 @@ namespace Acacia.ZPush
WEEK_2, WEEK_2,
MONTH_1, MONTH_1,
MONTH_3, MONTH_3,
MONTH_6 MONTH_6,
YEAR_1 = 101 // Custom value
} }
public static class SyncTimeFrameMethods public static class SyncTimeFrameMethods