1
0
mirror of https://github.com/Kopano-dev/kopano-ol-extension.git synced 2023-10-10 13:37:40 +02:00

[KOE-166] Added support for reminders query on impersonated stores.

[KOE-170] No longer checking impersonated stores for shared folders, as they can never exist
This commit is contained in:
Patrick Simpson 2018-07-04 12:55:34 +03:00
parent 2398b78657
commit 593118f552
10 changed files with 527 additions and 167 deletions

View File

@ -234,7 +234,6 @@ namespace Acacia
return result; return result;
} }
} }
} }
// General // General

View File

@ -171,20 +171,28 @@ namespace Acacia.Features.SharedFolders
{ {
Logger.Instance.Debug(this, "Starting sync for account {0}", account); Logger.Instance.Debug(this, "Starting sync for account {0}", account);
// Fetch the current shares if (account.IsShare)
ICollection<SharedFolder> shares = manager.GetCurrentShares(null); {
Logger.Instance.Trace(this, "AdditionalFolders_Sync: {0}", shares.Count); Logger.Instance.Debug(this, "Account {0} is a share", account);
manager.UpdateSharedStore();
}
else
{
// Fetch the current shares
ICollection<SharedFolder> shares = manager.GetCurrentShares(null);
Logger.Instance.Trace(this, "AdditionalFolders_Sync: {0}", shares.Count);
// Convert to dictionary // Convert to dictionary
Dictionary<SyncId, SharedFolder> dict = shares.ToDictionary(x => x.SyncId); Dictionary<SyncId, SharedFolder> dict = shares.ToDictionary(x => x.SyncId);
Logger.Instance.Trace(this, "AdditionalFolders_Sync2: {0}", shares.Count); Logger.Instance.Trace(this, "AdditionalFolders_Sync2: {0}", shares.Count);
// Store any send-as properties // Store any send-as properties
FeatureSendAs sendAs = ThisAddIn.Instance.GetFeature<FeatureSendAs>(); FeatureSendAs sendAs = ThisAddIn.Instance.GetFeature<FeatureSendAs>();
sendAs?.UpdateSendAsAddresses(account, shares); sendAs?.UpdateSendAsAddresses(account, shares);
// Store with the account // Store with the account
account.SetFeatureData(this, KEY_SHARES, dict); account.SetFeatureData(this, KEY_SHARES, dict);
}
} }
} }

View File

