CP-12155: View / Change Call Home Enrollment and settings

This commit is contained in:
Mihaela Stoica 2015-05-18 15:28:37 +01:00
parent 9783c6dc7e
commit 9e22d7ce41
9 changed files with 4521 additions and 75 deletions

View File

@ -0,0 +1,31 @@
using System.Linq;
using XenAdmin.Dialogs.CallHome;
namespace XenAdmin.Commands
{
internal class CallHomeCommand : Command
{
/// <summary>
/// Initializes a new instance of this Command. The parameter-less constructor is required if
/// this Command is to be attached to a ToolStrip menu item or button. It should not be used in any other scenario.
/// </summary>
public CallHomeCommand()
{
}
public CallHomeCommand(IMainWindow mainWindow)
: base(mainWindow)
{
}
protected override void ExecuteCore(SelectedItemCollection selection)
{
MainWindowCommandInterface.ShowForm(typeof(CallHomeOverviewDialog));
}
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
return ConnectionsManager.XenConnectionsCopy.Any(xenConnection => xenConnection.IsConnected);
}
}
}

View File

@ -0,0 +1,306 @@
using XenAdmin.Commands;
namespace XenAdmin.Dialogs.CallHome
{
partial class CallHomeOverviewDialog
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CallHomeOverviewDialog));
this.buttonCancel = new System.Windows.Forms.Button();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.rubricLabel = new System.Windows.Forms.Label();
this.poolsDataGridView = new XenAdmin.Controls.DataGridViewEx.DataGridViewEx();
this.PoolNameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.StatusColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.poolNameLabel = new System.Windows.Forms.Label();
this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
this.healthCheckStatusPanel = new System.Windows.Forms.TableLayoutPanel();
this.scheduleLabel = new System.Windows.Forms.Label();
this.linkLabel2 = new System.Windows.Forms.LinkLabel();
this.issuesLabel = new System.Windows.Forms.Label();
this.lastUploadDateLabel = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.ReportAnalysisLinkLabel = new System.Windows.Forms.LinkLabel();
this.previousUploadPanel = new System.Windows.Forms.TableLayoutPanel();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.previousUploadDateLabel = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.notEnrolledPanel = new System.Windows.Forms.TableLayoutPanel();
this.linkLabel3 = new System.Windows.Forms.LinkLabel();
this.label6 = new System.Windows.Forms.Label();
this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.poolsDataGridView)).BeginInit();
this.tableLayoutPanel2.SuspendLayout();
this.tableLayoutPanel3.SuspendLayout();
this.healthCheckStatusPanel.SuspendLayout();
this.previousUploadPanel.SuspendLayout();
this.notEnrolledPanel.SuspendLayout();
this.SuspendLayout();
//
// buttonCancel
//
resources.ApplyResources(this.buttonCancel, "buttonCancel");
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.UseVisualStyleBackColor = true;
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
//
// tableLayoutPanel1
//
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
this.tableLayoutPanel1.Controls.Add(this.rubricLabel, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.poolsDataGridView, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 1, 2);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
// rubricLabel
//
resources.ApplyResources(this.rubricLabel, "rubricLabel");
this.tableLayoutPanel1.SetColumnSpan(this.rubricLabel, 2);
this.rubricLabel.Name = "rubricLabel";
//
// poolsDataGridView
//
this.poolsDataGridView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells;
this.poolsDataGridView.BackgroundColor = System.Drawing.SystemColors.Window;
this.poolsDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None;
this.poolsDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
this.poolsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.PoolNameColumn,
this.StatusColumn});
resources.ApplyResources(this.poolsDataGridView, "poolsDataGridView");
this.poolsDataGridView.Name = "poolsDataGridView";
this.poolsDataGridView.ReadOnly = true;
this.poolsDataGridView.SelectionChanged += new System.EventHandler(this.dataGridView1_SelectionChanged);
//
// PoolNameColumn
//
this.PoolNameColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
resources.ApplyResources(this.PoolNameColumn, "PoolNameColumn");
this.PoolNameColumn.Name = "PoolNameColumn";
this.PoolNameColumn.ReadOnly = true;
//
// StatusColumn
//
this.StatusColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
resources.ApplyResources(this.StatusColumn, "StatusColumn");
this.StatusColumn.Name = "StatusColumn";
this.StatusColumn.ReadOnly = true;
this.StatusColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
//
// tableLayoutPanel2
//
resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
this.tableLayoutPanel2.Controls.Add(this.poolNameLabel, 0, 0);
this.tableLayoutPanel2.Controls.Add(this.tableLayoutPanel3, 0, 1);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
//
// poolNameLabel
//
this.poolNameLabel.AutoEllipsis = true;
resources.ApplyResources(this.poolNameLabel, "poolNameLabel");
this.poolNameLabel.Name = "poolNameLabel";
//
// tableLayoutPanel3
//
resources.ApplyResources(this.tableLayoutPanel3, "tableLayoutPanel3");
this.tableLayoutPanel2.SetColumnSpan(this.tableLayoutPanel3, 2);
this.tableLayoutPanel3.Controls.Add(this.healthCheckStatusPanel, 0, 0);
this.tableLayoutPanel3.Controls.Add(this.notEnrolledPanel, 0, 1);
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
//
// healthCheckStatusPanel
//
resources.ApplyResources(this.healthCheckStatusPanel, "healthCheckStatusPanel");
this.healthCheckStatusPanel.Controls.Add(this.scheduleLabel, 0, 6);
this.healthCheckStatusPanel.Controls.Add(this.linkLabel2, 0, 7);
this.healthCheckStatusPanel.Controls.Add(this.issuesLabel, 0, 2);
this.healthCheckStatusPanel.Controls.Add(this.lastUploadDateLabel, 1, 1);
this.healthCheckStatusPanel.Controls.Add(this.label4, 0, 5);
this.healthCheckStatusPanel.Controls.Add(this.label1, 0, 0);
this.healthCheckStatusPanel.Controls.Add(this.label2, 0, 1);
this.healthCheckStatusPanel.Controls.Add(this.ReportAnalysisLinkLabel, 0, 3);
this.healthCheckStatusPanel.Controls.Add(this.previousUploadPanel, 0, 4);
this.healthCheckStatusPanel.Name = "healthCheckStatusPanel";
//
// scheduleLabel
//
resources.ApplyResources(this.scheduleLabel, "scheduleLabel");
this.healthCheckStatusPanel.SetColumnSpan(this.scheduleLabel, 2);
this.scheduleLabel.Name = "scheduleLabel";
//
// linkLabel2
//
resources.ApplyResources(this.linkLabel2, "linkLabel2");
this.healthCheckStatusPanel.SetColumnSpan(this.linkLabel2, 2);
this.linkLabel2.Name = "linkLabel2";
this.linkLabel2.TabStop = true;
this.linkLabel2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel2_LinkClicked);
//
// issuesLabel
//
resources.ApplyResources(this.issuesLabel, "issuesLabel");
this.healthCheckStatusPanel.SetColumnSpan(this.issuesLabel, 2);
this.issuesLabel.Name = "issuesLabel";
//
// lastUploadDateLabel
//
resources.ApplyResources(this.lastUploadDateLabel, "lastUploadDateLabel");
this.lastUploadDateLabel.Name = "lastUploadDateLabel";
//
// label4
//
resources.ApplyResources(this.label4, "label4");
this.healthCheckStatusPanel.SetColumnSpan(this.label4, 2);
this.label4.Name = "label4";
//
// label1
//
resources.ApplyResources(this.label1, "label1");
this.healthCheckStatusPanel.SetColumnSpan(this.label1, 2);
this.label1.Name = "label1";
//
// label2
//
resources.ApplyResources(this.label2, "label2");
this.label2.Name = "label2";
//
// ReportAnalysisLinkLabel
//
resources.ApplyResources(this.ReportAnalysisLinkLabel, "ReportAnalysisLinkLabel");
this.healthCheckStatusPanel.SetColumnSpan(this.ReportAnalysisLinkLabel, 2);
this.ReportAnalysisLinkLabel.Name = "ReportAnalysisLinkLabel";
this.ReportAnalysisLinkLabel.TabStop = true;
//
// previousUploadPanel
//
resources.ApplyResources(this.previousUploadPanel, "previousUploadPanel");
this.healthCheckStatusPanel.SetColumnSpan(this.previousUploadPanel, 2);
this.previousUploadPanel.Controls.Add(this.linkLabel1, 0, 1);
this.previousUploadPanel.Controls.Add(this.previousUploadDateLabel, 1, 0);
this.previousUploadPanel.Controls.Add(this.label3, 0, 0);
this.previousUploadPanel.Name = "previousUploadPanel";
//
// linkLabel1
//
resources.ApplyResources(this.linkLabel1, "linkLabel1");
this.previousUploadPanel.SetColumnSpan(this.linkLabel1, 2);
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.TabStop = true;
//
// previousUploadDateLabel
//
resources.ApplyResources(this.previousUploadDateLabel, "previousUploadDateLabel");
this.previousUploadDateLabel.Name = "previousUploadDateLabel";
//
// label3
//
resources.ApplyResources(this.label3, "label3");
this.label3.Name = "label3";
//
// notEnrolledPanel
//
resources.ApplyResources(this.notEnrolledPanel, "notEnrolledPanel");
this.tableLayoutPanel3.SetColumnSpan(this.notEnrolledPanel, 2);
this.notEnrolledPanel.Controls.Add(this.linkLabel3, 0, 1);
this.notEnrolledPanel.Controls.Add(this.label6, 0, 0);
this.notEnrolledPanel.Name = "notEnrolledPanel";
//
// linkLabel3
//
resources.ApplyResources(this.linkLabel3, "linkLabel3");
this.linkLabel3.Name = "linkLabel3";
this.linkLabel3.TabStop = true;
this.linkLabel3.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel2_LinkClicked);
//
// label6
//
resources.ApplyResources(this.label6, "label6");
this.label6.Name = "label6";
//
// CallHomeOverviewDialog
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.CancelButton = this.buttonCancel;
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.buttonCancel);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;
this.Name = "CallHomeOverviewDialog";
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.CallHomeOverviewDialog_FormClosed);
this.Load += new System.EventHandler(this.CallHomeOverview_Load);
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.poolsDataGridView)).EndInit();
this.tableLayoutPanel2.ResumeLayout(false);
this.tableLayoutPanel2.PerformLayout();
this.tableLayoutPanel3.ResumeLayout(false);
this.tableLayoutPanel3.PerformLayout();
this.healthCheckStatusPanel.ResumeLayout(false);
this.healthCheckStatusPanel.PerformLayout();
this.previousUploadPanel.ResumeLayout(false);
this.previousUploadPanel.PerformLayout();
this.notEnrolledPanel.ResumeLayout(false);
this.notEnrolledPanel.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button buttonCancel;
private XenAdmin.Controls.DataGridViewEx.DataGridViewEx poolsDataGridView;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private System.Windows.Forms.Label poolNameLabel;
private System.Windows.Forms.Label rubricLabel;
private System.Windows.Forms.DataGridViewTextBoxColumn PoolNameColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn StatusColumn;
private System.Windows.Forms.TableLayoutPanel healthCheckStatusPanel;
private System.Windows.Forms.Label issuesLabel;
private System.Windows.Forms.Label lastUploadDateLabel;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.LinkLabel ReportAnalysisLinkLabel;
private System.Windows.Forms.TableLayoutPanel previousUploadPanel;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.LinkLabel linkLabel1;
private System.Windows.Forms.Label previousUploadDateLabel;
private System.Windows.Forms.LinkLabel linkLabel2;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label scheduleLabel;
private System.Windows.Forms.TableLayoutPanel notEnrolledPanel;
private System.Windows.Forms.LinkLabel linkLabel3;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
}
}

