mirror of
https://github.com/Kopano-dev/kopano-ol-extension.git
synced 2023-10-10 13:37:40 +02:00
Merge branch 'master' of https://stash.kopano.io/scm/koe/kopano_ol_extension_source
Conflicts: translations/pt.po
This commit is contained in:
commit
8a7b3773b1
@ -234,7 +234,6 @@ namespace Acacia
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// General
|
||||
|
@ -171,20 +171,28 @@ namespace Acacia.Features.SharedFolders
|
||||
{
|
||||
Logger.Instance.Debug(this, "Starting sync for account {0}", account);
|
||||
|
||||
// Fetch the current shares
|
||||
ICollection<SharedFolder> shares = manager.GetCurrentShares(null);
|
||||
Logger.Instance.Trace(this, "AdditionalFolders_Sync: {0}", shares.Count);
|
||||
if (account.IsShare)
|
||||
{
|
||||
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
|
||||
Dictionary<SyncId, SharedFolder> dict = shares.ToDictionary(x => x.SyncId);
|
||||
Logger.Instance.Trace(this, "AdditionalFolders_Sync2: {0}", shares.Count);
|
||||
// Convert to dictionary
|
||||
Dictionary<SyncId, SharedFolder> dict = shares.ToDictionary(x => x.SyncId);
|
||||
Logger.Instance.Trace(this, "AdditionalFolders_Sync2: {0}", shares.Count);
|
||||
|
||||
// Store any send-as properties
|
||||
FeatureSendAs sendAs = ThisAddIn.Instance.GetFeature<FeatureSendAs>();
|
||||
sendAs?.UpdateSendAsAddresses(account, shares);
|
||||
// Store any send-as properties
|
||||
FeatureSendAs sendAs = ThisAddIn.Instance.GetFeature<FeatureSendAs>();
|
||||
sendAs?.UpdateSendAsAddresses(account, shares);
|
||||
|
||||
// Store with the account
|
||||
account.SetFeatureData(this, KEY_SHARES, dict);
|
||||
// Store with the account
|
||||
account.SetFeatureData(this, KEY_SHARES, dict);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -226,10 +234,10 @@ namespace Acacia.Features.SharedFolders
|
||||
return share;
|
||||
}
|
||||
|
||||
public static bool IsSharedFolder(IFolder folder)
|
||||
public static bool IsSharedOrImpersonatedFolder(IFolder folder)
|
||||
{
|
||||
string id = (string)folder.GetProperty(OutlookConstants.PR_ZPUSH_SYNC_ID);
|
||||
return id?.StartsWith("S") == true;
|
||||
return id?.StartsWith("S") == true || id?.StartsWith("I") == true;
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -316,7 +324,7 @@ namespace Acacia.Features.SharedFolders
|
||||
// Check if in a shared folder
|
||||
using (IFolder parent = item.Parent)
|
||||
{
|
||||
if (parent == null || !IsSharedFolder(parent))
|
||||
if (parent == null || !IsSharedOrImpersonatedFolder(parent))
|
||||
{
|
||||
Logger.Instance.TraceExtra(this, "Private appointment: suppress: not in a shared folder");
|
||||
return;
|
||||
|
@ -10,16 +10,14 @@ using System.Threading.Tasks;
|
||||
|
||||
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 IFolder _folder;
|
||||
private SearchQuery _queryRoot;
|
||||
private SearchQuery.Or _queryCustomShared;
|
||||
private SearchQuery.Or _queryCustomConfigured;
|
||||
private bool _queryCustomModified;
|
||||
protected SearchQuery _queryRoot;
|
||||
protected bool _queryCustomModified;
|
||||
|
||||
public RemindersQuery(FeatureSharedFolders feature, IStore store)
|
||||
{
|
||||
@ -27,10 +25,68 @@ namespace Acacia.Features.SharedFolders
|
||||
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)
|
||||
return true;
|
||||
|
||||
try
|
||||
{
|
||||
_queryRoot = FolderQuery;
|
||||
@ -80,6 +136,7 @@ namespace Acacia.Features.SharedFolders
|
||||
return _queryCustomShared != null && _queryCustomConfigured != null;
|
||||
}
|
||||
|
||||
|
||||
private SearchQuery.Or AddCustomQuery(SearchQuery.And root, string prefix)
|
||||
{
|
||||
SearchQuery.Or custom = new SearchQuery.Or();
|
||||
@ -96,51 +153,10 @@ namespace Acacia.Features.SharedFolders
|
||||
root.Operands.Add(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)
|
||||
{
|
||||
Logger.Instance.Trace(this, "Setting reminders for folder {0}: {1} ({2})", wantReminders, folderId, folderId?.Kind);
|
||||
switch(folderId.Kind)
|
||||
switch (folderId.Kind)
|
||||
{
|
||||
case SyncKind.Configured:
|
||||
UpdateReminders(_queryCustomConfigured, folderId, wantReminders);
|
||||
@ -214,7 +230,7 @@ namespace Acacia.Features.SharedFolders
|
||||
}
|
||||
|
||||
private void RemoveStaleReminders(ISet<string> prefixes, SearchQuery.Or query)
|
||||
{
|
||||
{
|
||||
// Remove all operands for which we do not want the prefix
|
||||
for (int i = 0; i < query.Operands.Count;)
|
||||
{
|
||||
@ -244,5 +260,84 @@ namespace Acacia.Features.SharedFolders
|
||||
return null;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,8 @@
|
||||
this.buttonOpenUser = new System.Windows.Forms.Button();
|
||||
this.kTreeFolders = new Acacia.Controls.KTree();
|
||||
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.checkWholeStore = new System.Windows.Forms.CheckBox();
|
||||
this.labelPermissionsValue = new System.Windows.Forms.Label();
|
||||
@ -137,21 +139,35 @@
|
||||
// _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.checkWholeStore, 1, 0);
|
||||
this._layoutOptions.Controls.Add(this.labelPermissionsValue, 1, 5);
|
||||
this._layoutOptions.Controls.Add(this._labelName, 0, 1);
|
||||
this._layoutOptions.Controls.Add(this.textName, 1, 1);
|
||||
this._layoutOptions.Controls.Add(this._labelSendAs, 0, 2);
|
||||
this._layoutOptions.Controls.Add(this.checkSendAs, 1, 2);
|
||||
this._layoutOptions.Controls.Add(this._labelSendAsAddress, 0, 3);
|
||||
this._layoutOptions.Controls.Add(this.textSendAsAddress, 1, 3);
|
||||
this._layoutOptions.Controls.Add(this._labelReminders, 0, 4);
|
||||
this._layoutOptions.Controls.Add(this.checkReminders, 1, 4);
|
||||
this._layoutOptions.Controls.Add(this._labelPermissions, 0, 5);
|
||||
this._layoutOptions.Controls.Add(this.labelPermissionsValue, 1, 6);
|
||||
this._layoutOptions.Controls.Add(this._labelName, 0, 2);
|
||||
this._layoutOptions.Controls.Add(this.textName, 1, 2);
|
||||
this._layoutOptions.Controls.Add(this._labelSendAs, 0, 3);
|
||||
this._layoutOptions.Controls.Add(this.checkSendAs, 1, 3);
|
||||
this._layoutOptions.Controls.Add(this._labelSendAsAddress, 0, 4);
|
||||
this._layoutOptions.Controls.Add(this.textSendAsAddress, 1, 4);
|
||||
this._layoutOptions.Controls.Add(this._labelReminders, 0, 5);
|
||||
this._layoutOptions.Controls.Add(this.checkReminders, 1, 5);
|
||||
this._layoutOptions.Controls.Add(this._labelPermissions, 0, 6);
|
||||
this._layoutOptions.Controls.Add(this._labelRestartRequired, 2, 0);
|
||||
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
|
||||
//
|
||||
resources.ApplyResources(this._labelWholeStore, "_labelWholeStore");
|
||||
@ -288,5 +304,7 @@
|
||||
private System.Windows.Forms.Label _labelRestartRequired;
|
||||
private System.Windows.Forms.Label _labelSendAsAddress;
|
||||
private System.Windows.Forms.TextBox textSendAsAddress;
|
||||
private System.Windows.Forms.Label _labelWholeStoreReminders;
|
||||
private System.Windows.Forms.CheckBox checkWholeStoreReminders;
|
||||
}
|
||||
}
|
@ -194,18 +194,18 @@ namespace Acacia.Features.SharedFolders
|
||||
// Add public folders
|
||||
Dictionary<BackendId, SharedFolder> 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
|
||||
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
|
||||
foreach (KeyValuePair<GABUser, Dictionary<BackendId, SharedFolder>> entry in shares.OrderBy(x => x.Key.DisplayName))
|
||||
if (GABUser.USER_PUBLIC != entry.Key)
|
||||
AddUserFolders(entry.Key, false, entry.Value, false);
|
||||
AddUserFolders(entry.Key, null, entry.Value, false);
|
||||
}
|
||||
finally
|
||||
{
|
||||
@ -352,6 +352,8 @@ namespace Acacia.Features.SharedFolders
|
||||
|
||||
ctx.AddBusy(-state.folders);
|
||||
|
||||
List<ZPushAccount> syncAdditional = new List<ZPushAccount>();
|
||||
|
||||
// Handle stores
|
||||
if (state.stores.Count > 0)
|
||||
{
|
||||
@ -362,7 +364,23 @@ namespace Acacia.Features.SharedFolders
|
||||
{
|
||||
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;
|
||||
}
|
||||
else
|
||||
@ -396,7 +414,7 @@ namespace Acacia.Features.SharedFolders
|
||||
IRestarter restarter = ThisAddIn.Instance.Restarter();
|
||||
restarter.CloseWindows = true;
|
||||
foreach (StoreTreeNode node in state.stores)
|
||||
restarter.OpenShare(_account, node.User);
|
||||
restarter.OpenShare(_account, node.User, node.ShowReminders);
|
||||
restarter.Restart();
|
||||
}
|
||||
|
||||
@ -406,6 +424,10 @@ namespace Acacia.Features.SharedFolders
|
||||
CheckDirty();
|
||||
}
|
||||
|
||||
// Sync accounts
|
||||
foreach (ZPushAccount account in syncAdditional)
|
||||
_feature.Sync(account);
|
||||
|
||||
if (state.folders != 0)
|
||||
{
|
||||
// Sync account
|
||||
@ -432,7 +454,7 @@ namespace Acacia.Features.SharedFolders
|
||||
|
||||
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)
|
||||
@ -441,7 +463,7 @@ namespace Acacia.Features.SharedFolders
|
||||
|
||||
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 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)
|
||||
return;
|
||||
@ -480,7 +502,8 @@ namespace Acacia.Features.SharedFolders
|
||||
node = new StoreTreeNode(_folders, gabLookup.GAB,
|
||||
user, sendAsAddress,
|
||||
user.DisplayName, currentShares ?? new Dictionary<BackendId, SharedFolder>(),
|
||||
wholeStore);
|
||||
wholeStore != null,
|
||||
wholeStore?.ShowReminders == true);
|
||||
node.DirtyChanged += UserSharesChanged;
|
||||
node.CheckStateChanged += WholeStoreShareChanged;
|
||||
_userFolders.Add(user, node);
|
||||
@ -646,6 +669,22 @@ namespace Acacia.Features.SharedFolders
|
||||
}
|
||||
private readonly List<StoreTreeNode> _optionWholeStoreNodes = new List<StoreTreeNode>();
|
||||
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)
|
||||
{
|
||||
@ -667,6 +706,7 @@ namespace Acacia.Features.SharedFolders
|
||||
OptionReminders = null;
|
||||
OptionPermissions = null;
|
||||
OptionWholeStore = null;
|
||||
OptionWholeStoreReminders = null;
|
||||
bool readOnly = false;
|
||||
bool haveStoreNodes = false;
|
||||
bool haveFolderNodes = false;
|
||||
@ -676,7 +716,7 @@ namespace Acacia.Features.SharedFolders
|
||||
// Ignore the root nodes
|
||||
if (node is StoreTreeNode)
|
||||
{
|
||||
if (!_folders.SupportsWholeStore)
|
||||
if (!_folders.SupportsWholeStore || !node.HasCheckBox)
|
||||
continue;
|
||||
|
||||
StoreTreeNode storeNode = (StoreTreeNode)node;
|
||||
@ -749,7 +789,6 @@ namespace Acacia.Features.SharedFolders
|
||||
|
||||
_labelRestartRequired.Visible = isShared && !wasShared;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -846,6 +885,7 @@ namespace Acacia.Features.SharedFolders
|
||||
|
||||
private void checkWholeStore_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
CheckState? reminders = null;
|
||||
for (int i = 0; i < _optionWholeStoreNodes.Count; ++i)
|
||||
{
|
||||
StoreTreeNode node = _optionWholeStoreNodes[i];
|
||||
@ -857,8 +897,32 @@ namespace Acacia.Features.SharedFolders
|
||||
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;
|
||||
}
|
||||
|
||||
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)
|
||||
|
@ -145,10 +145,13 @@
|
||||
</data>
|
||||
<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">
|
||||
<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 name="labelSelectUser.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>105, 29</value>
|
||||
<value>158, 40</value>
|
||||
</data>
|
||||
<data name="labelSelectUser.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -175,10 +178,13 @@
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<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 name="gabLookup.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>200, 0</value>
|
||||
<value>300, 0</value>
|
||||
</data>
|
||||
<data name="gabLookup.NotFoundText" xml:space="preserve">
|
||||
<value>The user was not found</value>
|
||||
@ -187,7 +193,7 @@
|
||||
<value>Start typing name</value>
|
||||
</data>
|
||||
<data name="gabLookup.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>260, 23</value>
|
||||
<value>401, 30</value>
|
||||
</data>
|
||||
<data name="gabLookup.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
@ -220,13 +226,16 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<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 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 name="buttonOpenUser.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>59, 23</value>
|
||||
<value>82, 30</value>
|
||||
</data>
|
||||
<data name="buttonOpenUser.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
@ -250,13 +259,16 @@
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<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 name="_layoutSelectUser.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="_layoutSelectUser.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>442, 29</value>
|
||||
<value>665, 40</value>
|
||||
</data>
|
||||
<data name="_layoutSelectUser.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -274,16 +286,19 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="_layoutSelectUser.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelSelectUser" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gabLookup" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="buttonOpenUser" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100,AutoSize,0" /><Rows Styles="Percent,100,Absolute,29" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelSelectUser" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gabLookup" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="buttonOpenUser" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100,AutoSize,0" /><Rows Styles="Percent,100,Absolute,40" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="kTreeFolders.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<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 name="kTreeFolders.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>442, 224</value>
|
||||
<value>665, 313</value>
|
||||
</data>
|
||||
<data name="kTreeFolders.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
@ -309,6 +324,81 @@
|
||||
<data name="_layoutOptions.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</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=">>_labelWholeStoreReminders.Name" xml:space="preserve">
|
||||
<value>_labelWholeStoreReminders</value>
|
||||
</data>
|
||||
<data name=">>_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=">>_labelWholeStoreReminders.Parent" xml:space="preserve">
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>_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=">>checkWholeStoreReminders.Name" xml:space="preserve">
|
||||
<value>checkWholeStoreReminders</value>
|
||||
</data>
|
||||
<data name=">>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=">>checkWholeStoreReminders.Parent" xml:space="preserve">
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>checkWholeStoreReminders.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="_labelWholeStore.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
@ -319,13 +409,16 @@
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<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 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 name="_labelWholeStore.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>90, 27</value>
|
||||
<value>133, 52</value>
|
||||
</data>
|
||||
<data name="_labelWholeStore.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
@ -346,7 +439,7 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>_labelWholeStore.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="checkWholeStore.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -358,16 +451,16 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="checkWholeStore.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>102, 4</value>
|
||||
<value>150, 6</value>
|
||||
</data>
|
||||
<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 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 name="checkWholeStore.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>15, 20</value>
|
||||
<value>22, 41</value>
|
||||
</data>
|
||||
<data name="checkWholeStore.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
@ -382,7 +475,7 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>checkWholeStore.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="labelPermissionsValue.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -394,10 +487,13 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<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 name="labelPermissionsValue.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>346, 20</value>
|
||||
<value>524, 31</value>
|
||||
</data>
|
||||
<data name="labelPermissionsValue.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
@ -415,7 +511,7 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>labelPermissionsValue.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="_labelName.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -424,10 +520,13 @@
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<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 name="_labelName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>90, 26</value>
|
||||
<value>133, 36</value>
|
||||
</data>
|
||||
<data name="_labelName.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -448,19 +547,19 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>_labelName.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="textName.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="textName.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>102, 30</value>
|
||||
<value>150, 99</value>
|
||||
</data>
|
||||
<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 name="textName.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>343, 20</value>
|
||||
<value>519, 26</value>
|
||||
</data>
|
||||
<data name="textName.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -475,7 +574,7 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>textName.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="_labelSendAs.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -484,10 +583,13 @@
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<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 name="_labelSendAs.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>90, 27</value>
|
||||
<value>133, 42</value>
|
||||
</data>
|
||||
<data name="_labelSendAs.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
@ -508,7 +610,7 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>_labelSendAs.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="checkSendAs.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -517,16 +619,16 @@
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="checkSendAs.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>102, 57</value>
|
||||
<value>150, 136</value>
|
||||
</data>
|
||||
<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 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 name="checkSendAs.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>15, 20</value>
|
||||
<value>22, 31</value>
|
||||
</data>
|
||||
<data name="checkSendAs.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
@ -541,7 +643,7 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>checkSendAs.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="_labelSendAsAddress.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -553,10 +655,13 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<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 name="_labelSendAsAddress.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>90, 26</value>
|
||||
<value>133, 36</value>
|
||||
</data>
|
||||
<data name="_labelSendAsAddress.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>11</value>
|
||||
@ -577,19 +682,19 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>_labelSendAsAddress.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="textSendAsAddress.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="textSendAsAddress.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>102, 83</value>
|
||||
<value>150, 177</value>
|
||||
</data>
|
||||
<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 name="textSendAsAddress.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>343, 20</value>
|
||||
<value>519, 26</value>
|
||||
</data>
|
||||
<data name="textSendAsAddress.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>12</value>
|
||||
@ -604,7 +709,7 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>textSendAsAddress.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="_labelReminders.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -613,10 +718,13 @@
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<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 name="_labelReminders.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>90, 27</value>
|
||||
<value>133, 42</value>
|
||||
</data>
|
||||
<data name="_labelReminders.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
@ -637,7 +745,7 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>_labelReminders.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="checkReminders.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -646,16 +754,16 @@
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="checkReminders.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>102, 110</value>
|
||||
<value>150, 214</value>
|
||||
</data>
|
||||
<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 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 name="checkReminders.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>15, 20</value>
|
||||
<value>22, 31</value>
|
||||
</data>
|
||||
<data name="checkReminders.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
@ -670,7 +778,7 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>checkReminders.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="_labelPermissions.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -679,13 +787,16 @@
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<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 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 name="_labelPermissions.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>90, 20</value>
|
||||
<value>133, 31</value>
|
||||
</data>
|
||||
<data name="_labelPermissions.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
@ -706,16 +817,19 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>_labelPermissions.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="_labelRestartRequired.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<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 name="_labelRestartRequired.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>322, 27</value>
|
||||
<value>489, 52</value>
|
||||
</data>
|
||||
<data name="_labelRestartRequired.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
@ -739,22 +853,22 @@
|
||||
<value>_layoutOptions</value>
|
||||
</data>
|
||||
<data name=">>_labelRestartRequired.ZOrder" xml:space="preserve">
|
||||
<value>12</value>
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name="_layoutOptions.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="_layoutOptions.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 265</value>
|
||||
<value>0, 373</value>
|
||||
</data>
|
||||
<data name="_layoutOptions.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="_layoutOptions.RowCount" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="_layoutOptions.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>448, 153</value>
|
||||
<value>673, 281</value>
|
||||
</data>
|
||||
<data name="_layoutOptions.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
@ -772,7 +886,7 @@
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="_layoutOptions.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="_labelWholeStore" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkWholeStore" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelPermissionsValue" Row="5" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="_labelName" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textName" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="_labelSendAs" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkSendAs" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelSendAsAddress" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textSendAsAddress" Row="3" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="_labelReminders" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkReminders" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelPermissions" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="_labelRestartRequired" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="_labelWholeStoreReminders" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkWholeStoreReminders" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelWholeStore" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkWholeStore" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelPermissionsValue" Row="6" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="_labelName" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textName" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="_labelSendAs" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkSendAs" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelSendAsAddress" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textSendAsAddress" Row="4" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="_labelReminders" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkReminders" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelPermissions" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="_labelRestartRequired" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="_layoutMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
@ -780,11 +894,14 @@
|
||||
<data name="_layoutMain.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</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">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="_layoutMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>448, 418</value>
|
||||
<value>673, 654</value>
|
||||
</data>
|
||||
<data name="_layoutMain.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -808,10 +925,13 @@
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<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 name="_mainBusyHider.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>448, 418</value>
|
||||
<value>673, 654</value>
|
||||
</data>
|
||||
<data name="_mainBusyHider.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -841,13 +961,13 @@
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="dialogButtons.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>2, 425</value>
|
||||
<value>3, 666</value>
|
||||
</data>
|
||||
<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 name="dialogButtons.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>450, 35</value>
|
||||
<value>675, 42</value>
|
||||
</data>
|
||||
<data name="dialogButtons.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
@ -868,7 +988,7 @@
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="_layout.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>6, 6</value>
|
||||
<value>9, 9</value>
|
||||
</data>
|
||||
<data name="_layout.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
@ -877,7 +997,7 @@
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="_layout.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>454, 461</value>
|
||||
<value>681, 710</value>
|
||||
</data>
|
||||
<data name="_layout.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -895,22 +1015,19 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="_layout.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="_mainBusyHider" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="dialogButtons" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,100,AutoSize,0,Absolute,20" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="_mainBusyHider" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="dialogButtons" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,100,AutoSize,0,Absolute,31" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||
<value>6, 13</value>
|
||||
<value>9, 20</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>466, 473</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
<value>699, 728</value>
|
||||
</data>
|
||||
<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 name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||
<value>CenterParent</value>
|
||||
|
@ -98,7 +98,7 @@ namespace Acacia.Features.SharedFolders
|
||||
UpdateReminders(shares);
|
||||
|
||||
// Remove any reminders from the shares that are not wanted, they are stale
|
||||
OpenQuery()?.RemoveStaleReminders(
|
||||
((RemindersQueryFolders) OpenQuery())?.RemoveStaleReminders(
|
||||
shares
|
||||
.Where(x => x.IsSynced && x.SyncType.IsAppointment() && x.FlagCalendarReminders)
|
||||
.Select(x => x.SyncId)
|
||||
@ -126,6 +126,18 @@ namespace Acacia.Features.SharedFolders
|
||||
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
|
||||
|
||||
#region Reminders
|
||||
@ -139,7 +151,7 @@ namespace Acacia.Features.SharedFolders
|
||||
Logger.Instance.Debug(this, "UpdateReminders: {0}", share);
|
||||
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)
|
||||
{
|
||||
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())
|
||||
{
|
||||
_query = query;
|
||||
|
@ -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,
|
||||
Dictionary<BackendId, SharedFolder> currentFolders, bool isShared)
|
||||
Dictionary<BackendId, SharedFolder> currentFolders, bool isShared, bool showRemindersWholeStore)
|
||||
:
|
||||
base(text)
|
||||
{
|
||||
@ -91,7 +102,7 @@ namespace Acacia.Features.SharedFolders
|
||||
|
||||
ChildLoader = new UserFolderLoader(this, folders, user);
|
||||
ChildLoader.ReloadOnCloseOpen = true;
|
||||
HasCheckBox = folders.SupportsWholeStore;
|
||||
HasCheckBox = folders.SupportsWholeStore && !string.IsNullOrWhiteSpace(user.EmailAddress);
|
||||
ApplyReadOnly(this, IsReadOnly);
|
||||
|
||||
// TODO: better icons, better way of handling this
|
||||
@ -109,6 +120,8 @@ namespace Acacia.Features.SharedFolders
|
||||
|
||||
// Set up sharing
|
||||
WantShare = isShared;
|
||||
ShowRemindersInitial = showRemindersWholeStore;
|
||||
ShowReminders = ShowRemindersInitial;
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
/// <summary>
|
||||
@ -289,7 +314,7 @@ namespace Acacia.Features.SharedFolders
|
||||
{
|
||||
get
|
||||
{
|
||||
return WantShare != IsShared;
|
||||
return WantShare != IsShared || ShowReminders != ShowRemindersInitial;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -46,6 +46,8 @@ namespace Acacia
|
||||
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_SHOW_REMINDERS = "KOE Reminders";
|
||||
|
||||
public const string REG_VAL_SYNC_TIMEFRAME = "KOE SyncTimeFrame";
|
||||
public const string REG_VAL_SYNC_SLIDER = "EAS SyncSlider";
|
||||
public const string REG_VAL_NEXT_ACCOUNT_ID = "NextAccountID";
|
||||
|
@ -25,7 +25,7 @@ namespace Acacia.Stubs
|
||||
/// </summary>
|
||||
/// <param name="account"></param>
|
||||
/// <param name="store"></param>
|
||||
void OpenShare(ZPushAccount account, GABUser store);
|
||||
void OpenShare(ZPushAccount account, GABUser store, bool showReminders);
|
||||
|
||||
/// <summary>
|
||||
/// Performs the actual restart.
|
||||
|
@ -15,7 +15,14 @@ namespace Acacia.Stubs.OutlookWrappers
|
||||
{
|
||||
private readonly AddInWrapper _addIn;
|
||||
private readonly List<ZPushAccount> _resyncAccounts = new List<ZPushAccount>();
|
||||
private readonly List<KeyValuePair<ZPushAccount, GABUser>> _shares = new List<KeyValuePair<ZPushAccount, GABUser>>();
|
||||
|
||||
private struct Share
|
||||
{
|
||||
public ZPushAccount account;
|
||||
public GABUser store;
|
||||
public bool showReminders;
|
||||
}
|
||||
private readonly List<Share> _shares = new List<Share>();
|
||||
|
||||
public Restarter(AddInWrapper addIn)
|
||||
{
|
||||
@ -46,9 +53,12 @@ namespace Acacia.Stubs.OutlookWrappers
|
||||
_resyncAccounts.AddRange(accounts);
|
||||
}
|
||||
|
||||
public void OpenShare(ZPushAccount account, GABUser store)
|
||||
public void OpenShare(ZPushAccount account, GABUser store, bool showReminders)
|
||||
{
|
||||
_shares.Add(new KeyValuePair<ZPushAccount, GABUser>(account, store));
|
||||
_shares.Add(new Share()
|
||||
{
|
||||
account = account, store = store, showReminders = showReminders
|
||||
});
|
||||
}
|
||||
|
||||
public void Restart()
|
||||
@ -75,16 +85,16 @@ namespace Acacia.Stubs.OutlookWrappers
|
||||
|
||||
if (_shares.Count > 0)
|
||||
{
|
||||
foreach (KeyValuePair<ZPushAccount, GABUser> share in _shares)
|
||||
foreach (Share share in _shares)
|
||||
{
|
||||
Logger.Instance.Debug(this, "Adding KOE share: profile={0}, version={1}, accountid={2}, user={3}, email={4}",
|
||||
_addIn.ProfileName, _addIn.VersionMajor, share.Key.Account.AccountId, share.Value.UserName, share.Value.EmailAddress);
|
||||
Logger.Instance.Debug(this, "Adding KOE share: profile={0}, version={1}, accountid={2}, user={3}, email={4}, reminders={5}",
|
||||
_addIn.ProfileName, _addIn.VersionMajor, share.account.Account.AccountId, share.store.UserName, share.store.EmailAddress, share.showReminders);
|
||||
// TODO: escaping
|
||||
commandLine += " /sharekoe " + Util.QuoteCommandLine(_addIn.ProfileName + ":" +
|
||||
_addIn.VersionMajor + ":" +
|
||||
share.Key.Account.AccountId + ":" +
|
||||
share.Value.UserName + ":" + share.Value.EmailAddress + ":" +
|
||||
share.Value.EmailAddress);
|
||||
share.account.Account.AccountId + ":" +
|
||||
share.store.UserName + ":" + share.store.EmailAddress + ":" +
|
||||
share.store.EmailAddress + ":1:" + (share.showReminders ? "1" : "0"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -222,6 +222,11 @@ namespace Acacia.ZPush
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsShare
|
||||
{
|
||||
get { return ShareFor != null; }
|
||||
}
|
||||
|
||||
public string ShareUserName
|
||||
{
|
||||
get
|
||||
@ -289,6 +294,19 @@ namespace Acacia.ZPush
|
||||
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
|
||||
|
||||
#region Signatures
|
||||
|
@ -54,6 +54,7 @@ static const wstring R_EMAIL = L"Email";
|
||||
static const wstring R_EMAIL_ORIGINAL = L"KOE Share For";
|
||||
static const wstring R_PASSWORD = L"EAS Password";
|
||||
static const wstring R_ONE_MONTH = L"EAS SyncSlider";
|
||||
static const wstring R_SHOW_REMINDERS = L"KOE Reminders";
|
||||
|
||||
struct Account
|
||||
{
|
||||
@ -70,6 +71,7 @@ public:
|
||||
vector<byte> encryptedPassword;
|
||||
wstring dataFolder;
|
||||
bool syncOneMonth;
|
||||
bool showReminders;
|
||||
private:
|
||||
wstring path;
|
||||
int initializedMAPI = 0;
|
||||
@ -139,7 +141,9 @@ public:
|
||||
L"\tpath=%ls\n"
|
||||
L"\tservice=%ls\n"
|
||||
L"\tentryId=%ls\n"
|
||||
L"\taccountId=%.8X\n",
|
||||
L"\taccountId=%.8X\n"
|
||||
L"\toneMonth=%d\n"
|
||||
L"\treminders=%d\n",
|
||||
prefix,
|
||||
profileName.c_str(),
|
||||
outlookVersion.c_str(),
|
||||
@ -156,7 +160,9 @@ public:
|
||||
path.c_str(),
|
||||
ToHex(&service, sizeof(service)).c_str(),
|
||||
ToHex(entryId).c_str(),
|
||||
accountId
|
||||
accountId,
|
||||
syncOneMonth ? 1 : 0,
|
||||
showReminders ? 1 : 0
|
||||
);
|
||||
}
|
||||
void Create()
|
||||
@ -504,6 +510,9 @@ private:
|
||||
if (syncOneMonth)
|
||||
WriteAccountKey(R_ONE_MONTH, (DWORD)1);
|
||||
|
||||
if (!showReminders)
|
||||
WriteAccountKey(R_SHOW_REMINDERS, (DWORD)0);
|
||||
|
||||
WriteAccountKey(L"clsid", L"{ED475415-B0D6-11D2-8C3B-00104B2A6676}");
|
||||
|
||||
WriteAccountKey(R_PASSWORD, &encryptedPassword[0], encryptedPassword.size());
|
||||
@ -654,9 +663,9 @@ int __cdecl wmain(int argc, wchar_t **argv)
|
||||
// Main
|
||||
try
|
||||
{
|
||||
if (argc < 7 || argc > 8)
|
||||
if (argc < 7 || argc > 9)
|
||||
{
|
||||
fwprintf(stderr, L"EASAccount: <profile> <outlook version> <accountid> <username> <email> <display> [1 month]\n");
|
||||
fwprintf(stderr, L"EASAccount: <profile> <outlook version> <accountid> <username> <email> <display> [1 month] [reminders]\n");
|
||||
exit(3);
|
||||
}
|
||||
|
||||
@ -672,6 +681,9 @@ int __cdecl wmain(int argc, wchar_t **argv)
|
||||
account.syncOneMonth = true;
|
||||
if (argc > 7)
|
||||
account.syncOneMonth = !wcscmp(argv[7], L"1");
|
||||
account.showReminders = true;
|
||||
if (argc > 8)
|
||||
account.showReminders = !wcscmp(argv[8], L"1");
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -340,6 +340,12 @@ msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\button
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text
|
||||
#, csharp-format
|
||||
msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text"
|
||||
msgid "Show reminders"
|
||||
msgstr ""
|
||||
|
||||
#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStore.Text
|
||||
#, csharp-format
|
||||
msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStore.Text"
|
||||
|
@ -1597,3 +1597,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2"
|
||||
msgid "2 weeks"
|
||||
msgstr ""
|
||||
|
||||
#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text
|
||||
#, csharp-format
|
||||
msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text"
|
||||
msgid "Show reminders"
|
||||
msgstr ""
|
||||
|
||||
|
@ -340,6 +340,12 @@ msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\button
|
||||
msgid "Open"
|
||||
msgstr "Open"
|
||||
|
||||
#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text
|
||||
#, csharp-format
|
||||
msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text"
|
||||
msgid "Show reminders"
|
||||
msgstr "Show reminders"
|
||||
|
||||
#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStore.Text
|
||||
#, csharp-format
|
||||
msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStore.Text"
|
||||
|
@ -1593,3 +1593,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2"
|
||||
msgid "2 weeks"
|
||||
msgstr ""
|
||||
|
||||
#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text
|
||||
#, csharp-format
|
||||
msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text"
|
||||
msgid "Show reminders"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1598,3 +1598,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2"
|
||||
msgid "2 weeks"
|
||||
msgstr ""
|
||||
|
||||
#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text
|
||||
#, csharp-format
|
||||
msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text"
|
||||
msgid "Show reminders"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1560,3 +1560,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2"
|
||||
msgid "2 weeks"
|
||||
msgstr ""
|
||||
|
||||
#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text
|
||||
#, csharp-format
|
||||
msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text"
|
||||
msgid "Show reminders"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1348,3 +1348,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2"
|
||||
msgid "2 weeks"
|
||||
msgstr ""
|
||||
|
||||
#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text
|
||||
#, csharp-format
|
||||
msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text"
|
||||
msgid "Show reminders"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1597,3 +1597,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2"
|
||||
msgid "2 weeks"
|
||||
msgstr ""
|
||||
|
||||
#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text
|
||||
#, csharp-format
|
||||
msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text"
|
||||
msgid "Show reminders"
|
||||
msgstr ""
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1352,3 +1352,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2"
|
||||
msgid "2 weeks"
|
||||
msgstr ""
|
||||
|
||||
#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text
|
||||
#, csharp-format
|
||||
msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text"
|
||||
msgid "Show reminders"
|
||||
msgstr ""
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user