@ -10,16 +10,14 @@ using System.Threading.Tasks;
namespace Acacia.Features.SharedFolders namespace Acacia.Features.SharedFolders
{ {
public class RemindersQuery : DisposableWrapper, LogContext public abstract class RemindersQuery : DisposableWrapper, LogContext
{ {
private static readonly SearchQuery.PropertyIdentifier PROP_FOLDER = new SearchQuery.PropertyIdentifier(PropTag.FromInt(0x6B20001F)); protected static readonly SearchQuery.PropertyIdentifier PROP_FOLDER = new SearchQuery.PropertyIdentifier(PropTag.FromInt(0x6B20001F));
private readonly FeatureSharedFolders _feature; private readonly FeatureSharedFolders _feature;
private readonly IFolder _folder; private readonly IFolder _folder;
private SearchQuery _queryRoot; protected SearchQuery _queryRoot;
private SearchQuery.Or _queryCustomShared; protected bool _queryCustomModified;
private SearchQuery.Or _queryCustomConfigured;
private bool _queryCustomModified;
public RemindersQuery(FeatureSharedFolders feature, IStore store) public RemindersQuery(FeatureSharedFolders feature, IStore store)
{ {
@ -27,10 +25,68 @@ namespace Acacia.Features.SharedFolders
this._folder = store.GetSpecialFolder(SpecialFolder.Reminders); this._folder = store.GetSpecialFolder(SpecialFolder.Reminders);
} }
public bool Open() abstract public bool Open();
public string LogContextId
{
get
{
return _feature.LogContextId;
}
}
protected override void DoRelease()
{
_folder.Dispose();
}
public void Commit()
{
if (_queryCustomModified)
{
FolderQuery = _queryRoot;
_queryCustomModified = false;
}
}
protected SearchQuery FolderQuery
{
get
{
return _folder.SearchCriteria;
}
set
{
if (!_feature.RemindersKeepRunning)
_folder.SearchRunning = false;
_folder.SearchCriteria = value;
if (!_feature.RemindersKeepRunning)
_folder.SearchRunning = true;
}
}
}
public class RemindersQueryFolders : RemindersQuery
{
// Custom query for shared (S) and configured (C) folders
private SearchQuery.Or _queryCustomShared;
private SearchQuery.Or _queryCustomConfigured;
public RemindersQueryFolders(FeatureSharedFolders feature, IStore store)
:
base(feature, store)
{
}
override public bool Open()
{ {
if (_queryCustomShared != null && _queryCustomConfigured != null) if (_queryCustomShared != null && _queryCustomConfigured != null)
return true; return true;
try try
{ {
_queryRoot = FolderQuery; _queryRoot = FolderQuery;
@ -80,6 +136,7 @@ namespace Acacia.Features.SharedFolders
return _queryCustomShared != null && _queryCustomConfigured != null; return _queryCustomShared != null && _queryCustomConfigured != null;
} }
private SearchQuery.Or AddCustomQuery(SearchQuery.And root, string prefix) private SearchQuery.Or AddCustomQuery(SearchQuery.And root, string prefix)
{ {
SearchQuery.Or custom = new SearchQuery.Or(); SearchQuery.Or custom = new SearchQuery.Or();
@ -96,51 +153,10 @@ namespace Acacia.Features.SharedFolders
root.Operands.Add(custom); root.Operands.Add(custom);
return custom; return custom;
} }
public string LogContextId
{
get
{
return _feature.LogContextId;
}
}
protected override void DoRelease()
{
_folder.Dispose();
}
public void Commit()
{
if (_queryCustomModified)
{
FolderQuery = _queryRoot;
_queryCustomModified = false;
}
}
private SearchQuery FolderQuery
{
get
{
return _folder.SearchCriteria;
}
set
{
if (!_feature.RemindersKeepRunning)
_folder.SearchRunning = false;
_folder.SearchCriteria = value;
if (!_feature.RemindersKeepRunning)
_folder.SearchRunning = true;
}
}
public void UpdateReminders(SyncId folderId, bool wantReminders) public void UpdateReminders(SyncId folderId, bool wantReminders)
{ {
Logger.Instance.Trace(this, "Setting reminders for folder {0}: {1} ({2})", wantReminders, folderId, folderId?.Kind); Logger.Instance.Trace(this, "Setting reminders for folder {0}: {1} ({2})", wantReminders, folderId, folderId?.Kind);
switch(folderId.Kind) switch (folderId.Kind)
{ {
case SyncKind.Configured: case SyncKind.Configured:
UpdateReminders(_queryCustomConfigured, folderId, wantReminders); UpdateReminders(_queryCustomConfigured, folderId, wantReminders);
@ -244,5 +260,84 @@ namespace Acacia.Features.SharedFolders
return null; return null;
return folderId.ToString() + ":"; return folderId.ToString() + ":";
} }
}
public class RemindersQueryStore : RemindersQuery
{
private SearchQuery.Not _queryCustomShared;
public RemindersQueryStore(FeatureSharedFolders feature, IStore store) : base(feature, store)
{
}
public override bool Open()
{
if (_queryCustomShared != null)
return true;
try
{
_queryRoot = FolderQuery;
if (!(_queryRoot is SearchQuery.And))
return false;
Logger.Instance.Debug(this, "Current query:\n{0}", _queryRoot.ToString());
SearchQuery.And root = (SearchQuery.And)_queryRoot;
// TODO: more strict checking of query
// Remove old shared folders query if present
if ((root.Operands.Count == 3 || root.Operands.Count == 5) && root.Operands.ElementAt(2) is SearchQuery.Or)
{
while (root.Operands.Count > 2)
{
root.Operands.RemoveAt(2);
}
}
if (root.Operands.Count == 3)
{
_queryCustomShared = (SearchQuery.Not)root.Operands.ElementAt(2);
}
else
{
SetReminders(false); // Default to false
root.Operands.Add(_queryCustomShared);
}
Logger.Instance.Debug(this, "Modified query:\n{0}", root.ToString());
// Store it
FolderQuery = root;
Logger.Instance.Debug(this, "Modified query readback:\n{0}", FolderQuery);
}
catch (Exception e)
{
Logger.Instance.Error(this, "Exception in Open: {0}", e);
}
return _queryCustomShared != null;
}
public void SetReminders(bool showReminders)
{
// We do not have support for constants in queries, so use a prefix match (which will always be I for impersonated stores)
// with an unmatchable prefix instead.
// It's wrapped in a NOT, to allow updating that operand rather than the main query
SearchQuery.PropertyContent filter = new SearchQuery.PropertyContent(
PROP_FOLDER, SearchQuery.ContentMatchOperation.Prefix, SearchQuery.ContentMatchModifiers.None, showReminders ? "X" : "I"
);
// Check current state
if (_queryCustomShared != null)
{
if (((SearchQuery.PropertyContent)_queryCustomShared.Operand).Content.Equals(filter.Content))
return;
}
// Update the filter
if (_queryCustomShared == null)
_queryCustomShared = new SearchQuery.Not(filter);
else
_queryCustomShared.Operand = filter;
_queryCustomModified = true;
}
} }
} }

View File

@ -38,6 +38,8 @@
this.buttonOpenUser = new System.Windows.Forms.Button(); this.buttonOpenUser = new System.Windows.Forms.Button();
this.kTreeFolders = new Acacia.Controls.KTree(); this.kTreeFolders = new Acacia.Controls.KTree();
this._layoutOptions = new System.Windows.Forms.TableLayoutPanel(); this._layoutOptions = new System.Windows.Forms.TableLayoutPanel();
this._labelWholeStoreReminders = new System.Windows.Forms.Label();
this.checkWholeStoreReminders = new System.Windows.Forms.CheckBox();
this._labelWholeStore = new System.Windows.Forms.Label(); this._labelWholeStore = new System.Windows.Forms.Label();
this.checkWholeStore = new System.Windows.Forms.CheckBox(); this.checkWholeStore = new System.Windows.Forms.CheckBox();
this.labelPermissionsValue = new System.Windows.Forms.Label(); this.labelPermissionsValue = new System.Windows.Forms.Label();
@ -137,21 +139,35 @@
// _layoutOptions // _layoutOptions
// //
resources.ApplyResources(this._layoutOptions, "_layoutOptions"); resources.ApplyResources(this._layoutOptions, "_layoutOptions");
this._layoutOptions.Controls.Add(this._labelWholeStoreReminders, 0, 1);
this._layoutOptions.Controls.Add(this.checkWholeStoreReminders, 1, 1);
this._layoutOptions.Controls.Add(this._labelWholeStore, 0, 0); this._layoutOptions.Controls.Add(this._labelWholeStore, 0, 0);
this._layoutOptions.Controls.Add(this.checkWholeStore, 1, 0); this._layoutOptions.Controls.Add(this.checkWholeStore, 1, 0);
this._layoutOptions.Controls.Add(this.labelPermissionsValue, 1, 5); this._layoutOptions.Controls.Add(this.labelPermissionsValue, 1, 6);
this._layoutOptions.Controls.Add(this._labelName, 0, 1); this._layoutOptions.Controls.Add(this._labelName, 0, 2);
this._layoutOptions.Controls.Add(this.textName, 1, 1); this._layoutOptions.Controls.Add(this.textName, 1, 2);
this._layoutOptions.Controls.Add(this._labelSendAs, 0, 2); this._layoutOptions.Controls.Add(this._labelSendAs, 0, 3);
this._layoutOptions.Controls.Add(this.checkSendAs, 1, 2); this._layoutOptions.Controls.Add(this.checkSendAs, 1, 3);
this._layoutOptions.Controls.Add(this._labelSendAsAddress, 0, 3); this._layoutOptions.Controls.Add(this._labelSendAsAddress, 0, 4);
this._layoutOptions.Controls.Add(this.textSendAsAddress, 1, 3); this._layoutOptions.Controls.Add(this.textSendAsAddress, 1, 4);
this._layoutOptions.Controls.Add(this._labelReminders, 0, 4); this._layoutOptions.Controls.Add(this._labelReminders, 0, 5);
this._layoutOptions.Controls.Add(this.checkReminders, 1, 4); this._layoutOptions.Controls.Add(this.checkReminders, 1, 5);
this._layoutOptions.Controls.Add(this._labelPermissions, 0, 5); this._layoutOptions.Controls.Add(this._labelPermissions, 0, 6);
this._layoutOptions.Controls.Add(this._labelRestartRequired, 2, 0); this._layoutOptions.Controls.Add(this._labelRestartRequired, 2, 0);
this._layoutOptions.Name = "_layoutOptions"; this._layoutOptions.Name = "_layoutOptions";
// //
// _labelWholeStoreReminders
//
resources.ApplyResources(this._labelWholeStoreReminders, "_labelWholeStoreReminders");
this._labelWholeStoreReminders.Name = "_labelWholeStoreReminders";
//
// checkWholeStoreReminders
//
resources.ApplyResources(this.checkWholeStoreReminders, "checkWholeStoreReminders");
this.checkWholeStoreReminders.Name = "checkWholeStoreReminders";
this.checkWholeStoreReminders.UseVisualStyleBackColor = true;
this.checkWholeStoreReminders.CheckedChanged += new System.EventHandler(this.checkWholeStoreReminders_CheckedChanged);
//
// _labelWholeStore // _labelWholeStore
// //
resources.ApplyResources(this._labelWholeStore, "_labelWholeStore"); resources.ApplyResources(this._labelWholeStore, "_labelWholeStore");
@ -288,5 +304,7 @@
private System.Windows.Forms.Label _labelRestartRequired; private System.Windows.Forms.Label _labelRestartRequired;
private System.Windows.Forms.Label _labelSendAsAddress; private System.Windows.Forms.Label _labelSendAsAddress;
private System.Windows.Forms.TextBox textSendAsAddress; private System.Windows.Forms.TextBox textSendAsAddress;
private System.Windows.Forms.Label _labelWholeStoreReminders;
private System.Windows.Forms.CheckBox checkWholeStoreReminders;
} }
} }

