mirror of
https://github.com/Kopano-dev/kopano-ol-extension.git
synced 2023-10-10 13:37:40 +02:00
[KOE-42] Out-of-office dialog now shows progress inline, like shared folders.
This commit is contained in:
parent
0c254f44d0
commit
e9ec0cd855
@ -485,6 +485,11 @@ namespace Acacia.Controls
|
||||
return Chain(new KUITask(TaskExecutor.TaskContextParam(func, TaskExecutor.OptionHelper(false, true, inUI)), false));
|
||||
}
|
||||
|
||||
public KUITask OnSuccess(Action<ResultType> func, bool inUI = false)
|
||||
{
|
||||
return Chain(new KUITask(TaskExecutor.Param(func, TaskExecutor.OptionHelper(false, true, inUI)), false));
|
||||
}
|
||||
|
||||
public KUITask<NewResultType> OnSuccess<NewResultType>(Func<ResultType, NewResultType> func, bool inUI = false)
|
||||
{
|
||||
return Chain(new KUITask<NewResultType>(TaskExecutor.Param(func, TaskExecutor.OptionHelper(false, true, inUI)), false));
|
||||
|
@ -103,7 +103,7 @@ namespace Acacia.Features.OutOfOffice
|
||||
}
|
||||
}
|
||||
|
||||
private void StoreOOFSettings(ZPushAccount account, ActiveSync.SettingsOOF settings)
|
||||
internal void StoreOOFSettings(ZPushAccount account, ActiveSync.SettingsOOF settings)
|
||||
{
|
||||
account.SetFeatureData(this, "OOF", settings);
|
||||
if (_button != null)
|
||||
@ -115,141 +115,21 @@ namespace Acacia.Features.OutOfOffice
|
||||
ZPushAccount account = Watcher.CurrentZPushAccount();
|
||||
if (account != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Fetch the current status
|
||||
ActiveSync.SettingsOOF settings;
|
||||
|
||||
try
|
||||
{
|
||||
settings = ProgressDialog.Execute("OOFGet",
|
||||
(ct) =>
|
||||
{
|
||||
using (ZPushConnection con = new ZPushConnection(account, ct))
|
||||
return con.Execute(new ActiveSync.SettingsOOFGet());
|
||||
}
|
||||
);
|
||||
}
|
||||
catch (System.Exception e)
|
||||
{
|
||||
Logger.Instance.Warning(this, "Exception getting OOF state: {0}", e);
|
||||
if (MessageBox.Show(
|
||||
Properties.Resources.OOFGet_Failed,
|
||||
Properties.Resources.OOFGet_Title,
|
||||
MessageBoxButtons.OKCancel,
|
||||
MessageBoxIcon.Error
|
||||
) != DialogResult.OK)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Initialise default settings
|
||||
settings = new ActiveSync.SettingsOOF();
|
||||
settings.Message = new ActiveSync.OOFMessage[3];
|
||||
}
|
||||
}
|
||||
|
||||
// Store them for later use
|
||||
StoreOOFSettings(account, settings);
|
||||
|
||||
// Show the dialog
|
||||
ShowOOFDialog(account, settings);
|
||||
}
|
||||
catch(System.Exception e)
|
||||
{
|
||||
Logger.Instance.Warning(this, "Exception: {0}", e);
|
||||
}
|
||||
// Show the dialog, let it fetch the settings
|
||||
ShowOOFDialog(account, null);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Shows the OOF dialog.
|
||||
/// </summary>
|
||||
/// <param name="account">The account.</param>
|
||||
/// <param name="settings">The setttings, or null, in which case the settings will be retrieved</param>
|
||||
private void ShowOOFDialog(ZPushAccount account, ActiveSync.SettingsOOF settings)
|
||||
{
|
||||
|
||||
// Show dialog
|
||||
if (new OutOfOfficeDialog(this, account, settings).ShowDialog() != DialogResult.OK)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
// Store settings
|
||||
ActiveSync.SettingsOOF actualSettings = ProgressDialog.Execute("OOFSet",
|
||||
(ct) =>
|
||||
{
|
||||
using (ZPushConnection connection = new ZPushConnection(account, ct))
|
||||
{
|
||||
// Set the OOF state. This always seems to return ok, so we fetch the settings
|
||||
// again, to see what happend
|
||||
connection.Execute(new ActiveSync.SettingsOOFSet(settings));
|
||||
|
||||
// Fetch the OOF state
|
||||
return connection.Execute(new ActiveSync.SettingsOOFGet());
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// Store them for later use
|
||||
StoreOOFSettings(account, actualSettings);
|
||||
|
||||
// Check what happened
|
||||
string message;
|
||||
MessageBoxIcon messageIcon;
|
||||
if (settings.State == ActiveSync.OOFState.Disabled)
|
||||
{
|
||||
// Tried to disable.
|
||||
if (actualSettings.State != ActiveSync.OOFState.Disabled)
|
||||
{
|
||||
// It's an error if its not actually disabled
|
||||
message = Properties.Resources.OOFSet_DisableFailed;
|
||||
messageIcon = MessageBoxIcon.Error;
|
||||
}
|
||||
else
|
||||
{
|
||||
// All good
|
||||
message = Properties.Resources.OOFSet_Disabled;
|
||||
messageIcon = MessageBoxIcon.Information;
|
||||
}
|
||||
}
|
||||
else if (actualSettings.State == ActiveSync.OOFState.Disabled)
|
||||
{
|
||||
// It's an error if the state is set to disabled when we tried to enable
|
||||
message = Properties.Resources.OOFSet_EnableFailed;
|
||||
messageIcon = MessageBoxIcon.Error;
|
||||
}
|
||||
else
|
||||
{
|
||||
// All good
|
||||
if (actualSettings.State == ActiveSync.OOFState.EnabledTimeBased)
|
||||
{
|
||||
message = string.Format(Properties.Resources.OOFSet_EnabledTimeBased,
|
||||
actualSettings.From, actualSettings.Till);
|
||||
}
|
||||
else
|
||||
{
|
||||
message = Properties.Resources.OOFSet_Enabled;
|
||||
}
|
||||
messageIcon = MessageBoxIcon.Information;
|
||||
|
||||
// It's okay if the state is not the same, but it deserves a message
|
||||
if (actualSettings.State != settings.State)
|
||||
{
|
||||
message = Properties.Resources.OOFSet_DifferentState + message;
|
||||
messageIcon = MessageBoxIcon.Warning;
|
||||
}
|
||||
}
|
||||
|
||||
Logger.Instance.Debug(this, "OOF state updated: {0}, {1}", message, messageIcon);
|
||||
MessageBox.Show(message,
|
||||
Properties.Resources.OOFSet_Title,
|
||||
MessageBoxButtons.OK,
|
||||
messageIcon
|
||||
);
|
||||
}
|
||||
catch (System.Exception e)
|
||||
{
|
||||
ErrorUtil.HandleErrorNew(this, "Exception in OOFSet", e,
|
||||
Properties.Resources.OOFSet_Title, Properties.Resources.OOFSet_Failed);
|
||||
}
|
||||
OutOfOfficeDialog dialog = new OutOfOfficeDialog(this, account, settings);
|
||||
dialog.ShowDialog();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -29,9 +29,11 @@
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OutOfOfficeDialog));
|
||||
this.tableGlobal = new System.Windows.Forms.TableLayoutPanel();
|
||||
this._layout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this._busyHider = new Acacia.Controls.KBusyHider();
|
||||
this._layoutForm = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.chkEnable = new System.Windows.Forms.CheckBox();
|
||||
this.tableDates = new System.Windows.Forms.TableLayoutPanel();
|
||||
this._layoutDates = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.radioNoTime = new System.Windows.Forms.RadioButton();
|
||||
this.radioTime = new System.Windows.Forms.RadioButton();
|
||||
this.dateFrom = new System.Windows.Forms.DateTimePicker();
|
||||
@ -43,24 +45,38 @@
|
||||
this.tableTextEntry = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.labelBody = new System.Windows.Forms.Label();
|
||||
this.textBody = new System.Windows.Forms.TextBox();
|
||||
this.flowButtons = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.btnSave = new System.Windows.Forms.Button();
|
||||
this.tableGlobal.SuspendLayout();
|
||||
this.tableDates.SuspendLayout();
|
||||
this._buttons = new Acacia.Controls.KDialogButtons();
|
||||
this._layout.SuspendLayout();
|
||||
this._busyHider.SuspendLayout();
|
||||
this._layoutForm.SuspendLayout();
|
||||
this._layoutDates.SuspendLayout();
|
||||
this.groupTextEntry.SuspendLayout();
|
||||
this.tableTextEntry.SuspendLayout();
|
||||
this.flowButtons.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tableGlobal
|
||||
// _layout
|
||||
//
|
||||
resources.ApplyResources(this.tableGlobal, "tableGlobal");
|
||||
this.tableGlobal.Controls.Add(this.chkEnable, 0, 0);
|
||||
this.tableGlobal.Controls.Add(this.tableDates, 0, 1);
|
||||
this.tableGlobal.Controls.Add(this.groupTextEntry, 0, 2);
|
||||
this.tableGlobal.Controls.Add(this.flowButtons, 0, 3);
|
||||
this.tableGlobal.Name = "tableGlobal";
|
||||
resources.ApplyResources(this._layout, "_layout");
|
||||
this._layout.Controls.Add(this._busyHider, 0, 0);
|
||||
this._layout.Controls.Add(this._buttons, 0, 1);
|
||||
this._layout.Name = "_layout";
|
||||
//
|
||||
// _busyHider
|
||||
//
|
||||
this._busyHider.Busy = false;
|
||||
this._busyHider.BusyText = null;
|
||||
this._busyHider.Cancellation = null;
|
||||
this._busyHider.Controls.Add(this._layoutForm);
|
||||
resources.ApplyResources(this._busyHider, "_busyHider");
|
||||
this._busyHider.Name = "_busyHider";
|
||||
//
|
||||
// _layoutForm
|
||||
//
|
||||
resources.ApplyResources(this._layoutForm, "_layoutForm");
|
||||
this._layoutForm.Controls.Add(this.chkEnable, 0, 0);
|
||||
this._layoutForm.Controls.Add(this._layoutDates, 0, 1);
|
||||
this._layoutForm.Controls.Add(this.groupTextEntry, 0, 2);
|
||||
this._layoutForm.Name = "_layoutForm";
|
||||
//
|
||||
// chkEnable
|
||||
//
|
||||
@ -69,23 +85,23 @@
|
||||
this.chkEnable.UseVisualStyleBackColor = true;
|
||||
this.chkEnable.CheckedChanged += new System.EventHandler(this.chkEnable_CheckedChanged);
|
||||
//
|
||||
// tableDates
|
||||
// _layoutDates
|
||||
//
|
||||
resources.ApplyResources(this.tableDates, "tableDates");
|
||||
this.tableDates.Controls.Add(this.radioNoTime, 0, 0);
|
||||
this.tableDates.Controls.Add(this.radioTime, 0, 1);
|
||||
this.tableDates.Controls.Add(this.dateFrom, 1, 1);
|
||||
this.tableDates.Controls.Add(this.timeFrom, 2, 1);
|
||||
this.tableDates.Controls.Add(this.labelTill, 0, 2);
|
||||
this.tableDates.Controls.Add(this.dateTill, 1, 2);
|
||||
this.tableDates.Controls.Add(this.timeTill, 2, 2);
|
||||
this.tableDates.Name = "tableDates";
|
||||
resources.ApplyResources(this._layoutDates, "_layoutDates");
|
||||
this._layoutDates.Controls.Add(this.radioNoTime, 0, 0);
|
||||
this._layoutDates.Controls.Add(this.radioTime, 0, 1);
|
||||
this._layoutDates.Controls.Add(this.dateFrom, 1, 1);
|
||||
this._layoutDates.Controls.Add(this.timeFrom, 2, 1);
|
||||
this._layoutDates.Controls.Add(this.labelTill, 0, 2);
|
||||
this._layoutDates.Controls.Add(this.dateTill, 1, 2);
|
||||
this._layoutDates.Controls.Add(this.timeTill, 2, 2);
|
||||
this._layoutDates.Name = "_layoutDates";
|
||||
//
|
||||
// radioNoTime
|
||||
//
|
||||
resources.ApplyResources(this.radioNoTime, "radioNoTime");
|
||||
this.radioNoTime.Checked = true;
|
||||
this.tableDates.SetColumnSpan(this.radioNoTime, 3);
|
||||
this._layoutDates.SetColumnSpan(this.radioNoTime, 3);
|
||||
this.radioNoTime.Name = "radioNoTime";
|
||||
this.radioNoTime.TabStop = true;
|
||||
this.radioNoTime.UseVisualStyleBackColor = true;
|
||||
@ -128,6 +144,7 @@
|
||||
this.timeTill.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
|
||||
this.timeTill.Name = "timeTill";
|
||||
this.timeTill.ShowUpDown = true;
|
||||
this.timeTill.ValueChanged += new System.EventHandler(this.timeTill_ValueChanged);
|
||||
//
|
||||
// groupTextEntry
|
||||
//
|
||||
@ -153,73 +170,60 @@
|
||||
this.textBody.AcceptsReturn = true;
|
||||
resources.ApplyResources(this.textBody, "textBody");
|
||||
this.textBody.Name = "textBody";
|
||||
this.textBody.TextChanged += new System.EventHandler(this.textBody_TextChanged);
|
||||
//
|
||||
// flowButtons
|
||||
// _buttons
|
||||
//
|
||||
resources.ApplyResources(this.flowButtons, "flowButtons");
|
||||
this.flowButtons.Controls.Add(this.btnCancel);
|
||||
this.flowButtons.Controls.Add(this.btnSave);
|
||||
this.flowButtons.Name = "flowButtons";
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
resources.ApplyResources(this.btnCancel, "btnCancel");
|
||||
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnSave
|
||||
//
|
||||
resources.ApplyResources(this.btnSave, "btnSave");
|
||||
this.btnSave.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.btnSave.Name = "btnSave";
|
||||
this.btnSave.UseVisualStyleBackColor = true;
|
||||
resources.ApplyResources(this._buttons, "_buttons");
|
||||
this._buttons.ButtonSize = null;
|
||||
this._buttons.Cancellation = null;
|
||||
this._buttons.HasApply = true;
|
||||
this._buttons.IsDirty = false;
|
||||
this._buttons.Name = "_buttons";
|
||||
this._buttons.Apply += new System.EventHandler(this._buttons_Apply);
|
||||
//
|
||||
// OutOfOfficeDialog
|
||||
//
|
||||
this.AcceptButton = this.btnSave;
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.btnCancel;
|
||||
this.Controls.Add(this.tableGlobal);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.BusyHider = this._busyHider;
|
||||
this.Controls.Add(this._layout);
|
||||
this.DialogButtons = this._buttons;
|
||||
this.Name = "OutOfOfficeDialog";
|
||||
this.ShowInTaskbar = false;
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show;
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.OutOfOfficeDialog_FormClosed);
|
||||
this.tableGlobal.ResumeLayout(false);
|
||||
this.tableGlobal.PerformLayout();
|
||||
this.tableDates.ResumeLayout(false);
|
||||
this.tableDates.PerformLayout();
|
||||
this.DirtyFormClosing += new System.Windows.Forms.FormClosingEventHandler(this.OutOfOfficeDialog_DirtyFormClosing);
|
||||
this.Shown += new System.EventHandler(this.OutOfOfficeDialog_Shown);
|
||||
this._layout.ResumeLayout(false);
|
||||
this._layout.PerformLayout();
|
||||
this._busyHider.ResumeLayout(false);
|
||||
this._layoutForm.ResumeLayout(false);
|
||||
this._layoutForm.PerformLayout();
|
||||
this._layoutDates.ResumeLayout(false);
|
||||
this._layoutDates.PerformLayout();
|
||||
this.groupTextEntry.ResumeLayout(false);
|
||||
this.groupTextEntry.PerformLayout();
|
||||
this.tableTextEntry.ResumeLayout(false);
|
||||
this.tableTextEntry.PerformLayout();
|
||||
this.flowButtons.ResumeLayout(false);
|
||||
this.flowButtons.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TableLayoutPanel tableGlobal;
|
||||
private System.Windows.Forms.TableLayoutPanel _layout;
|
||||
private Controls.KDialogButtons _buttons;
|
||||
private System.Windows.Forms.TableLayoutPanel _layoutForm;
|
||||
private System.Windows.Forms.CheckBox chkEnable;
|
||||
private System.Windows.Forms.TableLayoutPanel _layoutDates;
|
||||
private System.Windows.Forms.RadioButton radioNoTime;
|
||||
private System.Windows.Forms.GroupBox groupTextEntry;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowButtons;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private System.Windows.Forms.Button btnSave;
|
||||
private System.Windows.Forms.TableLayoutPanel tableDates;
|
||||
private System.Windows.Forms.RadioButton radioTime;
|
||||
private System.Windows.Forms.DateTimePicker dateFrom;
|
||||
private System.Windows.Forms.DateTimePicker timeFrom;
|
||||
private System.Windows.Forms.Label labelTill;
|
||||
private System.Windows.Forms.DateTimePicker dateTill;
|
||||
private System.Windows.Forms.DateTimePicker timeTill;
|
||||
private System.Windows.Forms.GroupBox groupTextEntry;
|
||||
private System.Windows.Forms.TableLayoutPanel tableTextEntry;
|
||||
private System.Windows.Forms.Label labelBody;
|
||||
private System.Windows.Forms.TextBox textBody;
|
||||
private System.Windows.Forms.DateTimePicker timeFrom;
|
||||
private System.Windows.Forms.DateTimePicker timeTill;
|
||||
private System.Windows.Forms.Label labelTill;
|
||||
private Controls.KBusyHider _busyHider;
|
||||
}
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
/// Copyright 2016 Kopano b.v.
|
||||
|
||||
using Acacia.Controls;
|
||||
/// Copyright 2016 Kopano b.v.
|
||||
///
|
||||
/// This program is free software: you can redistribute it and/or modify
|
||||
/// it under the terms of the GNU Affero General Public License, version 3,
|
||||
@ -13,10 +15,10 @@
|
||||
/// along with this program.If not, see<http://www.gnu.org/licenses/>.
|
||||
///
|
||||
/// Consult LICENSE file for details
|
||||
|
||||
using Acacia.UI;
|
||||
using Acacia.Utils;
|
||||
using Acacia.ZPush;
|
||||
using Acacia.ZPush.Connect;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
@ -31,17 +33,24 @@ using System.Windows.Forms;
|
||||
|
||||
namespace Acacia.Features.OutOfOffice
|
||||
{
|
||||
public partial class OutOfOfficeDialog : KopanoDialog
|
||||
public partial class OutOfOfficeDialog : KDialogNew
|
||||
{
|
||||
private readonly FeatureOutOfOffice _feature;
|
||||
private readonly ZPushAccount _account;
|
||||
private ActiveSync.SettingsOOF _settings;
|
||||
private readonly bool _haveTimes;
|
||||
private bool _haveTimes;
|
||||
|
||||
/// <summary>
|
||||
/// Set if an old date is fetched from the settings. In this case, the date limit is relaxed to allow setting it.
|
||||
/// </summary>
|
||||
private readonly bool _haveOldDate;
|
||||
private bool _haveOldDate;
|
||||
|
||||
public OutOfOfficeDialog(FeatureOutOfOffice owner, ZPushAccount account, ActiveSync.SettingsOOF settings)
|
||||
#region Init
|
||||
|
||||
public OutOfOfficeDialog(FeatureOutOfOffice feature, ZPushAccount account, ActiveSync.SettingsOOF settings)
|
||||
{
|
||||
this._feature = feature;
|
||||
this._account = account;
|
||||
this._settings = settings;
|
||||
|
||||
InitializeComponent();
|
||||
@ -66,16 +75,33 @@ namespace Acacia.Features.OutOfOffice
|
||||
// Enable controls
|
||||
chkEnable_CheckedChanged(chkEnable, null);
|
||||
radioTime_CheckedChanged(radioTime, null);
|
||||
}
|
||||
|
||||
private void OutOfOfficeDialog_Shown(object sender, EventArgs e)
|
||||
{
|
||||
if (_settings == null)
|
||||
{
|
||||
// If the settings are not yet available, load them
|
||||
LoadSettings();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Otherwise initialise them now
|
||||
InitSettings();
|
||||
}
|
||||
}
|
||||
|
||||
private void InitSettings()
|
||||
{
|
||||
// Hide time options, only if it is known that these are not supported
|
||||
_haveTimes = _settings.SupportsTimes != false;
|
||||
if (!_haveTimes)
|
||||
{
|
||||
tableDates.Visible = false;
|
||||
_layoutDates.Visible = false;
|
||||
}
|
||||
|
||||
// Load settings
|
||||
switch(owner.GetEffectiveState(settings))
|
||||
switch(_feature.GetEffectiveState(_settings))
|
||||
{
|
||||
case ActiveSync.OOFState.Disabled:
|
||||
chkEnable.Checked = false;
|
||||
@ -88,95 +114,61 @@ namespace Acacia.Features.OutOfOffice
|
||||
chkEnable.Checked = true;
|
||||
radioTime.Checked = true;
|
||||
|
||||
_haveOldDate = settings.Till.Value.CompareTo(DateTime.Today) <= 0;
|
||||
dateFrom.Value = settings.From.Value;
|
||||
timeFrom.Value = settings.From.Value;
|
||||
_haveOldDate = _settings.Till.Value.CompareTo(DateTime.Today) <= 0;
|
||||
dateFrom.Value = _settings.From.Value;
|
||||
timeFrom.Value = _settings.From.Value;
|
||||
|
||||
dateTill.Value = settings.Till.Value;
|
||||
timeTill.Value = settings.Till.Value;
|
||||
dateTill.Value = _settings.Till.Value;
|
||||
timeTill.Value = _settings.Till.Value;
|
||||
break;
|
||||
}
|
||||
|
||||
textBody.Text = settings.Message[(int)ActiveSync.OOFTarget.Internal]?.Message;
|
||||
textBody.Text = _settings.Message[(int)ActiveSync.OOFTarget.Internal]?.Message;
|
||||
|
||||
// Set up limits
|
||||
SetTillTimeLimit();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Event handlers
|
||||
|
||||
private void chkEnable_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
tableDates.Enabled = chkEnable.Checked;
|
||||
_layoutDates.Enabled = chkEnable.Checked;
|
||||
groupTextEntry.Enabled = chkEnable.Checked;
|
||||
CheckDirty();
|
||||
}
|
||||
|
||||
private void radioTime_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
dateFrom.Enabled = timeFrom.Enabled = radioTime.Checked;
|
||||
dateTill.Enabled = timeTill.Enabled = radioTime.Checked;
|
||||
CheckDirty();
|
||||
}
|
||||
|
||||
private void OutOfOfficeDialog_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
// Save the settings
|
||||
_settings.From = null;
|
||||
_settings.Till = null;
|
||||
|
||||
if (chkEnable.Checked)
|
||||
{
|
||||
if (radioNoTime.Checked || !_haveTimes)
|
||||
{
|
||||
_settings.State = ActiveSync.OOFState.Enabled;
|
||||
}
|
||||
else
|
||||
{
|
||||
_settings.State = ActiveSync.OOFState.EnabledTimeBased;
|
||||
_settings.From = GetDateTime(dateFrom, timeFrom);
|
||||
_settings.Till = GetDateTime(dateTill, timeTill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_settings.State = ActiveSync.OOFState.Disabled;
|
||||
}
|
||||
|
||||
// Always set the message, so it's stored
|
||||
string message = textBody.Text;
|
||||
for (int i = 0; i < 3; ++i)
|
||||
{
|
||||
_settings.Message[i] = new ActiveSync.OOFMessage();
|
||||
_settings.Message[i].Message = message;
|
||||
}
|
||||
}
|
||||
|
||||
private DateTime GetDateTime(DateTimePicker dateControl, DateTimePicker timeControl)
|
||||
{
|
||||
DateTime date = dateControl.Value;
|
||||
DateTime time = timeControl.Value;
|
||||
DateTime combined = new DateTime(date.Year, date.Month, date.Day);
|
||||
combined = combined.Add(time.TimeOfDay);
|
||||
return combined;
|
||||
}
|
||||
|
||||
#region Date/Time checking
|
||||
|
||||
private void dateFrom_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
SetTillTimeLimit();
|
||||
CheckDirty();
|
||||
}
|
||||
|
||||
private void timeFrom_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
SetTillTimeLimit();
|
||||
CheckDirty();
|
||||
}
|
||||
|
||||
private void dateTill_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
SetTillTimeLimit();
|
||||
CheckDirty();
|
||||
}
|
||||
|
||||
private void timeTill_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
SetTillTimeLimit();
|
||||
CheckDirty();
|
||||
}
|
||||
|
||||
private void SetTillTimeLimit()
|
||||
@ -195,6 +187,212 @@ namespace Acacia.Features.OutOfOffice
|
||||
}
|
||||
}
|
||||
|
||||
private void textBody_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
CheckDirty();
|
||||
}
|
||||
|
||||
private void CheckDirty()
|
||||
{
|
||||
ActiveSync.SettingsOOF settings = GetSettings();
|
||||
_buttons.IsDirty = _settings != null && !_settings.Equals(settings);
|
||||
}
|
||||
|
||||
private void OutOfOfficeDialog_DirtyFormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
// Require confirmation before closing a dirty form
|
||||
e.Cancel = MessageBox.Show(Properties.Resources.OOF_Unsaved_Changes,
|
||||
Text,
|
||||
MessageBoxButtons.YesNo,
|
||||
MessageBoxIcon.Question
|
||||
) != DialogResult.Yes;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Settings
|
||||
|
||||
private ActiveSync.SettingsOOF GetSettings()
|
||||
{
|
||||
ActiveSync.SettingsOOF settings = new ActiveSync.SettingsOOF(true);
|
||||
|
||||
if (chkEnable.Checked)
|
||||
{
|
||||
if (radioNoTime.Checked || !_haveTimes)
|
||||
{
|
||||
settings.State = ActiveSync.OOFState.Enabled;
|
||||
}
|
||||
else
|
||||
{
|
||||
settings.State = ActiveSync.OOFState.EnabledTimeBased;
|
||||
settings.From = GetDateTime(dateFrom, timeFrom);
|
||||
settings.Till = GetDateTime(dateTill, timeTill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
settings.State = ActiveSync.OOFState.Disabled;
|
||||
}
|
||||
|
||||
// Always set the message, so it's stored
|
||||
string message = textBody.Text;
|
||||
for (int i = 0; i < 3; ++i)
|
||||
{
|
||||
settings.Message[i] = new ActiveSync.OOFMessage();
|
||||
settings.Message[i].Message = message;
|
||||
}
|
||||
|
||||
return settings;
|
||||
}
|
||||
|
||||
private DateTime GetDateTime(DateTimePicker dateControl, DateTimePicker timeControl)
|
||||
{
|
||||
DateTime date = dateControl.Value;
|
||||
DateTime time = timeControl.Value;
|
||||
DateTime combined = new DateTime(date.Year, date.Month, date.Day);
|
||||
combined = combined.Add(time.TimeOfDay);
|
||||
return combined;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Load and save
|
||||
|
||||
private void LoadSettings()
|
||||
{
|
||||
BusyText = Properties.Resources.OOFGet_Label;
|
||||
KUITask
|
||||
.New((ctx) =>
|
||||
{
|
||||
using (ZPushConnection con = new ZPushConnection(_account, ctx.CancellationToken))
|
||||
{
|
||||
_settings = con.Execute(new ActiveSync.SettingsOOFGet());
|
||||
}
|
||||
})
|
||||
.OnSuccess(InitSettings, true)
|
||||
.OnError((e) =>
|
||||
{
|
||||
Logger.Instance.Warning(this, "Exception getting OOF state: {0}", e);
|
||||
if (MessageBox.Show(
|
||||
Properties.Resources.OOFGet_Failed,
|
||||
Properties.Resources.OOFGet_Title,
|
||||
MessageBoxButtons.OKCancel,
|
||||
MessageBoxIcon.Error
|
||||
) != DialogResult.OK)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Initialise default settings
|
||||
_settings = new ActiveSync.SettingsOOF(true);
|
||||
InitSettings();
|
||||
}
|
||||
})
|
||||
.Start(this)
|
||||
;
|
||||
}
|
||||
|
||||
private void _buttons_Apply(object sender, EventArgs e)
|
||||
{
|
||||
BusyText = Properties.Resources.OOFSet_Label;
|
||||
ActiveSync.SettingsOOF currentSettings = GetSettings();
|
||||
KUITask
|
||||
.New((ctx) =>
|
||||
{
|
||||
using (ZPushConnection connection = new ZPushConnection(_account, ctx.CancellationToken))
|
||||
{
|
||||
// Set the OOF state. This always seems to return ok, so we fetch the settings
|
||||
// again, to see what happend
|
||||
connection.Execute(new ActiveSync.SettingsOOFSet(currentSettings));
|
||||
|
||||
// Fetch the OOF state
|
||||
return connection.Execute(new ActiveSync.SettingsOOFGet());
|
||||
}
|
||||
})
|
||||
.OnSuccess((appliedSettings) =>
|
||||
{
|
||||
// Store them for later use
|
||||
_feature.StoreOOFSettings(_account, appliedSettings);
|
||||
|
||||
// Check what happened
|
||||
string message;
|
||||
MessageBoxIcon messageIcon;
|
||||
if (currentSettings.State == ActiveSync.OOFState.Disabled)
|
||||
{
|
||||
// Tried to disable.
|
||||
if (appliedSettings.State != ActiveSync.OOFState.Disabled)
|
||||
{
|
||||
// It's an error if its not actually disabled
|
||||
message = Properties.Resources.OOFSet_DisableFailed;
|
||||
messageIcon = MessageBoxIcon.Error;
|
||||
}
|
||||
else
|
||||
{
|
||||
// All good
|
||||
message = Properties.Resources.OOFSet_Disabled;
|
||||
messageIcon = MessageBoxIcon.Information;
|
||||
}
|
||||
}
|
||||
else if (appliedSettings.State == ActiveSync.OOFState.Disabled)
|
||||
{
|
||||
// It's an error if the state is set to disabled when we tried to enable
|
||||
message = Properties.Resources.OOFSet_EnableFailed;
|
||||
messageIcon = MessageBoxIcon.Error;
|
||||
}
|
||||
else
|
||||
{
|
||||
// All good
|
||||
if (appliedSettings.State == ActiveSync.OOFState.EnabledTimeBased)
|
||||
{
|
||||
message = string.Format(Properties.Resources.OOFSet_EnabledTimeBased,
|
||||
appliedSettings.From, appliedSettings.Till);
|
||||
}
|
||||
else
|
||||
{
|
||||
message = Properties.Resources.OOFSet_Enabled;
|
||||
}
|
||||
messageIcon = MessageBoxIcon.Information;
|
||||
|
||||
// It's okay if the state is not the same, but it deserves a message
|
||||
if (appliedSettings.State != currentSettings.State)
|
||||
{
|
||||
message = Properties.Resources.OOFSet_DifferentState + message;
|
||||
messageIcon = MessageBoxIcon.Warning;
|
||||
}
|
||||
}
|
||||
|
||||
Logger.Instance.Debug(this, "OOF state updated: {0}, {1}", message, messageIcon);
|
||||
MessageBox.Show(message,
|
||||
Properties.Resources.OOFSet_Title,
|
||||
MessageBoxButtons.OK,
|
||||
messageIcon
|
||||
);
|
||||
|
||||
if (messageIcon == MessageBoxIcon.Information)
|
||||
{
|
||||
// All good, close the dialog
|
||||
_buttons.IsDirty = false;
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
// There was a problem, initialise the dialog to what's set.
|
||||
_settings = appliedSettings;
|
||||
InitSettings();
|
||||
CheckDirty();
|
||||
}
|
||||
|
||||
}, true)
|
||||
.OnError((x) =>
|
||||
{
|
||||
ErrorUtil.HandleErrorNew(this, "Exception in OOFSet", x,
|
||||
Properties.Resources.OOFSet_Title, Properties.Resources.OOFSet_Failed);
|
||||
})
|
||||
.Start(this)
|
||||
;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
@ -117,26 +117,29 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="tableGlobal.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="tableGlobal.ColumnCount" type="System.Int32, mscorlib">
|
||||
<data name="_layout.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="_layoutForm.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="chkEnable.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="chkEnable.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="chkEnable.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>2, 2</value>
|
||||
<value>6, 5</value>
|
||||
</data>
|
||||
<data name="chkEnable.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
<value>6, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="chkEnable.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>197, 17</value>
|
||||
<value>515, 36</value>
|
||||
</data>
|
||||
<data name="chkEnable.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -151,21 +154,21 @@
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>chkEnable.Parent" xml:space="preserve">
|
||||
<value>tableGlobal</value>
|
||||
<value>_layoutForm</value>
|
||||
</data>
|
||||
<data name=">>chkEnable.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableDates.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<data name="_layoutDates.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="tableDates.AutoSize" type="System.Boolean, mscorlib">
|
||||
<data name="_layoutDates.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="tableDates.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<data name="_layoutDates.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableDates.ColumnCount" type="System.Int32, mscorlib">
|
||||
<data name="_layoutDates.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="radioNoTime.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
@ -174,14 +177,17 @@
|
||||
<data name="radioNoTime.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="radioNoTime.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="radioNoTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>18, 2</value>
|
||||
<value>48, 5</value>
|
||||
</data>
|
||||
<data name="radioNoTime.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>18, 2, 2, 2</value>
|
||||
<value>48, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="radioNoTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>109, 17</value>
|
||||
<value>279, 36</value>
|
||||
</data>
|
||||
<data name="radioNoTime.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
@ -196,7 +202,7 @@
|
||||
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>radioNoTime.Parent" xml:space="preserve">
|
||||
<value>tableDates</value>
|
||||
<value>_layoutDates</value>
|
||||
</data>
|
||||
<data name=">>radioNoTime.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
@ -207,14 +213,17 @@
|
||||
<data name="radioTime.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="radioTime.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="radioTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>18, 23</value>
|
||||
<value>48, 51</value>
|
||||
</data>
|
||||
<data name="radioTime.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>18, 2, 2, 2</value>
|
||||
<value>48, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="radioTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>45, 20</value>
|
||||
<value>108, 38</value>
|
||||
</data>
|
||||
<data name="radioTime.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
@ -229,19 +238,19 @@
|
||||
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>radioTime.Parent" xml:space="preserve">
|
||||
<value>tableDates</value>
|
||||
<value>_layoutDates</value>
|
||||
</data>
|
||||
<data name=">>radioTime.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="dateFrom.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>67, 23</value>
|
||||
<value>170, 51</value>
|
||||
</data>
|
||||
<data name="dateFrom.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
<value>6, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="dateFrom.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>128, 20</value>
|
||||
<value>334, 38</value>
|
||||
</data>
|
||||
<data name="dateFrom.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
@ -253,7 +262,7 @@
|
||||
<value>System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>dateFrom.Parent" xml:space="preserve">
|
||||
<value>tableDates</value>
|
||||
<value>_layoutDates</value>
|
||||
</data>
|
||||
<data name=">>dateFrom.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
@ -262,13 +271,13 @@
|
||||
<value>HH:mm</value>
|
||||
</data>
|
||||
<data name="timeFrom.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>199, 23</value>
|
||||
<value>516, 51</value>
|
||||
</data>
|
||||
<data name="timeFrom.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
<value>6, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="timeFrom.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>66, 20</value>
|
||||
<value>170, 38</value>
|
||||
</data>
|
||||
<data name="timeFrom.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
@ -280,7 +289,7 @@
|
||||
<value>System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>timeFrom.Parent" xml:space="preserve">
|
||||
<value>tableDates</value>
|
||||
<value>_layoutDates</value>
|
||||
</data>
|
||||
<data name=">>timeFrom.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
@ -291,14 +300,17 @@
|
||||
<data name="labelTill.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelTill.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelTill.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>33, 45</value>
|
||||
<value>89, 94</value>
|
||||
</data>
|
||||
<data name="labelTill.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>33, 0, 2, 0</value>
|
||||
<value>89, 0, 6, 0</value>
|
||||
</data>
|
||||
<data name="labelTill.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>30, 24</value>
|
||||
<value>69, 48</value>
|
||||
</data>
|
||||
<data name="labelTill.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
@ -316,19 +328,19 @@
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelTill.Parent" xml:space="preserve">
|
||||
<value>tableDates</value>
|
||||
<value>_layoutDates</value>
|
||||
</data>
|
||||
<data name=">>labelTill.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="dateTill.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>67, 47</value>
|
||||
<value>170, 99</value>
|
||||
</data>
|
||||
<data name="dateTill.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
<value>6, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="dateTill.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>128, 20</value>
|
||||
<value>334, 38</value>
|
||||
</data>
|
||||
<data name="dateTill.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
@ -340,7 +352,7 @@
|
||||
<value>System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>dateTill.Parent" xml:space="preserve">
|
||||
<value>tableDates</value>
|
||||
<value>_layoutDates</value>
|
||||
</data>
|
||||
<data name=">>dateTill.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
@ -349,13 +361,13 @@
|
||||
<value>HH:mm</value>
|
||||
</data>
|
||||
<data name="timeTill.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>199, 47</value>
|
||||
<value>516, 99</value>
|
||||
</data>
|
||||
<data name="timeTill.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
<value>6, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="timeTill.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>66, 20</value>
|
||||
<value>170, 38</value>
|
||||
</data>
|
||||
<data name="timeTill.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
@ -367,40 +379,40 @@
|
||||
<value>System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>timeTill.Parent" xml:space="preserve">
|
||||
<value>tableDates</value>
|
||||
<value>_layoutDates</value>
|
||||
</data>
|
||||
<data name=">>timeTill.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="tableDates.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 21</value>
|
||||
<data name="_layoutDates.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 46</value>
|
||||
</data>
|
||||
<data name="tableDates.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<data name="_layoutDates.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="tableDates.RowCount" type="System.Int32, mscorlib">
|
||||
<data name="_layoutDates.RowCount" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="tableDates.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>323, 69</value>
|
||||
<data name="_layoutDates.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>863, 142</value>
|
||||
</data>
|
||||
<data name="tableDates.TabIndex" type="System.Int32, mscorlib">
|
||||
<data name="_layoutDates.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>tableDates.Name" xml:space="preserve">
|
||||
<value>tableDates</value>
|
||||
<data name=">>_layoutDates.Name" xml:space="preserve">
|
||||
<value>_layoutDates</value>
|
||||
</data>
|
||||
<data name=">>tableDates.Type" xml:space="preserve">
|
||||
<data name=">>_layoutDates.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableDates.Parent" xml:space="preserve">
|
||||
<value>tableGlobal</value>
|
||||
<data name=">>_layoutDates.Parent" xml:space="preserve">
|
||||
<value>_layoutForm</value>
|
||||
</data>
|
||||
<data name=">>tableDates.ZOrder" xml:space="preserve">
|
||||
<data name=">>_layoutDates.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableDates.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="radioNoTime" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="radioTime" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="dateFrom" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="timeFrom" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="labelTill" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="dateTill" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="timeTill" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,AutoSize,0,Absolute,15" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
<data name="_layoutDates.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="radioNoTime" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="radioTime" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="dateFrom" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="timeFrom" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="labelTill" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="dateTill" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="timeTill" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,AutoSize,0,Absolute,41" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="groupTextEntry.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
@ -423,14 +435,17 @@
|
||||
<data name="labelBody.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelBody.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelBody.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>2, 5</value>
|
||||
<value>6, 12</value>
|
||||
</data>
|
||||
<data name="labelBody.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 5, 2, 0</value>
|
||||
<value>6, 12, 6, 0</value>
|
||||
</data>
|
||||
<data name="labelBody.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>286, 13</value>
|
||||
<value>756, 32</value>
|
||||
</data>
|
||||
<data name="labelBody.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
@ -454,10 +469,10 @@
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="textBody.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>2, 20</value>
|
||||
<value>6, 49</value>
|
||||
</data>
|
||||
<data name="textBody.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
<value>6, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="textBody.Multiline" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -466,7 +481,7 @@
|
||||
<value>Vertical</value>
|
||||
</data>
|
||||
<data name="textBody.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>309, 128</value>
|
||||
<value>823, 358</value>
|
||||
</data>
|
||||
<data name="textBody.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
@ -484,16 +499,16 @@
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableTextEntry.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 11</value>
|
||||
<value>9, 26</value>
|
||||
</data>
|
||||
<data name="tableTextEntry.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
<value>6, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="tableTextEntry.RowCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableTextEntry.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>313, 150</value>
|
||||
<value>835, 412</value>
|
||||
</data>
|
||||
<data name="tableTextEntry.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -511,19 +526,19 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableTextEntry.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelBody" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textBody" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,Percent,100,Absolute,20,Absolute,20" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelBody" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textBody" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,Percent,100,Absolute,48,Absolute,48" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="groupTextEntry.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>2, 92</value>
|
||||
<value>6, 193</value>
|
||||
</data>
|
||||
<data name="groupTextEntry.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
<value>6, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="groupTextEntry.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
<value>6, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="groupTextEntry.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>319, 167</value>
|
||||
<value>851, 453</value>
|
||||
</data>
|
||||
<data name="groupTextEntry.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
@ -535,148 +550,151 @@
|
||||
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>groupTextEntry.Parent" xml:space="preserve">
|
||||
<value>tableGlobal</value>
|
||||
<value>_layoutForm</value>
|
||||
</data>
|
||||
<data name=">>groupTextEntry.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="flowButtons.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
<data name="_layoutForm.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="btnCancel.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
<data name="_layoutForm.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>256, 2</value>
|
||||
<data name="_layoutForm.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>6, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="btnCancel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
<data name="_layoutForm.RowCount" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>61, 27</value>
|
||||
<data name="_layoutForm.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>863, 651</value>
|
||||
</data>
|
||||
<data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="btnCancel.Text" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name=">>btnCancel.Name" xml:space="preserve">
|
||||
<value>btnCancel</value>
|
||||
</data>
|
||||
<data name=">>btnCancel.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>btnCancel.Parent" xml:space="preserve">
|
||||
<value>flowButtons</value>
|
||||
</data>
|
||||
<data name=">>btnCancel.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="btnSave.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="btnSave.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>191, 2</value>
|
||||
</data>
|
||||
<data name="btnSave.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
</data>
|
||||
<data name="btnSave.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>61, 27</value>
|
||||
</data>
|
||||
<data name="btnSave.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="btnSave.Text" xml:space="preserve">
|
||||
<value>Save</value>
|
||||
</data>
|
||||
<data name=">>btnSave.Name" xml:space="preserve">
|
||||
<value>btnSave</value>
|
||||
</data>
|
||||
<data name=">>btnSave.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>btnSave.Parent" xml:space="preserve">
|
||||
<value>flowButtons</value>
|
||||
</data>
|
||||
<data name=">>btnSave.ZOrder" xml:space="preserve">
|
||||
<data name="_layoutForm.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="flowButtons.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
|
||||
<value>RightToLeft</value>
|
||||
<data name=">>_layoutForm.Name" xml:space="preserve">
|
||||
<value>_layoutForm</value>
|
||||
</data>
|
||||
<data name="flowButtons.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>2, 263</value>
|
||||
</data>
|
||||
<data name="flowButtons.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
</data>
|
||||
<data name="flowButtons.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>319, 31</value>
|
||||
</data>
|
||||
<data name="flowButtons.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name=">>flowButtons.Name" xml:space="preserve">
|
||||
<value>flowButtons</value>
|
||||
</data>
|
||||
<data name=">>flowButtons.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>flowButtons.Parent" xml:space="preserve">
|
||||
<value>tableGlobal</value>
|
||||
</data>
|
||||
<data name=">>flowButtons.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="tableGlobal.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 4</value>
|
||||
</data>
|
||||
<data name="tableGlobal.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
</data>
|
||||
<data name="tableGlobal.RowCount" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="tableGlobal.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>323, 296</value>
|
||||
</data>
|
||||
<data name="tableGlobal.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tableGlobal.Name" xml:space="preserve">
|
||||
<value>tableGlobal</value>
|
||||
</data>
|
||||
<data name=">>tableGlobal.Type" xml:space="preserve">
|
||||
<data name=">>_layoutForm.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableGlobal.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
<data name=">>_layoutForm.Parent" xml:space="preserve">
|
||||
<value>_busyHider</value>
|
||||
</data>
|
||||
<data name=">>tableGlobal.ZOrder" xml:space="preserve">
|
||||
<data name=">>_layoutForm.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableGlobal.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="chkEnable" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableDates" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="groupTextEntry" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="flowButtons" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,Percent,100,AutoSize,0,Absolute,16" /></TableLayoutSettings></value>
|
||||
<data name="_layoutForm.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="chkEnable" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="_layoutDates" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="groupTextEntry" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,Percent,100,Absolute,20" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="_busyHider.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="_busyHider.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="_busyHider.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>863, 651</value>
|
||||
</data>
|
||||
<data name="_busyHider.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="_busyHider.Text" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name=">>_busyHider.Name" xml:space="preserve">
|
||||
<value>_busyHider</value>
|
||||
</data>
|
||||
<data name=">>_busyHider.Type" xml:space="preserve">
|
||||
<value>Acacia.Controls.KBusyHider, Kopano, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>_busyHider.Parent" xml:space="preserve">
|
||||
<value>_layout</value>
|
||||
</data>
|
||||
<data name=">>_busyHider.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="_buttons.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="_buttons.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="_buttons.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="_buttons.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>6, 662</value>
|
||||
</data>
|
||||
<data name="_buttons.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>6, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="_buttons.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>857, 54</value>
|
||||
</data>
|
||||
<data name="_buttons.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name=">>_buttons.Name" xml:space="preserve">
|
||||
<value>_buttons</value>
|
||||
</data>
|
||||
<data name=">>_buttons.Type" xml:space="preserve">
|
||||
<value>Acacia.Controls.KDialogButtons, Kopano, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>_buttons.Parent" xml:space="preserve">
|
||||
<value>_layout</value>
|
||||
</data>
|
||||
<data name=">>_buttons.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="_layout.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="_layout.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>10, 9</value>
|
||||
</data>
|
||||
<data name="_layout.RowCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="_layout.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>869, 721</value>
|
||||
</data>
|
||||
<data name="_layout.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>_layout.Name" xml:space="preserve">
|
||||
<value>_layout</value>
|
||||
</data>
|
||||
<data name=">>_layout.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>_layout.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>_layout.ZOrder" xml:space="preserve">
|
||||
<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="_busyHider" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="_buttons" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,100,AutoSize,0,Absolute,20" /></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>16, 31</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>333, 310</value>
|
||||
<value>889, 739</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
<value>6, 5, 6, 5</value>
|
||||
</data>
|
||||
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>348, 345</value>
|
||||
<value>884, 727</value>
|
||||
</data>
|
||||
<data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
<value>10, 9, 10, 9</value>
|
||||
</data>
|
||||
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||
<value>CenterParent</value>
|
||||
@ -688,6 +706,6 @@
|
||||
<value>OutOfOfficeDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>Acacia.UI.KopanoDialog, Kopano, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
<value>Acacia.Controls.KDialogNew, Kopano, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
@ -187,6 +187,15 @@ namespace Acacia.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to There are unsaved changes. Do you really want to to discard these?.
|
||||
/// </summary>
|
||||
internal static string OOF_Unsaved_Changes {
|
||||
get {
|
||||
return ResourceManager.GetString("OOF_Unsaved_Changes", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Unable to retrieve Out of Office settings. You can still enable or disable Out of Office, but applying the settings might fail..
|
||||
/// </summary>
|
||||
|
@ -454,4 +454,7 @@
|
||||
<data name="SignaturesSync_Title" xml:space="preserve">
|
||||
<value>Signatures</value>
|
||||
</data>
|
||||
<data name="OOF_Unsaved_Changes" xml:space="preserve">
|
||||
<value>There are unsaved changes. Do you really want to to discard these?</value>
|
||||
</data>
|
||||
</root>
|
@ -23,6 +23,7 @@ using System.Windows.Forms;
|
||||
|
||||
namespace Acacia.UI
|
||||
{
|
||||
// TODO: remove when Debug and SettingsDialog are rewritten.
|
||||
public class KopanoDialog : Form
|
||||
{
|
||||
public KopanoDialog()
|
||||
|
@ -92,6 +92,21 @@ namespace Acacia.Utils
|
||||
public class OOFMessage
|
||||
{
|
||||
public string Message { get; set; }
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj is string)
|
||||
return Message.Equals(obj);
|
||||
else if (obj is OOFMessage)
|
||||
return Message.Equals(((OOFMessage)obj).Message);
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return Message.GetHashCode();
|
||||
}
|
||||
}
|
||||
|
||||
public class SettingsOOF : Response
|
||||
@ -99,9 +114,54 @@ namespace Acacia.Utils
|
||||
public OOFState State { get; set; }
|
||||
public DateTime? From { get; set; }
|
||||
public DateTime? Till { get; set; }
|
||||
public OOFMessage[] Message {get; set;}
|
||||
public OOFMessage[] Message {get; private set;}
|
||||
public bool? SupportsTimes { get; set; }
|
||||
|
||||
public SettingsOOF()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public SettingsOOF(bool initMessage)
|
||||
{
|
||||
if (initMessage)
|
||||
Message = new OOFMessage[3];
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
SettingsOOF rhs = obj as SettingsOOF;
|
||||
if (rhs == null)
|
||||
return false;
|
||||
|
||||
if (State != rhs.State)
|
||||
return false;
|
||||
|
||||
// Check the times only if they are used
|
||||
if (State == OOFState.EnabledTimeBased)
|
||||
{
|
||||
if (!From.Equals(rhs.From))
|
||||
return false;
|
||||
if (!Till.Equals(rhs.Till))
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check the messages only if they are used
|
||||
if (State != OOFState.Disabled)
|
||||
{
|
||||
// Only one entry is effectively used
|
||||
if (!Message[0].NullSafeEquals(rhs.Message[0]))
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
|
||||
protected override void ParseResponseBody(ActiveSync.RequestBase request, ZPushConnection.Response response)
|
||||
{
|
||||
// Check capabilities
|
||||
|
@ -24,6 +24,28 @@ namespace Acacia.Utils
|
||||
{
|
||||
public static class CollectionUtil
|
||||
{
|
||||
public static bool EnumEquals<TValue>(this IEnumerable<TValue> first, IEnumerable<TValue> second)
|
||||
{
|
||||
if (first == second) return true;
|
||||
if ((first == null) || (second == null)) return false;
|
||||
|
||||
var i1 = first.GetEnumerator();
|
||||
var i2 = second.GetEnumerator();
|
||||
|
||||
while (i1.MoveNext())
|
||||
{
|
||||
if (!i2.MoveNext())
|
||||
return false;
|
||||
|
||||
if (!i1.Current.NullSafeEquals(i2.Current))
|
||||
return false;
|
||||
}
|
||||
|
||||
if (i2.MoveNext())
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks if both collections contain the same elements, not necessarily in the same order.
|
||||
/// </summary>
|
||||
|
@ -29,7 +29,7 @@ namespace Acacia.Utils
|
||||
{
|
||||
public static class Util
|
||||
{
|
||||
public static bool NullSafeEquals<ObjType>(ObjType a, ObjType b)
|
||||
public static bool NullSafeEquals<ObjType>(this ObjType a, ObjType b)
|
||||
{
|
||||
if (System.Object.ReferenceEquals(a, b))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user