diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/AcaciaZPushPlugin.csproj b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/AcaciaZPushPlugin.csproj
index 9a9ccd2..e146bd3 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/AcaciaZPushPlugin.csproj
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/AcaciaZPushPlugin.csproj
@@ -227,6 +227,12 @@
Form
+
+ Component
+
+
+ Component
+
@@ -288,6 +294,12 @@
SignaturesSettings.cs
+
+ Form
+
+
+ SyncStateDialog.cs
+
@@ -572,6 +584,9 @@
SignaturesSettings.cs
+
+ SyncStateDialog.cs
+
ResXFileCodeGenerator
Resources.Designer.cs
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Controls/KHintButton.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Controls/KHintButton.cs
new file mode 100644
index 0000000..a2382c8
--- /dev/null
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Controls/KHintButton.cs
@@ -0,0 +1,59 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Acacia.Controls
+{
+ ///
+ /// A button that adds a hint.
+ ///
+ public class KHintButton : Button
+ {
+ [Category("Kopano"), Localizable(true)]
+ public string Hint
+ {
+ get;
+ set;
+ }
+
+ public class HintEventArgs : EventArgs
+ {
+ public readonly string Hint;
+
+ public bool ShowHint
+ {
+ get { return !string.IsNullOrEmpty(Hint); }
+ }
+
+ public HintEventArgs(string hint)
+ {
+ this.Hint = hint;
+ }
+ }
+
+ public delegate void HintEventHandler(object sender, HintEventArgs e);
+
+ [Category("Kopano")]
+ public event HintEventHandler ShowHint;
+
+ protected override void OnMouseEnter(EventArgs e)
+ {
+ base.OnMouseEnter(e);
+
+ if (ShowHint != null)
+ ShowHint(this, new HintEventArgs(Hint));
+ }
+
+ protected override void OnMouseLeave(EventArgs e)
+ {
+ base.OnMouseLeave(e);
+
+ if (ShowHint != null)
+ ShowHint(this, new HintEventArgs(null));
+ }
+ }
+}
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Controls/KProgressBar.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Controls/KProgressBar.cs
new file mode 100644
index 0000000..7778b70
--- /dev/null
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Controls/KProgressBar.cs
@@ -0,0 +1,105 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Acacia.Controls
+{
+ ///
+ /// Simple progress bar subclass that properly paints the background color.
+ ///
+ public class KProgressBar : ProgressBar
+ {
+ [Category("Appearance")]
+ public Color BorderColor
+ {
+ get;
+ set;
+ }
+
+ [Category("Appearance")]
+ public int BorderWidth
+ {
+ get;
+ set;
+ }
+
+ public KProgressBar()
+ {
+ BorderWidth = 1;
+ //SetStyle(ControlStyles.UserPaint, true);
+ SetStyle(ControlStyles.UserPaint, true);
+ //SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
+ //SetStyle(ControlStyles.AllPaintingInWmPaint, true);
+ }
+
+ protected override void OnPaintBackground(PaintEventArgs pevent)
+ {
+ // Don't paint background to prevent flicker
+ }
+
+ protected override void OnPaint(PaintEventArgs e)
+ {
+ using (Image offscreenImage = new Bitmap(this.Width, this.Height))
+ using (Graphics g = Graphics.FromImage(offscreenImage))
+ {
+ using (SolidBrush brushFilled = new SolidBrush(ForeColor))
+ using (SolidBrush brushBackground = new SolidBrush(BackColor))
+ {
+ float percent = (float)(Value - Minimum) / (float)(Maximum - Minimum);
+
+ Rectangle baseRectangle = ClientRectangle;
+ baseRectangle.Shrink(new Padding(BorderWidth));
+ Rectangle rectFilled = baseRectangle;
+ Rectangle rectBackground = baseRectangle;
+ Rectangle rectBorder = ClientRectangle;
+
+ // Calculate area for drawing the progress.
+ rectFilled.Width = (int)(rectFilled.Width * percent);
+ rectBackground.X = rectFilled.Right;
+ rectBackground.Width = ClientRectangle.Width - rectBackground.X;
+
+ // Draw the progress meter.
+ g.FillRectangle(brushFilled, rectFilled);
+ g.FillRectangle(brushBackground, rectBackground);
+ DrawBorder(g);
+ }
+
+ e.Graphics.DrawImage(offscreenImage, 0, 0);
+ }
+ }
+
+ private bool IsMouseOver
+ {
+ get
+ {
+ return ClientRectangle.Contains(PointToClient(Cursor.Position));
+ }
+ }
+
+ private void DrawBorder(Graphics g)
+ {
+ int PenWidth = BorderWidth;
+ using (Pen pen = new Pen(IsMouseOver ? BorderColor : BackColor))
+ {
+ g.DrawLine(pen,
+ new Point(this.ClientRectangle.Left, this.ClientRectangle.Top),
+ new Point(this.ClientRectangle.Width - PenWidth, this.ClientRectangle.Top));
+ g.DrawLine(pen,
+ new Point(this.ClientRectangle.Left, this.ClientRectangle.Top),
+ new Point(this.ClientRectangle.Left, this.ClientRectangle.Height - PenWidth));
+ g.DrawLine(pen,
+ new Point(this.ClientRectangle.Left, this.ClientRectangle.Height - PenWidth),
+ new Point(this.ClientRectangle.Width - PenWidth, this.ClientRectangle.Height - PenWidth));
+ g.DrawLine(pen,
+ new Point(this.ClientRectangle.Width - PenWidth, this.ClientRectangle.Top),
+ new Point(this.ClientRectangle.Width - PenWidth, this.ClientRectangle.Height - PenWidth));
+ }
+ }
+ }
+}
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/FeatureSyncState.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/FeatureSyncState.cs
index a8a3c0b..b43a0b9 100644
--- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/FeatureSyncState.cs
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/FeatureSyncState.cs
@@ -149,7 +149,7 @@ namespace Acacia.Features.SyncState
public override void Startup()
{
_state = new SyncStateData(this);
- _button = RegisterButton(this, "Progress", true, ShowSyncState, ZPushBehaviour.None);
+ _button = RegisterButton(this, "Progress", true, ShowSyncState, ZPushBehaviour.Disable);
_button.DataProvider = _state;
// Add a sync task to start checking. If this finds it's not fully synchronised, it will check more often
Watcher.Sync.AddTask(this, Name, CheckSyncState);
@@ -330,6 +330,7 @@ namespace Acacia.Features.SyncState
private void ShowSyncState()
{
+ new SyncStateDialog(this).ShowDialog();
}
}
}
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.Designer.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.Designer.cs
new file mode 100644
index 0000000..0693d9e
--- /dev/null
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.Designer.cs
@@ -0,0 +1,202 @@
+namespace Acacia.Features.SyncState
+{
+ partial class SyncStateDialog
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SyncStateDialog));
+ this._layout = new System.Windows.Forms.TableLayoutPanel();
+ this._buttons = new Acacia.Controls.KDialogButtons();
+ this._layoutMain = new System.Windows.Forms.TableLayoutPanel();
+ this._labelRemaining = new System.Windows.Forms.Label();
+ this._labelAccount = new System.Windows.Forms.Label();
+ this.comboAccounts = new System.Windows.Forms.ComboBox();
+ this._labelProgress = new System.Windows.Forms.Label();
+ this.progress = new Acacia.Controls.KProgressBar();
+ this.textRemaining = new System.Windows.Forms.Label();
+ this._labelResync = new System.Windows.Forms.Label();
+ this.buttonGAB = new Acacia.Controls.KHintButton();
+ this.buttonSignatures = new Acacia.Controls.KHintButton();
+ this.buttonServerData = new Acacia.Controls.KHintButton();
+ this.buttonFullResync = new Acacia.Controls.KHintButton();
+ this._labelResyncOption = new System.Windows.Forms.Label();
+ this._layout.SuspendLayout();
+ this._layoutMain.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // _layout
+ //
+ resources.ApplyResources(this._layout, "_layout");
+ this._layout.Controls.Add(this._buttons, 0, 1);
+ this._layout.Controls.Add(this._layoutMain, 0, 0);
+ this._layout.Name = "_layout";
+ //
+ // _buttons
+ //
+ resources.ApplyResources(this._buttons, "_buttons");
+ this._buttons.ButtonSize = null;
+ this._buttons.Cancellation = null;
+ this._buttons.HasApply = false;
+ this._buttons.IsDirty = false;
+ this._buttons.Name = "_buttons";
+ //
+ // _layoutMain
+ //
+ resources.ApplyResources(this._layoutMain, "_layoutMain");
+ this._layoutMain.Controls.Add(this._labelRemaining, 0, 2);
+ this._layoutMain.Controls.Add(this._labelAccount, 0, 0);
+ this._layoutMain.Controls.Add(this.comboAccounts, 1, 0);
+ this._layoutMain.Controls.Add(this._labelProgress, 0, 1);
+ this._layoutMain.Controls.Add(this.progress, 1, 1);
+ this._layoutMain.Controls.Add(this.textRemaining, 1, 2);
+ this._layoutMain.Controls.Add(this._labelResync, 0, 3);
+ this._layoutMain.Controls.Add(this.buttonGAB, 1, 3);
+ this._layoutMain.Controls.Add(this.buttonSignatures, 1, 4);
+ this._layoutMain.Controls.Add(this.buttonServerData, 1, 5);
+ this._layoutMain.Controls.Add(this.buttonFullResync, 1, 6);
+ this._layoutMain.Controls.Add(this._labelResyncOption, 1, 7);
+ this._layoutMain.Name = "_layoutMain";
+ //
+ // _labelRemaining
+ //
+ resources.ApplyResources(this._labelRemaining, "_labelRemaining");
+ this._labelRemaining.Name = "_labelRemaining";
+ //
+ // _labelAccount
+ //
+ resources.ApplyResources(this._labelAccount, "_labelAccount");
+ this._labelAccount.Name = "_labelAccount";
+ //
+ // comboAccounts
+ //
+ resources.ApplyResources(this.comboAccounts, "comboAccounts");
+ this.comboAccounts.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.comboAccounts.FormattingEnabled = true;
+ this.comboAccounts.Items.AddRange(new object[] {
+ resources.GetString("comboAccounts.Items")});
+ this.comboAccounts.Name = "comboAccounts";
+ //
+ // _labelProgress
+ //
+ resources.ApplyResources(this._labelProgress, "_labelProgress");
+ this._labelProgress.Name = "_labelProgress";
+ //
+ // progress
+ //
+ this.progress.BackColor = System.Drawing.SystemColors.Window;
+ this.progress.BorderColor = System.Drawing.SystemColors.ActiveBorder;
+ this.progress.BorderWidth = 1;
+ resources.ApplyResources(this.progress, "progress");
+ this.progress.Name = "progress";
+ this.progress.Step = 5;
+ //
+ // textRemaining
+ //
+ resources.ApplyResources(this.textRemaining, "textRemaining");
+ this.textRemaining.BackColor = System.Drawing.SystemColors.Window;
+ this.textRemaining.Name = "textRemaining";
+ //
+ // _labelResync
+ //
+ resources.ApplyResources(this._labelResync, "_labelResync");
+ this._labelResync.Name = "_labelResync";
+ //
+ // buttonGAB
+ //
+ resources.ApplyResources(this.buttonGAB, "buttonGAB");
+ this.buttonGAB.Name = "buttonGAB";
+ this.buttonGAB.Tag = "";
+ this.buttonGAB.UseVisualStyleBackColor = true;
+ this.buttonGAB.ShowHint += new Acacia.Controls.KHintButton.HintEventHandler(this.ShowHint);
+ this.buttonGAB.Click += new System.EventHandler(this.button1_Click);
+ //
+ // buttonSignatures
+ //
+ resources.ApplyResources(this.buttonSignatures, "buttonSignatures");
+ this.buttonSignatures.Name = "buttonSignatures";
+ this.buttonSignatures.UseVisualStyleBackColor = true;
+ this.buttonSignatures.ShowHint += new Acacia.Controls.KHintButton.HintEventHandler(this.ShowHint);
+ //
+ // buttonServerData
+ //
+ resources.ApplyResources(this.buttonServerData, "buttonServerData");
+ this.buttonServerData.Name = "buttonServerData";
+ this.buttonServerData.UseVisualStyleBackColor = true;
+ this.buttonServerData.ShowHint += new Acacia.Controls.KHintButton.HintEventHandler(this.ShowHint);
+ //
+ // buttonFullResync
+ //
+ resources.ApplyResources(this.buttonFullResync, "buttonFullResync");
+ this.buttonFullResync.Name = "buttonFullResync";
+ this.buttonFullResync.UseVisualStyleBackColor = true;
+ this.buttonFullResync.ShowHint += new Acacia.Controls.KHintButton.HintEventHandler(this.ShowHint);
+ //
+ // _labelResyncOption
+ //
+ resources.ApplyResources(this._labelResyncOption, "_labelResyncOption");
+ this._labelResyncOption.Name = "_labelResyncOption";
+ //
+ // SyncStateDialog
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.BackColor = System.Drawing.SystemColors.Window;
+ this.Controls.Add(this._layout);
+ this.DialogButtons = this._buttons;
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "SyncStateDialog";
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.SettingsDialog_FormClosing);
+ this._layout.ResumeLayout(false);
+ this._layout.PerformLayout();
+ this._layoutMain.ResumeLayout(false);
+ this._layoutMain.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TableLayoutPanel _layout;
+ private Controls.KDialogButtons _buttons;
+ private System.Windows.Forms.TableLayoutPanel _layoutMain;
+ private System.Windows.Forms.Label _labelAccount;
+ private System.Windows.Forms.ComboBox comboAccounts;
+ private System.Windows.Forms.Label _labelProgress;
+ private Controls.KProgressBar progress;
+ private System.Windows.Forms.Label _labelRemaining;
+ private System.Windows.Forms.Label textRemaining;
+ private Controls.KHintButton buttonFullResync;
+ private Controls.KHintButton buttonServerData;
+ private Controls.KHintButton buttonSignatures;
+ private System.Windows.Forms.Label _labelResyncOption;
+ private System.Windows.Forms.Label _labelResync;
+ private Controls.KHintButton buttonGAB;
+ }
+}
\ No newline at end of file
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.cs
new file mode 100644
index 0000000..8270a4d
--- /dev/null
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.cs
@@ -0,0 +1,64 @@
+/// Copyright 2017 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,
+/// as published by the Free Software Foundation.
+///
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
+/// GNU Affero General Public License for more details.
+///
+/// You should have received a copy of the GNU Affero General Public License
+/// along with this program.If not, see.
+///
+/// Consult LICENSE file for details
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using Acacia.UI;
+using Acacia.Controls;
+using Acacia.ZPush;
+
+namespace Acacia.Features.SyncState
+{
+ public partial class SyncStateDialog : KDialogNew
+ {
+ private readonly FeatureSyncState _feature;
+
+ public SyncStateDialog(FeatureSyncState feature)
+ {
+ InitializeComponent();
+ this._feature = feature;
+ comboAccounts.SelectedIndex = 0;
+
+ // Add the accounts
+ foreach (ZPushAccount account in ThisAddIn.Instance.Watcher.Accounts.GetAccounts())
+ comboAccounts.Items.Add(account);
+ }
+
+ private void buttonApply_Click(object sender, EventArgs e)
+ {
+ }
+
+ private void SettingsDialog_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ }
+
+ private void button1_Click(object sender, EventArgs e)
+ {
+
+ }
+
+ private void ShowHint(object sender, KHintButton.HintEventArgs e)
+ {
+ _labelResyncOption.Text = e.Hint ?? string.Empty;
+ }
+ }
+}
diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.resx b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.resx
new file mode 100644
index 0000000..4ecfbb0
--- /dev/null
+++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SyncState/SyncStateDialog.resx
@@ -0,0 +1,663 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ True
+
+
+
+ GrowAndShrink
+
+
+ 1
+
+
+ True
+
+
+ GrowAndShrink
+
+
+ Fill
+
+
+
+ 2, 286
+
+
+ 2, 2, 2, 2
+
+
+ 333, 35
+
+
+ 0
+
+
+ _buttons
+
+
+ Acacia.Controls.KDialogButtons, Kopano, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ _layout
+
+
+ 0
+
+
+ True
+
+
+ GrowAndShrink
+
+
+ 2
+
+
+ True
+
+
+ Fill
+
+
+ NoControl
+
+
+ 3, 54
+
+
+ 77, 25
+
+
+ 5
+
+
+ Remaining
+
+
+ MiddleLeft
+
+
+ _labelRemaining
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ _layoutMain
+
+
+ 0
+
+
+ True
+
+
+ Fill
+
+
+ 3, 0
+
+
+ 77, 27
+
+
+ 0
+
+
+ Account
+
+
+ MiddleLeft
+
+
+ _labelAccount
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ _layoutMain
+
+
+ 1
+
+
+ Fill
+
+
+ Popup
+
+
+ All Z-Push accounts
+
+
+ 86, 3
+
+
+ 242, 21
+
+
+ 1
+
+
+ comboAccounts
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ _layoutMain
+
+
+ 2
+
+
+ True
+
+
+ Fill
+
+
+ 3, 27
+
+
+ 77, 27
+
+
+ 2
+
+
+ Progress
+
+
+ MiddleLeft
+
+
+ _labelProgress
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ _layoutMain
+
+
+ 3
+
+
+ Fill
+
+
+ 86, 30
+
+
+ 242, 21
+
+
+ 3
+
+
+ progress
+
+
+ Acacia.Controls.KProgressBar, Kopano, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ _layoutMain
+
+
+ 4
+
+
+ True
+
+
+ Fill
+
+
+ 86, 57
+
+
+ 3, 3, 3, 3
+
+
+ 3, 3, 3, 3
+
+
+ 242, 19
+
+
+ 7
+
+
+ textRemaining
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ _layoutMain
+
+
+ 5
+
+
+ True
+
+
+ Fill
+
+
+ 3, 79
+
+
+ 77, 29
+
+
+ 8
+
+
+ Resynchronise
+
+
+ MiddleLeft
+
+
+ _labelResync
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ _layoutMain
+
+
+ 6
+
+
+ True
+
+
+ GrowAndShrink
+
+
+ Fill
+
+
+ Resynchronise the global address book
+
+
+ NoControl
+
+
+ 86, 82
+
+
+ 242, 23
+
+
+ 0
+
+
+ Global Address Book
+
+
+ buttonGAB
+
+
+ Acacia.Controls.KHintButton, Kopano, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ _layoutMain
+
+
+ 7
+
+
+ True
+
+
+ GrowAndShrink
+
+
+ Fill
+
+
+ Resynchronise all signatures from the server
+
+
+ NoControl
+
+
+ 86, 111
+
+
+ 242, 23
+
+
+ 1
+
+
+ Signatures
+
+
+ buttonSignatures
+
+
+ Acacia.Controls.KHintButton, Kopano, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ _layoutMain
+
+
+ 8
+
+
+ True
+
+
+ GrowAndShrink
+
+
+ Fill
+
+
+ Resynchronise all server data on shared folders and out-of-office
+
+
+ NoControl
+
+
+ 86, 140
+
+
+ 242, 23
+
+
+ 2
+
+
+ Server Data
+
+
+ buttonServerData
+
+
+ Acacia.Controls.KHintButton, Kopano, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ _layoutMain
+
+
+ 9
+
+
+ True
+
+
+ GrowAndShrink
+
+
+ Fill
+
+
+ Fully resynchronise the Z-Push store. This requires a restart and may take some time.
+
+
+ NoControl
+
+
+ 86, 169
+
+
+ 242, 23
+
+
+ 3
+
+
+ Full Resynchronisation
+
+
+ buttonFullResync
+
+
+ Acacia.Controls.KHintButton, Kopano, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ _layoutMain
+
+
+ 10
+
+
+ Fill
+
+
+ 86, 195
+
+
+ 0, 6, 0, 0
+
+
+ 242, 83
+
+
+ 4
+
+
+ _labelResyncOption
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ _layoutMain
+
+
+ 11
+
+
+ Fill
+
+
+ 3, 3
+
+
+ 8
+
+
+ 331, 278
+
+
+ 1
+
+
+ _layoutMain
+
+
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ _layout
+
+
+ 1
+
+
+ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="_labelRemaining" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="_labelAccount" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="comboAccounts" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelProgress" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="progress" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="textRemaining" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelResync" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="buttonGAB" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="buttonSignatures" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="buttonServerData" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="buttonFullResync" Row="6" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelResyncOption" Row="7" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100" /></TableLayoutSettings>
+
+
+ Fill
+
+
+ 0, 0
+
+
+ 2
+
+
+ 337, 323
+
+
+ 0
+
+
+ _layout
+
+
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="_buttons" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="_layoutMain" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,100,AutoSize,0" /></TableLayoutSettings>
+
+
+ True
+
+
+ 6, 13
+
+
+ True
+
+
+ 337, 323
+
+
+ CenterParent
+
+
+ Synchronisation State
+
+
+ SyncStateDialog
+
+
+ Acacia.Controls.KDialogNew, Kopano, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null
+
+
\ No newline at end of file