View File

@ -194,18 +194,18 @@ namespace Acacia.Features.SharedFolders
// Add public folders // Add public folders
Dictionary<BackendId, SharedFolder> publicShares; Dictionary<BackendId, SharedFolder> publicShares;
shares.TryGetValue(GABUser.USER_PUBLIC, out publicShares); shares.TryGetValue(GABUser.USER_PUBLIC, out publicShares);
AddUserFolders(GABUser.USER_PUBLIC, false, publicShares, false); AddUserFolders(GABUser.USER_PUBLIC, null, publicShares, false);
// Add shared stores // Add shared stores
foreach (ZPushAccount shared in _account.SharedAccounts) foreach (ZPushAccount shared in _account.SharedAccounts)
{ {
AddUserFolders(new GABUser(shared.ShareUserName), true, null, false); AddUserFolders(new GABUser(shared.ShareUserName), shared, null, false);
} }
// Add any users for which we have shared folders // Add any users for which we have shared folders
foreach (KeyValuePair<GABUser, Dictionary<BackendId, SharedFolder>> entry in shares.OrderBy(x => x.Key.DisplayName)) foreach (KeyValuePair<GABUser, Dictionary<BackendId, SharedFolder>> entry in shares.OrderBy(x => x.Key.DisplayName))
if (GABUser.USER_PUBLIC != entry.Key) if (GABUser.USER_PUBLIC != entry.Key)
AddUserFolders(entry.Key, false, entry.Value, false); AddUserFolders(entry.Key, null, entry.Value, false);
} }
finally finally
{ {
@ -352,6 +352,8 @@ namespace Acacia.Features.SharedFolders
ctx.AddBusy(-state.folders); ctx.AddBusy(-state.folders);
List<ZPushAccount> syncAdditional = new List<ZPushAccount>();
// Handle stores // Handle stores
if (state.stores.Count > 0) if (state.stores.Count > 0)
{ {
@ -362,7 +364,23 @@ namespace Acacia.Features.SharedFolders
{ {
if (store.WantShare) if (store.WantShare)
{ {
add.Add(store); // Check if it must be added
if (!store.IsShared)
add.Add(store);
// Update reminders for existing stores
if (store.ShowReminders != store.ShowRemindersInitial)
{
ZPushAccount storeAccount = store.WholeStoreAccount;
if (storeAccount != null)
{
storeAccount.ShowReminders = store.ShowReminders;
syncAdditional.Add(storeAccount);
// Update UI state
store.ShowRemindersInitial = store.ShowReminders;
WholeStoreShareChanged(store);
}
}
continue; continue;
} }
else else
@ -406,6 +424,10 @@ namespace Acacia.Features.SharedFolders
CheckDirty(); CheckDirty();
} }
// Sync accounts
foreach (ZPushAccount account in syncAdditional)
_feature.Sync(account);
if (state.folders != 0) if (state.folders != 0)
{ {
// Sync account // Sync account
@ -432,7 +454,7 @@ namespace Acacia.Features.SharedFolders
private void buttonOpenUser_Click(object sender, EventArgs e) private void buttonOpenUser_Click(object sender, EventArgs e)
{ {
AddUserFolders(gabLookup.SelectedUser, false, null, true); AddUserFolders(gabLookup.SelectedUser, null, null, true);
} }
private void gabLookup_SelectedUserChanged(object source, GABLookupControl.SelectedUserEventArgs e) private void gabLookup_SelectedUserChanged(object source, GABLookupControl.SelectedUserEventArgs e)
@ -441,7 +463,7 @@ namespace Acacia.Features.SharedFolders
if (e.IsChosen) if (e.IsChosen)
{ {
AddUserFolders(e.SelectedUser, false, null, true); AddUserFolders(e.SelectedUser, null, null, true);
} }
} }
@ -459,7 +481,7 @@ namespace Acacia.Features.SharedFolders
private readonly Dictionary<GABUser, StoreTreeNode> _userFolders = new Dictionary<GABUser, StoreTreeNode>(); private readonly Dictionary<GABUser, StoreTreeNode> _userFolders = new Dictionary<GABUser, StoreTreeNode>();
private void AddUserFolders(GABUser user, bool wholeStore, Dictionary<BackendId, SharedFolder> currentShares, bool select) private void AddUserFolders(GABUser user, ZPushAccount wholeStore, Dictionary<BackendId, SharedFolder> currentShares, bool select)
{ {
if (user == null) if (user == null)
return; return;
@ -480,7 +502,8 @@ namespace Acacia.Features.SharedFolders
node = new StoreTreeNode(_folders, gabLookup.GAB, node = new StoreTreeNode(_folders, gabLookup.GAB,
user, sendAsAddress, user, sendAsAddress,
user.DisplayName, currentShares ?? new Dictionary<BackendId, SharedFolder>(), user.DisplayName, currentShares ?? new Dictionary<BackendId, SharedFolder>(),
wholeStore); wholeStore != null,
wholeStore?.ShowReminders == true);
node.DirtyChanged += UserSharesChanged; node.DirtyChanged += UserSharesChanged;
node.CheckStateChanged += WholeStoreShareChanged; node.CheckStateChanged += WholeStoreShareChanged;
_userFolders.Add(user, node); _userFolders.Add(user, node);
@ -646,6 +669,22 @@ namespace Acacia.Features.SharedFolders
} }
private readonly List<StoreTreeNode> _optionWholeStoreNodes = new List<StoreTreeNode>(); private readonly List<StoreTreeNode> _optionWholeStoreNodes = new List<StoreTreeNode>();
private readonly List<bool> _optionWholeStoreNodesInitial = new List<bool>(); private readonly List<bool> _optionWholeStoreNodesInitial = new List<bool>();
private CheckState? OptionWholeStoreReminders
{
get
{
if (checkWholeStoreReminders.Visible)
return checkWholeStoreReminders.CheckState;
return null;
}
set
{
_labelWholeStoreReminders.Visible = checkWholeStoreReminders.Visible = value != null;
if (value != null)
checkWholeStoreReminders.CheckState = value.Value;
}
}
private void ShowOptions(KTreeNode[] nodes) private void ShowOptions(KTreeNode[] nodes)
{ {
@ -667,6 +706,7 @@ namespace Acacia.Features.SharedFolders
OptionReminders = null; OptionReminders = null;
OptionPermissions = null; OptionPermissions = null;
OptionWholeStore = null; OptionWholeStore = null;
OptionWholeStoreReminders = null;
bool readOnly = false; bool readOnly = false;
bool haveStoreNodes = false; bool haveStoreNodes = false;
bool haveFolderNodes = false; bool haveFolderNodes = false;
@ -749,7 +789,6 @@ namespace Acacia.Features.SharedFolders
_labelRestartRequired.Visible = isShared && !wasShared; _labelRestartRequired.Visible = isShared && !wasShared;
} }
} }
else else
{ {
@ -846,6 +885,7 @@ namespace Acacia.Features.SharedFolders
private void checkWholeStore_CheckedChanged(object sender, EventArgs e) private void checkWholeStore_CheckedChanged(object sender, EventArgs e)
{ {
CheckState? reminders = null;
for (int i = 0; i < _optionWholeStoreNodes.Count; ++i) for (int i = 0; i < _optionWholeStoreNodes.Count; ++i)
{ {
StoreTreeNode node = _optionWholeStoreNodes[i]; StoreTreeNode node = _optionWholeStoreNodes[i];
@ -857,8 +897,32 @@ namespace Acacia.Features.SharedFolders
case CheckState.Unchecked: wholeStore = false; break; case CheckState.Unchecked: wholeStore = false; break;
} }
if (wholeStore)
{
CheckState remindersCheck = node.ShowReminders? CheckState.Checked: CheckState.Unchecked;
if (reminders == null)
reminders = remindersCheck;
else if (reminders.Value != remindersCheck)
reminders = CheckState.Indeterminate;
}
node.WantShare = wholeStore; node.WantShare = wholeStore;
} }
OptionWholeStoreReminders = reminders;
}
private void checkWholeStoreReminders_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < _optionWholeStoreNodes.Count; ++i)
{
StoreTreeNode node = _optionWholeStoreNodes[i];
switch (checkWholeStoreReminders.CheckState)
{
case CheckState.Checked: node.ShowReminders = true; break;
case CheckState.Indeterminate: node.ShowReminders = node.ShowRemindersInitial; break;
case CheckState.Unchecked: node.ShowReminders = false; break;
}
WholeStoreShareChanged(node);
}
} }
private void checkSendAs_CheckedChanged(object sender, EventArgs e) private void checkSendAs_CheckedChanged(object sender, EventArgs e)

