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.Items5"),
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.SelectedIndexChanged += new System.EventHandler(this.comboTimeFrame_SelectedIndexChanged);
//

View File

@ -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();
}
}

View File

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

View File

@ -1438,7 +1438,18 @@ namespace Acacia.Properties {
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>
/// Looks up a localized string similar to Kopano.
/// </summary>

View File

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

View File

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