View File

@ -0,0 +1,235 @@
/* Copyright (c) Citrix Systems Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms,
* with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above
* copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the
* following disclaimer in the documentation and/or other
* materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows.Forms;
using XenAdmin.Core;
using XenAdmin.Dialogs.VMProtectionRecovery;
using XenAdmin.Network;
using XenAPI;
using XenCenterLib;
namespace XenAdmin.Dialogs.CallHome
{
public partial class CallHomeOverviewDialog : XenDialogBase
{
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public CallHomeOverviewDialog()
{
InitializeComponent();
}
private Pool currentSelected = null;
void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Error != null)
{
log.Error(e.Error);
return;
}
var selectedPool = currentSelected;
poolsDataGridView.SuspendLayout();
try
{
poolsDataGridView.Rows.Clear();
foreach (var row in (List<DataGridViewRow>)e.Result)
{
if (poolsDataGridView.ColumnCount > 0)
{
poolsDataGridView.Rows.Add(row);
}
}
RefreshButtons();
RefreshDetailsPanel();
if (selectedPool != null)
{
foreach (DataGridViewRow row in poolsDataGridView.Rows)
{
if (row is PoolRow &&
(row as PoolRow).Pool.uuid == selectedPool.uuid)
{
poolsDataGridView.ClearSelection();
row.Selected = true;
break;
}
}
}
}
finally
{
poolsDataGridView.ResumeLayout();
}
}
object worker_DoWork(object sender, object argument)
{
var list = new List<DataGridViewRow>();
foreach (IXenConnection xenConnection in ConnectionsManager.XenConnectionsCopy)
{
if (!xenConnection.IsConnected)
continue;
var pool = Helpers.GetPoolOfOne(xenConnection);
if (pool != null)
{
var poolRow = new PoolRow(pool);
list.Add(poolRow);
}
}
return list;
}
void Pool_BatchCollectionChanged(object sender, EventArgs e)
{
LoadPools();
}
QueuedBackgroundWorker worker = new QueuedBackgroundWorker();
private void LoadPools()
{
worker.RunWorkerAsync(worker_DoWork, worker_RunWorkerCompleted);
}
#region PoolRow
private class PoolRow : DataGridViewRow
{
private DataGridViewTextAndImageCell _nameCell = new DataGridViewTextAndImageCell();
private DataGridViewTextAndImageCell _statusCell = new DataGridViewTextAndImageCell();
public readonly Pool Pool;
public PoolRow(Pool pool)
{
Cells.Add(_nameCell);
Cells.Add(_statusCell);
Pool = pool;
RefreshRow();
}
public void RefreshRow()
{
_nameCell.Value = Pool.Name;
_nameCell.Image = null;
_statusCell.Value = Pool.CallHomeSettings.StatusDescription;
_statusCell.Image = Pool.CallHomeSettings.Status != CallHomeStatus.Enabled
? Properties.Resources._000_error_h32bit_16
: Properties.Resources._000_Alert2_h32bit_16;
}
}
#endregion
private void RefreshButtons()
{
if (poolsDataGridView.SelectedRows.Count == 1 && poolsDataGridView.SelectedRows[0] is PoolRow)
{
currentSelected = (Pool)((PoolRow)poolsDataGridView.SelectedRows[0]).Pool;
}
else
{
if (poolsDataGridView.SelectedRows.Count == 0)
currentSelected = null;
}
tableLayoutPanel2.Visible = (currentSelected != null);
//tableLayoutPanel1.ColumnStyles[1].Width = currentSelected == null ? 0 : 200;
}
private void RefreshDetailsPanel()
{
if (poolsDataGridView.SelectedRows.Count != 1 || !(poolsDataGridView.SelectedRows[0] is PoolRow))
{
poolNameLabel.Text = "";
return;
}
var poolRow = (PoolRow)poolsDataGridView.SelectedRows[0];
poolNameLabel.Text = poolRow.Pool.Name.Ellipsise(120);
scheduleLabel.Text = GetScheduleDescription(poolRow.Pool.CallHomeSettings);
healthCheckStatusPanel.Visible = poolRow.Pool.CallHomeSettings.Status == CallHomeStatus.Enabled;
notEnrolledPanel.Visible = poolRow.Pool.CallHomeSettings.Status != CallHomeStatus.Enabled;
}
public string GetScheduleDescription(CallHomeSettings callHomeSettings)
{
{
var time = new DateTime(1900, 1, 1, callHomeSettings.TimeOfDay, 0, 0);
return callHomeSettings.Status == CallHomeStatus.Enabled
? string.Format(Messages.CALLHOME_SCHEDULE_DESCRIPTION, callHomeSettings.IntervalInWeeks,
callHomeSettings.DayOfWeek, HelpersGUI.DateTimeToString(time, Messages.DATEFORMAT_HM, true))
: string.Empty;
}
}
private void CallHomeOverview_Load(object sender, EventArgs e)
{
LoadPools();
foreach (IXenConnection xenConnection in ConnectionsManager.XenConnectionsCopy)
{
xenConnection.Cache.RegisterBatchCollectionChanged<Pool>(Pool_BatchCollectionChanged);
}
}
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
RefreshButtons();
RefreshDetailsPanel();
}
private void CallHomeOverviewDialog_FormClosed(object sender, FormClosedEventArgs e)
{
foreach (IXenConnection xenConnection in ConnectionsManager.XenConnectionsCopy)
{
xenConnection.Cache.DeregisterBatchCollectionChanged<Pool>(Pool_BatchCollectionChanged);
}
}
private void buttonCancel_Click(object sender, EventArgs e)
{
Close();
}
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
if (poolsDataGridView.SelectedRows.Count != 1 || !(poolsDataGridView.SelectedRows[0] is PoolRow))
return;
var poolRow = (PoolRow)poolsDataGridView.SelectedRows[0];
Program.MainWindow.ShowPerConnectionWizard(poolRow.Pool.Connection, new CallHomeSettingsDialog(poolRow.Pool));
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -86,9 +86,9 @@ namespace XenAdmin
this.TabPageWLBUpsell = new System.Windows.Forms.TabPage();
this.TabPageAD = new System.Windows.Forms.TabPage();
this.TabPageGPU = new System.Windows.Forms.TabPage();
this.TabPageSearch = new System.Windows.Forms.TabPage();
this.TabPageSearch = new System.Windows.Forms.TabPage();
this.TabPageDockerProcess = new System.Windows.Forms.TabPage();
this.TabPageDockerDetails = new System.Windows.Forms.TabPage();
this.TabPageDockerDetails = new System.Windows.Forms.TabPage();
this.alertPage = new XenAdmin.TabPages.AlertSummaryPage();
this.updatesPage = new XenAdmin.TabPages.ManageUpdatesPage();
this.eventsPage = new XenAdmin.TabPages.HistoryPage();
@ -283,6 +283,7 @@ namespace XenAdmin
this.StatusStrip = new System.Windows.Forms.StatusStrip();
this.statusLabel = new System.Windows.Forms.ToolStripStatusLabel();
this.statusProgressBar = new System.Windows.Forms.ToolStripProgressBar();
this.healthCheckToolStripMenuItem1 = new XenAdmin.Commands.CommandToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@ -357,9 +358,9 @@ namespace XenAdmin
this.TheTabControl.Controls.Add(this.TabPageWLBUpsell);
this.TheTabControl.Controls.Add(this.TabPageAD);
this.TheTabControl.Controls.Add(this.TabPageGPU);
this.TheTabControl.Controls.Add(this.TabPageSearch);
this.TheTabControl.Controls.Add(this.TabPageSearch);
this.TheTabControl.Controls.Add(this.TabPageDockerProcess);
this.TheTabControl.Controls.Add(this.TabPageDockerDetails);
this.TheTabControl.Controls.Add(this.TabPageDockerDetails);
this.TheTabControl.Name = "TheTabControl";
this.TheTabControl.SelectedIndex = 4;
//
@ -483,18 +484,18 @@ namespace XenAdmin
resources.ApplyResources(this.TabPageSearch, "TabPageSearch");
this.TabPageSearch.Name = "TabPageSearch";
this.TabPageSearch.UseVisualStyleBackColor = true;
//
//
// TabPageDockerProcess
//
resources.ApplyResources(this.TabPageDockerProcess, "TabPageDockerProcess");
this.TabPageDockerProcess.Name = "TabPageDockerProcess";
this.TabPageDockerProcess.UseVisualStyleBackColor = true;
//
//
// TabPageDockerDetails
//
resources.ApplyResources(this.TabPageDockerDetails, "TabPageDockerDetails");
this.TabPageDockerDetails.Name = "TabPageDockerDetails";
this.TabPageDockerDetails.UseVisualStyleBackColor = true;
this.TabPageDockerDetails.UseVisualStyleBackColor = true;
//
// alertPage
//
@ -991,7 +992,7 @@ namespace XenAdmin
this.vMProtectionAndRecoveryToolStripMenuItem.Name = "vMProtectionAndRecoveryToolStripMenuItem";
resources.ApplyResources(this.vMProtectionAndRecoveryToolStripMenuItem, "vMProtectionAndRecoveryToolStripMenuItem");
//
// exportResourceListoolToolStripMenuItem
// exportResourceReportPoolToolStripMenuItem
//
this.exportResourceReportPoolToolStripMenuItem.Command = new XenAdmin.Commands.ExportResourceReportCommand();
this.exportResourceReportPoolToolStripMenuItem.Name = "exportResourceReportPoolToolStripMenuItem";
@ -1646,6 +1647,7 @@ namespace XenAdmin
//
this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.bugToolToolStripMenuItem,
this.healthCheckToolStripMenuItem1,
this.toolStripSeparator14,
this.LicenseManagerMenuItem,
this.toolStripSeparator13,
@ -1770,6 +1772,12 @@ namespace XenAdmin
resources.ApplyResources(this.xenSourceOnTheWebToolStripMenuItem, "xenSourceOnTheWebToolStripMenuItem");
this.xenSourceOnTheWebToolStripMenuItem.Click += new System.EventHandler(this.xenSourceOnTheWebToolStripMenuItem_Click);
//
// xenCenterPluginsOnlineToolStripMenuItem
//
this.xenCenterPluginsOnlineToolStripMenuItem.Name = "xenCenterPluginsOnlineToolStripMenuItem";
resources.ApplyResources(this.xenCenterPluginsOnlineToolStripMenuItem, "xenCenterPluginsOnlineToolStripMenuItem");
this.xenCenterPluginsOnlineToolStripMenuItem.Click += new System.EventHandler(this.xenCenterPluginsOnTheWebToolStripMenuItem_Click);
//
// toolStripSeparator7
//
this.toolStripSeparator7.Name = "toolStripSeparator7";
@ -1786,12 +1794,6 @@ namespace XenAdmin
resources.ApplyResources(this.aboutXenSourceAdminToolStripMenuItem, "aboutXenSourceAdminToolStripMenuItem");
this.aboutXenSourceAdminToolStripMenuItem.Click += new System.EventHandler(this.aboutXenSourceAdminToolStripMenuItem_Click);
//
// xenCenterPluginsOnlineToolStripMenuItem
//
this.xenCenterPluginsOnlineToolStripMenuItem.Name = "xenCenterPluginsOnlineToolStripMenuItem";
resources.ApplyResources(this.xenCenterPluginsOnlineToolStripMenuItem, "xenCenterPluginsOnlineToolStripMenuItem");
this.xenCenterPluginsOnlineToolStripMenuItem.Click += new System.EventHandler(this.xenCenterPluginsOnTheWebToolStripMenuItem_Click);
//
// MainMenuBar
//
resources.ApplyResources(this.MainMenuBar, "MainMenuBar");
@ -1846,6 +1848,12 @@ namespace XenAdmin
this.statusProgressBar.Name = "statusProgressBar";
this.statusProgressBar.Overflow = System.Windows.Forms.ToolStripItemOverflow.Never;
//
// healthCheckToolStripMenuItem1
//
this.healthCheckToolStripMenuItem1.Command = new XenAdmin.Commands.CallHomeCommand();
this.healthCheckToolStripMenuItem1.Name = "healthCheckToolStripMenuItem1";
resources.ApplyResources(this.healthCheckToolStripMenuItem1, "healthCheckToolStripMenuItem1");
//
// MainWindow
//
resources.ApplyResources(this, "$this");
@ -2016,9 +2024,9 @@ namespace XenAdmin
private System.Windows.Forms.TabPage TabPageHAUpsell;
internal System.Windows.Forms.TabPage TabPageWLB;
private System.Windows.Forms.TabPage TabPageWLBUpsell;
private System.Windows.Forms.TabPage TabPageSnapshots;
private System.Windows.Forms.TabPage TabPageDockerProcess;
internal System.Windows.Forms.TabPage TabPageDockerDetails;
private System.Windows.Forms.TabPage TabPageSnapshots;
private System.Windows.Forms.TabPage TabPageDockerProcess;
internal System.Windows.Forms.TabPage TabPageDockerDetails;
private XenAdmin.TabPages.SnapshotsPage snapshotPage;
private System.Windows.Forms.ToolStripMenuItem connectDisconnectToolStripMenuItem;
private CommandToolStripMenuItem connectAllToolStripMenuItem;
@ -2108,6 +2116,7 @@ namespace XenAdmin
private CommandToolStripButton pauseContainerToolStripButton;
private CommandToolStripButton resumeContainerToolStripButton;
private CommandToolStripButton restartContainerToolStripButton;
private CommandToolStripMenuItem healthCheckToolStripMenuItem1;
}
}

View File

@ -684,36 +684,6 @@
<data name="&gt;&gt;TabPageAD.ZOrder" xml:space="preserve">
<value>16</value>
</data>
<data name="TabPageDockerDetails.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="TabPageDockerDetails.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TabPageDockerDetails.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="TabPageDockerDetails.Size" type="System.Drawing.Size, System.Drawing">
<value>753, 592</value>
</data>
<data name="TabPageDockerDetails.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="TabPageDockerDetails.Text" xml:space="preserve">
<value>Details</value>
</data>
<data name="&gt;&gt;TabPageDockerDetails.Name" xml:space="preserve">
<value>TabPageDockerDetails</value>
</data>
<data name="&gt;&gt;TabPageDockerDetails.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;TabPageDockerDetails.Parent" xml:space="preserve">
<value>TheTabControl</value>
</data>
<data name="&gt;&gt;TabPageDockerDetails.ZOrder" xml:space="preserve">
<value>19</value>
</data>
<data name="TabPageGPU.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
@ -767,8 +737,6 @@
</data>
<data name="&gt;&gt;TabPageSearch.ZOrder" xml:space="preserve">
<value>18</value>
<data name="TabPageDockerProcess.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="TabPageDockerProcess.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
@ -800,6 +768,35 @@
<data name="&gt;&gt;TabPageDockerProcess.ZOrder" xml:space="preserve">
<value>19</value>
</data>
<data name="TabPageDockerDetails.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="TabPageDockerDetails.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TabPageDockerDetails.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="TabPageDockerDetails.Size" type="System.Drawing.Size, System.Drawing">
<value>753, 592</value>
</data>
<data name="TabPageDockerDetails.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="TabPageDockerDetails.Text" xml:space="preserve">
<value>Details</value>
</data>
<data name="&gt;&gt;TabPageDockerDetails.Name" xml:space="preserve">
<value>TabPageDockerDetails</value>
</data>
<data name="&gt;&gt;TabPageDockerDetails.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;TabPageDockerDetails.Parent" xml:space="preserve">
<value>TheTabControl</value>
</data>
<data name="&gt;&gt;TabPageDockerDetails.ZOrder" xml:space="preserve">
<value>20</value>
</data>
<data name="TheTabControl.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 8.25pt</value>
@ -1576,7 +1573,7 @@
<value>Magenta</value>
</data>
<data name="stopContainerToolStripButton.Size" type="System.Drawing.Size, System.Drawing">
<value>33, 17</value>
<value>57, 28</value>
</data>
<data name="stopContainerToolStripButton.Text" xml:space="preserve">
<value>Stop</value>
@ -1890,6 +1887,9 @@
<data name="vMProtectionAndRecoveryToolStripMenuItem.Text" xml:space="preserve">
<value>VM &amp;Protection Policies...</value>
</data>
<data name="exportResourceReportPoolToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>277, 22</value>
</data>
<data name="wlbReportsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>277, 22</value>
</data>
@ -2468,6 +2468,12 @@
<data name="bugToolToolStripMenuItem.Text" xml:space="preserve">
<value>Server &amp;Status Report...</value>
</data>
<data name="healthCheckToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value>
</data>
<data name="healthCheckToolStripMenuItem1.Text" xml:space="preserve">
<value>&amp;Health Check...</value>
</data>
<data name="toolStripSeparator14.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 6</value>
</data>
@ -2529,7 +2535,7 @@
<value>False</value>
</data>
<data name="helpTopicsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
<value>195, 22</value>
</data>
<data name="helpTopicsToolStripMenuItem.Text" xml:space="preserve">
<value>Help &amp;Contents</value>
@ -2538,46 +2544,46 @@
<value>F1</value>
</data>
<data name="helpContextMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
<value>195, 22</value>
</data>
<data name="helpContextMenuItem.Text" xml:space="preserve">
<value>Conte&amp;xt Help</value>
</data>
<data name="toolStripMenuItem15.Size" type="System.Drawing.Size, System.Drawing">
<value>189, 6</value>
<value>192, 6</value>
</data>
<data name="viewApplicationLogToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
<value>195, 22</value>
</data>
<data name="viewApplicationLogToolStripMenuItem.Text" xml:space="preserve">
<value>View XenCenter &amp;Log Files</value>
</data>
<data name="toolStripMenuItem17.Size" type="System.Drawing.Size, System.Drawing">
<value>189, 6</value>
<value>192, 6</value>
</data>
<data name="xenSourceOnTheWebToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
<value>195, 22</value>
</data>
<data name="xenSourceOnTheWebToolStripMenuItem.Text" xml:space="preserve">
<value>XenServer on the &amp;Web</value>
</data>
<data name="xenCenterPluginsOnlineToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
<value>195, 22</value>
</data>
<data name="xenCenterPluginsOnlineToolStripMenuItem.Text" xml:space="preserve">
<value>XenCenter &amp;Plugins online</value>
</data>
<data name="toolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing">
<value>189, 6</value>
<value>192, 6</value>
</data>
<data name="pluginItemsPlaceHolderToolStripMenuItem8.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
<value>195, 22</value>
</data>
<data name="pluginItemsPlaceHolderToolStripMenuItem8.Text" xml:space="preserve">
<value>PluginItemsPlaceHolder</value>
</data>
<data name="aboutXenSourceAdminToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
<value>195, 22</value>
</data>
<data name="aboutXenSourceAdminToolStripMenuItem.Text" xml:space="preserve">
<value>&amp;About XenCenter</value>
@ -3056,6 +3062,12 @@
<data name="&gt;&gt;vMProtectionAndRecoveryToolStripMenuItem.Type" xml:space="preserve">
<value>XenAdmin.Commands.CommandToolStripMenuItem, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;exportResourceReportPoolToolStripMenuItem.Name" xml:space="preserve">
<value>exportResourceReportPoolToolStripMenuItem</value>
</data>
<data name="&gt;&gt;exportResourceReportPoolToolStripMenuItem.Type" xml:space="preserve">
<value>XenAdmin.Commands.CommandToolStripMenuItem, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;wlbReportsToolStripMenuItem.Name" xml:space="preserve">
<value>wlbReportsToolStripMenuItem</value>
</data>
@ -3752,6 +3764,12 @@
<data name="&gt;&gt;xenSourceOnTheWebToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;xenCenterPluginsOnlineToolStripMenuItem.Name" xml:space="preserve">
<value>xenCenterPluginsOnlineToolStripMenuItem</value>
</data>
<data name="&gt;&gt;xenCenterPluginsOnlineToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator7.Name" xml:space="preserve">
<value>toolStripSeparator7</value>
</data>
@ -3770,12 +3788,6 @@
<data name="&gt;&gt;aboutXenSourceAdminToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;xenCenterPluginsOnlineToolStripMenuItem.Name" xml:space="preserve">
<value>xenCenterPluginsOnlineToolStripMenuItem</value>
</data>
<data name="&gt;&gt;xenCenterPluginsOnlineToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;securityGroupsToolStripMenuItem.Name" xml:space="preserve">
<value>securityGroupsToolStripMenuItem</value>
</data>
@ -3794,19 +3806,16 @@
<data name="&gt;&gt;statusProgressBar.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripProgressBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;healthCheckToolStripMenuItem1.Name" xml:space="preserve">
<value>healthCheckToolStripMenuItem1</value>
</data>
<data name="&gt;&gt;healthCheckToolStripMenuItem1.Type" xml:space="preserve">
<value>XenAdmin.Commands.CommandToolStripMenuItem, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>MainWindow</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="exportResourceReportPoolToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>277, 22</value>
</data>
<data name="&gt;&gt;exportResourceReportPoolToolStripMenuItem.Name" xml:space="preserve">
<value>exportResourceReportPoolToolStripMenuItem</value>
</data>
<data name="&gt;&gt;exportResourceReportPoolToolStripMenuItem.Type" xml:space="preserve">
<value>XenAdmin.Commands.CommandToolStripMenuItem, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>

View File

@ -108,6 +108,7 @@
<Compile Include="Alerts\Types\MessageAlert.cs" />
<Compile Include="Alerts\Types\XenServerPatchAlert.cs" />
<Compile Include="Alerts\Types\XenServerVersionAlert.cs" />
<Compile Include="Commands\CallHomeCommand.cs" />
<Compile Include="Commands\CrossPoolCopyVMCommand.cs" />
<Compile Include="Commands\CrossPoolMoveVMCommand.cs" />
<Compile Include="Commands\DragDropCrossPoolMoveHaltedVMCommand.cs" />
@ -201,6 +202,12 @@
<Compile Include="Diagnostics\Problems\ProblemWithInformationUrl.cs" />
<Compile Include="Diagnostics\Problems\SRProblem\UnsupportedStorageLinkSrIsPresentProblem.cs" />
<Compile Include="Diagnostics\Problems\VMProblem\InvalidVCPUConfiguration.cs" />
<Compile Include="Dialogs\CallHome\CallHomeOverviewDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Dialogs\CallHome\CallHomeOverviewDialog.Designer.cs">
<DependentUpon>CallHomeOverviewDialog.cs</DependentUpon>
</Compile>
<Compile Include="Dialogs\CallHome\CallHomeSettingsDialog.cs">
<SubType>Form</SubType>
</Compile>
@ -1346,6 +1353,15 @@
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Dialogs\CallHome\CallHomeOverviewDialog.ja.resx">
<DependentUpon>CallHomeOverviewDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\CallHome\CallHomeOverviewDialog.resx">
<DependentUpon>CallHomeOverviewDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\CallHome\CallHomeOverviewDialog.zh-CN.resx">
<DependentUpon>CallHomeOverviewDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\CallHome\CallHomeSettingsDialog.ja.resx">
<DependentUpon>CallHomeSettingsDialog.cs</DependentUpon>
</EmbeddedResource>