View File

@ -145,10 +145,13 @@
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="labelSelectUser.Location" type="System.Drawing.Point, System.Drawing"> <data name="labelSelectUser.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 0</value> <value>4, 0</value>
</data>
<data name="labelSelectUser.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data> </data>
<data name="labelSelectUser.Size" type="System.Drawing.Size, System.Drawing"> <data name="labelSelectUser.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 29</value> <value>158, 40</value>
</data> </data>
<data name="labelSelectUser.TabIndex" type="System.Int32, mscorlib"> <data name="labelSelectUser.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -175,10 +178,13 @@
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="gabLookup.Location" type="System.Drawing.Point, System.Drawing"> <data name="gabLookup.Location" type="System.Drawing.Point, System.Drawing">
<value>114, 3</value> <value>170, 5</value>
</data>
<data name="gabLookup.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data> </data>
<data name="gabLookup.MinimumSize" type="System.Drawing.Size, System.Drawing"> <data name="gabLookup.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>200, 0</value> <value>300, 0</value>
</data> </data>
<data name="gabLookup.NotFoundText" xml:space="preserve"> <data name="gabLookup.NotFoundText" xml:space="preserve">
<value>The user was not found</value> <value>The user was not found</value>
@ -187,7 +193,7 @@
<value>Start typing name</value> <value>Start typing name</value>
</data> </data>
<data name="gabLookup.Size" type="System.Drawing.Size, System.Drawing"> <data name="gabLookup.Size" type="System.Drawing.Size, System.Drawing">
<value>260, 23</value> <value>401, 30</value>
</data> </data>
<data name="gabLookup.TabIndex" type="System.Int32, mscorlib"> <data name="gabLookup.TabIndex" type="System.Int32, mscorlib">
<value>1</value> <value>1</value>
@ -220,13 +226,16 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="buttonOpenUser.Location" type="System.Drawing.Point, System.Drawing"> <data name="buttonOpenUser.Location" type="System.Drawing.Point, System.Drawing">
<value>380, 3</value> <value>579, 5</value>
</data>
<data name="buttonOpenUser.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data> </data>
<data name="buttonOpenUser.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="buttonOpenUser.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>8, 0, 8, 0</value> <value>12, 0, 12, 0</value>
</data> </data>
<data name="buttonOpenUser.Size" type="System.Drawing.Size, System.Drawing"> <data name="buttonOpenUser.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 23</value> <value>82, 30</value>
</data> </data>
<data name="buttonOpenUser.TabIndex" type="System.Int32, mscorlib"> <data name="buttonOpenUser.TabIndex" type="System.Int32, mscorlib">
<value>2</value> <value>2</value>
@ -250,13 +259,16 @@
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="_layoutSelectUser.Location" type="System.Drawing.Point, System.Drawing"> <data name="_layoutSelectUser.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value> <value>4, 5</value>
</data>
<data name="_layoutSelectUser.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data> </data>
<data name="_layoutSelectUser.RowCount" type="System.Int32, mscorlib"> <data name="_layoutSelectUser.RowCount" type="System.Int32, mscorlib">
<value>1</value> <value>1</value>
</data> </data>
<data name="_layoutSelectUser.Size" type="System.Drawing.Size, System.Drawing"> <data name="_layoutSelectUser.Size" type="System.Drawing.Size, System.Drawing">
<value>442, 29</value> <value>665, 40</value>
</data> </data>
<data name="_layoutSelectUser.TabIndex" type="System.Int32, mscorlib"> <data name="_layoutSelectUser.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -274,16 +286,19 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="_layoutSelectUser.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="_layoutSelectUser.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="labelSelectUser" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="gabLookup" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="buttonOpenUser" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;Rows Styles="Percent,100,Absolute,29" /&gt;&lt;/TableLayoutSettings&gt;</value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="labelSelectUser" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="gabLookup" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="buttonOpenUser" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;Rows Styles="Percent,100,Absolute,40" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<data name="kTreeFolders.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="kTreeFolders.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="kTreeFolders.Location" type="System.Drawing.Point, System.Drawing"> <data name="kTreeFolders.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 38</value> <value>4, 55</value>
</data>
<data name="kTreeFolders.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data> </data>
<data name="kTreeFolders.Size" type="System.Drawing.Size, System.Drawing"> <data name="kTreeFolders.Size" type="System.Drawing.Size, System.Drawing">
<value>442, 224</value> <value>665, 313</value>
</data> </data>
<data name="kTreeFolders.TabIndex" type="System.Int32, mscorlib"> <data name="kTreeFolders.TabIndex" type="System.Int32, mscorlib">
<value>1</value> <value>1</value>
@ -309,6 +324,81 @@
<data name="_layoutOptions.ColumnCount" type="System.Int32, mscorlib"> <data name="_layoutOptions.ColumnCount" type="System.Int32, mscorlib">
<value>3</value> <value>3</value>
</data> </data>
<data name="_labelWholeStoreReminders.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="_labelWholeStoreReminders.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="_labelWholeStoreReminders.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="_labelWholeStoreReminders.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 52</value>
</data>
<data name="_labelWholeStoreReminders.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="_labelWholeStoreReminders.Size" type="System.Drawing.Size, System.Drawing">
<value>133, 42</value>
</data>
<data name="_labelWholeStoreReminders.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="_labelWholeStoreReminders.Text" xml:space="preserve">
<value>Show reminders</value>
</data>
<data name="_labelWholeStoreReminders.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;_labelWholeStoreReminders.Name" xml:space="preserve">
<value>_labelWholeStoreReminders</value>
</data>
<data name="&gt;&gt;_labelWholeStoreReminders.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;_labelWholeStoreReminders.Parent" xml:space="preserve">
<value>_layoutOptions</value>
</data>
<data name="&gt;&gt;_labelWholeStoreReminders.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="checkWholeStoreReminders.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkWholeStoreReminders.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Left</value>
</data>
<data name="checkWholeStoreReminders.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="checkWholeStoreReminders.Location" type="System.Drawing.Point, System.Drawing">
<value>150, 58</value>
</data>
<data name="checkWholeStoreReminders.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>9, 6, 4, 5</value>
</data>
<data name="checkWholeStoreReminders.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 5, 0, 5</value>
</data>
<data name="checkWholeStoreReminders.Size" type="System.Drawing.Size, System.Drawing">
<value>22, 31</value>
</data>
<data name="checkWholeStoreReminders.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="&gt;&gt;checkWholeStoreReminders.Name" xml:space="preserve">
<value>checkWholeStoreReminders</value>
</data>
<data name="&gt;&gt;checkWholeStoreReminders.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkWholeStoreReminders.Parent" xml:space="preserve">
<value>_layoutOptions</value>
</data>
<data name="&gt;&gt;checkWholeStoreReminders.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="_labelWholeStore.AutoSize" type="System.Boolean, mscorlib"> <data name="_labelWholeStore.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
</data> </data>
@ -319,13 +409,16 @@
<value>MiddleLeft</value> <value>MiddleLeft</value>
</data> </data>
<data name="_labelWholeStore.Location" type="System.Drawing.Point, System.Drawing"> <data name="_labelWholeStore.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 0</value> <value>4, 0</value>
</data>
<data name="_labelWholeStore.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data> </data>
<data name="_labelWholeStore.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="_labelWholeStore.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 4, 0, 3</value> <value>0, 6, 0, 5</value>
</data> </data>
<data name="_labelWholeStore.Size" type="System.Drawing.Size, System.Drawing"> <data name="_labelWholeStore.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 27</value> <value>133, 52</value>
</data> </data>
<data name="_labelWholeStore.TabIndex" type="System.Int32, mscorlib"> <data name="_labelWholeStore.TabIndex" type="System.Int32, mscorlib">
<value>5</value> <value>5</value>
@ -346,7 +439,7 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;_labelWholeStore.ZOrder" xml:space="preserve"> <data name="&gt;&gt;_labelWholeStore.ZOrder" xml:space="preserve">
<value>0</value> <value>2</value>
</data> </data>
<data name="checkWholeStore.AutoSize" type="System.Boolean, mscorlib"> <data name="checkWholeStore.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -358,16 +451,16 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="checkWholeStore.Location" type="System.Drawing.Point, System.Drawing"> <data name="checkWholeStore.Location" type="System.Drawing.Point, System.Drawing">
<value>102, 4</value> <value>150, 6</value>
</data> </data>
<data name="checkWholeStore.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="checkWholeStore.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>6, 4, 3, 3</value> <value>9, 6, 4, 5</value>
</data> </data>
<data name="checkWholeStore.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="checkWholeStore.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 3, 0, 3</value> <value>0, 5, 0, 5</value>
</data> </data>
<data name="checkWholeStore.Size" type="System.Drawing.Size, System.Drawing"> <data name="checkWholeStore.Size" type="System.Drawing.Size, System.Drawing">
<value>15, 20</value> <value>22, 41</value>
</data> </data>
<data name="checkWholeStore.TabIndex" type="System.Int32, mscorlib"> <data name="checkWholeStore.TabIndex" type="System.Int32, mscorlib">
<value>9</value> <value>9</value>
@ -382,7 +475,7 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;checkWholeStore.ZOrder" xml:space="preserve"> <data name="&gt;&gt;checkWholeStore.ZOrder" xml:space="preserve">
<value>1</value> <value>3</value>
</data> </data>
<data name="labelPermissionsValue.AutoSize" type="System.Boolean, mscorlib"> <data name="labelPermissionsValue.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -394,10 +487,13 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="labelPermissionsValue.Location" type="System.Drawing.Point, System.Drawing"> <data name="labelPermissionsValue.Location" type="System.Drawing.Point, System.Drawing">
<value>99, 133</value> <value>145, 250</value>
</data>
<data name="labelPermissionsValue.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data> </data>
<data name="labelPermissionsValue.Size" type="System.Drawing.Size, System.Drawing"> <data name="labelPermissionsValue.Size" type="System.Drawing.Size, System.Drawing">
<value>346, 20</value> <value>524, 31</value>
</data> </data>
<data name="labelPermissionsValue.TabIndex" type="System.Int32, mscorlib"> <data name="labelPermissionsValue.TabIndex" type="System.Int32, mscorlib">
<value>8</value> <value>8</value>
@ -415,7 +511,7 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;labelPermissionsValue.ZOrder" xml:space="preserve"> <data name="&gt;&gt;labelPermissionsValue.ZOrder" xml:space="preserve">
<value>2</value> <value>4</value>
</data> </data>
<data name="_labelName.AutoSize" type="System.Boolean, mscorlib"> <data name="_labelName.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -424,10 +520,13 @@
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="_labelName.Location" type="System.Drawing.Point, System.Drawing"> <data name="_labelName.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 27</value> <value>4, 94</value>
</data>
<data name="_labelName.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data> </data>
<data name="_labelName.Size" type="System.Drawing.Size, System.Drawing"> <data name="_labelName.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 26</value> <value>133, 36</value>
</data> </data>
<data name="_labelName.TabIndex" type="System.Int32, mscorlib"> <data name="_labelName.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -448,19 +547,19 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;_labelName.ZOrder" xml:space="preserve"> <data name="&gt;&gt;_labelName.ZOrder" xml:space="preserve">
<value>3</value> <value>5</value>
</data> </data>
<data name="textName.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="textName.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="textName.Location" type="System.Drawing.Point, System.Drawing"> <data name="textName.Location" type="System.Drawing.Point, System.Drawing">
<value>102, 30</value> <value>150, 99</value>
</data> </data>
<data name="textName.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="textName.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>6, 3, 3, 3</value> <value>9, 5, 4, 5</value>
</data> </data>
<data name="textName.Size" type="System.Drawing.Size, System.Drawing"> <data name="textName.Size" type="System.Drawing.Size, System.Drawing">
<value>343, 20</value> <value>519, 26</value>
</data> </data>
<data name="textName.TabIndex" type="System.Int32, mscorlib"> <data name="textName.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -475,7 +574,7 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;textName.ZOrder" xml:space="preserve"> <data name="&gt;&gt;textName.ZOrder" xml:space="preserve">
<value>4</value> <value>6</value>
</data> </data>
<data name="_labelSendAs.AutoSize" type="System.Boolean, mscorlib"> <data name="_labelSendAs.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -484,10 +583,13 @@
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="_labelSendAs.Location" type="System.Drawing.Point, System.Drawing"> <data name="_labelSendAs.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 53</value> <value>4, 130</value>
</data>
<data name="_labelSendAs.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data> </data>
<data name="_labelSendAs.Size" type="System.Drawing.Size, System.Drawing"> <data name="_labelSendAs.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 27</value> <value>133, 42</value>
</data> </data>
<data name="_labelSendAs.TabIndex" type="System.Int32, mscorlib"> <data name="_labelSendAs.TabIndex" type="System.Int32, mscorlib">
<value>2</value> <value>2</value>
@ -508,7 +610,7 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;_labelSendAs.ZOrder" xml:space="preserve"> <data name="&gt;&gt;_labelSendAs.ZOrder" xml:space="preserve">
<value>5</value> <value>7</value>
</data> </data>
<data name="checkSendAs.AutoSize" type="System.Boolean, mscorlib"> <data name="checkSendAs.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -517,16 +619,16 @@
<value>Left</value> <value>Left</value>
</data> </data>
<data name="checkSendAs.Location" type="System.Drawing.Point, System.Drawing"> <data name="checkSendAs.Location" type="System.Drawing.Point, System.Drawing">
<value>102, 57</value> <value>150, 136</value>
</data> </data>
<data name="checkSendAs.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="checkSendAs.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>6, 4, 3, 3</value> <value>9, 6, 4, 5</value>
</data> </data>
<data name="checkSendAs.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="checkSendAs.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 3, 0, 3</value> <value>0, 5, 0, 5</value>
</data> </data>
<data name="checkSendAs.Size" type="System.Drawing.Size, System.Drawing"> <data name="checkSendAs.Size" type="System.Drawing.Size, System.Drawing">
<value>15, 20</value> <value>22, 31</value>
</data> </data>
<data name="checkSendAs.TabIndex" type="System.Int32, mscorlib"> <data name="checkSendAs.TabIndex" type="System.Int32, mscorlib">
<value>3</value> <value>3</value>
@ -541,7 +643,7 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;checkSendAs.ZOrder" xml:space="preserve"> <data name="&gt;&gt;checkSendAs.ZOrder" xml:space="preserve">
<value>6</value> <value>8</value>
</data> </data>
<data name="_labelSendAsAddress.AutoSize" type="System.Boolean, mscorlib"> <data name="_labelSendAsAddress.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -553,10 +655,13 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="_labelSendAsAddress.Location" type="System.Drawing.Point, System.Drawing"> <data name="_labelSendAsAddress.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 80</value> <value>4, 172</value>
</data>
<data name="_labelSendAsAddress.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data> </data>
<data name="_labelSendAsAddress.Size" type="System.Drawing.Size, System.Drawing"> <data name="_labelSendAsAddress.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 26</value> <value>133, 36</value>
</data> </data>
<data name="_labelSendAsAddress.TabIndex" type="System.Int32, mscorlib"> <data name="_labelSendAsAddress.TabIndex" type="System.Int32, mscorlib">
<value>11</value> <value>11</value>
@ -577,19 +682,19 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;_labelSendAsAddress.ZOrder" xml:space="preserve"> <data name="&gt;&gt;_labelSendAsAddress.ZOrder" xml:space="preserve">
<value>7</value> <value>9</value>
</data> </data>
<data name="textSendAsAddress.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="textSendAsAddress.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="textSendAsAddress.Location" type="System.Drawing.Point, System.Drawing"> <data name="textSendAsAddress.Location" type="System.Drawing.Point, System.Drawing">
<value>102, 83</value> <value>150, 177</value>
</data> </data>
<data name="textSendAsAddress.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="textSendAsAddress.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>6, 3, 3, 3</value> <value>9, 5, 4, 5</value>
</data> </data>
<data name="textSendAsAddress.Size" type="System.Drawing.Size, System.Drawing"> <data name="textSendAsAddress.Size" type="System.Drawing.Size, System.Drawing">
<value>343, 20</value> <value>519, 26</value>
</data> </data>
<data name="textSendAsAddress.TabIndex" type="System.Int32, mscorlib"> <data name="textSendAsAddress.TabIndex" type="System.Int32, mscorlib">
<value>12</value> <value>12</value>
@ -604,7 +709,7 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;textSendAsAddress.ZOrder" xml:space="preserve"> <data name="&gt;&gt;textSendAsAddress.ZOrder" xml:space="preserve">
<value>8</value> <value>10</value>
</data> </data>
<data name="_labelReminders.AutoSize" type="System.Boolean, mscorlib"> <data name="_labelReminders.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -613,10 +718,13 @@
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="_labelReminders.Location" type="System.Drawing.Point, System.Drawing"> <data name="_labelReminders.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 106</value> <value>4, 208</value>
</data>
<data name="_labelReminders.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data> </data>
<data name="_labelReminders.Size" type="System.Drawing.Size, System.Drawing"> <data name="_labelReminders.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 27</value> <value>133, 42</value>
</data> </data>
<data name="_labelReminders.TabIndex" type="System.Int32, mscorlib"> <data name="_labelReminders.TabIndex" type="System.Int32, mscorlib">
<value>6</value> <value>6</value>
@ -637,7 +745,7 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;_labelReminders.ZOrder" xml:space="preserve"> <data name="&gt;&gt;_labelReminders.ZOrder" xml:space="preserve">
<value>9</value> <value>11</value>
</data> </data>
<data name="checkReminders.AutoSize" type="System.Boolean, mscorlib"> <data name="checkReminders.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -646,16 +754,16 @@
<value>Left</value> <value>Left</value>
</data> </data>
<data name="checkReminders.Location" type="System.Drawing.Point, System.Drawing"> <data name="checkReminders.Location" type="System.Drawing.Point, System.Drawing">
<value>102, 110</value> <value>150, 214</value>
</data> </data>
<data name="checkReminders.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="checkReminders.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>6, 4, 3, 3</value> <value>9, 6, 4, 5</value>
</data> </data>
<data name="checkReminders.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="checkReminders.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 3, 0, 3</value> <value>0, 5, 0, 5</value>
</data> </data>
<data name="checkReminders.Size" type="System.Drawing.Size, System.Drawing"> <data name="checkReminders.Size" type="System.Drawing.Size, System.Drawing">
<value>15, 20</value> <value>22, 31</value>
</data> </data>
<data name="checkReminders.TabIndex" type="System.Int32, mscorlib"> <data name="checkReminders.TabIndex" type="System.Int32, mscorlib">
<value>7</value> <value>7</value>
@ -670,7 +778,7 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;checkReminders.ZOrder" xml:space="preserve"> <data name="&gt;&gt;checkReminders.ZOrder" xml:space="preserve">
<value>10</value> <value>12</value>
</data> </data>
<data name="_labelPermissions.AutoSize" type="System.Boolean, mscorlib"> <data name="_labelPermissions.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -679,13 +787,16 @@
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="_labelPermissions.Location" type="System.Drawing.Point, System.Drawing"> <data name="_labelPermissions.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 133</value> <value>4, 250</value>
</data>
<data name="_labelPermissions.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data> </data>
<data name="_labelPermissions.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="_labelPermissions.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 4, 0, 3</value> <value>0, 6, 0, 5</value>
</data> </data>
<data name="_labelPermissions.Size" type="System.Drawing.Size, System.Drawing"> <data name="_labelPermissions.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 20</value> <value>133, 31</value>
</data> </data>
<data name="_labelPermissions.TabIndex" type="System.Int32, mscorlib"> <data name="_labelPermissions.TabIndex" type="System.Int32, mscorlib">
<value>4</value> <value>4</value>
@ -706,16 +817,19 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;_labelPermissions.ZOrder" xml:space="preserve"> <data name="&gt;&gt;_labelPermissions.ZOrder" xml:space="preserve">
<value>11</value> <value>13</value>
</data> </data>
<data name="_labelRestartRequired.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="_labelRestartRequired.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="_labelRestartRequired.Location" type="System.Drawing.Point, System.Drawing"> <data name="_labelRestartRequired.Location" type="System.Drawing.Point, System.Drawing">
<value>123, 0</value> <value>180, 0</value>
</data>
<data name="_labelRestartRequired.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data> </data>
<data name="_labelRestartRequired.Size" type="System.Drawing.Size, System.Drawing"> <data name="_labelRestartRequired.Size" type="System.Drawing.Size, System.Drawing">
<value>322, 27</value> <value>489, 52</value>
</data> </data>
<data name="_labelRestartRequired.TabIndex" type="System.Int32, mscorlib"> <data name="_labelRestartRequired.TabIndex" type="System.Int32, mscorlib">
<value>10</value> <value>10</value>
@ -739,22 +853,22 @@
<value>_layoutOptions</value> <value>_layoutOptions</value>
</data> </data>
<data name="&gt;&gt;_labelRestartRequired.ZOrder" xml:space="preserve"> <data name="&gt;&gt;_labelRestartRequired.ZOrder" xml:space="preserve">
<value>12</value> <value>14</value>
</data> </data>
<data name="_layoutOptions.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="_layoutOptions.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="_layoutOptions.Location" type="System.Drawing.Point, System.Drawing"> <data name="_layoutOptions.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 265</value> <value>0, 373</value>
</data> </data>
<data name="_layoutOptions.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="_layoutOptions.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="_layoutOptions.RowCount" type="System.Int32, mscorlib"> <data name="_layoutOptions.RowCount" type="System.Int32, mscorlib">
<value>6</value> <value>7</value>
</data> </data>
<data name="_layoutOptions.Size" type="System.Drawing.Size, System.Drawing"> <data name="_layoutOptions.Size" type="System.Drawing.Size, System.Drawing">
<value>448, 153</value> <value>673, 281</value>
</data> </data>
<data name="_layoutOptions.TabIndex" type="System.Int32, mscorlib"> <data name="_layoutOptions.TabIndex" type="System.Int32, mscorlib">
<value>2</value> <value>2</value>
@ -772,7 +886,7 @@
<value>2</value> <value>2</value>
</data> </data>
<data name="_layoutOptions.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="_layoutOptions.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="_labelWholeStore" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="checkWholeStore" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="labelPermissionsValue" Row="5" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="_labelName" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="textName" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="_labelSendAs" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="checkSendAs" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="_labelSendAsAddress" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="textSendAsAddress" Row="3" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="_labelReminders" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="checkReminders" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="_labelPermissions" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="_labelRestartRequired" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="_labelWholeStoreReminders" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="checkWholeStoreReminders" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="_labelWholeStore" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="checkWholeStore" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="labelPermissionsValue" Row="6" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="_labelName" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="textName" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="_labelSendAs" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="checkSendAs" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="_labelSendAsAddress" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="textSendAsAddress" Row="4" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="_labelReminders" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="checkReminders" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="_labelPermissions" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="_labelRestartRequired" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<data name="_layoutMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="_layoutMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
@ -780,11 +894,14 @@
<data name="_layoutMain.Location" type="System.Drawing.Point, System.Drawing"> <data name="_layoutMain.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="_layoutMain.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data>
<data name="_layoutMain.RowCount" type="System.Int32, mscorlib"> <data name="_layoutMain.RowCount" type="System.Int32, mscorlib">
<value>3</value> <value>3</value>
</data> </data>
<data name="_layoutMain.Size" type="System.Drawing.Size, System.Drawing"> <data name="_layoutMain.Size" type="System.Drawing.Size, System.Drawing">
<value>448, 418</value> <value>673, 654</value>
</data> </data>
<data name="_layoutMain.TabIndex" type="System.Int32, mscorlib"> <data name="_layoutMain.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -808,10 +925,13 @@
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="_mainBusyHider.Location" type="System.Drawing.Point, System.Drawing"> <data name="_mainBusyHider.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value> <value>4, 5</value>
</data>
<data name="_mainBusyHider.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 5, 4, 5</value>
</data> </data>
<data name="_mainBusyHider.Size" type="System.Drawing.Size, System.Drawing"> <data name="_mainBusyHider.Size" type="System.Drawing.Size, System.Drawing">
<value>448, 418</value> <value>673, 654</value>
</data> </data>
<data name="_mainBusyHider.TabIndex" type="System.Int32, mscorlib"> <data name="_mainBusyHider.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -841,13 +961,13 @@
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="dialogButtons.Location" type="System.Drawing.Point, System.Drawing"> <data name="dialogButtons.Location" type="System.Drawing.Point, System.Drawing">
<value>2, 425</value> <value>3, 666</value>
</data> </data>
<data name="dialogButtons.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="dialogButtons.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>2, 1, 2, 1</value> <value>3, 2, 3, 2</value>
</data> </data>
<data name="dialogButtons.Size" type="System.Drawing.Size, System.Drawing"> <data name="dialogButtons.Size" type="System.Drawing.Size, System.Drawing">
<value>450, 35</value> <value>675, 42</value>
</data> </data>
<data name="dialogButtons.TabIndex" type="System.Int32, mscorlib"> <data name="dialogButtons.TabIndex" type="System.Int32, mscorlib">
<value>1</value> <value>1</value>
@ -868,7 +988,7 @@
<value>Fill</value> <value>Fill</value>
</data> </data>
<data name="_layout.Location" type="System.Drawing.Point, System.Drawing"> <data name="_layout.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 6</value> <value>9, 9</value>
</data> </data>
<data name="_layout.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="_layout.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
@ -877,7 +997,7 @@
<value>2</value> <value>2</value>
</data> </data>
<data name="_layout.Size" type="System.Drawing.Size, System.Drawing"> <data name="_layout.Size" type="System.Drawing.Size, System.Drawing">
<value>454, 461</value> <value>681, 710</value>
</data> </data>
<data name="_layout.TabIndex" type="System.Int32, mscorlib"> <data name="_layout.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@ -895,22 +1015,19 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="_layout.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="_layout.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="_mainBusyHider" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="dialogButtons" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="Percent,100,AutoSize,0,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="_mainBusyHider" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="dialogButtons" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="Percent,100,AutoSize,0,Absolute,31" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value> <value>9, 20</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>466, 473</value> <value>699, 728</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>2, 2, 2, 2</value>
</data> </data>
<data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>6, 6, 6, 6</value> <value>9, 9, 9, 9</value>
</data> </data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms"> <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value> <value>CenterParent</value>

View File

@ -98,7 +98,7 @@ namespace Acacia.Features.SharedFolders
UpdateReminders(shares); UpdateReminders(shares);
// Remove any reminders from the shares that are not wanted, they are stale // Remove any reminders from the shares that are not wanted, they are stale
OpenQuery()?.RemoveStaleReminders( ((RemindersQueryFolders) OpenQuery())?.RemoveStaleReminders(
shares shares
.Where(x => x.IsSynced && x.SyncType.IsAppointment() && x.FlagCalendarReminders) .Where(x => x.IsSynced && x.SyncType.IsAppointment() && x.FlagCalendarReminders)
.Select(x => x.SyncId) .Select(x => x.SyncId)
@ -126,6 +126,18 @@ namespace Acacia.Features.SharedFolders
return _api.GetUserFolders(store); return _api.GetUserFolders(store);
} }
public void UpdateSharedStore()
{
Logger.Instance.Debug(this, "Updating shared store: {0}", _account);
RemindersQuery query = OpenQuery();
if (query != null)
{
Logger.Instance.Debug(this, "Updating shared store reminders: {0}", query);
((RemindersQueryStore)query).SetReminders(_account.ShowReminders);
query.Commit();
}
}
#endregion #endregion
#region Reminders #region Reminders
@ -139,7 +151,7 @@ namespace Acacia.Features.SharedFolders
Logger.Instance.Debug(this, "UpdateReminders: {0}", share); Logger.Instance.Debug(this, "UpdateReminders: {0}", share);
if (share.IsSynced && share.SyncType.IsAppointment()) if (share.IsSynced && share.SyncType.IsAppointment())
{ {
OpenQuery()?.UpdateReminders(share.SyncId, share.FlagCalendarReminders); ((RemindersQueryFolders)OpenQuery())?.UpdateReminders(share.SyncId, share.FlagCalendarReminders);
} }
} }
} }
@ -151,7 +163,9 @@ namespace Acacia.Features.SharedFolders
{ {
if (_feature.Reminders) if (_feature.Reminders)
{ {
RemindersQuery query = new RemindersQuery(_feature, _account.Account.Store); RemindersQuery query = _account.IsShare
? (RemindersQuery)new RemindersQueryStore(_feature, _account.Account.Store)
: (RemindersQuery)new RemindersQueryFolders(_feature, _account.Account.Store);
if (query.Open()) if (query.Open())
{ {
_query = query; _query = query;

View File

@ -66,8 +66,19 @@ namespace Acacia.Features.SharedFolders
} }
} }
public bool ShowReminders
{
get;
set;
}
public bool ShowRemindersInitial
{
get;
set;
}
public StoreTreeNode(SharedFoldersManager folders, GABHandler gab, GABUser user, string sendAsAddress, string text, public StoreTreeNode(SharedFoldersManager folders, GABHandler gab, GABUser user, string sendAsAddress, string text,
Dictionary<BackendId, SharedFolder> currentFolders, bool isShared) Dictionary<BackendId, SharedFolder> currentFolders, bool isShared, bool showRemindersWholeStore)
: :
base(text) base(text)
{ {
@ -109,6 +120,8 @@ namespace Acacia.Features.SharedFolders
// Set up sharing // Set up sharing
WantShare = isShared; WantShare = isShared;
ShowRemindersInitial = showRemindersWholeStore;
ShowReminders = ShowRemindersInitial;
} }
private static void ApplyReadOnly(KTreeNode node, bool isReadOnly) private static void ApplyReadOnly(KTreeNode node, bool isReadOnly)
@ -148,6 +161,18 @@ namespace Acacia.Features.SharedFolders
} }
} }
public ZPushAccount WholeStoreAccount
{
get
{
if (IsShared)
{
return _account.FindSharedAccount(_user.UserName);
}
return null;
}
}
#region Share management #region Share management
/// <summary> /// <summary>
@ -289,7 +314,7 @@ namespace Acacia.Features.SharedFolders
{ {
get get
{ {
return WantShare != IsShared; return WantShare != IsShared || ShowReminders != ShowRemindersInitial;
} }
} }

View File

@ -46,6 +46,8 @@ namespace Acacia
public const string REG_VAL_REPLY_FORWARD_SIGNATURE = "Reply-Forward Signature"; public const string REG_VAL_REPLY_FORWARD_SIGNATURE = "Reply-Forward Signature";
public const string REG_VAL_CURRENT_SIGNATURE = "KOE Signature Digest"; public const string REG_VAL_CURRENT_SIGNATURE = "KOE Signature Digest";
public const string REG_VAL_SHOW_REMINDERS = "KOE Reminders";
public const string REG_VAL_SYNC_TIMEFRAME = "KOE SyncTimeFrame"; public const string REG_VAL_SYNC_TIMEFRAME = "KOE SyncTimeFrame";
public const string REG_VAL_SYNC_SLIDER = "EAS SyncSlider"; public const string REG_VAL_SYNC_SLIDER = "EAS SyncSlider";
public const string REG_VAL_NEXT_ACCOUNT_ID = "NextAccountID"; public const string REG_VAL_NEXT_ACCOUNT_ID = "NextAccountID";

View File

@ -222,6 +222,11 @@ namespace Acacia.ZPush
} }
} }
public bool IsShare
{
get { return ShareFor != null; }
}
public string ShareUserName public string ShareUserName
{ {
get get
@ -289,6 +294,19 @@ namespace Acacia.ZPush
return null; return null;
} }
public bool ShowReminders
{
get
{
return RegistryUtil.GetValueDword(Account.RegistryBaseKey, OutlookConstants.REG_VAL_SHOW_REMINDERS, 1) != 0;
}
set
{
RegistryUtil.SetValueDword(Account.RegistryBaseKey, OutlookConstants.REG_VAL_SHOW_REMINDERS, value ? 1 : 0);
}
}
#endregion #endregion
#region Signatures #region Signatures