mirror of
https://github.com/xcp-ng/xenadmin.git
synced 2025-01-20 23:39:51 +01:00
commit
715ac5d0e7
@ -1,9 +1,9 @@
|
||||
List of maintainers
|
||||
===================
|
||||
* Stephen Turner <Stephen.Turner@citrix.com>
|
||||
* Mihaela Stoica <mihaela.stoica@citrix.com>
|
||||
* Konstantina Chremmou <konstantina.chremmou@citrix.com>
|
||||
* Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
|
||||
* Joey Jiang <ji.jiang@citrix.com>
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
|
68
XenAdmin/Alerts/NewVersionPriorityAlertComparer.cs
Normal file
68
XenAdmin/Alerts/NewVersionPriorityAlertComparer.cs
Normal file
@ -0,0 +1,68 @@
|
||||
/* 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.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace XenAdmin.Alerts
|
||||
{
|
||||
public class NewVersionPriorityAlertComparer : IComparer<Alert>
|
||||
{
|
||||
public int Compare(Alert alert1, Alert alert2)
|
||||
{
|
||||
if (alert1 == null || alert2 == null)
|
||||
return 0;
|
||||
|
||||
int sortResult = 0;
|
||||
|
||||
if (IsVersionOrVersionUpdateAlert(alert1) && !IsVersionOrVersionUpdateAlert(alert2))
|
||||
sortResult = 1;
|
||||
|
||||
if (!IsVersionOrVersionUpdateAlert(alert1) && IsVersionOrVersionUpdateAlert(alert2))
|
||||
sortResult = -1;
|
||||
|
||||
if (sortResult == 0)
|
||||
sortResult = Alert.CompareOnDate(alert1, alert2);
|
||||
|
||||
return -sortResult;
|
||||
}
|
||||
|
||||
private bool IsVersionOrVersionUpdateAlert(Alert alert)
|
||||
{
|
||||
return alert is XenServerPatchAlert && (alert as XenServerPatchAlert).ShowAsNewVersion
|
||||
|| alert is XenServerVersionAlert
|
||||
|| alert is XenCenterUpdateAlert;
|
||||
}
|
||||
}
|
||||
}
|
@ -147,6 +147,9 @@ namespace XenAdmin.Alerts
|
||||
case XenAPI.Message.MessageType.POOL_CPU_FEATURES_DOWN:
|
||||
case XenAPI.Message.MessageType.HOST_CPU_FEATURES_UP:
|
||||
case XenAPI.Message.MessageType.HOST_CPU_FEATURES_DOWN:
|
||||
case XenAPI.Message.MessageType.VDI_CBT_RESIZE_FAILED:
|
||||
case XenAPI.Message.MessageType.VDI_CBT_SNAPSHOT_FAILED:
|
||||
case XenAPI.Message.MessageType.VDI_CBT_METADATA_INCONSISTENT:
|
||||
if (XenObject != null)
|
||||
return string.Format(FriendlyFormat(), Helpers.GetName(XenObject));
|
||||
break;
|
||||
@ -171,7 +174,7 @@ namespace XenAdmin.Alerts
|
||||
if (XenObject != null)
|
||||
{
|
||||
Host host = XenObject as Host ?? Helpers.GetMaster(Connection);
|
||||
return string.Format(FriendlyFormat(), Helpers.GetName(XenObject), host == null ? Messages.UNKNOWN : HelpersGUI.HostLicenseExpiryString(host, true, DateTime.UtcNow));
|
||||
return string.Format(FriendlyFormat(), Helpers.GetName(XenObject));
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -51,7 +51,7 @@ namespace XenAdmin.Alerts
|
||||
|
||||
public override string WebPageLabel
|
||||
{
|
||||
get { return Messages.AVAILABLE_UPDATES_DOWNLOAD_TEXT; }
|
||||
get { return NewVersion.Url; }
|
||||
}
|
||||
|
||||
public override string Name
|
||||
@ -61,7 +61,7 @@ namespace XenAdmin.Alerts
|
||||
|
||||
public override string Title
|
||||
{
|
||||
get { return Messages.ALERT_NEW_VERSION; }
|
||||
get { return string.Format(Messages.ALERT_NEW_VERSION, NewVersion.Name); }
|
||||
}
|
||||
|
||||
public override string Description
|
||||
@ -101,16 +101,25 @@ namespace XenAdmin.Alerts
|
||||
}
|
||||
}
|
||||
|
||||
static int DISMISSED_XC_VERSIONS_LIMIT = 5;
|
||||
|
||||
public override void Dismiss()
|
||||
{
|
||||
Properties.Settings.Default.LatestXenCenterSeen = NewVersion.VersionAndLang;
|
||||
{
|
||||
List<string> current = new List<string>(Properties.Settings.Default.LatestXenCenterSeen.Split(','));
|
||||
if (current.Contains(NewVersion.VersionAndLang))
|
||||
return;
|
||||
if (current.Count >= DISMISSED_XC_VERSIONS_LIMIT)
|
||||
current.RemoveRange(0, current.Count - DISMISSED_XC_VERSIONS_LIMIT + 1);
|
||||
current.Add(NewVersion.VersionAndLang);
|
||||
Properties.Settings.Default.LatestXenCenterSeen = string.Join(",", current.ToArray());
|
||||
Settings.TrySaveSettings();
|
||||
Updates.RemoveUpdate(this);
|
||||
}
|
||||
|
||||
public override bool IsDismissed()
|
||||
{
|
||||
return Properties.Settings.Default.LatestXenCenterSeen == NewVersion.VersionAndLang;
|
||||
List<string> current = new List<string>(Properties.Settings.Default.LatestXenCenterSeen.Split(','));
|
||||
return current.Contains(NewVersion.VersionAndLang);
|
||||
}
|
||||
|
||||
public override bool Equals(Alert other)
|
||||
|
@ -36,6 +36,7 @@ using XenAdmin.Network;
|
||||
using XenAdmin.Actions;
|
||||
using XenAdmin.Core;
|
||||
using XenAPI;
|
||||
using System.Text;
|
||||
|
||||
|
||||
namespace XenAdmin.Alerts
|
||||
@ -43,7 +44,8 @@ namespace XenAdmin.Alerts
|
||||
public class XenServerPatchAlert : XenServerUpdateAlert
|
||||
{
|
||||
public XenServerPatch Patch;
|
||||
|
||||
public XenServerVersion NewServerVersion;
|
||||
|
||||
/// <summary>
|
||||
/// Can we apply this alert. Calling this sets the CannotApplyReason where applicable
|
||||
/// </summary>
|
||||
@ -83,9 +85,17 @@ namespace XenAdmin.Alerts
|
||||
return !host.CanApplyHotfixes();
|
||||
}
|
||||
|
||||
public XenServerPatchAlert(XenServerPatch patch)
|
||||
/// <summary>
|
||||
/// Creates a patch alert
|
||||
/// </summary>
|
||||
/// <param name="patch">The patch</param>
|
||||
/// <param name="newServerVersion">The version that the patch installs, or null if the patch doesn't update the server version</param>
|
||||
public XenServerPatchAlert(XenServerPatch patch, XenServerVersion newServerVersion = null)
|
||||
{
|
||||
Patch = patch;
|
||||
NewServerVersion = newServerVersion;
|
||||
if (NewServerVersion != null)
|
||||
RequiredXenCenterVersion = Updates.GetRequiredXenCenterVersion(NewServerVersion);
|
||||
_priority = patch.Priority;
|
||||
_timestamp = Patch.TimeStamp;
|
||||
}
|
||||
@ -94,8 +104,7 @@ namespace XenAdmin.Alerts
|
||||
{
|
||||
get
|
||||
{
|
||||
Uri uri = new Uri(Patch.Url);
|
||||
return uri.Segments.Last();
|
||||
return Patch.Url;
|
||||
}
|
||||
}
|
||||
|
||||
@ -114,15 +123,30 @@ namespace XenAdmin.Alerts
|
||||
{
|
||||
get
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append(Patch.Description);
|
||||
if (Patch.InstallationSize != 0)
|
||||
return string.Format(Messages.PATCH_DESCRIPTION_AND_INSTALLATION_SIZE, Patch.Description, Util.DiskSizeString(Patch.InstallationSize));
|
||||
return Patch.Description;
|
||||
{
|
||||
sb.AppendLine();
|
||||
sb.AppendFormat(Messages.PATCH_INSTALLATION_SIZE, Util.DiskSizeString(Patch.InstallationSize));
|
||||
}
|
||||
if (RequiredXenCenterVersion != null)
|
||||
{
|
||||
sb.AppendLine();
|
||||
sb.AppendFormat(Messages.PATCH_NEEDS_NEW_XENCENTER, RequiredXenCenterVersion.Version);
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
public override string Name
|
||||
{
|
||||
get { return Patch.Name; }
|
||||
get
|
||||
{
|
||||
if (ShowAsNewVersion)
|
||||
return NewServerVersion.Name;
|
||||
return Patch.Name;
|
||||
}
|
||||
}
|
||||
|
||||
public override Action FixLinkAction
|
||||
@ -148,7 +172,12 @@ namespace XenAdmin.Alerts
|
||||
|
||||
public override string Title
|
||||
{
|
||||
get { return string.Format(Messages.NEW_UPDATE_AVAILABLE, Patch.Name); }
|
||||
get
|
||||
{
|
||||
if (ShowAsNewVersion)
|
||||
return string.Format(Messages.DOWLOAD_LATEST_XS_TITLE, NewServerVersion.Name);
|
||||
return string.Format(Messages.NEW_UPDATE_AVAILABLE, Patch.Name);
|
||||
}
|
||||
}
|
||||
|
||||
public override bool IsDismissed()
|
||||
@ -185,5 +214,13 @@ namespace XenAdmin.Alerts
|
||||
}
|
||||
return base.Equals(other);
|
||||
}
|
||||
|
||||
public bool ShowAsNewVersion
|
||||
{
|
||||
get
|
||||
{
|
||||
return NewServerVersion != null && !NewServerVersion.PresentAsUpdate;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -45,6 +45,8 @@ namespace XenAdmin.Alerts
|
||||
protected readonly List<IXenConnection> connections = new List<IXenConnection>();
|
||||
private readonly List<Host> hosts = new List<Host>();
|
||||
|
||||
public XenCenterVersion RequiredXenCenterVersion;
|
||||
|
||||
public bool CanIgnore
|
||||
{
|
||||
get { return (connections.Count == 0 && hosts.Count == 0) || IsDismissed(); }
|
||||
|
@ -47,12 +47,13 @@ namespace XenAdmin.Alerts
|
||||
public XenServerVersionAlert(XenServerVersion version)
|
||||
{
|
||||
Version = version;
|
||||
RequiredXenCenterVersion = Updates.GetRequiredXenCenterVersion(Version);
|
||||
_timestamp = version.TimeStamp;
|
||||
}
|
||||
|
||||
public override string WebPageLabel
|
||||
{
|
||||
get { return Messages.AVAILABLE_UPDATES_DOWNLOAD_TEXT; }
|
||||
get { return Version.Url; }
|
||||
}
|
||||
|
||||
public override string Name
|
||||
|
@ -72,7 +72,7 @@ namespace XenAdmin.Commands
|
||||
Dictionary<SelectedItem, string> reasons = new Dictionary<SelectedItem, string>();
|
||||
foreach (Host host in _hosts)
|
||||
{
|
||||
PoolJoinRules.Reason reason = PoolJoinRules.CanJoinPool(host.Connection, _pool.Connection, true, true, true);
|
||||
PoolJoinRules.Reason reason = PoolJoinRules.CanJoinPool(host.Connection, _pool.Connection, true, true, true, _hosts.Count);
|
||||
if (reason != PoolJoinRules.Reason.Allowed)
|
||||
reasons[new SelectedItem(host)] = PoolJoinRules.ReasonMessage(reason);
|
||||
}
|
||||
@ -124,8 +124,8 @@ namespace XenAdmin.Commands
|
||||
Helpers.FeatureForbidden(host, Host.RestrictCpuMasking) &&
|
||||
!PoolJoinRules.FreeHostPaidMaster(host, master, false))) // in this case we can upgrade the license and then mask the CPU
|
||||
{
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_CPUMASKING : Messages.UPSELL_BLURB_CPUMASKING + Messages.UPSELL_BLURB_CPUMASKING_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_CPUMASKING))
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_CPUMASKING : Messages.UPSELL_BLURB_CPUMASKING + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL))
|
||||
dlg.ShowDialog(Parent);
|
||||
return;
|
||||
}
|
||||
|
@ -73,9 +73,18 @@ namespace XenAdmin.Commands
|
||||
base.DropDownItems.Add(new ToolStripMenuItem());
|
||||
}
|
||||
|
||||
private bool _isDropDownClosed;
|
||||
|
||||
protected override void OnDropDownClosed(EventArgs e)
|
||||
{
|
||||
base.OnDropDownClosed(e);
|
||||
_isDropDownClosed = true;
|
||||
}
|
||||
|
||||
protected override void OnDropDownOpening(EventArgs e)
|
||||
{
|
||||
base.DropDownItems.Clear();
|
||||
_isDropDownClosed = false;
|
||||
|
||||
// Work around bug in tool kit where disabled menu items show their dropdown menus
|
||||
if (!Enabled)
|
||||
@ -193,9 +202,18 @@ namespace XenAdmin.Commands
|
||||
});
|
||||
|
||||
List<VMOperationToolStripMenuSubItem> dropDownItems = DropDownItems.Cast<VMOperationToolStripMenuSubItem>().ToList();
|
||||
|
||||
|
||||
// Adds the migrate wizard button, do this before the enable checks on the other items
|
||||
Program.Invoke(Program.MainWindow, () => AddAdditionalMenuItems(selection));
|
||||
|
||||
foreach (VMOperationToolStripMenuSubItem item in dropDownItems)
|
||||
{
|
||||
if (_isDropDownClosed)
|
||||
{
|
||||
// Stop making requests to assert can start on each host after dropdown is closed
|
||||
break;
|
||||
}
|
||||
|
||||
Host host = item.Tag as Host;
|
||||
if (host != null)
|
||||
{
|
||||
@ -213,8 +231,6 @@ namespace XenAdmin.Commands
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Program.Invoke(Program.MainWindow, () => AddAdditionalMenuItems(selection));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -57,15 +57,8 @@ namespace XenAdmin.Commands
|
||||
{
|
||||
var con = selection.GetConnectionOfFirstItem();
|
||||
|
||||
if (Helpers.FeatureForbidden(con, Host.RestrictCrossPoolMigrate))
|
||||
{
|
||||
ShowUpsellDialog(Parent);
|
||||
}
|
||||
else
|
||||
{
|
||||
MainWindowCommandInterface.ShowPerConnectionWizard(con,
|
||||
new CrossPoolMigrateWizard(con, selection, preSelectedHost, WizardMode.Copy));
|
||||
}
|
||||
MainWindowCommandInterface.ShowPerConnectionWizard(con,
|
||||
new CrossPoolMigrateWizard(con, selection, preSelectedHost, WizardMode.Copy));
|
||||
}
|
||||
|
||||
protected override bool CanExecute(VM vm)
|
||||
|
@ -104,8 +104,8 @@ namespace XenAdmin.Commands
|
||||
|
||||
public static void ShowUpsellDialog(IWin32Window parent)
|
||||
{
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_CPM : Messages.UPSELL_BLURB_CPM + Messages.UPSELL_BLURB_CPM_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_CPM))
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_CPM : Messages.UPSELL_BLURB_CPM + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL))
|
||||
dlg.ShowDialog(parent);
|
||||
}
|
||||
|
||||
|
@ -118,8 +118,8 @@ namespace XenAdmin.Commands
|
||||
private static void ShowUpsellDialog(IWin32Window parent)
|
||||
{
|
||||
// Show upsell dialog
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_DR : Messages.UPSELL_BLURB_DR + Messages.UPSELL_BLURB_DR_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_DR))
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_DR : Messages.UPSELL_BLURB_DR + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL))
|
||||
dlg.ShowDialog(parent);
|
||||
}
|
||||
|
||||
|
@ -94,8 +94,8 @@ namespace XenAdmin.Commands
|
||||
public static void ShowUpsellDialog(IWin32Window parent)
|
||||
{
|
||||
// Show upsell dialog
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_DR : Messages.UPSELL_BLURB_DR + Messages.UPSELL_BLURB_DR_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_DR))
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_DR : Messages.UPSELL_BLURB_DR + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL))
|
||||
dlg.ShowDialog(parent);
|
||||
}
|
||||
|
||||
|
@ -97,8 +97,8 @@ namespace XenAdmin.Commands
|
||||
public static void ShowUpsellDialog(IWin32Window parent)
|
||||
{
|
||||
// Show upsell dialog
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_DR : Messages.UPSELL_BLURB_DR + Messages.UPSELL_BLURB_DR_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_DR))
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_DR : Messages.UPSELL_BLURB_DR + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL))
|
||||
dlg.ShowDialog(parent);
|
||||
}
|
||||
|
||||
|
@ -94,8 +94,8 @@ namespace XenAdmin.Commands
|
||||
public static void ShowUpsellDialog(IWin32Window parent)
|
||||
{
|
||||
// Show upsell dialog
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_DR : Messages.UPSELL_BLURB_DR + Messages.UPSELL_BLURB_DR_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_DR))
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_DR : Messages.UPSELL_BLURB_DR + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL))
|
||||
dlg.ShowDialog(parent);
|
||||
}
|
||||
|
||||
|
155
XenAdmin/Commands/DisableChangedBlockTrackingCommand.cs
Normal file
155
XenAdmin/Commands/DisableChangedBlockTrackingCommand.cs
Normal file
@ -0,0 +1,155 @@
|
||||
/* 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.Linq;
|
||||
using XenAdmin.Actions;
|
||||
using XenAdmin.Core;
|
||||
using XenAPI;
|
||||
|
||||
|
||||
namespace XenAdmin.Commands
|
||||
{
|
||||
/// <summary>
|
||||
/// Disable changed block tracking of the selected VM.
|
||||
/// </summary>
|
||||
internal class DisableChangedBlockTrackingCommand : 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 DisableChangedBlockTrackingCommand()
|
||||
{
|
||||
}
|
||||
|
||||
public DisableChangedBlockTrackingCommand(IMainWindow mainWindow, IEnumerable<SelectedItem> selection)
|
||||
: base(mainWindow, selection)
|
||||
{
|
||||
}
|
||||
|
||||
public DisableChangedBlockTrackingCommand(IMainWindow mainWindow, IXenObject xenObject)
|
||||
: base(mainWindow, xenObject)
|
||||
{
|
||||
}
|
||||
|
||||
private void Execute(IList<VM> vms)
|
||||
{
|
||||
var actions = new List<AsyncAction>();
|
||||
|
||||
foreach (var vm in vms)
|
||||
{
|
||||
if (vm.is_a_template)
|
||||
continue;
|
||||
foreach (VBD vbd in vm.Connection.ResolveAll(vm.VBDs))
|
||||
{
|
||||
VDI vdi = vm.Connection.Resolve(vbd.VDI);
|
||||
if (vdi != null && vdi.cbt_enabled)
|
||||
actions.Add(new VDIDisableCbtAction(vm, vdi));
|
||||
}
|
||||
}
|
||||
|
||||
if (actions.Any())
|
||||
{
|
||||
if (actions.Count == 1)
|
||||
{
|
||||
actions[0].RunAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
new ParallelAction(
|
||||
Messages.ACTION_DISABLE_CHANGED_BLOCK_TRACKING,
|
||||
Messages.ACTION_DISABLING_CHANGED_BLOCK_TRACKING,
|
||||
Messages.ACTION_DISABLED_CHANGED_BLOCK_TRACKING,
|
||||
actions).RunAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void ExecuteCore(SelectedItemCollection selection)
|
||||
{
|
||||
Execute(selection.AsXenObjects<VM>());
|
||||
}
|
||||
|
||||
private bool CbtLicensed(VM vm)
|
||||
{
|
||||
return !Helpers.FeatureForbidden(vm.Connection, Host.RestrictChangedBlockTracking);
|
||||
}
|
||||
|
||||
private bool CanExecute(VM vm)
|
||||
{
|
||||
return vm != null &&
|
||||
!vm.is_a_template &&
|
||||
vm.Connection.ResolveAll(vm.VBDs).Any(vbd => vm.Connection.Resolve(vbd.VDI) != null && vm.Connection.Resolve(vbd.VDI).cbt_enabled);
|
||||
}
|
||||
|
||||
protected override bool CanExecuteCore(SelectedItemCollection selection)
|
||||
{
|
||||
// Can execute criteria: A selection of VMs in the same pool which has CBT feature licensed, where at least one VM having CBT enabled
|
||||
return selection.AllItemsAre<VM>(CbtLicensed) &&
|
||||
selection.GetConnectionOfAllItems() != null &&
|
||||
selection.AtLeastOneXenObjectCan<VM>(CanExecute);
|
||||
}
|
||||
|
||||
public override string MenuText
|
||||
{
|
||||
get { return Messages.MAINWINDOW_DISABLE_CHANGED_BLOCK_TRACKING; }
|
||||
}
|
||||
|
||||
protected override bool ConfirmationRequired
|
||||
{
|
||||
get { return true; }
|
||||
}
|
||||
|
||||
protected override string ConfirmationDialogText
|
||||
{
|
||||
get
|
||||
{
|
||||
return GetSelection().Count == 1 ? Messages.CONFIRM_DISABLE_CBT_VM : Messages.CONFIRM_DISABLE_CBT_VMS;
|
||||
}
|
||||
}
|
||||
|
||||
protected override string ConfirmationDialogTitle
|
||||
{
|
||||
get
|
||||
{
|
||||
return GetSelection().Count == 1 ? String.Format(Messages.CONFIRM_DISABLE_CBT_VM_TITLE, GetSelection().AsXenObjects<VM>()[0].Name()) :
|
||||
Messages.CONFIRM_DISABLE_CBT_VMs_TITLE;
|
||||
}
|
||||
}
|
||||
|
||||
protected override string ConfirmationDialogHelpId
|
||||
{
|
||||
get { return "WarningVmDisableChangedBlockTracking"; }
|
||||
}
|
||||
}
|
||||
}
|
@ -91,8 +91,8 @@ namespace XenAdmin.Commands
|
||||
public static void ShowUpsellDialog(IWin32Window parent)
|
||||
{
|
||||
// Show upsell dialog
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_DR : Messages.UPSELL_BLURB_DR + Messages.UPSELL_BLURB_DR_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_DR))
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_DR : Messages.UPSELL_BLURB_DR + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL))
|
||||
dlg.ShowDialog(parent);
|
||||
}
|
||||
|
||||
|
@ -63,8 +63,8 @@ namespace XenAdmin.Commands
|
||||
if (Helpers.FeatureForbidden(selection[0].XenObject, Host.RestrictWLB))
|
||||
{
|
||||
// Show upsell dialog
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_WLB : Messages.UPSELL_BLURB_WLB + Messages.UPSELL_BLURB_WLB_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_WLB))
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_WLB : Messages.UPSELL_BLURB_WLB + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL))
|
||||
dlg.ShowDialog(Parent);
|
||||
return;
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ namespace XenAdmin.Commands
|
||||
{
|
||||
foreach (Host draggedHost in draggedHosts)
|
||||
{
|
||||
PoolJoinRules.Reason reason = PoolJoinRules.CanJoinPool(draggedHost.Connection, targetPool.Connection, true, true, true);
|
||||
PoolJoinRules.Reason reason = PoolJoinRules.CanJoinPool(draggedHost.Connection, targetPool.Connection, true, true, true, draggedHosts.Count);
|
||||
if (reason != PoolJoinRules.Reason.Allowed)
|
||||
{
|
||||
string reasonString = PoolJoinRules.ReasonMessage(reason);
|
||||
|
@ -74,12 +74,7 @@ namespace XenAdmin.Commands
|
||||
!draggedVM.allowed_operations.Contains(vm_operations.migrate_send))
|
||||
{
|
||||
if (draggedVM.power_state == vm_power_state.Running)
|
||||
{
|
||||
if (draggedVM.HasVGPUs())
|
||||
return Messages.MIGRATION_NOT_ALLOWED_GPU;
|
||||
else
|
||||
return Messages.MIGRATION_NOT_ALLOWED;
|
||||
}
|
||||
return Messages.MIGRATION_NOT_ALLOWED;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -82,8 +82,8 @@ namespace XenAdmin.Commands
|
||||
if (Helpers.FeatureForbidden(pool, Host.RestrictHA))
|
||||
{
|
||||
// Show upsell dialog
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_HA : Messages.UPSELL_BLURB_HA + Messages.UPSELL_BLURB_HA_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_HA))
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_HA : Messages.UPSELL_BLURB_HA + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL))
|
||||
dlg.ShowDialog(Parent);
|
||||
}
|
||||
else if (pool.ha_enabled)
|
||||
|
@ -67,9 +67,9 @@ namespace XenAdmin.Commands
|
||||
{
|
||||
string theText = HiddenFeatures.LinkLabelHidden
|
||||
? Messages.MIGRATE_VDI_UPSELL_BLURB
|
||||
: Messages.MIGRATE_VDI_UPSELL_BLURB + Messages.MIGRATE_VDI_UPSELL_BLURB_MORE;
|
||||
: Messages.MIGRATE_VDI_UPSELL_BLURB + Messages.UPSELL_BLURB_TRIAL;
|
||||
|
||||
using (var dlg = new UpsellDialog(theText, InvisibleMessages.UPSELL_LEARNMOREURL_CPM))
|
||||
using (var dlg = new UpsellDialog(theText, InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL))
|
||||
dlg.ShowDialog(Parent);
|
||||
}
|
||||
else
|
||||
@ -85,7 +85,7 @@ namespace XenAdmin.Commands
|
||||
|
||||
private bool CanBeMigrated(VDI vdi)
|
||||
{
|
||||
if (vdi == null || vdi.is_a_snapshot || vdi.Locked || vdi.IsHaType())
|
||||
if (vdi == null || vdi.is_a_snapshot || vdi.Locked || vdi.IsHaType() || vdi.cbt_enabled)
|
||||
return false;
|
||||
|
||||
if(vdi.Connection.ResolveAll(vdi.VBDs).Count == 0)
|
||||
@ -114,6 +114,8 @@ namespace XenAdmin.Commands
|
||||
return Messages.CANNOT_MOVE_VDI_IN_USE;
|
||||
if (vdi.IsHaType())
|
||||
return Messages.CANNOT_MOVE_HA_VD;
|
||||
if (vdi.cbt_enabled)
|
||||
return Messages.CANNOT_MOVE_CBT_ENABLED_VDI;
|
||||
if (vdi.IsMetadataForDR())
|
||||
return Messages.CANNOT_MOVE_DR_VD;
|
||||
if (vdi.GetVMs().Any(vm => !vm.IsRunning()) && !Helpers.DundeeOrGreater(vdi.Connection))
|
||||
|
@ -80,9 +80,22 @@ namespace XenAdmin.Commands
|
||||
|
||||
protected override bool CanExecuteCore(SelectedItemCollection selection)
|
||||
{
|
||||
if (selection.AllItemsAre<VM>() && new CrossPoolMoveVMCommand(MainWindowCommandInterface, selection).CanExecute())
|
||||
return true;
|
||||
return selection.ContainsOneItemOfType<VM>() && selection.AtLeastOneXenObjectCan<VM>(CanExecute);
|
||||
return selection.AllItemsAre<VM>(CBTDisabled) &&
|
||||
(new CrossPoolMoveVMCommand(MainWindowCommandInterface, selection).CanExecute() ||
|
||||
selection.ContainsOneItemOfType<VM>(CanExecute));
|
||||
}
|
||||
|
||||
private bool CBTDisabled(VM vm)
|
||||
{
|
||||
if (vm == null)
|
||||
return false;
|
||||
foreach (var vbd in vm.Connection.ResolveAll(vm.VBDs))
|
||||
{
|
||||
var vdi = vm.Connection.Resolve(vbd.VDI);
|
||||
if (vdi != null && vdi.cbt_enabled)
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private static bool CanExecute(VM vm)
|
||||
|
@ -74,7 +74,7 @@ namespace XenAdmin.Commands
|
||||
|
||||
private bool CanBeMoved(VDI vdi)
|
||||
{
|
||||
if (vdi == null || vdi.is_a_snapshot || vdi.Locked || vdi.IsHaType())
|
||||
if (vdi == null || vdi.is_a_snapshot || vdi.Locked || vdi.IsHaType() || vdi.cbt_enabled)
|
||||
return false;
|
||||
if (vdi.VBDs.Count != 0)
|
||||
return false;
|
||||
@ -98,6 +98,8 @@ namespace XenAdmin.Commands
|
||||
return Messages.CANNOT_MOVE_VDI_IN_USE;
|
||||
if (vdi.IsHaType())
|
||||
return Messages.CANNOT_MOVE_HA_VD;
|
||||
if (vdi.cbt_enabled)
|
||||
return Messages.CANNOT_MOVE_CBT_ENABLED_VDI;
|
||||
if (vdi.IsMetadataForDR())
|
||||
return Messages.CANNOT_MOVE_DR_VD;
|
||||
if (vdi.VBDs.Count != 0)
|
||||
|
@ -38,6 +38,7 @@ using XenAdmin.Core;
|
||||
using XenAdmin.Properties;
|
||||
using XenAPI;
|
||||
using XenAdmin.Dialogs;
|
||||
using System.Text;
|
||||
|
||||
|
||||
namespace XenAdmin.Commands
|
||||
@ -135,6 +136,7 @@ namespace XenAdmin.Commands
|
||||
List<Host> hosts = GetSelection().AsXenObjects<Host>();
|
||||
bool hasRunningVMs = false;
|
||||
var hciHosts = new List<Host>();
|
||||
var poolMasters = new List<Host>();
|
||||
|
||||
foreach (Host h in hosts)
|
||||
{
|
||||
@ -143,21 +145,44 @@ namespace XenAdmin.Commands
|
||||
|
||||
if (h.Connection.ResolveAll(h.resident_VMs).Exists(v => v.HciWarnBeforeShutdown()))
|
||||
hciHosts.Add(h);
|
||||
|
||||
if (Helpers.HostIsMaster(h) && h.Connection.Cache.HostCount > 1)
|
||||
poolMasters.Add(h);
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
string firstWarning;
|
||||
|
||||
|
||||
if (hciHosts.Count > 0)
|
||||
return hciHosts.Count == 1
|
||||
firstWarning = hciHosts.Count == 1
|
||||
? string.Format(Messages.CONFIRM_SHUTDOWN_HCI_WARN_SERVER, hciHosts[0].Name())
|
||||
: string.Format(Messages.CONFIRM_SHUTDOWN_HCI_WARN_SERVERS, string.Join("\n", hciHosts.Select(h => h.Name())));
|
||||
|
||||
if (hasRunningVMs)
|
||||
return hosts.Count == 1
|
||||
else if (hasRunningVMs)
|
||||
firstWarning = hosts.Count == 1
|
||||
? string.Format(Messages.CONFIRM_SHUTDOWN_SERVER, hosts[0].Name())
|
||||
: Messages.CONFIRM_SHUTDOWN_SERVERS;
|
||||
|
||||
return hosts.Count == 1
|
||||
else firstWarning = hosts.Count == 1
|
||||
? string.Format(Messages.CONFIRM_SHUTDOWN_SERVER_NO_VMS, hosts[0].Name())
|
||||
: Messages.CONFIRM_SHUTDOWN_SERVERS_NO_VMS;
|
||||
|
||||
sb.Append(firstWarning);
|
||||
|
||||
if (poolMasters.Count == 1)
|
||||
{
|
||||
sb.AppendLine();
|
||||
sb.AppendLine();
|
||||
sb.AppendFormat(Messages.SHUT_DOWN_POOL_MASTER_SINGLE, poolMasters[0].Name());
|
||||
}
|
||||
else if (poolMasters.Count > 1)
|
||||
{
|
||||
sb.AppendLine();
|
||||
sb.AppendLine();
|
||||
sb.AppendFormat(Messages.SHUT_DOWN_POOL_MASTER_MULTIPLE, string.Join(", ", poolMasters.Select(h => h.Name())));
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -84,8 +84,8 @@ namespace XenAdmin.Commands
|
||||
if (Helpers.FeatureForbidden(selection[0].XenObject, Host.RestrictWLB))
|
||||
{
|
||||
// Show upsell dialog
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_WLB : Messages.UPSELL_BLURB_WLB + Messages.UPSELL_BLURB_WLB_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_WLB))
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_WLB : Messages.UPSELL_BLURB_WLB + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL))
|
||||
dlg.ShowDialog(Parent);
|
||||
return;
|
||||
}
|
||||
|
@ -50,10 +50,20 @@ namespace XenAdmin.ConsoleView
|
||||
|
||||
private readonly ContainerControl parent;
|
||||
|
||||
public bool needsRdpVersionWarning = false;
|
||||
|
||||
/// <summary>
|
||||
/// http://msdn2.microsoft.com/en-us/library/aa383022(VS.85).aspx
|
||||
/// </summary>
|
||||
private MsRdpClient9 rdpClient = null;
|
||||
private MsRdpClient9 rdpClient9 = null;
|
||||
|
||||
private MsRdpClient6 rdpClient6 = null;
|
||||
|
||||
/// <summary>
|
||||
/// This will be equal to rdpClient9, if the DLL that we've got is version 8, otherwise equal to
|
||||
/// rdpClient6.
|
||||
/// </summary>
|
||||
private AxHost rdpControl = null;
|
||||
|
||||
public event EventHandler OnDisconnected = null;
|
||||
|
||||
@ -63,39 +73,44 @@ namespace XenAdmin.ConsoleView
|
||||
this.size = size;
|
||||
try
|
||||
{
|
||||
rdpClient = new MsRdpClient9();
|
||||
rdpControl = rdpClient9 = new MsRdpClient9();
|
||||
RDPConfigure(size);
|
||||
|
||||
//add event handler for when RDP display is resized
|
||||
rdpClient.OnRemoteDesktopSizeChange += rdpClient_OnRemoteDesktopSizeChange;
|
||||
rdpClient.Resize += resizeHandler;
|
||||
rdpClient9.OnRemoteDesktopSizeChange += rdpClient_OnRemoteDesktopSizeChange;
|
||||
|
||||
// CA-96135: Try adding rdpControl to parent.Controls list; this will throw exception when
|
||||
// MsRdpClient9 control cannot be created (there is no appropriate version of dll present)
|
||||
parent.Controls.Add(rdpClient);
|
||||
// MsRdpClient8 control cannot be created (there is no appropriate version of dll present)
|
||||
parent.Controls.Add(rdpControl);
|
||||
allowDisplayUpdate = true;
|
||||
needsRdpVersionWarning = false;
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch
|
||||
{
|
||||
if (parent.Controls.Contains(rdpClient))
|
||||
parent.Controls.Remove(rdpClient);
|
||||
rdpClient.Dispose();
|
||||
rdpClient = null;
|
||||
Log.Error("Adding rdpControl to parent.Controls list caused an exception.", ex);
|
||||
//any problems: fall back without thinking too much
|
||||
if (parent.Controls.Contains(rdpControl))
|
||||
parent.Controls.Remove(rdpControl);
|
||||
rdpClient9 = null;
|
||||
rdpControl = rdpClient6 = new MsRdpClient6();
|
||||
RDPConfigure(size);
|
||||
parent.Controls.Add(rdpControl);
|
||||
needsRdpVersionWarning = true;
|
||||
}
|
||||
rdpControl.Resize += resizeHandler;
|
||||
}
|
||||
|
||||
private void RDPConfigure(Size currentConsoleSize)
|
||||
{
|
||||
rdpClient.BeginInit();
|
||||
rdpLocationOffset = new Point(3, 3); //small offset to accomodate focus border
|
||||
rdpClient.Dock = DockStyle.None;
|
||||
rdpClient.Anchor = AnchorStyles.None;
|
||||
rdpClient.Size = currentConsoleSize;
|
||||
rdpControl.BeginInit();
|
||||
rdpLocationOffset = new Point(3, 3); //small offset to accomodate focus rectangle
|
||||
rdpControl.Dock = DockStyle.None;
|
||||
rdpControl.Anchor = AnchorStyles.None;
|
||||
rdpControl.Size = currentConsoleSize;
|
||||
RDPAddOnDisconnected();
|
||||
rdpClient.Enter += RdpEnter;
|
||||
rdpClient.Leave += rdpClient_Leave;
|
||||
rdpClient.GotFocus += rdpClient_GotFocus;
|
||||
rdpClient.EndInit();
|
||||
rdpControl.Enter += RdpEnter;
|
||||
rdpControl.Leave += rdpClient_Leave;
|
||||
rdpControl.GotFocus += rdpClient_GotFocus;
|
||||
rdpControl.EndInit();
|
||||
}
|
||||
|
||||
|
||||
@ -103,61 +118,90 @@ namespace XenAdmin.ConsoleView
|
||||
{
|
||||
set
|
||||
{
|
||||
if (rdpClient == null)
|
||||
if (rdpControl == null)
|
||||
return;
|
||||
|
||||
rdpClient.Location = value;
|
||||
rdpControl.Location = value;
|
||||
}
|
||||
}
|
||||
|
||||
private void RDPAddOnDisconnected()
|
||||
{
|
||||
if (rdpClient == null)
|
||||
if (rdpControl == null)
|
||||
return;
|
||||
|
||||
rdpClient.OnDisconnected += rdpClient_OnDisconnected;
|
||||
if (rdpClient9 == null)
|
||||
rdpClient6.OnDisconnected += rdpClient_OnDisconnected;
|
||||
else
|
||||
rdpClient9.OnDisconnected += rdpClient_OnDisconnected;
|
||||
}
|
||||
|
||||
private void RDPSetSettings()
|
||||
{
|
||||
if (rdpClient == null)
|
||||
if (rdpControl == null)
|
||||
return;
|
||||
|
||||
rdpClient.SecuredSettings2.KeyboardHookMode = Properties.Settings.Default.WindowsShortcuts ? 1 : 0;
|
||||
rdpClient.SecuredSettings2.AudioRedirectionMode = Properties.Settings.Default.ReceiveSoundFromRDP ? 0 : 1;
|
||||
rdpClient.AdvancedSettings3.DisableRdpdr = Properties.Settings.Default.ClipboardAndPrinterRedirection ? 0 : 1;
|
||||
rdpClient.AdvancedSettings7.ConnectToAdministerServer = Properties.Settings.Default.ConnectToServerConsole;
|
||||
|
||||
//CA-103910 - enable NLA
|
||||
rdpClient.AdvancedSettings5.AuthenticationLevel = 2;
|
||||
rdpClient.AdvancedSettings7.EnableCredSspSupport = true;
|
||||
|
||||
if (rdpClient9 == null)
|
||||
{
|
||||
rdpClient6.SecuredSettings2.KeyboardHookMode = Properties.Settings.Default.WindowsShortcuts ? 1 : 0;
|
||||
rdpClient6.SecuredSettings2.AudioRedirectionMode = Properties.Settings.Default.ReceiveSoundFromRDP ? 0 : 1;
|
||||
rdpClient6.AdvancedSettings3.DisableRdpdr = Properties.Settings.Default.ClipboardAndPrinterRedirection ? 0 : 1;
|
||||
rdpClient6.AdvancedSettings7.ConnectToAdministerServer = Properties.Settings.Default.ConnectToServerConsole;
|
||||
//CA-103910 - enable NLA
|
||||
rdpClient6.AdvancedSettings5.AuthenticationLevel = 2;
|
||||
rdpClient6.AdvancedSettings7.EnableCredSspSupport = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
rdpClient9.SecuredSettings2.KeyboardHookMode = Properties.Settings.Default.WindowsShortcuts ? 1 : 0;
|
||||
rdpClient9.SecuredSettings2.AudioRedirectionMode = Properties.Settings.Default.ReceiveSoundFromRDP ? 0 : 1;
|
||||
rdpClient9.AdvancedSettings3.DisableRdpdr = Properties.Settings.Default.ClipboardAndPrinterRedirection ? 0 : 1;
|
||||
rdpClient9.AdvancedSettings7.ConnectToAdministerServer = Properties.Settings.Default.ConnectToServerConsole;
|
||||
//CA-103910 - enable NLA
|
||||
rdpClient9.AdvancedSettings5.AuthenticationLevel = 2;
|
||||
rdpClient9.AdvancedSettings7.EnableCredSspSupport = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void RDPConnect(string rdpIP, int w, int h)
|
||||
{
|
||||
if (rdpClient == null)
|
||||
if (rdpControl == null)
|
||||
return;
|
||||
|
||||
Log.DebugFormat("Connecting RDPClient9 using server '{0}', width '{1}' and height '{2}'", rdpIP, w, h);
|
||||
Log.DebugFormat("Connecting RDPClient{0} using server '{1}', width '{2}' and height '{3}'",
|
||||
rdpClient9 == null ? "6" : "9",
|
||||
rdpIP,
|
||||
w,
|
||||
h);
|
||||
|
||||
rdpClient.Server = rdpIP;
|
||||
rdpClient.DesktopWidth = w;
|
||||
rdpClient.DesktopHeight = h;
|
||||
rdpClient.Connect();
|
||||
if (rdpClient9 == null)
|
||||
{
|
||||
rdpClient6.Server = rdpIP;
|
||||
rdpClient6.DesktopWidth = w;
|
||||
rdpClient6.DesktopHeight = h;
|
||||
rdpClient6.Connect();
|
||||
}
|
||||
else
|
||||
{
|
||||
rdpClient9.Server = rdpIP;
|
||||
rdpClient9.DesktopWidth = w;
|
||||
rdpClient9.DesktopHeight = h;
|
||||
rdpClient9.Connect();
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateDisplay(int width, int height, Point locationOffset)
|
||||
{
|
||||
if (rdpClient == null)
|
||||
if (rdpControl == null)
|
||||
return;
|
||||
|
||||
if (Connected && allowDisplayUpdate)
|
||||
if (Connected && rdpClient9 != null && allowDisplayUpdate)
|
||||
{
|
||||
try
|
||||
{
|
||||
Log.DebugFormat("Updating display settings using width '{0}' and height '{1}'", width, height);
|
||||
rdpClient.UpdateSessionDisplaySettings((uint)width, (uint)height, (uint)width, (uint)height, 1, 1, 1);
|
||||
rdpClient.Size = new Size(width, height);
|
||||
rdpClient9.UpdateSessionDisplaySettings((uint)width, (uint)height, (uint)width, (uint)height, 1, 1, 1);
|
||||
rdpClient9.Size = new Size(width, height);
|
||||
rdpLocationOffset = locationOffset;
|
||||
parent.AutoScroll = false;
|
||||
}
|
||||
@ -165,24 +209,24 @@ namespace XenAdmin.ConsoleView
|
||||
{
|
||||
allowDisplayUpdate = false;
|
||||
parent.AutoScroll = true;
|
||||
parent.AutoScrollMinSize = rdpClient.Size;
|
||||
parent.AutoScrollMinSize = rdpClient9.Size;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool Connected
|
||||
{
|
||||
get { return rdpClient == null ? false : rdpClient.Connected == 1; }
|
||||
get { return rdpControl == null ? false : (rdpClient9 == null ? rdpClient6.Connected == 1 : rdpClient9.Connected == 1); }
|
||||
}
|
||||
|
||||
private int DesktopHeight
|
||||
{
|
||||
get { return rdpClient == null ? 0 : rdpClient.DesktopHeight; }
|
||||
get { return rdpControl == null ? 0 : (rdpClient9 == null ? rdpClient6.DesktopHeight : rdpClient9.DesktopHeight); }
|
||||
}
|
||||
|
||||
private int DesktopWidth
|
||||
{
|
||||
get { return rdpClient == null ? 0 : rdpClient.DesktopWidth; }
|
||||
get { return rdpControl == null ? 0 : (rdpClient9 == null ? rdpClient6.DesktopWidth : rdpClient9.DesktopWidth); }
|
||||
}
|
||||
|
||||
private static readonly List<System.Windows.Forms.Timer> RdpCleanupTimers = new List<System.Windows.Forms.Timer>();
|
||||
@ -200,10 +244,10 @@ namespace XenAdmin.ConsoleView
|
||||
{
|
||||
Program.AssertOnEventThread();
|
||||
|
||||
if (rdpClient == null || parent == null)
|
||||
if (rdpControl == null || parent == null)
|
||||
return;
|
||||
|
||||
rdpClient.Size = DesktopSize;
|
||||
rdpControl.Size = DesktopSize;
|
||||
parent.Refresh();
|
||||
}
|
||||
|
||||
@ -215,10 +259,10 @@ namespace XenAdmin.ConsoleView
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (parent.Controls.Contains(rdpClient))
|
||||
parent.Controls.Remove(rdpClient);
|
||||
rdpClient.Dispose();
|
||||
rdpClient = null;
|
||||
if (parent.Controls.Contains(rdpControl))
|
||||
parent.Controls.Remove(rdpControl);
|
||||
rdpControl.Dispose();
|
||||
rdpControl = null;
|
||||
Log.Error("Setting the RDP client properties caused an exception.", ex);
|
||||
}
|
||||
RDPConnect(rdpIP, size.Width, size.Height);
|
||||
@ -230,9 +274,10 @@ namespace XenAdmin.ConsoleView
|
||||
{
|
||||
if (Connected)
|
||||
{
|
||||
if (rdpClient == null)
|
||||
return;
|
||||
rdpClient.Disconnect();
|
||||
if (rdpClient9 == null)
|
||||
rdpClient6.Disconnect();
|
||||
else
|
||||
rdpClient9.Disconnect();
|
||||
}
|
||||
}
|
||||
catch(InvalidComObjectException ex)
|
||||
@ -258,7 +303,7 @@ namespace XenAdmin.ConsoleView
|
||||
{
|
||||
bool containsFocus = parent.ParentForm != null && parent.ParentForm.ContainsFocus;
|
||||
|
||||
if (rdpClient == null || !containsFocus)
|
||||
if (rdpControl == null || !containsFocus)
|
||||
return;
|
||||
|
||||
if (KeyHandler.handleExtras<int>(pressed, pressedScans, KeyHandler.ExtraScans, scancode, KeyHandler.ModifierScans, ref modifierKeyPressedAlone))
|
||||
@ -292,16 +337,16 @@ namespace XenAdmin.ConsoleView
|
||||
|
||||
public Control ConsoleControl
|
||||
{
|
||||
get { return rdpClient; }
|
||||
get { return rdpControl; }
|
||||
}
|
||||
|
||||
public void Activate()
|
||||
{
|
||||
Program.MainWindow.MenuShortcuts = false;
|
||||
if (rdpClient != null)
|
||||
if (rdpControl != null)
|
||||
{
|
||||
if (!rdpClient.Focused)
|
||||
rdpClient.Select();
|
||||
if (!rdpControl.Focused)
|
||||
rdpControl.Select();
|
||||
|
||||
InterceptKeys.releaseKeys();
|
||||
InterceptKeys.grabKeys(new InterceptKeys.KeyEvent(handleRDPKey), true);
|
||||
@ -340,7 +385,7 @@ namespace XenAdmin.ConsoleView
|
||||
{
|
||||
if(disposing)
|
||||
{
|
||||
if (rdpClient != null)
|
||||
if (rdpControl != null)
|
||||
{
|
||||
// We need to dispose the rdp control. However, doing it immediately (in the control's own
|
||||
// OnDisconnected event) will cause a horrible crash. Instead, start a timer that will
|
||||
@ -351,7 +396,7 @@ namespace XenAdmin.ConsoleView
|
||||
try
|
||||
{
|
||||
Log.Debug("RdpClient Dispose(): rdpControl.Dispose() in delegate");
|
||||
rdpClient.Dispose();
|
||||
rdpControl.Dispose();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
@ -369,7 +414,7 @@ namespace XenAdmin.ConsoleView
|
||||
else
|
||||
Log.Debug("RdpClient Dispose(): rdpControl == null");
|
||||
}
|
||||
rdpClient = null;
|
||||
rdpControl = null;
|
||||
Log.Debug("RdpClient Dispose(): disposed = true");
|
||||
disposed = true;
|
||||
}
|
||||
@ -410,7 +455,7 @@ namespace XenAdmin.ConsoleView
|
||||
|
||||
public Size DesktopSize
|
||||
{
|
||||
get { return rdpClient != null ? new Size(DesktopWidth, DesktopHeight) /*rdpControl.Size*/ : Size.Empty; }
|
||||
get { return rdpControl != null ? new Size(DesktopWidth, DesktopHeight) /*rdpControl.Size*/ : Size.Empty; }
|
||||
set { }
|
||||
}
|
||||
|
||||
@ -418,7 +463,7 @@ namespace XenAdmin.ConsoleView
|
||||
{
|
||||
get
|
||||
{
|
||||
return rdpClient != null ? new Rectangle(rdpClient.Location.X, rdpClient.Location.Y, DesktopWidth, DesktopHeight) : Rectangle.Empty;
|
||||
return rdpControl != null ? new Rectangle(rdpControl.Location.X, rdpControl.Location.Y, DesktopWidth, DesktopHeight) : Rectangle.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
|
27
XenAdmin/ConsoleView/VNCTabView.Designer.cs
generated
27
XenAdmin/ConsoleView/VNCTabView.Designer.cs
generated
@ -50,6 +50,8 @@ namespace XenAdmin.ConsoleView
|
||||
this.sendCAD = new System.Windows.Forms.Button();
|
||||
this.contentPanel = new System.Windows.Forms.Panel();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.labelGeneralInformationMessage = new System.Windows.Forms.Label();
|
||||
this.pictureBoxGeneralInformationMessage = new System.Windows.Forms.PictureBox();
|
||||
this.scaleCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.fullscreenButton = new System.Windows.Forms.Button();
|
||||
this.dockButton = new System.Windows.Forms.Button();
|
||||
@ -65,6 +67,7 @@ namespace XenAdmin.ConsoleView
|
||||
this.multipleDvdIsoList1 = new XenAdmin.Controls.MultipleDvdIsoList();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxGeneralInformationMessage)).BeginInit();
|
||||
this.gradientPanel1.SuspendLayout();
|
||||
this.tableLayoutPanel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
@ -85,12 +88,27 @@ namespace XenAdmin.ConsoleView
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelGeneralInformationMessage, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.pictureBoxGeneralInformationMessage, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.sendCAD, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.scaleCheckBox, 2, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.fullscreenButton, 4, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.dockButton, 3, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.scaleCheckBox, 3, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.fullscreenButton, 5, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.dockButton, 4, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
//
|
||||
// labelGeneralInformationMessage
|
||||
//
|
||||
resources.ApplyResources(this.labelGeneralInformationMessage, "labelGeneralInformationMessage");
|
||||
this.labelGeneralInformationMessage.AutoEllipsis = true;
|
||||
this.labelGeneralInformationMessage.Name = "labelGeneralInformationMessage";
|
||||
//
|
||||
// pictureBoxGeneralInformationMessage
|
||||
//
|
||||
resources.ApplyResources(this.pictureBoxGeneralInformationMessage, "pictureBoxGeneralInformationMessage");
|
||||
this.pictureBoxGeneralInformationMessage.Image = global::XenAdmin.Properties.Resources._000_Info3_h32bit_16;
|
||||
this.pictureBoxGeneralInformationMessage.Name = "pictureBoxGeneralInformationMessage";
|
||||
this.pictureBoxGeneralInformationMessage.TabStop = false;
|
||||
//
|
||||
// scaleCheckBox
|
||||
//
|
||||
resources.ApplyResources(this.scaleCheckBox, "scaleCheckBox");
|
||||
@ -215,6 +233,7 @@ namespace XenAdmin.ConsoleView
|
||||
this.Name = "VNCTabView";
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxGeneralInformationMessage)).EndInit();
|
||||
this.gradientPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel2.ResumeLayout(false);
|
||||
this.tableLayoutPanel2.PerformLayout();
|
||||
@ -243,5 +262,7 @@ namespace XenAdmin.ConsoleView
|
||||
private System.Windows.Forms.Label powerStateLabel;
|
||||
private System.Windows.Forms.Label dedicatedGpuWarning;
|
||||
private System.Windows.Forms.Button buttonSSH;
|
||||
private System.Windows.Forms.PictureBox pictureBoxGeneralInformationMessage;
|
||||
private System.Windows.Forms.Label labelGeneralInformationMessage;
|
||||
}
|
||||
}
|
||||
|
@ -95,6 +95,9 @@ namespace XenAdmin.ConsoleView
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
var tooltipForGeneralInformationMessage = new ToolTip();
|
||||
tooltipForGeneralInformationMessage.SetToolTip(labelGeneralInformationMessage, labelGeneralInformationMessage.Text);
|
||||
|
||||
HostLabel.Font = Program.HeaderGradientFont;
|
||||
HostLabel.ForeColor = Program.HeaderGradientForeColor;
|
||||
multipleDvdIsoList1.LabelSingleDvdForeColor = Program.HeaderGradientForeColor;
|
||||
@ -212,6 +215,11 @@ namespace XenAdmin.ConsoleView
|
||||
vncScreen.AutoSwitchRDPLater = true;
|
||||
}
|
||||
|
||||
void ShowOrHideRdpVersionWarning()
|
||||
{
|
||||
pictureBoxGeneralInformationMessage.Visible = labelGeneralInformationMessage.Visible = vncScreen.RdpVersionWarningNeeded;
|
||||
}
|
||||
|
||||
public bool IsScaled
|
||||
{
|
||||
get { return scaleCheckBox.Checked; }
|
||||
@ -1229,6 +1237,8 @@ namespace XenAdmin.ConsoleView
|
||||
}
|
||||
ignoreScaleChange = false;
|
||||
scaleCheckBox_CheckedChanged(null, null); // make sure scale setting is now correct: CA-84324
|
||||
|
||||
ShowOrHideRdpVersionWarning();
|
||||
}
|
||||
|
||||
private void UpdateTooltipOfToogleButton()
|
||||
|
@ -154,7 +154,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>sendCAD.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="contentPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
@ -187,8 +187,89 @@
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>223, 4</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 3, 0</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.MaximumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 30</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>207, 26</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Text" xml:space="preserve">
|
||||
<value>以前のバージョンの RDP クライアントが見つかりました。アップデートをお勧めします。</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>BottomLeft</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name=">>labelGeneralInformationMessage.Name" xml:space="preserve">
|
||||
<value>labelGeneralInformationMessage</value>
|
||||
</data>
|
||||
<data name=">>labelGeneralInformationMessage.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelGeneralInformationMessage.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelGeneralInformationMessage.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>201, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>22, 34</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>CenterImage</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxGeneralInformationMessage.Name" xml:space="preserve">
|
||||
<value>pictureBoxGeneralInformationMessage</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxGeneralInformationMessage.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxGeneralInformationMessage.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxGeneralInformationMessage.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="scaleCheckBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
@ -223,7 +304,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>scaleCheckBox.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="fullscreenButton.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -259,7 +340,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>fullscreenButton.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="dockButton.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -307,7 +388,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>dockButton.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Bottom</value>
|
||||
@ -343,50 +424,11 @@
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="sendCAD" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="scaleCheckBox" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="fullscreenButton" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="dockButton" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,16" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelGeneralInformationMessage" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="pictureBoxGeneralInformationMessage" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sendCAD" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="scaleCheckBox" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="fullscreenButton" Row="0" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="dockButton" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Absolute,22,Percent,100,AutoSize,0,AutoSize,0,AutoSize,0" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<metadata name="tip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="toggleConsoleButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>522, 6</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 6, 6, 6</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>175, 24</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Text" xml:space="preserve">
|
||||
<value>ゲスト コンソールの検索中...</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.ToolTip" xml:space="preserve">
|
||||
<value>このゲストではリモート アクセスが有効になっていません</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.Name" xml:space="preserve">
|
||||
<value>toggleConsoleButton</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.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=">>toggleConsoleButton.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel2</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<metadata name="LifeCycleMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>81, 17</value>
|
||||
</metadata>
|
||||
@ -549,6 +591,45 @@
|
||||
<data name=">>buttonSSH.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>522, 6</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 6, 6, 6</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>175, 24</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Text" xml:space="preserve">
|
||||
<value>ゲスト コンソールの検索中...</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.ToolTip" xml:space="preserve">
|
||||
<value>このゲストではリモート アクセスが有効になっていません</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.Name" xml:space="preserve">
|
||||
<value>toggleConsoleButton</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.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=">>toggleConsoleButton.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel2</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="multipleDvdIsoList1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
|
@ -136,7 +136,7 @@
|
||||
<value>123, 30</value>
|
||||
</data>
|
||||
<data name="sendCAD.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>209, 30</value>
|
||||
<value>197, 30</value>
|
||||
</data>
|
||||
<data name="sendCAD.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@ -154,7 +154,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>sendCAD.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="contentPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
@ -187,8 +187,89 @@
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>223, 4</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 3, 0</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.MaximumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 30</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>207, 26</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Text" xml:space="preserve">
|
||||
<value>Your RDP client is outdated. For better experience, please update it.</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>BottomLeft</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name=">>labelGeneralInformationMessage.Name" xml:space="preserve">
|
||||
<value>labelGeneralInformationMessage</value>
|
||||
</data>
|
||||
<data name=">>labelGeneralInformationMessage.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelGeneralInformationMessage.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelGeneralInformationMessage.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>201, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>22, 34</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>CenterImage</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxGeneralInformationMessage.Name" xml:space="preserve">
|
||||
<value>pictureBoxGeneralInformationMessage</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxGeneralInformationMessage.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxGeneralInformationMessage.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxGeneralInformationMessage.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="scaleCheckBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
@ -199,7 +280,7 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="scaleCheckBox.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>433, 8</value>
|
||||
<value>438, 8</value>
|
||||
</data>
|
||||
<data name="scaleCheckBox.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
@ -223,7 +304,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>scaleCheckBox.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="fullscreenButton.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -232,7 +313,7 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="fullscreenButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>578, 2</value>
|
||||
<value>583, 2</value>
|
||||
</data>
|
||||
<data name="fullscreenButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
@ -241,7 +322,7 @@
|
||||
<value>114, 30</value>
|
||||
</data>
|
||||
<data name="fullscreenButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>123, 30</value>
|
||||
<value>118, 30</value>
|
||||
</data>
|
||||
<data name="fullscreenButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
@ -259,7 +340,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>fullscreenButton.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="dockButton.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -274,7 +355,7 @@
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="dockButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>489, 2</value>
|
||||
<value>494, 2</value>
|
||||
</data>
|
||||
<data name="dockButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
@ -307,7 +388,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>dockButton.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Bottom</value>
|
||||
@ -343,50 +424,11 @@
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="sendCAD" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="scaleCheckBox" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="fullscreenButton" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="dockButton" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,16" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelGeneralInformationMessage" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="pictureBoxGeneralInformationMessage" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sendCAD" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="scaleCheckBox" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="fullscreenButton" Row="0" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="dockButton" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Absolute,22,Percent,100,AutoSize,0,AutoSize,0,AutoSize,0" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<metadata name="tip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="toggleConsoleButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>522, 6</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 6, 6, 6</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>175, 24</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Text" xml:space="preserve">
|
||||
<value>Looking for guest console...</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.ToolTip" xml:space="preserve">
|
||||
<value>Remote access is not enabled on this guest</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.Name" xml:space="preserve">
|
||||
<value>toggleConsoleButton</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.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=">>toggleConsoleButton.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel2</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<metadata name="LifeCycleMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>81, 17</value>
|
||||
</metadata>
|
||||
@ -549,6 +591,45 @@
|
||||
<data name=">>buttonSSH.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>522, 6</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 6, 6, 6</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>175, 24</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Text" xml:space="preserve">
|
||||
<value>Looking for guest console...</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.ToolTip" xml:space="preserve">
|
||||
<value>Remote access is not enabled on this guest</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.Name" xml:space="preserve">
|
||||
<value>toggleConsoleButton</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.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=">>toggleConsoleButton.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel2</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="multipleDvdIsoList1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
@ -649,7 +730,7 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="HostLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="buttonSSH" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="toggleConsoleButton" Row="0" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="multipleDvdIsoList1" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="pictureBox1" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,Percent,100,AutoSize,0,AutoSize,0" /><Rows Styles="Percent,100,Absolute,37" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="HostLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="buttonSSH" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="toggleConsoleButton" Row="0" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="multipleDvdIsoList1" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="pictureBox1" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,Percent,100,AutoSize,0,AutoSize,0" /><Rows Styles="Percent,100,Absolute,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="gradientPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Top</value>
|
||||
|
@ -154,7 +154,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>sendCAD.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="contentPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
@ -187,8 +187,89 @@
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>223, 4</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 3, 0</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.MaximumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 30</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>207, 26</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Text" xml:space="preserve">
|
||||
<value>您 RDP 客户端已过时。为了获得更好的体验,请更新该客户端。</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>BottomLeft</value>
|
||||
</data>
|
||||
<data name="labelGeneralInformationMessage.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name=">>labelGeneralInformationMessage.Name" xml:space="preserve">
|
||||
<value>labelGeneralInformationMessage</value>
|
||||
</data>
|
||||
<data name=">>labelGeneralInformationMessage.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelGeneralInformationMessage.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelGeneralInformationMessage.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>201, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>22, 34</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>CenterImage</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="pictureBoxGeneralInformationMessage.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxGeneralInformationMessage.Name" xml:space="preserve">
|
||||
<value>pictureBoxGeneralInformationMessage</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxGeneralInformationMessage.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxGeneralInformationMessage.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxGeneralInformationMessage.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="scaleCheckBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
@ -223,7 +304,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>scaleCheckBox.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="fullscreenButton.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -259,7 +340,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>fullscreenButton.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="dockButton.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -307,7 +388,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>dockButton.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Bottom</value>
|
||||
@ -343,50 +424,11 @@
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="sendCAD" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="scaleCheckBox" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="fullscreenButton" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="dockButton" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,16" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelGeneralInformationMessage" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="pictureBoxGeneralInformationMessage" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sendCAD" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="scaleCheckBox" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="fullscreenButton" Row="0" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="dockButton" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Absolute,22,Percent,100,AutoSize,0,AutoSize,0,AutoSize,0" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<metadata name="tip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="toggleConsoleButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>522, 6</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 6, 6, 6</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>175, 24</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Text" xml:space="preserve">
|
||||
<value>正在查找来宾控制台...</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.ToolTip" xml:space="preserve">
|
||||
<value>此来宾未启用远程访问</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.Name" xml:space="preserve">
|
||||
<value>toggleConsoleButton</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.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=">>toggleConsoleButton.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel2</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<metadata name="LifeCycleMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>81, 17</value>
|
||||
</metadata>
|
||||
@ -549,6 +591,45 @@
|
||||
<data name=">>buttonSSH.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>522, 6</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 6, 6, 6</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>175, 24</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.Text" xml:space="preserve">
|
||||
<value>正在查找来宾控制台...</value>
|
||||
</data>
|
||||
<data name="toggleConsoleButton.ToolTip" xml:space="preserve">
|
||||
<value>此来宾未启用远程访问</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.Name" xml:space="preserve">
|
||||
<value>toggleConsoleButton</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.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=">>toggleConsoleButton.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel2</value>
|
||||
</data>
|
||||
<data name=">>toggleConsoleButton.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="multipleDvdIsoList1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
|
@ -117,6 +117,8 @@ namespace XenAdmin.ConsoleView
|
||||
public event Action<bool> GpuStatusChanged;
|
||||
public event Action<string> ConnectionNameChanged;
|
||||
|
||||
public bool RdpVersionWarningNeeded { get { return rdpClient != null && rdpClient.needsRdpVersionWarning; }}
|
||||
|
||||
internal readonly VNCTabView parentVNCTabView;
|
||||
|
||||
[DefaultValue(false)]
|
||||
|
@ -41,7 +41,7 @@ using XenAPI;
|
||||
|
||||
namespace XenAdmin.Controls.DataGridViewEx
|
||||
{
|
||||
public partial class CollapsingPoolHostDataGridView : DataGridViewEx
|
||||
public abstract partial class CollapsingPoolHostDataGridView : DataGridViewEx
|
||||
{
|
||||
public event EventHandler CheckBoxClicked;
|
||||
|
||||
@ -91,10 +91,9 @@ namespace XenAdmin.Controls.DataGridViewEx
|
||||
{}
|
||||
|
||||
/// <summary>
|
||||
/// Hook in order that sorting may be added for additional columns rather than those
|
||||
/// provided by the base class
|
||||
/// Subclass needs to implement the sorter
|
||||
/// </summary>
|
||||
protected virtual void SortAdditionalColumns() { }
|
||||
protected abstract void SortColumns();
|
||||
|
||||
/// <summary>
|
||||
/// Sort the rows but then remove and read the rows that should be expandable to be placed back under
|
||||
@ -169,12 +168,7 @@ namespace XenAdmin.Controls.DataGridViewEx
|
||||
|
||||
DetermineSortDirection(e);
|
||||
|
||||
if (columnToBeSortedIndex == firstRow.NameCellIndex)
|
||||
{
|
||||
SortAndRebuildTree(new CollapsingPoolHostDataGridViewRowDefaultSorter(direction));
|
||||
}
|
||||
|
||||
SortAdditionalColumns();
|
||||
SortColumns();
|
||||
|
||||
Columns[columnToBeSortedIndex].HeaderCell.SortGlyphDirection =
|
||||
direction == ListSortDirection.Ascending
|
||||
|
@ -41,14 +41,9 @@ namespace XenAdmin.Controls.DataGridViewEx
|
||||
{
|
||||
public class CollapsingPoolHostDataGridViewRow : DataGridViewExRow
|
||||
{
|
||||
protected class DataGridViewExNameCell : DataGridViewTextBoxCell
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected DataGridViewImageCell _expansionCell;
|
||||
protected DataGridViewCheckBoxCell _poolCheckBoxCell;
|
||||
protected DataGridViewExNameCell _nameCell;
|
||||
protected DataGridViewTextBoxCell _nameCell;
|
||||
protected bool _hasPool;
|
||||
|
||||
protected CollapsingPoolHostDataGridViewRow()
|
||||
@ -98,6 +93,11 @@ namespace XenAdmin.Controls.DataGridViewEx
|
||||
get { return Tag is Host; }
|
||||
}
|
||||
|
||||
public bool IsPoolOrStandaloneHost
|
||||
{
|
||||
get { return IsAPoolRow || (IsAHostRow && !HasPool); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the underlying pool if a pool row otherwise returns null
|
||||
/// </summary>
|
||||
@ -125,13 +125,17 @@ namespace XenAdmin.Controls.DataGridViewEx
|
||||
public void SetCollapseIcon()
|
||||
{
|
||||
_expansionCell.Value = Resources.tree_minus;
|
||||
IsACollapsedRow = false;
|
||||
}
|
||||
|
||||
public void SetExpandIcon()
|
||||
{
|
||||
_expansionCell.Value = Resources.tree_plus;
|
||||
IsACollapsedRow = true;
|
||||
}
|
||||
|
||||
public bool IsACollapsedRow { get; protected set; }
|
||||
|
||||
/// <summary>
|
||||
/// Convert row to a standalone host row
|
||||
/// </summary>
|
||||
|
@ -64,6 +64,11 @@ namespace XenAdmin.Controls.DataGridViewEx
|
||||
this.direction = direction;
|
||||
}
|
||||
|
||||
protected ListSortDirection Direction
|
||||
{
|
||||
get { return direction; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Interface member correcting the sort for the direction required
|
||||
/// </summary>
|
||||
|
@ -45,12 +45,14 @@ namespace XenAdmin.Controls.DataGridViewEx
|
||||
/// T is the sort of Row used which is a decendent of CollapsingPoolHostDataGridViewRow
|
||||
/// </summary>
|
||||
/// <note>Base class takes care of the bi-direction behaviour</note>
|
||||
public abstract class CollapsingPoolHostDataGridViewRowStableSorter<T> : CollapsingPoolHostDataGridViewRowSorter where T : PoolHostDataGridViewOneCheckboxRow
|
||||
public abstract class CollapsingPoolHostDataGridViewRowStableSorter<T> : CollapsingPoolHostDataGridViewRowSorter where T : CollapsingPoolHostDataGridViewRow
|
||||
{
|
||||
private IComparer stableSorter = new CollapsingPoolHostDataGridViewRowDefaultSorter();
|
||||
|
||||
protected CollapsingPoolHostDataGridViewRowStableSorter(){}
|
||||
|
||||
protected CollapsingPoolHostDataGridViewRowStableSorter(ListSortDirection direction) : base(direction) { }
|
||||
|
||||
private IComparer stableSorter = new CollapsingPoolHostDataGridViewRowDefaultSorter();
|
||||
|
||||
/// <summary>
|
||||
/// Use this IComparer to sort any values where the implementations sorter
|
||||
/// comes back with a zero i.e. the objects are the same
|
||||
@ -60,8 +62,6 @@ namespace XenAdmin.Controls.DataGridViewEx
|
||||
set { stableSorter = value; }
|
||||
}
|
||||
|
||||
protected CollapsingPoolHostDataGridViewRowStableSorter(ListSortDirection direction) : base(direction) { }
|
||||
|
||||
protected override int PerformSort()
|
||||
{
|
||||
T rowLhs = Lhs as T;
|
||||
|
@ -0,0 +1,75 @@
|
||||
/* 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.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using XenAdmin.Core;
|
||||
|
||||
namespace XenAdmin.Controls.DataGridViewEx
|
||||
{
|
||||
/// <summary>
|
||||
/// A class implementation to do sorting of CollapsingPoolHostDataGridViewRow derived types based on the input column index and direction
|
||||
public class CollapsingPoolHostRowSorter<T> : CollapsingPoolHostDataGridViewRowStableSorter<T> where T : CollapsingPoolHostDataGridViewRow
|
||||
{
|
||||
private int columnClicked;
|
||||
|
||||
public CollapsingPoolHostRowSorter(ListSortDirection direction, int columnClicked)
|
||||
: base(direction)
|
||||
{
|
||||
this.columnClicked = columnClicked;
|
||||
|
||||
// In case of same string, default sorting should be still in order under Descending direction
|
||||
StableSorter = new CollapsingPoolHostDataGridViewRowDefaultSorter(Direction);
|
||||
}
|
||||
|
||||
protected override int SortRowByColumnDetails(T leftSide, T rightSide)
|
||||
{
|
||||
if (leftSide.IsPoolOrStandaloneHost && !rightSide.IsPoolOrStandaloneHost)
|
||||
return -1;
|
||||
|
||||
if (!leftSide.IsPoolOrStandaloneHost && rightSide.IsPoolOrStandaloneHost)
|
||||
return 1;
|
||||
|
||||
if ((leftSide.IsPoolOrStandaloneHost && rightSide.IsPoolOrStandaloneHost) ||
|
||||
(!leftSide.IsPoolOrStandaloneHost && !rightSide.IsPoolOrStandaloneHost))
|
||||
{
|
||||
return StringUtility.NaturalCompare(leftSide.Cells[columnClicked].Value.ToString(),
|
||||
rightSide.Cells[columnClicked].Value.ToString());
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
@ -43,7 +43,7 @@ using System.Collections;
|
||||
namespace XenAdmin.Controls.DataGridViewEx
|
||||
{
|
||||
[ToolboxBitmap(typeof(DataGridView))]
|
||||
public partial class PoolHostDataGridViewOneCheckbox : CollapsingPoolHostDataGridView
|
||||
public abstract partial class PoolHostDataGridViewOneCheckbox : CollapsingPoolHostDataGridView
|
||||
{
|
||||
public PoolHostDataGridViewOneCheckbox()
|
||||
{
|
||||
|
@ -51,38 +51,39 @@ namespace XenAdmin.Controls.DataGridViewEx
|
||||
/// </summary>
|
||||
public abstract class PoolHostDataGridViewOneCheckboxRow : CollapsingPoolHostDataGridViewRow
|
||||
{
|
||||
private class DataGridViewNameCell : DataGridViewExNameCell
|
||||
private class DataGridViewNameCell : DataGridViewTextBoxCell
|
||||
{
|
||||
protected override void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates cellState, object value, object formattedValue, string errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts)
|
||||
{
|
||||
PoolHostDataGridViewOneCheckboxRow row = (PoolHostDataGridViewOneCheckboxRow)this.OwningRow;
|
||||
Host host = value as Host;
|
||||
if (host != null)
|
||||
if (value is Host || value is Pool)
|
||||
{
|
||||
Image hostIcon = Images.GetImage16For(host);
|
||||
Image hostIcon = Images.GetImage16For(value as IXenObject);
|
||||
var iconIndent = row.IsCheckable ? 0 : 16;
|
||||
var textIndent = iconIndent + 16;
|
||||
base.Paint(graphics, clipBounds,
|
||||
new Rectangle(cellBounds.X + 16, cellBounds.Y, cellBounds.Width - 16,
|
||||
new Rectangle(cellBounds.X + textIndent, cellBounds.Y, cellBounds.Width - textIndent,
|
||||
cellBounds.Height), rowIndex, cellState, value, formattedValue,
|
||||
errorText, cellStyle, advancedBorderStyle, paintParts);
|
||||
if ((cellState & DataGridViewElementStates.Selected) != 0 && row.Enabled )
|
||||
{
|
||||
using (var brush = new SolidBrush(DataGridView.DefaultCellStyle.SelectionBackColor))
|
||||
graphics.FillRectangle(
|
||||
brush, cellBounds.X, cellBounds.Y, hostIcon.Width, cellBounds.Height);
|
||||
brush, cellBounds.X, cellBounds.Y, hostIcon.Width + iconIndent, cellBounds.Height);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Background behind the host icon
|
||||
using (var brush = new SolidBrush(this.DataGridView.DefaultCellStyle.BackColor))
|
||||
graphics.FillRectangle(brush,
|
||||
cellBounds.X, cellBounds.Y, hostIcon.Width, cellBounds.Height);
|
||||
cellBounds.X, cellBounds.Y, hostIcon.Width + iconIndent, cellBounds.Height);
|
||||
}
|
||||
|
||||
if (row.Enabled)
|
||||
graphics.DrawImage(hostIcon, cellBounds.X, cellBounds.Y + 3, hostIcon.Width, hostIcon.Height);
|
||||
graphics.DrawImage(hostIcon, cellBounds.X + iconIndent, cellBounds.Y + 3, hostIcon.Width, hostIcon.Height);
|
||||
else
|
||||
graphics.DrawImage(hostIcon,
|
||||
new Rectangle(cellBounds.X, cellBounds.Y + 3, hostIcon.Width, hostIcon.Height),
|
||||
new Rectangle(cellBounds.X + iconIndent, cellBounds.Y + 3, hostIcon.Width, hostIcon.Height),
|
||||
0, 0, hostIcon.Width, hostIcon.Height, GraphicsUnit.Pixel,
|
||||
Drawing.GreyScaleAttributes);
|
||||
}
|
||||
|
@ -141,5 +141,10 @@ namespace XenAdmin.Controls
|
||||
if (FilterChanged != null)
|
||||
FilterChanged();
|
||||
}
|
||||
|
||||
public void ResetFilterDates()
|
||||
{
|
||||
DropDownItems[6].PerformClick();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -179,6 +179,9 @@ namespace XenAdmin.Controls
|
||||
|
||||
while (!exitNtolUpdateThread)
|
||||
{
|
||||
waitingNtolUpdate.WaitOne();
|
||||
log.Debug("Thread woken");
|
||||
|
||||
Program.Invoke(this, () =>
|
||||
{
|
||||
// Don't do GUI stuff if we've been told to exit
|
||||
@ -236,9 +239,6 @@ namespace XenAdmin.Controls
|
||||
LoadCalculationFailedMode();
|
||||
});
|
||||
}
|
||||
|
||||
waitingNtolUpdate.WaitOne();
|
||||
log.Debug("Thread woken");
|
||||
}
|
||||
|
||||
log.Debug("Thread exiting");
|
||||
@ -253,6 +253,7 @@ namespace XenAdmin.Controls
|
||||
internal void StartNtolUpdate()
|
||||
{
|
||||
StopNtolUpdate();
|
||||
waitingNtolUpdate.Set();
|
||||
ntolUpdateThread = new Thread(updateNtol);
|
||||
ntolUpdateThread.IsBackground = true;
|
||||
ntolUpdateThread.Name = "Ntol updating thread for pool " + Helpers.GetName(connection);
|
||||
|
@ -523,35 +523,6 @@ namespace XenAdmin.Core
|
||||
return dayOfWeek.ToString();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The expiry date of a host's license
|
||||
/// </summary>
|
||||
/// <param name="referenceDate">Should be UTC!</param>
|
||||
public static string HostLicenseExpiryString(Host h, bool longFormat, DateTime referenceDate)
|
||||
{
|
||||
if (h.license_params != null && h.license_params.ContainsKey("expiry"))
|
||||
{
|
||||
var licenceExpiryUtc = h.LicenseExpiryUTC();
|
||||
TimeSpan timeDiff = licenceExpiryUtc.Subtract(referenceDate);
|
||||
|
||||
if (!LicenseStatus.IsInfinite(timeDiff))
|
||||
{
|
||||
var expiryString = "";
|
||||
Program.Invoke(Program.MainWindow, delegate
|
||||
{
|
||||
expiryString = DateTimeToString(licenceExpiryUtc.ToLocalTime(),
|
||||
longFormat ? Messages.DATEFORMAT_DMY_LONG : Messages.DATEFORMAT_DMY, true);
|
||||
});
|
||||
return expiryString;
|
||||
}
|
||||
|
||||
return Messages.LICENSE_NEVER;
|
||||
}
|
||||
|
||||
return Messages.GENERAL_UNKNOWN;
|
||||
}
|
||||
|
||||
private const int WM_SETREDRAW = 11;
|
||||
|
||||
public static void SuspendDrawing(Control control)
|
||||
|
@ -305,13 +305,13 @@ namespace XenAdmin.Core
|
||||
XenServerPatches = action.XenServerPatches;
|
||||
}
|
||||
|
||||
var xenCenterAlert = NewXenCenterUpdateAlert(XenCenterVersions, Program.Version);
|
||||
if (xenCenterAlert != null && !xenCenterAlert.IsDismissed())
|
||||
updateAlerts.Add(xenCenterAlert);
|
||||
var xenCenterAlerts = NewXenCenterUpdateAlerts(XenCenterVersions, Program.Version);
|
||||
if (xenCenterAlerts != null)
|
||||
updateAlerts.AddRange(xenCenterAlerts.Where(a=>!a.IsDismissed()));
|
||||
|
||||
var xenServerUpdateAlert = NewXenServerVersionAlert(XenServerVersionsForAutoCheck);
|
||||
if (xenServerUpdateAlert != null && !xenServerUpdateAlert.CanIgnore)
|
||||
updateAlerts.Add(xenServerUpdateAlert);
|
||||
var xenServerUpdateAlerts = NewXenServerVersionAlerts(XenServerVersionsForAutoCheck);
|
||||
if (xenServerUpdateAlerts != null)
|
||||
updateAlerts.AddRange(xenServerUpdateAlerts.Where(a=>!a.CanIgnore));
|
||||
|
||||
var xenServerPatchAlerts = NewXenServerPatchAlerts(XenServerVersions, XenServerPatches);
|
||||
if (xenServerPatchAlerts != null)
|
||||
@ -354,33 +354,47 @@ namespace XenAdmin.Core
|
||||
}
|
||||
|
||||
|
||||
public static XenCenterUpdateAlert NewXenCenterUpdateAlert(List<XenCenterVersion> xenCenterVersions, Version currentProgramVersion)
|
||||
public static List<XenCenterUpdateAlert> NewXenCenterUpdateAlerts(List<XenCenterVersion> xenCenterVersions,
|
||||
Version currentProgramVersion)
|
||||
{
|
||||
if (Helpers.CommonCriteriaCertificationRelease)
|
||||
return null;
|
||||
|
||||
XenCenterVersion toUse = null;
|
||||
var alerts = new List<XenCenterUpdateAlert>();
|
||||
XenCenterVersion latest = null, latestCr = null;
|
||||
if (xenCenterVersions.Count != 0 && currentProgramVersion != new Version(0, 0, 0, 0))
|
||||
{
|
||||
var latest = from v in xenCenterVersions where v.IsLatest select v;
|
||||
var latestVersions = from v in xenCenterVersions where v.Latest select v;
|
||||
latest = latestVersions.FirstOrDefault(xcv => xcv.Lang == Program.CurrentLanguage) ??
|
||||
latestVersions.FirstOrDefault(xcv => string.IsNullOrEmpty(xcv.Lang));
|
||||
|
||||
toUse = latest.FirstOrDefault(xcv => xcv.Lang == Program.CurrentLanguage) ??
|
||||
latest.FirstOrDefault(xcv => string.IsNullOrEmpty(xcv.Lang));
|
||||
if (IsSuitableForXenCenterAlert(latest, currentProgramVersion))
|
||||
alerts.Add(new XenCenterUpdateAlert(latest));
|
||||
|
||||
var latestCrVersions = from v in xenCenterVersions where v.LatestCr select v;
|
||||
latestCr = latestCrVersions.FirstOrDefault(xcv => xcv.Lang == Program.CurrentLanguage) ??
|
||||
latestCrVersions.FirstOrDefault(xcv => string.IsNullOrEmpty(xcv.Lang));
|
||||
|
||||
if (latestCr != latest && IsSuitableForXenCenterAlert(latestCr, currentProgramVersion))
|
||||
alerts.Add(new XenCenterUpdateAlert(latestCr));
|
||||
}
|
||||
|
||||
if (toUse == null)
|
||||
return null;
|
||||
|
||||
if (toUse.Version > currentProgramVersion ||
|
||||
(toUse.Version == currentProgramVersion && toUse.Lang == Program.CurrentLanguage &&
|
||||
!PropertyManager.IsCultureLoaded(Program.CurrentCulture)))
|
||||
if (alerts.Count == 0)
|
||||
{
|
||||
return new XenCenterUpdateAlert(toUse);
|
||||
log.Info(string.Format("Not alerting XenCenter update - latest = {0}, latestcr = {1}, detected = {2}",
|
||||
latest != null ? latest.VersionAndLang : "", latestCr != null ? latestCr.VersionAndLang : "", Program.VersionAndLanguage));
|
||||
}
|
||||
|
||||
log.Info(string.Format("Not alerting XenCenter update - lastest = {0}, detected = {1}",
|
||||
toUse.VersionAndLang, Program.VersionAndLanguage));
|
||||
return null;
|
||||
return alerts;
|
||||
}
|
||||
|
||||
private static bool IsSuitableForXenCenterAlert(XenCenterVersion toUse, Version currentProgramVersion)
|
||||
{
|
||||
if (toUse == null)
|
||||
return false;
|
||||
|
||||
return toUse.Version > currentProgramVersion ||
|
||||
(toUse.Version == currentProgramVersion && toUse.Lang == Program.CurrentLanguage &&
|
||||
!PropertyManager.IsCultureLoaded(Program.CurrentCulture));
|
||||
}
|
||||
|
||||
public static List<XenServerPatchAlert> NewXenServerPatchAlerts(List<XenServerVersion> xenServerVersions,
|
||||
@ -391,6 +405,8 @@ namespace XenAdmin.Core
|
||||
|
||||
var alerts = new List<XenServerPatchAlert>();
|
||||
|
||||
var xenServerVersionsAsUpdates = xenServerVersions.Where(v => v.IsVersionAvailableAsAnUpdate);
|
||||
|
||||
foreach (IXenConnection xenConnection in ConnectionsManager.XenConnectionsCopy)
|
||||
{
|
||||
Host master = Helpers.GetMaster(xenConnection);
|
||||
@ -399,15 +415,7 @@ namespace XenAdmin.Core
|
||||
if (master == null || pool == null)
|
||||
continue;
|
||||
|
||||
var serverVersions = xenServerVersions.FindAll(version =>
|
||||
{
|
||||
if (version.BuildNumber != string.Empty)
|
||||
return (master.BuildNumberRaw() == version.BuildNumber);
|
||||
|
||||
return Helpers.HostProductVersionWithOEM(master) == version.VersionAndOEM
|
||||
|| (version.Oem != null && Helpers.OEMName(master).StartsWith(version.Oem)
|
||||
&& Helpers.HostProductVersion(master) == version.Version.ToString());
|
||||
});
|
||||
var serverVersions = GetServerVersions(master, xenServerVersions);
|
||||
|
||||
if (serverVersions.Count == 0)
|
||||
continue;
|
||||
@ -422,7 +430,9 @@ namespace XenAdmin.Core
|
||||
|
||||
foreach (XenServerPatch xenServerPatch in patches)
|
||||
{
|
||||
var alert = new XenServerPatchAlert(xenServerPatch);
|
||||
XenServerVersion newServerVersion = xenServerVersionsAsUpdates.FirstOrDefault(newVersion => newVersion.PatchUuid.Equals(xenServerPatch.Uuid, StringComparison.OrdinalIgnoreCase));
|
||||
|
||||
var alert = new XenServerPatchAlert(xenServerPatch, newServerVersion);
|
||||
var existingAlert = alerts.Find(al => al.Equals(alert));
|
||||
|
||||
if (existingAlert != null)
|
||||
@ -435,46 +445,8 @@ namespace XenAdmin.Core
|
||||
|
||||
XenServerPatch serverPatch = xenServerPatch;
|
||||
|
||||
// A patch can be installed on a host if:
|
||||
// 1. it is not already installed and
|
||||
// 2. the host has all the required patches installed and
|
||||
// 3. the host doesn't have any of the conflicting patches installed
|
||||
|
||||
var noPatchHosts = hosts.Where(host =>
|
||||
{
|
||||
bool elyOrGreater = Helpers.ElyOrGreater(host);
|
||||
var appliedUpdates = host.AppliedUpdates();
|
||||
var appliedPatches = host.AppliedPatches();
|
||||
|
||||
// 1. patch is not already installed
|
||||
if (elyOrGreater && appliedUpdates.Any(update => string.Equals(update.uuid, serverPatch.Uuid, StringComparison.OrdinalIgnoreCase)))
|
||||
return false;
|
||||
else if (!elyOrGreater && appliedPatches.Any(patch => string.Equals(patch.uuid, serverPatch.Uuid, StringComparison.OrdinalIgnoreCase)))
|
||||
return false;
|
||||
|
||||
// 2. the host has all the required patches installed
|
||||
if (serverPatch.RequiredPatches != null && serverPatch.RequiredPatches.Count > 0 &&
|
||||
!serverPatch.RequiredPatches
|
||||
.All(requiredPatchUuid =>
|
||||
elyOrGreater && appliedUpdates.Any(update => string.Equals(update.uuid, requiredPatchUuid, StringComparison.OrdinalIgnoreCase))
|
||||
|| !elyOrGreater && appliedPatches.Any(patch => string.Equals(patch.uuid, requiredPatchUuid, StringComparison.OrdinalIgnoreCase))
|
||||
)
|
||||
)
|
||||
return false;
|
||||
|
||||
// 3. the host doesn't have any of the conflicting patches installed
|
||||
if (serverPatch.ConflictingPatches != null && serverPatch.ConflictingPatches.Count > 0 &&
|
||||
serverPatch.ConflictingPatches
|
||||
.Any(conflictingPatchUuid =>
|
||||
elyOrGreater && appliedUpdates.Any(update => string.Equals(update.uuid, conflictingPatchUuid, StringComparison.OrdinalIgnoreCase))
|
||||
|| !elyOrGreater && appliedPatches.Any(patch => string.Equals(patch.uuid, conflictingPatchUuid, StringComparison.OrdinalIgnoreCase))
|
||||
)
|
||||
)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
var noPatchHosts = hosts.Where(host => PatchCanBeInstalledOnHost(serverPatch, host));
|
||||
|
||||
if (noPatchHosts.Count() == hosts.Count)
|
||||
alert.IncludeConnection(xenConnection);
|
||||
else
|
||||
@ -485,6 +457,78 @@ namespace XenAdmin.Core
|
||||
|
||||
return alerts;
|
||||
}
|
||||
|
||||
private static bool PatchCanBeInstalledOnHost(XenServerPatch serverPatch, Host host)
|
||||
{
|
||||
Debug.Assert(serverPatch != null);
|
||||
Debug.Assert(host != null);
|
||||
// A patch can be installed on a host if:
|
||||
// 1. it is not already installed and
|
||||
// 2. the host has all the required patches installed and
|
||||
// 3. the host doesn't have any of the conflicting patches installed
|
||||
|
||||
bool elyOrGreater = Helpers.ElyOrGreater(host);
|
||||
var appliedUpdates = host.AppliedUpdates();
|
||||
var appliedPatches = host.AppliedPatches();
|
||||
|
||||
// 1. patch is not already installed
|
||||
if (elyOrGreater && appliedUpdates.Any(update => string.Equals(update.uuid, serverPatch.Uuid, StringComparison.OrdinalIgnoreCase)))
|
||||
return false;
|
||||
if (!elyOrGreater && appliedPatches.Any(patch => string.Equals(patch.uuid, serverPatch.Uuid, StringComparison.OrdinalIgnoreCase)))
|
||||
return false;
|
||||
|
||||
// 2. the host has all the required patches installed
|
||||
if (serverPatch.RequiredPatches != null && serverPatch.RequiredPatches.Count > 0 &&
|
||||
!serverPatch.RequiredPatches
|
||||
.All(requiredPatchUuid =>
|
||||
elyOrGreater && appliedUpdates.Any(update => string.Equals(update.uuid, requiredPatchUuid, StringComparison.OrdinalIgnoreCase))
|
||||
|| !elyOrGreater && appliedPatches.Any(patch => string.Equals(patch.uuid, requiredPatchUuid, StringComparison.OrdinalIgnoreCase))
|
||||
)
|
||||
)
|
||||
return false;
|
||||
|
||||
// 3. the host doesn't have any of the conflicting patches installed
|
||||
if (serverPatch.ConflictingPatches != null && serverPatch.ConflictingPatches.Count > 0 &&
|
||||
serverPatch.ConflictingPatches
|
||||
.Any(conflictingPatchUuid =>
|
||||
elyOrGreater && appliedUpdates.Any(update => string.Equals(update.uuid, conflictingPatchUuid, StringComparison.OrdinalIgnoreCase))
|
||||
|| !elyOrGreater && appliedPatches.Any(patch => string.Equals(patch.uuid, conflictingPatchUuid, StringComparison.OrdinalIgnoreCase))
|
||||
)
|
||||
)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Returns the latest XenCenter version or null, if the current version is the latest.
|
||||
/// If a server version is provided, it returns the XenCenter version that is required to work with that server.
|
||||
/// If no server version is provided it will return the latestCr XenCenter.
|
||||
/// </summary>
|
||||
/// <param name="serverVersion"></param>
|
||||
/// <returns></returns>
|
||||
public static XenCenterVersion GetRequiredXenCenterVersion(XenServerVersion serverVersion)
|
||||
{
|
||||
if (XenCenterVersions.Count == 0)
|
||||
return null;
|
||||
|
||||
var currentProgramVersion = Program.Version;
|
||||
if (currentProgramVersion == new Version(0, 0, 0, 0))
|
||||
return null;
|
||||
|
||||
var latestVersions = from v in XenCenterVersions where v.Latest select v;
|
||||
var latest = latestVersions.FirstOrDefault(xcv => xcv.Lang == Program.CurrentLanguage) ??
|
||||
latestVersions.FirstOrDefault(xcv => string.IsNullOrEmpty(xcv.Lang));
|
||||
|
||||
var latestCrVersions = from v in XenCenterVersions where v.LatestCr select v;
|
||||
var latestCr = latestCrVersions.FirstOrDefault(xcv => xcv.Lang == Program.CurrentLanguage) ??
|
||||
latestCrVersions.FirstOrDefault(xcv => string.IsNullOrEmpty(xcv.Lang));
|
||||
|
||||
if (serverVersion != null && serverVersion.Latest && latest != null)
|
||||
return latest.Version > currentProgramVersion ? latest : null;
|
||||
return latestCr != null && latestCr.Version > currentProgramVersion ? latestCr : null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method returns the minimal set of patches for a host if this class already has information about them. Otherwise it returns empty list.
|
||||
@ -497,24 +541,16 @@ namespace XenAdmin.Core
|
||||
var recommendedPatches = new List<XenServerPatch>();
|
||||
|
||||
if (XenServerVersions == null)
|
||||
return recommendedPatches;
|
||||
return null;
|
||||
|
||||
var serverVersions = XenServerVersions.FindAll(version =>
|
||||
{
|
||||
if (version.BuildNumber != string.Empty)
|
||||
return (host.BuildNumberRaw() == version.BuildNumber);
|
||||
|
||||
return Helpers.HostProductVersionWithOEM(host) == version.VersionAndOEM
|
||||
|| (version.Oem != null && Helpers.OEMName(host).StartsWith(version.Oem)
|
||||
&& Helpers.HostProductVersion(host) == version.Version.ToString());
|
||||
});
|
||||
var serverVersions = GetServerVersions(host, XenServerVersions);
|
||||
|
||||
if (serverVersions.Count != 0)
|
||||
{
|
||||
var minimumPatches = serverVersions[0].MinimalPatches;
|
||||
|
||||
if (minimumPatches == null) //unknown
|
||||
return recommendedPatches;
|
||||
return null;
|
||||
|
||||
bool elyOrGreater = Helpers.ElyOrGreater(host);
|
||||
|
||||
@ -545,14 +581,27 @@ namespace XenAdmin.Core
|
||||
return null;
|
||||
|
||||
var version = GetCommonServerVersionOfHostsInAConnection(conn, XenServerVersions);
|
||||
|
||||
|
||||
if (version != null)
|
||||
{
|
||||
if (version.MinimalPatches == null)
|
||||
return null;
|
||||
|
||||
var uSeq = new UpgradeSequence();
|
||||
uSeq.MinimalPatches = version.MinimalPatches;
|
||||
uSeq.MinimalPatches = new List<XenServerPatch>(version.MinimalPatches);
|
||||
|
||||
// if there is a "new version" update in the update sequence, also add the minimal patches of this new version
|
||||
if (uSeq.MinimalPatches.Count > 0)
|
||||
{
|
||||
// assuming that the new version update (if there is one) is the last one in the minimal patches list
|
||||
var lastUpdate = uSeq.MinimalPatches[uSeq.MinimalPatches.Count - 1];
|
||||
|
||||
var newServerVersion = XenServerVersions.FirstOrDefault(
|
||||
v => v.IsVersionAvailableAsAnUpdate && v.PatchUuid.Equals(lastUpdate.Uuid, StringComparison.OrdinalIgnoreCase));
|
||||
|
||||
if (newServerVersion != null && newServerVersion.MinimalPatches != null)
|
||||
uSeq.MinimalPatches.AddRange(newServerVersion.MinimalPatches);
|
||||
}
|
||||
|
||||
List<Host> hosts = conn.Cache.Hosts.ToList();
|
||||
|
||||
@ -569,6 +618,52 @@ namespace XenAdmin.Core
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets an upgrade sequence that contains a version upgrade, optionally followed by the minimal patches for the new version
|
||||
/// </summary>
|
||||
/// <param name="conn">Connection for the pool</param>
|
||||
/// <param name="alert">The alert that refers the version-update</param>
|
||||
/// <param name="updateTheNewVersion">Also add the minimum patches for the new version (true) or not (false).</param>
|
||||
/// <returns></returns>
|
||||
public static UpgradeSequence GetUpgradeSequence(IXenConnection conn, XenServerPatchAlert alert, bool updateTheNewVersion)
|
||||
{
|
||||
Debug.Assert(conn != null);
|
||||
Debug.Assert(alert != null);
|
||||
|
||||
var uSeq = new UpgradeSequence();
|
||||
|
||||
if (XenServerVersions == null)
|
||||
return null;
|
||||
|
||||
Host master = Helpers.GetMaster(conn);
|
||||
if (master == null)
|
||||
return null;
|
||||
|
||||
var version = GetCommonServerVersionOfHostsInAConnection(conn, XenServerVersions);
|
||||
|
||||
// the pool has to be homogeneous
|
||||
if (version != null)
|
||||
{
|
||||
uSeq.MinimalPatches = new List<XenServerPatch>();
|
||||
uSeq.MinimalPatches.Add(alert.Patch);
|
||||
|
||||
// if it's a version updgrade the min sequence will be this patch (the upgrade) and the min patches for the new version
|
||||
if (updateTheNewVersion && alert.NewServerVersion != null && alert.NewServerVersion.MinimalPatches != null)
|
||||
{
|
||||
uSeq.MinimalPatches.AddRange(alert.NewServerVersion.MinimalPatches);
|
||||
}
|
||||
|
||||
conn.Cache.Hosts.ToList().ForEach(h =>
|
||||
uSeq[h] = GetUpgradeSequenceForHost(h, uSeq.MinimalPatches)
|
||||
);
|
||||
|
||||
return uSeq;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Returns a XenServerVersion if all hosts of the pool have the same version
|
||||
/// Returns null if it is unknown or they don't match
|
||||
@ -585,15 +680,7 @@ namespace XenAdmin.Core
|
||||
|
||||
foreach (Host host in hosts)
|
||||
{
|
||||
var hostVersions = xsVersions.FindAll(version =>
|
||||
{
|
||||
if (version.BuildNumber != string.Empty)
|
||||
return (host.BuildNumberRaw() == version.BuildNumber);
|
||||
|
||||
return Helpers.HostProductVersionWithOEM(host) == version.VersionAndOEM
|
||||
|| (version.Oem != null && Helpers.OEMName(host).StartsWith(version.Oem)
|
||||
&& Helpers.HostProductVersion(host) == version.Version.ToString());
|
||||
});
|
||||
var hostVersions = GetServerVersions(host, xsVersions);
|
||||
|
||||
var foundVersion = hostVersions.FirstOrDefault();
|
||||
|
||||
@ -726,16 +813,31 @@ namespace XenAdmin.Core
|
||||
}
|
||||
}
|
||||
|
||||
public static XenServerVersionAlert NewXenServerVersionAlert(List<XenServerVersion> xenServerVersions)
|
||||
public static List<XenServerVersionAlert> NewXenServerVersionAlerts(List<XenServerVersion> xenServerVersions)
|
||||
{
|
||||
if (Helpers.CommonCriteriaCertificationRelease)
|
||||
return null;
|
||||
|
||||
var latestVersion = xenServerVersions.FindAll(item => item.Latest).OrderByDescending(v => v.Version).FirstOrDefault();
|
||||
if (latestVersion == null)
|
||||
return null;
|
||||
var latestCrVersion = xenServerVersions.FindAll(item => item.LatestCr).OrderByDescending(v => v.Version).FirstOrDefault();
|
||||
|
||||
var alert = new XenServerVersionAlert(latestVersion);
|
||||
List<XenServerVersionAlert> alerts = new List<XenServerVersionAlert>();
|
||||
|
||||
if (latestVersion != null)
|
||||
alerts.Add(CreateAlertForXenServerVersion(latestVersion));
|
||||
|
||||
if (latestCrVersion != null && latestCrVersion != latestVersion)
|
||||
alerts.Add(CreateAlertForXenServerVersion(latestCrVersion));
|
||||
|
||||
return alerts;
|
||||
}
|
||||
|
||||
private static XenServerVersionAlert CreateAlertForXenServerVersion(XenServerVersion version)
|
||||
{
|
||||
var alert = new XenServerVersionAlert(version);
|
||||
|
||||
// the patch that installs this version, if any
|
||||
var patch = XenServerPatches.FirstOrDefault(p => p.Uuid.Equals(version.PatchUuid, StringComparison.OrdinalIgnoreCase));
|
||||
|
||||
foreach (IXenConnection xc in ConnectionsManager.XenConnectionsCopy)
|
||||
{
|
||||
@ -748,7 +850,12 @@ namespace XenAdmin.Core
|
||||
if (master == null || pool == null)
|
||||
continue;
|
||||
|
||||
var outOfDateHosts = hosts.Where(host => new Version(Helpers.HostProductVersion(host)) < latestVersion.Version);
|
||||
// Show the Upgrade alert for a host if:
|
||||
// - the host version is older than this version AND
|
||||
// - there is no patch (amongst the current version patches) that can update to this version OR, if there is a patch, the patch cannot be installed
|
||||
var patchApplicable = patch != null && GetServerVersions(master, XenServerVersions).Any(v => v.Patches.Contains(patch));
|
||||
var outOfDateHosts = hosts.Where(host => new Version(Helpers.HostProductVersion(host)) < version.Version
|
||||
&& (!patchApplicable || !PatchCanBeInstalledOnHost(patch, host)));
|
||||
|
||||
if (outOfDateHosts.Count() == hosts.Count)
|
||||
alert.IncludeConnection(xc);
|
||||
@ -759,14 +866,27 @@ namespace XenAdmin.Core
|
||||
return alert;
|
||||
}
|
||||
|
||||
public static List<XenServerVersion> GetServerVersions(Host host, List<XenServerVersion> xenServerVersions)
|
||||
{
|
||||
var serverVersions = xenServerVersions.FindAll(version =>
|
||||
{
|
||||
if (version.BuildNumber != string.Empty)
|
||||
return (host.BuildNumberRaw() == version.BuildNumber);
|
||||
|
||||
return Helpers.HostProductVersionWithOEM(host) == version.VersionAndOEM
|
||||
|| (version.Oem != null && Helpers.OEMName(host).StartsWith(version.Oem)
|
||||
&& Helpers.HostProductVersion(host) == version.Version.ToString());
|
||||
});
|
||||
return serverVersions;
|
||||
}
|
||||
|
||||
public static void CheckServerVersion()
|
||||
{
|
||||
var alert = NewXenServerVersionAlert(XenServerVersionsForAutoCheck);
|
||||
if (alert == null)
|
||||
var alerts = NewXenServerVersionAlerts(XenServerVersionsForAutoCheck);
|
||||
if (alerts == null || alerts.Count == 0)
|
||||
return;
|
||||
|
||||
CheckUpdate(alert);
|
||||
alerts.ForEach(a => CheckUpdate(a));
|
||||
}
|
||||
|
||||
public static void CheckServerPatches()
|
||||
@ -775,8 +895,7 @@ namespace XenAdmin.Core
|
||||
if (alerts == null)
|
||||
return;
|
||||
|
||||
foreach (var alert in alerts)
|
||||
CheckUpdate(alert);
|
||||
alerts.ForEach(a => CheckUpdate(a));
|
||||
}
|
||||
|
||||
private static void CheckUpdate(XenServerUpdateAlert alert)
|
||||
|
@ -148,14 +148,14 @@ namespace XenAdmin.Core
|
||||
if (HiddenFeatures.LinkLabelHidden)
|
||||
return typeof(T) == typeof(VMSS) ? Messages.UPSELL_BLURB_VMSS : Messages.UPSELL_BLURB_VM_APPLIANCES;
|
||||
else
|
||||
return typeof(T) == typeof(VMSS) ? Messages.UPSELL_BLURB_VMSS + Messages.UPSELL_BLURB_VMSS_MORE : Messages.UPSELL_BLURB_VM_APPLIANCES + Messages.UPSELL_BLURB_VM_APPLIANCES_MORE;
|
||||
return typeof(T) == typeof(VMSS) ? Messages.UPSELL_BLURB_VMSS + Messages.UPSELL_BLURB_TRIAL : Messages.UPSELL_BLURB_VM_APPLIANCES + Messages.UPSELL_BLURB_TRIAL;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
internal static string UpsellLearnMoreUrl
|
||||
{
|
||||
get { return typeof(T) == typeof(VMSS) ? InvisibleMessages.UPSELL_LEARNMOREURL_VMSS : InvisibleMessages.UPSELL_LEARNMOREURL_VM_APPLIANCES; }
|
||||
get { return InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL; }
|
||||
}
|
||||
|
||||
internal static AsyncAction AssignVMsToGroupAction(T group, List<XenRef<VM>> vms, bool suppressHistory)
|
||||
|
@ -90,7 +90,7 @@ namespace XenAdmin.Diagnostics.Checks
|
||||
problems.Add(new ToolsCD(this, residentVM));
|
||||
VMsWithProblems.Add(residentVM.opaque_ref);
|
||||
}
|
||||
else if (sr != null && sr.content_type == SR.Content_Type_ISO)
|
||||
else if (sr != null && sr.content_type == SR.Content_Type_ISO && (!sr.shared || Properties.Settings.Default.EjectSharedIsoOnUpdate))
|
||||
{
|
||||
problems.Add(new LocalCD(this, residentVM));
|
||||
VMsWithProblems.Add(residentVM.opaque_ref);
|
||||
|
130
XenAdmin/Diagnostics/Checks/RebootPendingOnMasterCheck.cs
Normal file
130
XenAdmin/Diagnostics/Checks/RebootPendingOnMasterCheck.cs
Normal file
@ -0,0 +1,130 @@
|
||||
/* 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.Collections.Generic;
|
||||
using System.Linq;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Diagnostics.Hotfixing;
|
||||
using XenAdmin.Diagnostics.Problems;
|
||||
using XenAdmin.Diagnostics.Problems.HostProblem;
|
||||
using XenAdmin.Diagnostics.Problems.PoolProblem;
|
||||
using XenAPI;
|
||||
|
||||
namespace XenAdmin.Diagnostics.Checks
|
||||
{
|
||||
class RestartHostOrToolstackPendingOnMasterCheck : Check
|
||||
{
|
||||
public string UpdateUuid { get; private set; }
|
||||
private readonly Pool pool;
|
||||
|
||||
public RestartHostOrToolstackPendingOnMasterCheck(Pool pool, string updateUuid)
|
||||
: base(Helpers.GetMaster(pool.Connection))
|
||||
{
|
||||
this.pool = pool;
|
||||
this.UpdateUuid = updateUuid;
|
||||
}
|
||||
|
||||
protected override Problem RunCheck()
|
||||
{
|
||||
if (!Host.IsLive())
|
||||
return new HostNotLiveWarning(this, Host);
|
||||
|
||||
var elyOrGreater = Helpers.ElyOrGreater(Host);
|
||||
|
||||
double bootTime = Host.BootTime();
|
||||
double agentStart = Host.AgentStartTime();
|
||||
|
||||
//check reboot
|
||||
if (elyOrGreater)
|
||||
{
|
||||
foreach (var updateRef in Host.updates_requiring_reboot)
|
||||
{
|
||||
var update = Host.Connection.Resolve(updateRef);
|
||||
|
||||
if (string.IsNullOrEmpty(UpdateUuid) || //automated mode, any update
|
||||
string.Equals(update.uuid, UpdateUuid, System.StringComparison.InvariantCultureIgnoreCase)) //normal mode the given update
|
||||
{
|
||||
return new MasterIsPendingRestartHostProblem(this, pool);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (bootTime == 0.0 || agentStart == 0.0)
|
||||
return null; //fine
|
||||
|
||||
var hostRestartRequiredPatches = Host.AppliedPatches().Where(p => p.after_apply_guidance.Contains(after_apply_guidance.restartHost) && ((double)Util.ToUnixTime(p.AppliedOn(Host)) > agentStart));
|
||||
|
||||
foreach (Pool_patch patch in hostRestartRequiredPatches)
|
||||
{
|
||||
if (string.IsNullOrEmpty(UpdateUuid) //automated mode, any update
|
||||
|| string.Equals(patch.uuid, UpdateUuid, System.StringComparison.InvariantCultureIgnoreCase)) //normal mode the given update
|
||||
{
|
||||
return new MasterIsPendingRestartHostProblem(this, pool);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//check toolstack restart
|
||||
var toolstackRestartRequiredPatches = Host.AppliedPatches().Where(p => p.after_apply_guidance.Contains(after_apply_guidance.restartXAPI) && ((double)Util.ToUnixTime(p.AppliedOn(Host)) > agentStart));
|
||||
foreach (Pool_patch patch in toolstackRestartRequiredPatches)
|
||||
{
|
||||
if (string.IsNullOrEmpty(UpdateUuid)) //automated mode
|
||||
{
|
||||
return new MasterIsPendingRestartToolstackProblem(this, pool);
|
||||
}
|
||||
|
||||
if (!elyOrGreater) //normal mode pre-Ely
|
||||
{
|
||||
if (bootTime == 0.0 || agentStart == 0.0)
|
||||
return null; //fine
|
||||
|
||||
if (string.Equals(patch.uuid, UpdateUuid, System.StringComparison.InvariantCultureIgnoreCase))
|
||||
return new MasterIsPendingRestartToolstackProblem(this, pool);
|
||||
}
|
||||
else //normal mode Ely+
|
||||
{
|
||||
var poolUpdate = Host.Connection.Resolve(patch.pool_update);
|
||||
if (poolUpdate != null && string.Equals(UpdateUuid, poolUpdate.uuid, System.StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
return new MasterIsPendingRestartToolstackProblem(this, pool);
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public override string Description
|
||||
{
|
||||
get { return Messages.PENDING_RESTART_CHECK; }
|
||||
}
|
||||
}
|
||||
}
|
67
XenAdmin/Diagnostics/Checks/XenCenterVersionCheck.cs
Normal file
67
XenAdmin/Diagnostics/Checks/XenCenterVersionCheck.cs
Normal file
@ -0,0 +1,67 @@
|
||||
/* 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 XenAPI;
|
||||
using XenAdmin.Diagnostics.Problems;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Diagnostics.Problems.PoolProblem;
|
||||
using XenAdmin.Alerts;
|
||||
|
||||
|
||||
namespace XenAdmin.Diagnostics.Checks
|
||||
{
|
||||
public class XenCenterVersionCheck : Check
|
||||
{
|
||||
private XenServerVersion _newServerVersion;
|
||||
|
||||
public XenCenterVersionCheck(XenServerVersion newServerVersion)
|
||||
: base(null)
|
||||
{
|
||||
_newServerVersion = newServerVersion;
|
||||
}
|
||||
|
||||
protected override Problem RunCheck()
|
||||
{
|
||||
var requiredXenCenterVersion = Updates.GetRequiredXenCenterVersion(_newServerVersion);
|
||||
if (requiredXenCenterVersion == null)
|
||||
return null;
|
||||
if (_newServerVersion != null)
|
||||
return new XenCenterVersionProblem(this, requiredXenCenterVersion);
|
||||
else
|
||||
return new XenCenterVersionWarning(this, requiredXenCenterVersion);
|
||||
}
|
||||
|
||||
public override string Description
|
||||
{
|
||||
get { return Messages.XENCENTER_VERSION_CHECK_DESCRIPTION; }
|
||||
}
|
||||
}
|
||||
}
|
@ -42,7 +42,7 @@ namespace XenAdmin.Diagnostics.Hotfixing
|
||||
Clearwater,
|
||||
Creedence,
|
||||
Dundee,
|
||||
Ely
|
||||
ElyFalcon
|
||||
}
|
||||
|
||||
private readonly Hotfix clearwaterHotfix = new SingleHotfix
|
||||
@ -63,16 +63,16 @@ namespace XenAdmin.Diagnostics.Hotfixing
|
||||
UUID = "474a0f28-0d33-4c9b-9e20-52baaea8ce5e"
|
||||
};
|
||||
|
||||
private readonly Hotfix elyHotfix = new SingleHotfix
|
||||
private readonly Hotfix elyFalconHotfix = new SingleHotfix
|
||||
{
|
||||
Filename = "RPU004",
|
||||
UUID = "b8d21409-adb7-44a5-a7ff-a78ed97162a5"
|
||||
UUID = "439235bf-48fa-4ee3-9c11-d67084a01205"
|
||||
};
|
||||
|
||||
public Hotfix Hotfix(Host host)
|
||||
{
|
||||
if (Helpers.ElyOrGreater(host) && !Helpers.FalconOrGreater(host))
|
||||
return Hotfix(HotfixableServerVersion.Ely);
|
||||
if (Helpers.ElyOrGreater(host) && !Helpers.InvernessOrGreater(host))
|
||||
return Hotfix(HotfixableServerVersion.ElyFalcon);
|
||||
if (Helpers.DundeeOrGreater(host) && !Helpers.ElyOrGreater(host))
|
||||
return Hotfix(HotfixableServerVersion.Dundee);
|
||||
if (Helpers.CreedenceOrGreater(host) && !Helpers.DundeeOrGreater(host))
|
||||
@ -85,8 +85,8 @@ namespace XenAdmin.Diagnostics.Hotfixing
|
||||
|
||||
public Hotfix Hotfix(HotfixableServerVersion version)
|
||||
{
|
||||
if (version == HotfixableServerVersion.Ely)
|
||||
return elyHotfix;
|
||||
if (version == HotfixableServerVersion.ElyFalcon)
|
||||
return elyFalconHotfix;
|
||||
if (version == HotfixableServerVersion.Dundee)
|
||||
return dundeeHotfix;
|
||||
if (version == HotfixableServerVersion.Creedence)
|
||||
|
@ -0,0 +1,94 @@
|
||||
/* 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.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Diagnostics.Checks;
|
||||
using XenAdmin.Diagnostics.Hotfixing;
|
||||
using XenAdmin.Properties;
|
||||
using XenAPI;
|
||||
|
||||
namespace XenAdmin.Diagnostics.Problems.PoolProblem
|
||||
{
|
||||
class MasterIsPendingRestartHostProblem : PoolProblem
|
||||
{
|
||||
public MasterIsPendingRestartHostProblem(RestartHostOrToolstackPendingOnMasterCheck check, Pool pool)
|
||||
: base(check, pool)
|
||||
{ }
|
||||
|
||||
public override string Description
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.Format(
|
||||
((RestartHostOrToolstackPendingOnMasterCheck)Check).UpdateUuid != null
|
||||
? Messages.PROBLEM_MASTER_PENDING_RESTART_HOST_THIS_UPDATE
|
||||
: Messages.PROBLEM_MASTER_PENDING_RESTART_HOST,
|
||||
Helpers.GetName(Pool).Ellipsise(30));
|
||||
}
|
||||
}
|
||||
|
||||
public override string HelpMessage
|
||||
{
|
||||
get { return null; }
|
||||
}
|
||||
}
|
||||
|
||||
class MasterIsPendingRestartToolstackProblem : PoolProblem
|
||||
{
|
||||
public MasterIsPendingRestartToolstackProblem(RestartHostOrToolstackPendingOnMasterCheck check, Pool pool)
|
||||
: base(check, pool)
|
||||
{ }
|
||||
|
||||
public override string Description
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.Format(
|
||||
((RestartHostOrToolstackPendingOnMasterCheck)Check).UpdateUuid != null
|
||||
? Messages.PROBLEM_MASTER_PENDING_RESTART_TOOLSTACK_THIS_UPDATE
|
||||
: Messages.PROBLEM_MASTER_PENDING_RESTART_TOOLSTACK,
|
||||
Helpers.GetName(Pool).Ellipsise(30));
|
||||
}
|
||||
}
|
||||
|
||||
public override string HelpMessage
|
||||
{
|
||||
get { return null; }
|
||||
}
|
||||
}
|
||||
}
|
109
XenAdmin/Diagnostics/Problems/XenCenterVersionProblem.cs
Normal file
109
XenAdmin/Diagnostics/Problems/XenCenterVersionProblem.cs
Normal file
@ -0,0 +1,109 @@
|
||||
/* 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 XenAdmin.Core;
|
||||
using XenAdmin.Diagnostics.Checks;
|
||||
|
||||
namespace XenAdmin.Diagnostics.Problems
|
||||
{
|
||||
public class XenCenterVersionProblem : ProblemWithInformationUrl
|
||||
{
|
||||
private XenCenterVersion _requiredXenCenterVersion;
|
||||
|
||||
public XenCenterVersionProblem(Check check, XenCenterVersion requiredXenCenterVersion)
|
||||
: base(check)
|
||||
{
|
||||
_requiredXenCenterVersion = requiredXenCenterVersion;
|
||||
}
|
||||
|
||||
public override string Title
|
||||
{
|
||||
get { return Messages.PROBLEM_XENCENTER_VERSION_TITLE; }
|
||||
}
|
||||
|
||||
public override string Description
|
||||
{
|
||||
get { return string.Format(Messages.UPDATES_WIZARD_NEWER_XENCENTER_REQUIRED, _requiredXenCenterVersion.Version); }
|
||||
}
|
||||
|
||||
public override string HelpMessage
|
||||
{
|
||||
get { return LinkText; }
|
||||
}
|
||||
|
||||
public override string LinkText
|
||||
{
|
||||
get { return Messages.PATCHING_WIZARD_WEBPAGE_CELL; }
|
||||
}
|
||||
|
||||
public override Uri UriToLaunch
|
||||
{
|
||||
get { return new Uri(_requiredXenCenterVersion.Url); }
|
||||
}
|
||||
}
|
||||
|
||||
public class XenCenterVersionWarning : WarningWithInformationUrl
|
||||
{
|
||||
private XenCenterVersion _requiredXenCenterVersion;
|
||||
|
||||
public XenCenterVersionWarning(Check check, XenCenterVersion requiredXenCenterVersion)
|
||||
: base(check)
|
||||
{
|
||||
_requiredXenCenterVersion = requiredXenCenterVersion;
|
||||
}
|
||||
|
||||
public override string Title
|
||||
{
|
||||
get { return Messages.PROBLEM_XENCENTER_VERSION_TITLE; }
|
||||
}
|
||||
|
||||
public override string Description
|
||||
{
|
||||
get { return string.Format(Messages.UPDATES_WIZARD_NEWER_XENCENTER_WARNING, _requiredXenCenterVersion.Version); }
|
||||
}
|
||||
|
||||
public override string HelpMessage
|
||||
{
|
||||
get { return LinkText; }
|
||||
}
|
||||
|
||||
public override string LinkText
|
||||
{
|
||||
get { return Messages.PATCHING_WIZARD_WEBPAGE_CELL; }
|
||||
}
|
||||
|
||||
public override Uri UriToLaunch
|
||||
{
|
||||
get { return new Uri(_requiredXenCenterVersion.Url); }
|
||||
}
|
||||
}
|
||||
}
|
@ -262,7 +262,7 @@
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="label2.Text" xml:space="preserve">
|
||||
<value>Copyright © Citrix Systems, Inc. All rights reserved.</value>
|
||||
<value>Copyright © [Citrix] Systems, Inc. All rights reserved.</value>
|
||||
</data>
|
||||
<data name=">>label2.Name" xml:space="preserve">
|
||||
<value>label2</value>
|
||||
|
@ -262,7 +262,7 @@
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="label2.Text" xml:space="preserve">
|
||||
<value>Copyright © Citrix Systems, Inc. All rights reserved.</value>
|
||||
<value>Copyright © [Citrix] Systems, Inc. All rights reserved.</value>
|
||||
</data>
|
||||
<data name=">>label2.Name" xml:space="preserve">
|
||||
<value>label2</value>
|
||||
|
@ -262,7 +262,7 @@
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="label2.Text" xml:space="preserve">
|
||||
<value>版权所有 © Citrix Systems, Inc. 保留所有权利。</value>
|
||||
<value>版权所有 © [Citrix] Systems, Inc. 保留所有权利。</value>
|
||||
</data>
|
||||
<data name=">>label2.Name" xml:space="preserve">
|
||||
<value>label2</value>
|
||||
|
157
XenAdmin/Dialogs/AttachUsbDialog.Designer.cs
generated
Executable file
157
XenAdmin/Dialogs/AttachUsbDialog.Designer.cs
generated
Executable file
@ -0,0 +1,157 @@
|
||||
namespace XenAdmin.Dialogs
|
||||
{
|
||||
partial class AttachUsbDialog
|
||||
{
|
||||
/// <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(AttachUsbDialog));
|
||||
this.buttonAttach = new System.Windows.Forms.Button();
|
||||
this.buttonCancel = new System.Windows.Forms.Button();
|
||||
this.treeUsbList = new XenAdmin.Controls.CustomTreeView();
|
||||
this.labelNote = new System.Windows.Forms.Label();
|
||||
this.pictureBoxAlert = new System.Windows.Forms.PictureBox();
|
||||
this.labelWarningLine1 = new XenAdmin.Controls.Common.AutoHeightLabel();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.labelWarningLine3 = new XenAdmin.Controls.Common.AutoHeightLabel();
|
||||
this.labelWarningLine2 = new XenAdmin.Controls.Common.AutoHeightLabel();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxAlert)).BeginInit();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// buttonAttach
|
||||
//
|
||||
this.buttonAttach.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
resources.ApplyResources(this.buttonAttach, "buttonAttach");
|
||||
this.buttonAttach.Name = "buttonAttach";
|
||||
this.buttonAttach.UseVisualStyleBackColor = true;
|
||||
this.buttonAttach.Click += new System.EventHandler(this.buttonAttach_Click);
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
resources.ApplyResources(this.buttonCancel, "buttonCancel");
|
||||
this.buttonCancel.Name = "buttonCancel";
|
||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// treeUsbList
|
||||
//
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.treeUsbList, 2);
|
||||
resources.ApplyResources(this.treeUsbList, "treeUsbList");
|
||||
this.treeUsbList.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.treeUsbList.Name = "treeUsbList";
|
||||
this.treeUsbList.NodeIndent = 19;
|
||||
this.treeUsbList.RootAlwaysExpanded = false;
|
||||
this.treeUsbList.ShowCheckboxes = false;
|
||||
this.treeUsbList.ShowDescription = false;
|
||||
this.treeUsbList.ShowImages = false;
|
||||
this.treeUsbList.ShowRootLines = true;
|
||||
this.treeUsbList.SelectedIndexChanged += new System.EventHandler(this.treeUsbList_SelectedIndexChanged);
|
||||
//
|
||||
// labelNote
|
||||
//
|
||||
resources.ApplyResources(this.labelNote, "labelNote");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.labelNote, 2);
|
||||
this.labelNote.Name = "labelNote";
|
||||
//
|
||||
// pictureBoxAlert
|
||||
//
|
||||
resources.ApplyResources(this.pictureBoxAlert, "pictureBoxAlert");
|
||||
this.pictureBoxAlert.BackColor = System.Drawing.Color.Transparent;
|
||||
this.pictureBoxAlert.Image = global::XenAdmin.Properties.Resources._000_Alert2_h32bit_16;
|
||||
this.pictureBoxAlert.InitialImage = global::XenAdmin.Properties.Resources._000_Alert2_h32bit_16;
|
||||
this.pictureBoxAlert.Name = "pictureBoxAlert";
|
||||
this.pictureBoxAlert.TabStop = false;
|
||||
//
|
||||
// labelWarningLine1
|
||||
//
|
||||
resources.ApplyResources(this.labelWarningLine1, "labelWarningLine1");
|
||||
this.labelWarningLine1.Name = "labelWarningLine1";
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelNote, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.treeUsbList, 0, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelWarningLine3, 1, 6);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelWarningLine2, 1, 5);
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelWarningLine1, 1, 4);
|
||||
this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel1, 0, 7);
|
||||
this.tableLayoutPanel1.Controls.Add(this.pictureBoxAlert, 0, 4);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
//
|
||||
// labelWarningLine3
|
||||
//
|
||||
resources.ApplyResources(this.labelWarningLine3, "labelWarningLine3");
|
||||
this.labelWarningLine3.Name = "labelWarningLine3";
|
||||
//
|
||||
// labelWarningLine2
|
||||
//
|
||||
resources.ApplyResources(this.labelWarningLine2, "labelWarningLine2");
|
||||
this.labelWarningLine2.Name = "labelWarningLine2";
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1");
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.flowLayoutPanel1, 2);
|
||||
this.flowLayoutPanel1.Controls.Add(this.buttonCancel);
|
||||
this.flowLayoutPanel1.Controls.Add(this.buttonAttach);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
//
|
||||
// AttachUsbDialog
|
||||
//
|
||||
this.AcceptButton = this.buttonAttach;
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.CancelButton = this.buttonCancel;
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.HelpButton = false;
|
||||
this.Name = "AttachUsbDialog";
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxAlert)).EndInit();
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
this.flowLayoutPanel1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private XenAdmin.Controls.CustomTreeView treeUsbList;
|
||||
private System.Windows.Forms.Button buttonAttach;
|
||||
private System.Windows.Forms.Button buttonCancel;
|
||||
private System.Windows.Forms.Label labelNote;
|
||||
private System.Windows.Forms.PictureBox pictureBoxAlert;
|
||||
private Controls.Common.AutoHeightLabel labelWarningLine1;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
private Controls.Common.AutoHeightLabel labelWarningLine3;
|
||||
private Controls.Common.AutoHeightLabel labelWarningLine2;
|
||||
}
|
||||
}
|
159
XenAdmin/Dialogs/AttachUsbDialog.cs
Executable file
159
XenAdmin/Dialogs/AttachUsbDialog.cs
Executable file
@ -0,0 +1,159 @@
|
||||
/* 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 XenAdmin.Controls;
|
||||
using XenAdmin.Core;
|
||||
using XenAdmin.Actions;
|
||||
using XenAPI;
|
||||
|
||||
namespace XenAdmin.Dialogs
|
||||
{
|
||||
public partial class AttachUsbDialog : XenDialogBase
|
||||
{
|
||||
private VM _vm;
|
||||
private List<Host> possibleHosts;
|
||||
|
||||
public AttachUsbDialog(VM vm): base(vm.Connection)
|
||||
{
|
||||
_vm = vm;
|
||||
possibleHosts = new List<Host>();
|
||||
InitializeComponent();
|
||||
BuildList();
|
||||
treeUsbList_SelectedIndexChanged(null, null);
|
||||
|
||||
DelegatedAsyncAction action = new DelegatedAsyncAction(_vm.Connection,
|
||||
string.Format(Messages.FETCH_POSSIBLE_HOSTS, _vm.Name()),
|
||||
string.Format(Messages.FETCHING_POSSIBLE_HOSTS, _vm.Name()),
|
||||
string.Format(Messages.FETCHED_POSSIBLE_HOSTS, _vm.Name()),
|
||||
delegate (Session session)
|
||||
{
|
||||
List<XenRef<Host>> possibleHostRefs = VM.get_possible_hosts(_vm.Connection.Session, _vm.opaque_ref);
|
||||
possibleHosts = _vm.Connection.ResolveAll(possibleHostRefs);
|
||||
},
|
||||
true);
|
||||
action.Completed += delegate
|
||||
{
|
||||
Program.Invoke(Program.MainWindow, BuildList);
|
||||
};
|
||||
action.RunAsync();
|
||||
}
|
||||
|
||||
private void BuildList()
|
||||
{
|
||||
Program.AssertOnEventThread();
|
||||
|
||||
labelWarningLine3.Visible = !_vm.UsingUpstreamQemu();
|
||||
|
||||
treeUsbList.ClearAllNodes();
|
||||
treeUsbList.BeginUpdate();
|
||||
try
|
||||
{
|
||||
List<UsbItem> usbNodeList = new List<UsbItem>();
|
||||
foreach (Host host in possibleHosts)
|
||||
{
|
||||
// Add a host node to tree list.
|
||||
HostItem hostNode = new HostItem(host);
|
||||
List<PUSB> pusbs = host.Connection.ResolveAll(host.PUSBs);
|
||||
foreach (PUSB pusb in pusbs)
|
||||
{
|
||||
// Add a USB in the host to tree list.
|
||||
// Determin if the USB is valid to attach.
|
||||
USB_group usbGroup = pusb.Connection.Resolve(pusb.USB_group);
|
||||
bool attached = (usbGroup != null) && (usbGroup.VUSBs != null) && (usbGroup.VUSBs.Count > 0);
|
||||
|
||||
if (pusb.passthrough_enabled && !attached)
|
||||
{
|
||||
UsbItem usbNode = new UsbItem(pusb);
|
||||
usbNodeList.Add(usbNode);
|
||||
}
|
||||
}
|
||||
// Show host node only when it contains available USB devices.
|
||||
if (usbNodeList.Count > 0)
|
||||
{
|
||||
treeUsbList.AddNode(hostNode);
|
||||
foreach (UsbItem item in usbNodeList)
|
||||
{
|
||||
treeUsbList.AddChildNode(hostNode, item);
|
||||
}
|
||||
}
|
||||
usbNodeList.Clear();
|
||||
}
|
||||
|
||||
if (treeUsbList.Nodes.Count == 0)
|
||||
{
|
||||
CustomTreeNode noDeviceNode = new CustomTreeNode(false);
|
||||
noDeviceNode.Text = Messages.DIALOG_ATTACH_USB_NO_DEVICES_AVAILABLE;
|
||||
treeUsbList.AddNode(noDeviceNode);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
treeUsbList.EndUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
private void treeUsbList_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
buttonAttach.Enabled = treeUsbList.SelectedItem is UsbItem;
|
||||
}
|
||||
|
||||
private void buttonAttach_Click(object sender, EventArgs e)
|
||||
{
|
||||
UsbItem item = treeUsbList.SelectedItem as UsbItem;
|
||||
if (item != null)
|
||||
new XenAdmin.Actions.CreateVUSBAction(item.Pusb, _vm).RunAsync();
|
||||
}
|
||||
|
||||
private class HostItem : CustomTreeNode
|
||||
{
|
||||
private Host _host;
|
||||
|
||||
public HostItem(Host host) :base(false)
|
||||
{
|
||||
_host = host;
|
||||
Text = host.name_label;
|
||||
}
|
||||
}
|
||||
|
||||
private class UsbItem : CustomTreeNode
|
||||
{
|
||||
public PUSB Pusb { get; private set; }
|
||||
|
||||
public UsbItem(PUSB pusb) :base(true)
|
||||
{
|
||||
Pusb = pusb;
|
||||
Text = String.Format(Messages.STRING_SPACE_STRING, Pusb.path, Pusb.Description());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
501
XenAdmin/Dialogs/AttachUsbDialog.ja.resx
Executable file
501
XenAdmin/Dialogs/AttachUsbDialog.ja.resx
Executable file
@ -0,0 +1,501 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="buttonAttach.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonAttach.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>212, 3</value>
|
||||
</data>
|
||||
<data name="buttonAttach.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 23</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="buttonAttach.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="buttonAttach.Text" xml:space="preserve">
|
||||
<value>&Attach</value>
|
||||
</data>
|
||||
<data name=">>buttonAttach.Name" xml:space="preserve">
|
||||
<value>buttonAttach</value>
|
||||
</data>
|
||||
<data name=">>buttonAttach.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=">>buttonAttach.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>buttonAttach.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>293, 3</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 23</value>
|
||||
</data>
|
||||
<data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Text" xml:space="preserve">
|
||||
<value>&Cancel</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.Name" xml:space="preserve">
|
||||
<value>buttonCancel</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.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=">>buttonCancel.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.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="tableLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelNote.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelNote.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelNote.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelNote.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 10</value>
|
||||
</data>
|
||||
<data name="labelNote.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>323, 15</value>
|
||||
</data>
|
||||
<data name="labelNote.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelNote.Text" xml:space="preserve">
|
||||
<value>Select a device to be passed through to this virtual machine.</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Name" xml:space="preserve">
|
||||
<value>labelNote</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelNote.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>33, 230</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 0</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>341, 45</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Text" xml:space="preserve">
|
||||
<value>A major component update of VM will be performed the first time when a USB device is passed through to it. This update is irreversible.</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine3.Name" xml:space="preserve">
|
||||
<value>labelWarningLine3</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine3.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine3.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine3.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>33, 197</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 0</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>341, 30</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Text" xml:space="preserve">
|
||||
<value>USB devices with modifiable behaviour should only be assigned to trustworthy guest VMs.</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine2.Name" xml:space="preserve">
|
||||
<value>labelWarningLine2</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine2.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine2.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine2.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>33, 164</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 0</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>341, 30</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Text" xml:space="preserve">
|
||||
<value>Plugging in untrustworthy USB devices to your computer may put your computer at risk.</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine1.Name" xml:space="preserve">
|
||||
<value>labelWarningLine1</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine1.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine1.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
|
||||
<value>RightToLeft</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 278</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>371, 31</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.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=">>flowLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 161</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>22, 22</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>CenterImage</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Name" xml:space="preserve">
|
||||
<value>pictureBoxAlert</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>377, 312</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.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=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelNote" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="treeUsbList" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="labelWarningLine3" Row="6" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelWarningLine2" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelWarningLine1" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="flowLayoutPanel1" Row="7" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="pictureBoxAlert" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Absolute,30,Percent,100" /><Rows Styles="Absolute,10,AutoSize,0,Absolute,10,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="treeUsbList.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="treeUsbList.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="treeUsbList.IntegralHeight" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="treeUsbList.ItemHeight" type="System.Int32, mscorlib">
|
||||
<value>17</value>
|
||||
</data>
|
||||
<data name="treeUsbList.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 38</value>
|
||||
</data>
|
||||
<data name="treeUsbList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>371, 120</value>
|
||||
</data>
|
||||
<data name="treeUsbList.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name=">>treeUsbList.Name" xml:space="preserve">
|
||||
<value>treeUsbList</value>
|
||||
</data>
|
||||
<data name=">>treeUsbList.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.CustomTreeView, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>treeUsbList.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>treeUsbList.ZOrder" xml:space="preserve">
|
||||
<value>1</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>96, 96</value>
|
||||
</data>
|
||||
<data name="$this.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>377, 312</value>
|
||||
</data>
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>41, 19, 41, 19</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Attach USB</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>AttachUsbDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
501
XenAdmin/Dialogs/AttachUsbDialog.resx
Executable file
501
XenAdmin/Dialogs/AttachUsbDialog.resx
Executable file
@ -0,0 +1,501 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="buttonAttach.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonAttach.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>212, 3</value>
|
||||
</data>
|
||||
<data name="buttonAttach.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 23</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="buttonAttach.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="buttonAttach.Text" xml:space="preserve">
|
||||
<value>&Attach</value>
|
||||
</data>
|
||||
<data name=">>buttonAttach.Name" xml:space="preserve">
|
||||
<value>buttonAttach</value>
|
||||
</data>
|
||||
<data name=">>buttonAttach.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=">>buttonAttach.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>buttonAttach.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>293, 3</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 23</value>
|
||||
</data>
|
||||
<data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Text" xml:space="preserve">
|
||||
<value>&Cancel</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.Name" xml:space="preserve">
|
||||
<value>buttonCancel</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.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=">>buttonCancel.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.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="tableLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelNote.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelNote.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelNote.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelNote.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 10</value>
|
||||
</data>
|
||||
<data name="labelNote.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>323, 15</value>
|
||||
</data>
|
||||
<data name="labelNote.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelNote.Text" xml:space="preserve">
|
||||
<value>Select a device to be passed through to this virtual machine.</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Name" xml:space="preserve">
|
||||
<value>labelNote</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelNote.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>33, 230</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 0</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>341, 45</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Text" xml:space="preserve">
|
||||
<value>A major component update of VM will be performed the first time when a USB device is passed through to it. This update is irreversible.</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine3.Name" xml:space="preserve">
|
||||
<value>labelWarningLine3</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine3.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine3.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine3.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>33, 197</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 0</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>341, 30</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Text" xml:space="preserve">
|
||||
<value>USB devices with modifiable behaviour should only be assigned to trustworthy guest VMs.</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine2.Name" xml:space="preserve">
|
||||
<value>labelWarningLine2</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine2.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine2.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine2.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>33, 164</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 0</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>341, 30</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Text" xml:space="preserve">
|
||||
<value>Plugging in untrustworthy USB devices to your computer may put your computer at risk.</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine1.Name" xml:space="preserve">
|
||||
<value>labelWarningLine1</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine1.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine1.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
|
||||
<value>RightToLeft</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 278</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>371, 31</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.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=">>flowLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 161</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>22, 22</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>CenterImage</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Name" xml:space="preserve">
|
||||
<value>pictureBoxAlert</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>377, 312</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.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=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelNote" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="treeUsbList" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="labelWarningLine3" Row="6" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelWarningLine2" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelWarningLine1" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="flowLayoutPanel1" Row="7" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="pictureBoxAlert" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Absolute,30,Percent,100" /><Rows Styles="Absolute,10,AutoSize,0,Absolute,10,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="treeUsbList.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="treeUsbList.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="treeUsbList.IntegralHeight" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="treeUsbList.ItemHeight" type="System.Int32, mscorlib">
|
||||
<value>17</value>
|
||||
</data>
|
||||
<data name="treeUsbList.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 38</value>
|
||||
</data>
|
||||
<data name="treeUsbList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>371, 120</value>
|
||||
</data>
|
||||
<data name="treeUsbList.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name=">>treeUsbList.Name" xml:space="preserve">
|
||||
<value>treeUsbList</value>
|
||||
</data>
|
||||
<data name=">>treeUsbList.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.CustomTreeView, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>treeUsbList.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>treeUsbList.ZOrder" xml:space="preserve">
|
||||
<value>1</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>96, 96</value>
|
||||
</data>
|
||||
<data name="$this.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>377, 312</value>
|
||||
</data>
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>41, 19, 41, 19</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Attach USB</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>AttachUsbDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
501
XenAdmin/Dialogs/AttachUsbDialog.zh-CN.resx
Executable file
501
XenAdmin/Dialogs/AttachUsbDialog.zh-CN.resx
Executable file
@ -0,0 +1,501 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="buttonAttach.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonAttach.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>212, 3</value>
|
||||
</data>
|
||||
<data name="buttonAttach.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 23</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="buttonAttach.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="buttonAttach.Text" xml:space="preserve">
|
||||
<value>&Attach</value>
|
||||
</data>
|
||||
<data name=">>buttonAttach.Name" xml:space="preserve">
|
||||
<value>buttonAttach</value>
|
||||
</data>
|
||||
<data name=">>buttonAttach.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=">>buttonAttach.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>buttonAttach.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>293, 3</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 23</value>
|
||||
</data>
|
||||
<data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Text" xml:space="preserve">
|
||||
<value>&Cancel</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.Name" xml:space="preserve">
|
||||
<value>buttonCancel</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.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=">>buttonCancel.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.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="tableLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelNote.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelNote.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelNote.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelNote.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 10</value>
|
||||
</data>
|
||||
<data name="labelNote.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>323, 15</value>
|
||||
</data>
|
||||
<data name="labelNote.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelNote.Text" xml:space="preserve">
|
||||
<value>Select a device to be passed through to this virtual machine.</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Name" xml:space="preserve">
|
||||
<value>labelNote</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelNote.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>33, 230</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 0</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>341, 45</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="labelWarningLine3.Text" xml:space="preserve">
|
||||
<value>A major component update of VM will be performed the first time when a USB device is passed through to it. This update is irreversible.</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine3.Name" xml:space="preserve">
|
||||
<value>labelWarningLine3</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine3.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine3.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine3.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>33, 197</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 0</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>341, 30</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="labelWarningLine2.Text" xml:space="preserve">
|
||||
<value>USB devices with modifiable behaviour should only be assigned to trustworthy guest VMs.</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine2.Name" xml:space="preserve">
|
||||
<value>labelWarningLine2</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine2.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine2.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine2.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>33, 164</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 0</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>341, 30</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="labelWarningLine1.Text" xml:space="preserve">
|
||||
<value>Plugging in untrustworthy USB devices to your computer may put your computer at risk.</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine1.Name" xml:space="preserve">
|
||||
<value>labelWarningLine1</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine1.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelWarningLine1.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
|
||||
<value>RightToLeft</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 278</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>371, 31</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.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=">>flowLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 161</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>22, 22</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>CenterImage</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Name" xml:space="preserve">
|
||||
<value>pictureBoxAlert</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>377, 312</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.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=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelNote" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="treeUsbList" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="labelWarningLine3" Row="6" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelWarningLine2" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelWarningLine1" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="flowLayoutPanel1" Row="7" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="pictureBoxAlert" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Absolute,30,Percent,100" /><Rows Styles="Absolute,10,AutoSize,0,Absolute,10,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="treeUsbList.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="treeUsbList.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="treeUsbList.IntegralHeight" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="treeUsbList.ItemHeight" type="System.Int32, mscorlib">
|
||||
<value>17</value>
|
||||
</data>
|
||||
<data name="treeUsbList.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 38</value>
|
||||
</data>
|
||||
<data name="treeUsbList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>371, 120</value>
|
||||
</data>
|
||||
<data name="treeUsbList.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name=">>treeUsbList.Name" xml:space="preserve">
|
||||
<value>treeUsbList</value>
|
||||
</data>
|
||||
<data name=">>treeUsbList.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.CustomTreeView, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>treeUsbList.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>treeUsbList.ZOrder" xml:space="preserve">
|
||||
<value>1</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>96, 96</value>
|
||||
</data>
|
||||
<data name="$this.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>377, 312</value>
|
||||
</data>
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>41, 19, 41, 19</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Attach USB</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>AttachUsbDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
@ -112,20 +112,20 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="lblInstructions.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="lblInstructions.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>12, 14</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="lblInstructions.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 5, 3, 3</value>
|
||||
</data>
|
||||
@ -253,6 +253,6 @@
|
||||
<value>DuplicateTemplateNameDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
@ -112,20 +112,20 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="lblInstructions.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="lblInstructions.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>12, 14</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="lblInstructions.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 5, 3, 3</value>
|
||||
</data>
|
||||
@ -253,6 +253,6 @@
|
||||
<value>DuplicateTemplateNameDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
@ -112,20 +112,20 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="lblInstructions.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="lblInstructions.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>12, 14</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="lblInstructions.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 5, 3, 3</value>
|
||||
</data>
|
||||
@ -253,6 +253,6 @@
|
||||
<value>DuplicateTemplateNameDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
@ -832,7 +832,7 @@
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="decentGroupBox1.Text" xml:space="preserve">
|
||||
<value>Citrix Insight Services による認証</value>
|
||||
<value>[Citrix] Insight Services での認証</value>
|
||||
</data>
|
||||
<data name=">>decentGroupBox1.Name" xml:space="preserve">
|
||||
<value>decentGroupBox1</value>
|
||||
@ -871,7 +871,7 @@
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="rubricLabel.Text" xml:space="preserve">
|
||||
<value>ヘルス チェックでは、XenServer プールで設定された事前定義済みのスケジュールに基づいて、サーバーの状態レポートが Citrix Insight Services に自動的にアップロードされます。</value>
|
||||
<value>ヘルス チェックでは、[XenServer] プールで設定された事前定義済みのスケジュールに基づいて、サーバーの状態レポートが自動的に [Citrix] Insight Services にアップロードされます。</value>
|
||||
</data>
|
||||
<data name=">>rubricLabel.Name" xml:space="preserve">
|
||||
<value>rubricLabel</value>
|
||||
@ -1153,7 +1153,7 @@
|
||||
<value>24</value>
|
||||
</data>
|
||||
<data name="label3.Text" xml:space="preserve">
|
||||
<value>ヘルス チェック サービスが XenServer に接続するための資格情報を入力してください。</value>
|
||||
<value>ヘルス チェック サービスが [XenServer] に接続するための資格情報を入力してください。</value>
|
||||
</data>
|
||||
<data name="label3.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
@ -1456,7 +1456,7 @@
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="decentGroupBoxXSCredentials.Text" xml:space="preserve">
|
||||
<value>XenServer の資格情報</value>
|
||||
<value>[XenServer] の資格情報</value>
|
||||
</data>
|
||||
<data name=">>decentGroupBoxXSCredentials.Name" xml:space="preserve">
|
||||
<value>decentGroupBoxXSCredentials</value>
|
||||
|
@ -832,7 +832,7 @@
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="decentGroupBox1.Text" xml:space="preserve">
|
||||
<value>Authentication with Citrix Insight Services</value>
|
||||
<value>Authentication with [Citrix] Insight Services</value>
|
||||
</data>
|
||||
<data name=">>decentGroupBox1.Name" xml:space="preserve">
|
||||
<value>decentGroupBox1</value>
|
||||
@ -871,7 +871,7 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="rubricLabel.Text" xml:space="preserve">
|
||||
<value>Health Check will automatically upload a server status report to Citrix Insight Services, based on a predefined schedule configured on your XenServer pool.</value>
|
||||
<value>Health Check will automatically upload a server status report to [Citrix] Insight Services, based on a predefined schedule configured on your [XenServer] pool.</value>
|
||||
</data>
|
||||
<data name=">>rubricLabel.Name" xml:space="preserve">
|
||||
<value>rubricLabel</value>
|
||||
@ -1153,7 +1153,7 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="label3.Text" xml:space="preserve">
|
||||
<value>Enter the credentials the Health Check Service will use to connect to XenServer.</value>
|
||||
<value>Enter the credentials the Health Check Service will use to connect to [XenServer].</value>
|
||||
</data>
|
||||
<data name="label3.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
@ -1456,7 +1456,7 @@
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="decentGroupBoxXSCredentials.Text" xml:space="preserve">
|
||||
<value>XenServer Credentials</value>
|
||||
<value>[XenServer] Credentials</value>
|
||||
</data>
|
||||
<data name=">>decentGroupBoxXSCredentials.Name" xml:space="preserve">
|
||||
<value>decentGroupBoxXSCredentials</value>
|
||||
|
@ -832,7 +832,7 @@
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="decentGroupBox1.Text" xml:space="preserve">
|
||||
<value>通过 Citrix Insight Services 进行身份验证</value>
|
||||
<value>通过 [Citrix] Insight Services 进行身份验证</value>
|
||||
</data>
|
||||
<data name=">>decentGroupBox1.Name" xml:space="preserve">
|
||||
<value>decentGroupBox1</value>
|
||||
@ -871,7 +871,7 @@
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="rubricLabel.Text" xml:space="preserve">
|
||||
<value>运行状况检查会自动将服务器状态报告上载到 Citrix Insight Services,具体取决于您的 XenServer 池上配置的预定义计划。</value>
|
||||
<value>运行状况检查会自动将服务器状态报告上载到 [Citrix] Insight Services,具体取决于您的 [XenServer] 池上配置的预定义计划。</value>
|
||||
</data>
|
||||
<data name=">>rubricLabel.Name" xml:space="preserve">
|
||||
<value>rubricLabel</value>
|
||||
@ -1153,7 +1153,7 @@
|
||||
<value>24</value>
|
||||
</data>
|
||||
<data name="label3.Text" xml:space="preserve">
|
||||
<value>请输入运行状况检查服务连接到 XenServer 时使用的凭据。</value>
|
||||
<value>请输入运行状况检查服务连接到 [XenServer] 时使用的凭据。</value>
|
||||
</data>
|
||||
<data name="label3.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
@ -1456,7 +1456,7 @@
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="decentGroupBoxXSCredentials.Text" xml:space="preserve">
|
||||
<value>XenServer 凭据</value>
|
||||
<value>[XenServer] 凭据</value>
|
||||
</data>
|
||||
<data name=">>decentGroupBoxXSCredentials.Name" xml:space="preserve">
|
||||
<value>decentGroupBoxXSCredentials</value>
|
||||
|
@ -250,7 +250,7 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
|
||||
|
||||
|
||||
Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of Citrix Systems, Inc. in the United States and other countries.</value>
|
||||
Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of [Citrix] Systems, Inc. in the United States and other countries.</value>
|
||||
</data>
|
||||
<data name=">>textBox1.Name" xml:space="preserve">
|
||||
<value>textBox1</value>
|
||||
@ -283,7 +283,7 @@ Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of Citr
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>Citrix、Citrix XenServer、Xen、Xen のロゴ、XenCenter、XenMotion は、米国およびその他の国の Citrix Systems, Inc. の商標または登録商標です。</value>
|
||||
<value>[Citrix]、[Citrix] [XenServer]、Xen、Xen のロゴ、[XenCenter]、XenMotion は、米国およびその他の国の [Citrix] Systems, Inc. の商標または登録商標です。</value>
|
||||
</data>
|
||||
<data name=">>label1.Name" xml:space="preserve">
|
||||
<value>label1</value>
|
||||
@ -355,7 +355,7 @@ Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of Citr
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="label2.Text" xml:space="preserve">
|
||||
<value>Copyright © Citrix Systems, Inc. All rights reserved.</value>
|
||||
<value>Copyright © [Citrix] Systems, Inc. All rights reserved.</value>
|
||||
</data>
|
||||
<data name=">>label2.Name" xml:space="preserve">
|
||||
<value>label2</value>
|
||||
|
@ -250,7 +250,7 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
|
||||
|
||||
|
||||
Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of Citrix Systems, Inc. in the United States and other countries.</value>
|
||||
Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of [Citrix] Systems, Inc. in the United States and other countries.</value>
|
||||
</data>
|
||||
<data name=">>textBox1.Name" xml:space="preserve">
|
||||
<value>textBox1</value>
|
||||
@ -283,7 +283,7 @@ Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of Citr
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>Citrix, Citrix XenServer, Xen, the Xen logo, XenCenter, XenMotion are trademarks and/or registered trademarks of Citrix Systems, Inc. in the United States and other countries.</value>
|
||||
<value>[Citrix], [Citrix] [XenServer], Xen, the Xen logo, [XenCenter], XenMotion are trademarks and/or registered trademarks of [Citrix] Systems, Inc. in the United States and other countries.</value>
|
||||
</data>
|
||||
<data name=">>label1.Name" xml:space="preserve">
|
||||
<value>label1</value>
|
||||
@ -355,7 +355,7 @@ Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of Citr
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="label2.Text" xml:space="preserve">
|
||||
<value>Copyright © Citrix Systems, Inc. All rights reserved.</value>
|
||||
<value>Copyright © [Citrix] Systems, Inc. All rights reserved.</value>
|
||||
</data>
|
||||
<data name=">>label2.Name" xml:space="preserve">
|
||||
<value>label2</value>
|
||||
|
@ -250,7 +250,7 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
|
||||
|
||||
|
||||
Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of Citrix Systems, Inc. in the United States and other countries.</value>
|
||||
Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of [Citrix] Systems, Inc. in the United States and other countries.</value>
|
||||
</data>
|
||||
<data name=">>textBox1.Name" xml:space="preserve">
|
||||
<value>textBox1</value>
|
||||
@ -283,7 +283,7 @@ Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of Citr
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>Citrix、Citrix XenServer、Xen、Xen 徽标、XenCenter、XenMotion 是 Citrix Systems, Inc. 在美国及其他国家/地区的商标和/或注册商标。</value>
|
||||
<value>[Citrix]、[Citrix] [XenServer]、Xen、Xen 徽标、[XenCenter]、XenMotion 是 [Citrix] Systems, Inc. 在美国及其他国家/地区的商标和/或注册商标。</value>
|
||||
</data>
|
||||
<data name=">>label1.Name" xml:space="preserve">
|
||||
<value>label1</value>
|
||||
@ -355,7 +355,7 @@ Xen, the Xen logo, XenMotion are trademarks and/or registered trademarks of Citr
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="label2.Text" xml:space="preserve">
|
||||
<value>版权所有 © Citrix Systems, Inc. 保留所有权利。</value>
|
||||
<value>版权所有 © [Citrix] Systems, Inc. 保留所有权利。</value>
|
||||
</data>
|
||||
<data name=">>label2.Name" xml:space="preserve">
|
||||
<value>label2</value>
|
||||
|
@ -358,14 +358,14 @@ namespace XenAdmin.Dialogs
|
||||
case Dialogs.LicenseStatus.HostState.Expired:
|
||||
if (licenseStatus.PoolLicensingModel == Dialogs.LicenseStatus.LicensingModel.Clearwater)
|
||||
return Messages.LICENSE_UNSUPPORTED;
|
||||
return Messages.LICENSE_EXPIRED;
|
||||
return Messages.LICENSE_UNLICENSED;
|
||||
case Dialogs.LicenseStatus.HostState.Free:
|
||||
switch (licenseStatus.PoolLicensingModel)
|
||||
{
|
||||
case Dialogs.LicenseStatus.LicensingModel.Clearwater:
|
||||
return Messages.LICENSE_UNSUPPORTED;
|
||||
case Dialogs.LicenseStatus.LicensingModel.Creedence:
|
||||
return Messages.LICENSE_EXPIRED;
|
||||
return Messages.LICENSE_UNLICENSED;
|
||||
default:
|
||||
return Messages.LICENSE_FREE;
|
||||
}
|
||||
|
@ -542,16 +542,16 @@
|
||||
</data>
|
||||
<data mimetype="application/x-microsoft.net.object.bytearray.base64" name="pictureBoxError.Image" type="System.Drawing.Bitmap, System.Drawing">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAHpSURBVDhPlZNdT9RAFIan7Yq3/pSN6P/oX+JGEi4IygVcuSuisERIQXYDhMRCQjAYzBoBUfko
|
||||
BAgaWRcIRJDk8JzpdFPgipM86dc875xpp+Z2dRRMCBHILfRe6IbdLR4+grgv8GTJK0jDPJRjaJg22YM5
|
||||
7vXyTMfoWKel5eT6rF+Qc6RTaMIfxEMXsGMeyCaM+oGG1G+EcBGrfJab9TccwC5sI/6EdViBiu/bTjI5
|
||||
1LZ11r/wrzwgV8mO/Co+bc2aFJ/IJfca5Vfy2RRkCbrT5YQaEC2yviM3q8pa/5tN2UTchivOtc55VkVe
|
||||
MIFUPNtFpAGyj5it9QBBZS09ZvIlx+liu4wgf4BpUNcGZGvdol1d649ciJbKU8XH8hZpCmagZmwHaUCC
|
||||
tAHfYdUGtLdm1tKAKgE1G+DLJET5gDWkb/CV9a3nZBWV7DwmZAJxDCq5gKjmBfIFeRkukqQlTCK8hwsX
|
||||
cspLHLKyJ/2e/Qr2JYY9fJJPyB/hKBqXMwZOIJZoWVud5fyE4LVyWZ4jv4bOwG7vdGtzEg+yOeYR9A0P
|
||||
Q8m1qgHvQKUeeKFHP93SVtbiwm7lEiH6eaoI4y5gBGEINKAE3b6d+eZW1nIhcRetvWR9+pKGEd44sZd7
|
||||
z9K27/5M+eLhPX5nY64BiGvD2gP8aTAAAAAASUVORK5CYII=
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAelJREFUOE+V
|
||||
k11P1EAUhqftirf+lI3o/+hf4kYSLgjKBVy5K6KwREhBdgOExEJCMBjMGgFR+SgECBpZFwhEkOTwnOl0
|
||||
U+CKkzzp1zzvnGmn5nZ1FEwIEcgt9F7oht0tHj6CuC/wZMkrSMM8lGNomDbZgznu9fJMx+hYp6Xl5Pqs
|
||||
X5BzpFNowh/EQxewYx7IJoz6gYbUb4RwEat8lpv1NxzALmwj/oR1WIGK79tOMjnUtnXWv/CvPCBXyY78
|
||||
Kj5tzZoUn8gl9xrlV/LZFGQJutPlhBoQLbK+Izerylr/m03ZRNyGK861znlWRV4wgVQ820WkAbKPmK31
|
||||
AEFlLT1m8iXH6WK7jCB/gGlQ1wZka92iXV3rj1yIlspTxcfyFmkKZqBmbAdpQIK0Ad9h1Qa0t2bW0oAq
|
||||
ATUb4MskRPmANaRv8JX1redkFZXsPCZkAnEMKrmAqOYF8gV5GS6SpCVMIryHCxdyykscsrIn/Z79CvYl
|
||||
hj18kk/IH+EoGpczBk4glmhZW53l/ITgtXJZniO/hs7Abu90a3MSD7I55hH0DQ9DybWqAe9ApR54oUc/
|
||||
3dJW1uLCbuUSIfp5qgjjLmAEYQg0oATdvp355lbWciFxF629ZH36koYR3jixl3vP0rbv/kz54uE9fmdj
|
||||
rgGIa8PaA/xpMAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBoxError.Location" type="System.Drawing.Point, System.Drawing">
|
||||
@ -623,9 +623,6 @@
|
||||
<data name="label6.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 12</value>
|
||||
</data>
|
||||
<data name="label6.MaximumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>560, 329</value>
|
||||
</data>
|
||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>560, 30</value>
|
||||
</data>
|
||||
@ -647,204 +644,6 @@
|
||||
<data name=">>label6.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 327</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>133, 15</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.Text" xml:space="preserve">
|
||||
<value>増分割り当て(&C):</value>
|
||||
</data>
|
||||
<data name=">>labelAllocationQuantum.Name" xml:space="preserve">
|
||||
<value>labelAllocationQuantum</value>
|
||||
</data>
|
||||
<data name=">>labelAllocationQuantum.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelAllocationQuantum.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelAllocationQuantum.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 298</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>94, 15</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.Text" xml:space="preserve">
|
||||
<value>初回割り当て(&I):</value>
|
||||
</data>
|
||||
<data name=">>labelInitialAllocation.Name" xml:space="preserve">
|
||||
<value>labelInitialAllocation</value>
|
||||
</data>
|
||||
<data name=">>labelInitialAllocation.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelInitialAllocation.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelInitialAllocation.ZOrder" xml:space="preserve">
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>139, 294</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 3, 3, 3</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>105, 23</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
|
||||
<value>Right</value>
|
||||
</data>
|
||||
<data name=">>initialAllocationNumericUpDown.Name" xml:space="preserve">
|
||||
<value>initialAllocationNumericUpDown</value>
|
||||
</data>
|
||||
<data name=">>initialAllocationNumericUpDown.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>initialAllocationNumericUpDown.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>initialAllocationNumericUpDown.ZOrder" xml:space="preserve">
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>139, 323</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 3, 3, 3</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>105, 23</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>15</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
|
||||
<value>Right</value>
|
||||
</data>
|
||||
<data name=">>allocationQuantumNumericUpDown.Name" xml:space="preserve">
|
||||
<value>allocationQuantumNumericUpDown</value>
|
||||
</data>
|
||||
<data name=">>allocationQuantumNumericUpDown.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>allocationQuantumNumericUpDown.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>allocationQuantumNumericUpDown.ZOrder" xml:space="preserve">
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name="init_alloc_units.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="init_alloc_units.Items" xml:space="preserve">
|
||||
<value>GB</value>
|
||||
</data>
|
||||
<data name="init_alloc_units.Items1" xml:space="preserve">
|
||||
<value>MB</value>
|
||||
</data>
|
||||
<data name="init_alloc_units.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>250, 294</value>
|
||||
</data>
|
||||
<data name="init_alloc_units.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>49, 23</value>
|
||||
</data>
|
||||
<data name="init_alloc_units.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name=">>init_alloc_units.Name" xml:space="preserve">
|
||||
<value>init_alloc_units</value>
|
||||
</data>
|
||||
<data name=">>init_alloc_units.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>init_alloc_units.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>init_alloc_units.ZOrder" xml:space="preserve">
|
||||
<value>15</value>
|
||||
</data>
|
||||
<data name="incr_alloc_units.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="incr_alloc_units.Items" xml:space="preserve">
|
||||
<value>GB</value>
|
||||
</data>
|
||||
<data name="incr_alloc_units.Items1" xml:space="preserve">
|
||||
<value>MB</value>
|
||||
</data>
|
||||
<data name="incr_alloc_units.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>250, 323</value>
|
||||
</data>
|
||||
<data name="incr_alloc_units.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>49, 23</value>
|
||||
</data>
|
||||
<data name="incr_alloc_units.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>16</value>
|
||||
</data>
|
||||
<data name=">>incr_alloc_units.Name" xml:space="preserve">
|
||||
<value>incr_alloc_units</value>
|
||||
</data>
|
||||
<data name=">>incr_alloc_units.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>incr_alloc_units.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>incr_alloc_units.ZOrder" xml:space="preserve">
|
||||
<value>16</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
@ -876,7 +675,7 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label1" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="NameTextBox" Row="2" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="DescriptionTextBox" Row="3" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="SrListBox" Row="5" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="label3" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="DiskSizeNumericUpDown" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="panel1" Row="9" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="label4" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panel2" Row="4" RowSpan="1" Column="2" ColumnSpan="2" /><Control Name="label6" Row="1" RowSpan="1" Column="0" ColumnSpan="4" /><Control Name="labelAllocationQuantum" Row="7" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelInitialAllocation" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="initialAllocationNumericUpDown" Row="6" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="allocationQuantumNumericUpDown" Row="7" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="init_alloc_units" Row="6" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="incr_alloc_units" Row="7" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="Absolute,139,AutoSize,0,AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,Absolute,29,Absolute,29,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label1" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="NameTextBox" Row="2" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="DescriptionTextBox" Row="3" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="SrListBox" Row="5" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="label3" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="DiskSizeNumericUpDown" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="panel1" Row="9" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="label4" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panel2" Row="4" RowSpan="1" Column="2" ColumnSpan="2" /><Control Name="label6" Row="1" RowSpan="1" Column="0" ColumnSpan="4" /></Controls><Columns Styles="Absolute,139,AutoSize,0,AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,Absolute,2,Absolute,2,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="SrListBox.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
@ -950,6 +749,9 @@
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>590, 385</value>
|
||||
</data>
|
||||
|
@ -542,16 +542,16 @@
|
||||
</data>
|
||||
<data mimetype="application/x-microsoft.net.object.bytearray.base64" name="pictureBoxError.Image" type="System.Drawing.Bitmap, System.Drawing">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAHpSURBVDhPlZNdT9RAFIan7Yq3/pSN6P/oX+JGEi4IygVcuSuisERIQXYDhMRCQjAYzBoBUfko
|
||||
BAgaWRcIRJDk8JzpdFPgipM86dc875xpp+Z2dRRMCBHILfRe6IbdLR4+grgv8GTJK0jDPJRjaJg22YM5
|
||||
7vXyTMfoWKel5eT6rF+Qc6RTaMIfxEMXsGMeyCaM+oGG1G+EcBGrfJab9TccwC5sI/6EdViBiu/bTjI5
|
||||
1LZ11r/wrzwgV8mO/Co+bc2aFJ/IJfca5Vfy2RRkCbrT5YQaEC2yviM3q8pa/5tN2UTchivOtc55VkVe
|
||||
MIFUPNtFpAGyj5it9QBBZS09ZvIlx+liu4wgf4BpUNcGZGvdol1d649ciJbKU8XH8hZpCmagZmwHaUCC
|
||||
tAHfYdUGtLdm1tKAKgE1G+DLJET5gDWkb/CV9a3nZBWV7DwmZAJxDCq5gKjmBfIFeRkukqQlTCK8hwsX
|
||||
cspLHLKyJ/2e/Qr2JYY9fJJPyB/hKBqXMwZOIJZoWVud5fyE4LVyWZ4jv4bOwG7vdGtzEg+yOeYR9A0P
|
||||
Q8m1qgHvQKUeeKFHP93SVtbiwm7lEiH6eaoI4y5gBGEINKAE3b6d+eZW1nIhcRetvWR9+pKGEd44sZd7
|
||||
z9K27/5M+eLhPX5nY64BiGvD2gP8aTAAAAAASUVORK5CYII=
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAelJREFUOE+V
|
||||
k11P1EAUhqftirf+lI3o/+hf4kYSLgjKBVy5K6KwREhBdgOExEJCMBjMGgFR+SgECBpZFwhEkOTwnOl0
|
||||
U+CKkzzp1zzvnGmn5nZ1FEwIEcgt9F7oht0tHj6CuC/wZMkrSMM8lGNomDbZgznu9fJMx+hYp6Xl5Pqs
|
||||
X5BzpFNowh/EQxewYx7IJoz6gYbUb4RwEat8lpv1NxzALmwj/oR1WIGK79tOMjnUtnXWv/CvPCBXyY78
|
||||
Kj5tzZoUn8gl9xrlV/LZFGQJutPlhBoQLbK+Izerylr/m03ZRNyGK861znlWRV4wgVQ820WkAbKPmK31
|
||||
AEFlLT1m8iXH6WK7jCB/gGlQ1wZka92iXV3rj1yIlspTxcfyFmkKZqBmbAdpQIK0Ad9h1Qa0t2bW0oAq
|
||||
ATUb4MskRPmANaRv8JX1redkFZXsPCZkAnEMKrmAqOYF8gV5GS6SpCVMIryHCxdyykscsrIn/Z79CvYl
|
||||
hj18kk/IH+EoGpczBk4glmhZW53l/ITgtXJZniO/hs7Abu90a3MSD7I55hH0DQ9DybWqAe9ApR54oUc/
|
||||
3dJW1uLCbuUSIfp5qgjjLmAEYQg0oATdvp355lbWciFxF629ZH36koYR3jixl3vP0rbv/kz54uE9fmdj
|
||||
rgGIa8PaA/xpMAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBoxError.Location" type="System.Drawing.Point, System.Drawing">
|
||||
@ -623,9 +623,6 @@
|
||||
<data name="label6.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 12</value>
|
||||
</data>
|
||||
<data name="label6.MaximumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>560, 329</value>
|
||||
</data>
|
||||
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>560, 30</value>
|
||||
</data>
|
||||
@ -647,204 +644,6 @@
|
||||
<data name=">>label6.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 327</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>133, 15</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name="labelAllocationQuantum.Text" xml:space="preserve">
|
||||
<value>增量分配(&C):</value>
|
||||
</data>
|
||||
<data name=">>labelAllocationQuantum.Name" xml:space="preserve">
|
||||
<value>labelAllocationQuantum</value>
|
||||
</data>
|
||||
<data name=">>labelAllocationQuantum.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelAllocationQuantum.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelAllocationQuantum.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 298</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>94, 15</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="labelInitialAllocation.Text" xml:space="preserve">
|
||||
<value>初始分配(&I):</value>
|
||||
</data>
|
||||
<data name=">>labelInitialAllocation.Name" xml:space="preserve">
|
||||
<value>labelInitialAllocation</value>
|
||||
</data>
|
||||
<data name=">>labelInitialAllocation.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>labelInitialAllocation.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelInitialAllocation.ZOrder" xml:space="preserve">
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>139, 294</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 3, 3, 3</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>105, 23</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="initialAllocationNumericUpDown.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
|
||||
<value>Right</value>
|
||||
</data>
|
||||
<data name=">>initialAllocationNumericUpDown.Name" xml:space="preserve">
|
||||
<value>initialAllocationNumericUpDown</value>
|
||||
</data>
|
||||
<data name=">>initialAllocationNumericUpDown.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>initialAllocationNumericUpDown.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>initialAllocationNumericUpDown.ZOrder" xml:space="preserve">
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>139, 323</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 3, 3, 3</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>105, 23</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>15</value>
|
||||
</data>
|
||||
<data name="allocationQuantumNumericUpDown.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
|
||||
<value>Right</value>
|
||||
</data>
|
||||
<data name=">>allocationQuantumNumericUpDown.Name" xml:space="preserve">
|
||||
<value>allocationQuantumNumericUpDown</value>
|
||||
</data>
|
||||
<data name=">>allocationQuantumNumericUpDown.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>allocationQuantumNumericUpDown.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>allocationQuantumNumericUpDown.ZOrder" xml:space="preserve">
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name="init_alloc_units.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="init_alloc_units.Items" xml:space="preserve">
|
||||
<value>GB</value>
|
||||
</data>
|
||||
<data name="init_alloc_units.Items1" xml:space="preserve">
|
||||
<value>MB</value>
|
||||
</data>
|
||||
<data name="init_alloc_units.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>250, 294</value>
|
||||
</data>
|
||||
<data name="init_alloc_units.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>49, 23</value>
|
||||
</data>
|
||||
<data name="init_alloc_units.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name=">>init_alloc_units.Name" xml:space="preserve">
|
||||
<value>init_alloc_units</value>
|
||||
</data>
|
||||
<data name=">>init_alloc_units.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>init_alloc_units.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>init_alloc_units.ZOrder" xml:space="preserve">
|
||||
<value>15</value>
|
||||
</data>
|
||||
<data name="incr_alloc_units.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="incr_alloc_units.Items" xml:space="preserve">
|
||||
<value>GB</value>
|
||||
</data>
|
||||
<data name="incr_alloc_units.Items1" xml:space="preserve">
|
||||
<value>MB</value>
|
||||
</data>
|
||||
<data name="incr_alloc_units.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>250, 323</value>
|
||||
</data>
|
||||
<data name="incr_alloc_units.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>49, 23</value>
|
||||
</data>
|
||||
<data name="incr_alloc_units.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>16</value>
|
||||
</data>
|
||||
<data name=">>incr_alloc_units.Name" xml:space="preserve">
|
||||
<value>incr_alloc_units</value>
|
||||
</data>
|
||||
<data name=">>incr_alloc_units.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>incr_alloc_units.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>incr_alloc_units.ZOrder" xml:space="preserve">
|
||||
<value>16</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
@ -876,7 +675,7 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label1" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="NameTextBox" Row="2" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="DescriptionTextBox" Row="3" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="SrListBox" Row="5" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="label3" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="DiskSizeNumericUpDown" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="panel1" Row="9" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="label4" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panel2" Row="4" RowSpan="1" Column="2" ColumnSpan="2" /><Control Name="label6" Row="1" RowSpan="1" Column="0" ColumnSpan="4" /><Control Name="labelAllocationQuantum" Row="7" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelInitialAllocation" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="initialAllocationNumericUpDown" Row="6" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="allocationQuantumNumericUpDown" Row="7" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="init_alloc_units" Row="6" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="incr_alloc_units" Row="7" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="Absolute,139,AutoSize,0,AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,Absolute,29,Absolute,29,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label1" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="NameTextBox" Row="2" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="DescriptionTextBox" Row="3" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="SrListBox" Row="5" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="label3" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="DiskSizeNumericUpDown" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="panel1" Row="9" RowSpan="1" Column="1" ColumnSpan="3" /><Control Name="label4" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panel2" Row="4" RowSpan="1" Column="2" ColumnSpan="2" /><Control Name="label6" Row="1" RowSpan="1" Column="0" ColumnSpan="4" /></Controls><Columns Styles="Absolute,139,AutoSize,0,AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,Absolute,2,Absolute,2,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="SrListBox.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
@ -950,6 +749,9 @@
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>590, 385</value>
|
||||
</data>
|
||||
|
1
XenAdmin/Dialogs/NewPoolDialog.Designer.cs
generated
1
XenAdmin/Dialogs/NewPoolDialog.Designer.cs
generated
@ -160,6 +160,7 @@
|
||||
this.customTreeViewServers.ShowDescription = true;
|
||||
this.customTreeViewServers.ShowImages = false;
|
||||
this.customTreeViewServers.ShowRootLines = true;
|
||||
this.customTreeViewServers.ItemCheckChanged += new System.EventHandler<System.EventArgs>(this.customTreeViewServers_ItemCheckChanged);
|
||||
//
|
||||
// flowLayoutPanelServerListButtons
|
||||
//
|
||||
|
@ -73,7 +73,7 @@ namespace XenAdmin.Dialogs
|
||||
selectSlaves(hosts);
|
||||
}
|
||||
|
||||
private enum InvalidReasons { NONE, EMPTY_POOL_NAME, NO_MASTER };
|
||||
private enum InvalidReasons { NONE, EMPTY_POOL_NAME, NO_MASTER, MAX_POOL_SIZE_EXCEEDED };
|
||||
private InvalidReasons validToClose
|
||||
{
|
||||
get
|
||||
@ -87,6 +87,14 @@ namespace XenAdmin.Dialogs
|
||||
if (comboBoxServers.Items.Count <= 0)
|
||||
return InvalidReasons.NO_MASTER;
|
||||
|
||||
Host master = getMaster();
|
||||
if (master != null)
|
||||
{
|
||||
List<Host> slaves = getSlaves();
|
||||
if (PoolJoinRules.WillExceedPoolMaxSize(master.Connection, slaves.Count))
|
||||
return InvalidReasons.MAX_POOL_SIZE_EXCEEDED;
|
||||
}
|
||||
|
||||
return InvalidReasons.NONE;
|
||||
}
|
||||
}
|
||||
@ -118,6 +126,10 @@ namespace XenAdmin.Dialogs
|
||||
buttonCreate.Enabled = false;
|
||||
toolTipContainerCreate.SetToolTip(Messages.POOL_NAME_EMPTY);
|
||||
break;
|
||||
case InvalidReasons.MAX_POOL_SIZE_EXCEEDED:
|
||||
buttonCreate.Enabled = false;
|
||||
toolTipContainerCreate.SetToolTip(Messages.NEWPOOL_WILL_EXCEED_POOL_MAX_SIZE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -147,8 +159,8 @@ namespace XenAdmin.Dialogs
|
||||
Helpers.FeatureForbidden(host, Host.RestrictCpuMasking) &&
|
||||
!PoolJoinRules.FreeHostPaidMaster(host, master, false))) // in this case we can upgrade the license and then mask the CPU
|
||||
{
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_CPUMASKING : Messages.UPSELL_BLURB_CPUMASKING + Messages.UPSELL_BLURB_CPUMASKING_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_CPUMASKING))
|
||||
using (var dlg = new UpsellDialog(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_CPUMASKING : Messages.UPSELL_BLURB_CPUMASKING + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL))
|
||||
dlg.ShowDialog(this);
|
||||
return;
|
||||
}
|
||||
@ -402,5 +414,10 @@ namespace XenAdmin.Dialogs
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
private void customTreeViewServers_ItemCheckChanged(object sender, EventArgs e)
|
||||
{
|
||||
updateButtons();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
32
XenAdmin/Dialogs/PropertiesDialog.cs
Normal file → Executable file
32
XenAdmin/Dialogs/PropertiesDialog.cs
Normal file → Executable file
@ -43,6 +43,7 @@ using XenAdmin.Core;
|
||||
using XenAdmin.Wizards.NewPolicyWizard;
|
||||
using XenAdmin.Wizards.NewVMApplianceWizard;
|
||||
using XenAdmin.Wizards.GenericPages;
|
||||
using System.Linq;
|
||||
|
||||
namespace XenAdmin.Dialogs
|
||||
{
|
||||
@ -78,6 +79,8 @@ namespace XenAdmin.Dialogs
|
||||
private Page_CloudConfigParameters CloudConfigParametersPage;
|
||||
private SecurityEditPage SecurityEditPage;
|
||||
private LivePatchingEditPage LivePatchingEditPage;
|
||||
private USBEditPage usbEditPage;
|
||||
private NetworkOptionsEditPage NetworkOptionsEditPage;
|
||||
#endregion
|
||||
|
||||
private IXenObject xenObject, xenObjectBefore, xenObjectCopy;
|
||||
@ -121,6 +124,7 @@ namespace XenAdmin.Dialogs
|
||||
bool is_network = xenObjectCopy is XenAPI.Network;
|
||||
|
||||
bool is_hvm = is_vm && ((VM)xenObjectCopy).IsHVM();
|
||||
bool is_template = is_vm && ((VM)xenObjectCopy).is_a_template;
|
||||
bool is_in_pool = Helpers.GetPool(xenObjectCopy.Connection) != null;
|
||||
|
||||
bool is_pool_or_standalone = is_pool || (is_host && !is_in_pool);
|
||||
@ -155,8 +159,8 @@ namespace XenAdmin.Dialogs
|
||||
if (Helpers.FeatureForbidden(xenObjectCopy, Host.RestrictAlerts))
|
||||
{
|
||||
PerfmonAlertUpsellEditPage = new UpsellPage {Image = Properties.Resources._000_Alert2_h32bit_16, Text = Messages.ALERTS};
|
||||
PerfmonAlertUpsellEditPage.SetAllTexts(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_ALERTS : Messages.UPSELL_BLURB_ALERTS + Messages.UPSELL_BLURB_ALERTS_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_ALERTS);
|
||||
PerfmonAlertUpsellEditPage.SetAllTexts(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_ALERTS : Messages.UPSELL_BLURB_ALERTS + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL);
|
||||
ShowTab(PerfmonAlertUpsellEditPage);
|
||||
}
|
||||
else
|
||||
@ -170,8 +174,8 @@ namespace XenAdmin.Dialogs
|
||||
if (Helpers.FeatureForbidden(xenObjectCopy, Host.RestrictAlerts))
|
||||
{
|
||||
PerfmonAlertOptionsUpsellEditPage = new UpsellPage {Image = Properties.Resources._000_Email_h32bit_16, Text = Messages.EMAIL_OPTIONS};
|
||||
PerfmonAlertOptionsUpsellEditPage.SetAllTexts(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_ALERTS : Messages.UPSELL_BLURB_ALERTS + Messages.UPSELL_BLURB_ALERTS_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_ALERTS);
|
||||
PerfmonAlertOptionsUpsellEditPage.SetAllTexts(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_ALERTS : Messages.UPSELL_BLURB_ALERTS + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL);
|
||||
ShowTab(PerfmonAlertOptionsUpsellEditPage);
|
||||
}
|
||||
else
|
||||
@ -202,6 +206,9 @@ namespace XenAdmin.Dialogs
|
||||
if (is_pool_or_standalone && !Helpers.FeatureForbidden(xenObject.Connection, Host.RestrictLivePatching))
|
||||
ShowTab(LivePatchingEditPage = new LivePatchingEditPage());
|
||||
|
||||
if (is_pool_or_standalone && !Helpers.FeatureForbidden(xenObject.Connection, Host.RestrictIGMPSnooping) && Helpers.GetMaster(pool).vSwitchNetworkBackend())
|
||||
ShowTab(NetworkOptionsEditPage = new NetworkOptionsEditPage());
|
||||
|
||||
if (is_network)
|
||||
ShowTab(editNetworkPage = new EditNetworkPage());
|
||||
|
||||
@ -213,8 +220,8 @@ namespace XenAdmin.Dialogs
|
||||
if (Helpers.FeatureForbidden(xenObjectCopy, Host.RestrictGpu))
|
||||
{
|
||||
GpuUpsellEditPage = new UpsellPage { Image = Properties.Resources._000_GetMemoryInfo_h32bit_16, Text = Messages.GPU };
|
||||
GpuUpsellEditPage.SetAllTexts(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_GPU : Messages.UPSELL_BLURB_GPU + Messages.UPSELL_BLURB_GPU_MORE,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_GPU);
|
||||
GpuUpsellEditPage.SetAllTexts(HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_GPU : Messages.UPSELL_BLURB_GPU + Messages.UPSELL_BLURB_TRIAL,
|
||||
InvisibleMessages.UPSELL_LEARNMOREURL_TRIAL);
|
||||
ShowTab(GpuUpsellEditPage);
|
||||
}
|
||||
else
|
||||
@ -223,6 +230,12 @@ namespace XenAdmin.Dialogs
|
||||
}
|
||||
}
|
||||
|
||||
if (is_hvm && !is_template && !Helpers.FeatureForbidden(xenObjectCopy, Host.RestrictUsbPassthrough) &&
|
||||
pool.Connection.Cache.Hosts.Any(host => host.PUSBs.Count > 0))
|
||||
{
|
||||
ShowTab(usbEditPage = new USBEditPage { VerticalTabs = verticalTabs });
|
||||
}
|
||||
|
||||
if (is_hvm)
|
||||
{
|
||||
ShowTab(VMAdvancedEditPage = new VMAdvancedEditPage());
|
||||
@ -505,6 +518,13 @@ namespace XenAdmin.Dialogs
|
||||
GpuEditPage.ShowHideWarnings();
|
||||
return;
|
||||
}
|
||||
|
||||
if (verticalTabs.SelectedItem == usbEditPage && VMHAEditPage != null)
|
||||
{
|
||||
usbEditPage.SelectedPriority = VMHAEditPage.SelectedPriority;
|
||||
usbEditPage.ShowHideWarnings();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void PropertiesDialog_FormClosed(object sender, FormClosedEventArgs e)
|
||||
|
@ -229,7 +229,7 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="label1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left</value>
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
143
XenAdmin/Dialogs/UsbUsageDialog.Designer.cs
generated
Executable file
143
XenAdmin/Dialogs/UsbUsageDialog.Designer.cs
generated
Executable file
@ -0,0 +1,143 @@
|
||||
namespace XenAdmin.Dialogs
|
||||
{
|
||||
partial class UsbUsageDialog
|
||||
{
|
||||
/// <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(UsbUsageDialog));
|
||||
this.buttonOK = new System.Windows.Forms.Button();
|
||||
this.buttonCancel = new System.Windows.Forms.Button();
|
||||
this.labelNote = new XenAdmin.Controls.Common.AutoHeightLabel();
|
||||
this.tableLayoutPanelBase = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.tableLayoutPanelWarning = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.labelWarning = new XenAdmin.Controls.Common.AutoHeightLabel();
|
||||
this.pictureBoxAlert = new System.Windows.Forms.PictureBox();
|
||||
this.tableLayoutPanelBase.SuspendLayout();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
this.tableLayoutPanelWarning.SuspendLayout();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxAlert)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// buttonOK
|
||||
//
|
||||
this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
resources.ApplyResources(this.buttonOK, "buttonOK");
|
||||
this.buttonOK.Name = "buttonOK";
|
||||
this.buttonOK.UseVisualStyleBackColor = true;
|
||||
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
resources.ApplyResources(this.buttonCancel, "buttonCancel");
|
||||
this.buttonCancel.Name = "buttonCancel";
|
||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// labelNote
|
||||
//
|
||||
resources.ApplyResources(this.labelNote, "labelNote");
|
||||
this.labelNote.Name = "labelNote";
|
||||
//
|
||||
// tableLayoutPanelBase
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanelBase, "tableLayoutPanelBase");
|
||||
this.tableLayoutPanelBase.Controls.Add(this.flowLayoutPanel1, 0, 4);
|
||||
this.tableLayoutPanelBase.Controls.Add(this.labelNote, 0, 1);
|
||||
this.tableLayoutPanelBase.Controls.Add(this.tableLayoutPanelWarning, 0, 3);
|
||||
this.tableLayoutPanelBase.Name = "tableLayoutPanelBase";
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1");
|
||||
this.flowLayoutPanel1.Controls.Add(this.buttonCancel);
|
||||
this.flowLayoutPanel1.Controls.Add(this.buttonOK);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
//
|
||||
// tableLayoutPanelWarning
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanelWarning, "tableLayoutPanelWarning");
|
||||
this.tableLayoutPanelWarning.Controls.Add(this.tableLayoutPanel1, 1, 0);
|
||||
this.tableLayoutPanelWarning.Controls.Add(this.pictureBoxAlert, 0, 0);
|
||||
this.tableLayoutPanelWarning.Name = "tableLayoutPanelWarning";
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||
this.tableLayoutPanel1.Controls.Add(this.labelWarning, 0, 1);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
//
|
||||
// labelWarning
|
||||
//
|
||||
resources.ApplyResources(this.labelWarning, "labelWarning");
|
||||
this.labelWarning.Name = "labelWarning";
|
||||
//
|
||||
// pictureBoxAlert
|
||||
//
|
||||
resources.ApplyResources(this.pictureBoxAlert, "pictureBoxAlert");
|
||||
this.pictureBoxAlert.BackColor = System.Drawing.Color.Transparent;
|
||||
this.pictureBoxAlert.Image = global::XenAdmin.Properties.Resources._000_Alert2_h32bit_16;
|
||||
this.pictureBoxAlert.InitialImage = global::XenAdmin.Properties.Resources._000_Alert2_h32bit_16;
|
||||
this.pictureBoxAlert.Name = "pictureBoxAlert";
|
||||
this.pictureBoxAlert.TabStop = false;
|
||||
//
|
||||
// UsbUsageDialog
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.Controls.Add(this.tableLayoutPanelBase);
|
||||
this.HelpButton = false;
|
||||
this.Icon = global::XenAdmin.Properties.Resources.AppIcon;
|
||||
this.Name = "UsbUsageDialog";
|
||||
this.tableLayoutPanelBase.ResumeLayout(false);
|
||||
this.tableLayoutPanelBase.PerformLayout();
|
||||
this.flowLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanelWarning.ResumeLayout(false);
|
||||
this.tableLayoutPanelWarning.PerformLayout();
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxAlert)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button buttonOK;
|
||||
private System.Windows.Forms.Button buttonCancel;
|
||||
private Controls.Common.AutoHeightLabel labelNote;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanelBase;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanelWarning;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private Controls.Common.AutoHeightLabel labelWarning;
|
||||
private System.Windows.Forms.PictureBox pictureBoxAlert;
|
||||
|
||||
}
|
||||
}
|
72
XenAdmin/Dialogs/UsbUsageDialog.cs
Executable file
72
XenAdmin/Dialogs/UsbUsageDialog.cs
Executable file
@ -0,0 +1,72 @@
|
||||
/* 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.Windows.Forms;
|
||||
using XenAPI;
|
||||
|
||||
namespace XenAdmin.Dialogs
|
||||
{
|
||||
public partial class UsbUsageDialog : XenDialogBase
|
||||
{
|
||||
private PUSB _pusb;
|
||||
|
||||
public UsbUsageDialog(PUSB pusb)
|
||||
{
|
||||
_pusb = pusb;
|
||||
InitializeComponent();
|
||||
RefreshControls();
|
||||
}
|
||||
|
||||
private void RefreshControls()
|
||||
{
|
||||
if (_pusb.passthrough_enabled)
|
||||
{
|
||||
Text = Messages.DIALOG_USB_USAGE_DISABLE_PASSTHROUGH;
|
||||
labelNote.Text = Messages.DIALOG_USB_USAGE_NOTE_DENY;
|
||||
buttonOK.Text = Messages.DIALOG_USB_USAGE_OKBUTTON_DISABLE;
|
||||
|
||||
tableLayoutPanelBase.Controls.Remove(tableLayoutPanelWarning);
|
||||
}
|
||||
else
|
||||
{
|
||||
Text = Messages.DIALOG_USB_USAGE_ENABLE_PASSTHROUGH;
|
||||
labelNote.Text = Messages.DIALOG_USB_USAGE_NOTE_ALLOW;
|
||||
buttonOK.Text = Messages.DIALOG_USB_USAGE_OKBUTTON_ENABLE;
|
||||
}
|
||||
}
|
||||
|
||||
private void buttonOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
new XenAdmin.Actions.SetUsbPassthroughAction (_pusb, !_pusb.passthrough_enabled).RunAsync();
|
||||
}
|
||||
}
|
||||
}
|
483
XenAdmin/Dialogs/UsbUsageDialog.ja.resx
Executable file
483
XenAdmin/Dialogs/UsbUsageDialog.ja.resx
Executable file
@ -0,0 +1,483 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="buttonOK.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonOK.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>143, 3</value>
|
||||
</data>
|
||||
<data name="buttonOK.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>170, 23</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="buttonOK.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="buttonOK.Text" xml:space="preserve">
|
||||
<value>&Yes, enable passthrough</value>
|
||||
</data>
|
||||
<data name=">>buttonOK.Name" xml:space="preserve">
|
||||
<value>buttonOK</value>
|
||||
</data>
|
||||
<data name=">>buttonOK.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=">>buttonOK.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>buttonOK.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>319, 3</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 23</value>
|
||||
</data>
|
||||
<data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Text" xml:space="preserve">
|
||||
<value>&No</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.Name" xml:space="preserve">
|
||||
<value>buttonCancel</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.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=">>buttonCancel.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelNote.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="labelNote.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelNote.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelNote.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelNote.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 10</value>
|
||||
</data>
|
||||
<data name="labelNote.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>397, 15</value>
|
||||
</data>
|
||||
<data name="labelNote.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="labelNote.Text" xml:space="preserve">
|
||||
<value>Are you sure that you want to enable passthrough on this device?</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Name" xml:space="preserve">
|
||||
<value>labelNote</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelBase</value>
|
||||
</data>
|
||||
<data name=">>labelNote.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
|
||||
<value>RightToLeft</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 97</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>397, 35</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.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=">>flowLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelBase</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="labelWarning.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelWarning.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelWarning.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelWarning.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelWarning.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 2</value>
|
||||
</data>
|
||||
<data name="labelWarning.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="labelWarning.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>368, 45</value>
|
||||
</data>
|
||||
<data name="labelWarning.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="labelWarning.Text" xml:space="preserve">
|
||||
<value>Plugging in untrustworthy USB devices to your computer may put your computer at risk. USB devices with modifiable behaviour should only be assigned to trustworthy guest VMs.</value>
|
||||
</data>
|
||||
<data name=">>labelWarning.Name" xml:space="preserve">
|
||||
<value>labelWarning</value>
|
||||
</data>
|
||||
<data name=">>labelWarning.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelWarning.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelWarning.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>26, 3</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>368, 47</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.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=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelWarning</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelWarning" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,2,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>1, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>22, 22</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>CenterImage</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Name" xml:space="preserve">
|
||||
<value>pictureBoxAlert</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelWarning</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 38</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>397, 53</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelWarning.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanelWarning</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelWarning.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=">>tableLayoutPanelWarning.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelBase</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelWarning.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tableLayoutPanel1" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pictureBoxAlert" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Absolute,23,AutoSize,0" /><Rows Styles="AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.RowCount" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>403, 135</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelBase.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanelBase</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelBase.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=">>tableLayoutPanelBase.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelBase.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="flowLayoutPanel1" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelNote" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableLayoutPanelWarning" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,10,AutoSize,0,Absolute,10,AutoSize,0,AutoSize,0" /></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>96, 96</value>
|
||||
</data>
|
||||
<data name="$this.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>403, 135</value>
|
||||
</data>
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||
<value>CenterParent</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Enable passthrough</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>UsbUsageDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
483
XenAdmin/Dialogs/UsbUsageDialog.resx
Executable file
483
XenAdmin/Dialogs/UsbUsageDialog.resx
Executable file
@ -0,0 +1,483 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="buttonOK.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonOK.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>143, 3</value>
|
||||
</data>
|
||||
<data name="buttonOK.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>170, 23</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="buttonOK.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="buttonOK.Text" xml:space="preserve">
|
||||
<value>&Yes, enable passthrough</value>
|
||||
</data>
|
||||
<data name=">>buttonOK.Name" xml:space="preserve">
|
||||
<value>buttonOK</value>
|
||||
</data>
|
||||
<data name=">>buttonOK.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=">>buttonOK.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>buttonOK.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>319, 3</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 23</value>
|
||||
</data>
|
||||
<data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Text" xml:space="preserve">
|
||||
<value>&No</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.Name" xml:space="preserve">
|
||||
<value>buttonCancel</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.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=">>buttonCancel.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelNote.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="labelNote.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelNote.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelNote.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelNote.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 10</value>
|
||||
</data>
|
||||
<data name="labelNote.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>397, 15</value>
|
||||
</data>
|
||||
<data name="labelNote.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="labelNote.Text" xml:space="preserve">
|
||||
<value>Are you sure that you want to enable passthrough on this device?</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Name" xml:space="preserve">
|
||||
<value>labelNote</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelBase</value>
|
||||
</data>
|
||||
<data name=">>labelNote.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
|
||||
<value>RightToLeft</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 97</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>397, 35</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.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=">>flowLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelBase</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="labelWarning.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelWarning.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelWarning.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelWarning.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelWarning.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 2</value>
|
||||
</data>
|
||||
<data name="labelWarning.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="labelWarning.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>368, 45</value>
|
||||
</data>
|
||||
<data name="labelWarning.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="labelWarning.Text" xml:space="preserve">
|
||||
<value>Plugging in untrustworthy USB devices to your computer may put your computer at risk. USB devices with modifiable behaviour should only be assigned to trustworthy guest VMs.</value>
|
||||
</data>
|
||||
<data name=">>labelWarning.Name" xml:space="preserve">
|
||||
<value>labelWarning</value>
|
||||
</data>
|
||||
<data name=">>labelWarning.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelWarning.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelWarning.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>26, 3</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>368, 47</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.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=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelWarning</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelWarning" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,2,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>1, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>22, 22</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>CenterImage</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Name" xml:space="preserve">
|
||||
<value>pictureBoxAlert</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelWarning</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 38</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>397, 53</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelWarning.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanelWarning</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelWarning.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=">>tableLayoutPanelWarning.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelBase</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelWarning.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tableLayoutPanel1" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pictureBoxAlert" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Absolute,23,AutoSize,0" /><Rows Styles="AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.RowCount" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>403, 135</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelBase.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanelBase</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelBase.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=">>tableLayoutPanelBase.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelBase.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="flowLayoutPanel1" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelNote" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableLayoutPanelWarning" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,10,AutoSize,0,Absolute,10,AutoSize,0,AutoSize,0" /></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>96, 96</value>
|
||||
</data>
|
||||
<data name="$this.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>403, 135</value>
|
||||
</data>
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||
<value>CenterParent</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Enable passthrough</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>UsbUsageDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
483
XenAdmin/Dialogs/UsbUsageDialog.zh-CN.resx
Executable file
483
XenAdmin/Dialogs/UsbUsageDialog.zh-CN.resx
Executable file
@ -0,0 +1,483 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="buttonOK.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonOK.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>143, 3</value>
|
||||
</data>
|
||||
<data name="buttonOK.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>170, 23</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="buttonOK.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="buttonOK.Text" xml:space="preserve">
|
||||
<value>&Yes, enable passthrough</value>
|
||||
</data>
|
||||
<data name=">>buttonOK.Name" xml:space="preserve">
|
||||
<value>buttonOK</value>
|
||||
</data>
|
||||
<data name=">>buttonOK.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=">>buttonOK.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>buttonOK.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>319, 3</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>75, 23</value>
|
||||
</data>
|
||||
<data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="buttonCancel.Text" xml:space="preserve">
|
||||
<value>&No</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.Name" xml:space="preserve">
|
||||
<value>buttonCancel</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.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=">>buttonCancel.Parent" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>buttonCancel.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="labelNote.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="labelNote.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelNote.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelNote.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelNote.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 10</value>
|
||||
</data>
|
||||
<data name="labelNote.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>397, 15</value>
|
||||
</data>
|
||||
<data name="labelNote.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="labelNote.Text" xml:space="preserve">
|
||||
<value>Are you sure that you want to enable passthrough on this device?</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Name" xml:space="preserve">
|
||||
<value>labelNote</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelNote.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelBase</value>
|
||||
</data>
|
||||
<data name=">>labelNote.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
|
||||
<value>RightToLeft</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 97</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>397, 35</value>
|
||||
</data>
|
||||
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>flowLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.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=">>flowLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelBase</value>
|
||||
</data>
|
||||
<data name=">>flowLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="labelWarning.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="labelWarning.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="labelWarning.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopLeft</value>
|
||||
</data>
|
||||
<data name="labelWarning.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="labelWarning.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 2</value>
|
||||
</data>
|
||||
<data name="labelWarning.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="labelWarning.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>368, 45</value>
|
||||
</data>
|
||||
<data name="labelWarning.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="labelWarning.Text" xml:space="preserve">
|
||||
<value>Plugging in untrustworthy USB devices to your computer may put your computer at risk. USB devices with modifiable behaviour should only be assigned to trustworthy guest VMs.</value>
|
||||
</data>
|
||||
<data name=">>labelWarning.Name" xml:space="preserve">
|
||||
<value>labelWarning</value>
|
||||
</data>
|
||||
<data name=">>labelWarning.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>labelWarning.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>labelWarning.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>26, 3</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>368, 47</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.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=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelWarning</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelWarning" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,2,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>1, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>22, 22</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>CenterImage</value>
|
||||
</data>
|
||||
<data name="pictureBoxAlert.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Name" xml:space="preserve">
|
||||
<value>pictureBoxAlert</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelWarning</value>
|
||||
</data>
|
||||
<data name=">>pictureBoxAlert.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 38</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>397, 53</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelWarning.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanelWarning</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelWarning.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=">>tableLayoutPanelWarning.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelBase</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelWarning.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelWarning.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tableLayoutPanel1" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pictureBoxAlert" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Absolute,23,AutoSize,0" /><Rows Styles="AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.RowCount" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>403, 135</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelBase.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanelBase</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelBase.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=">>tableLayoutPanelBase.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelBase.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelBase.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="flowLayoutPanel1" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelNote" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableLayoutPanelWarning" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,10,AutoSize,0,Absolute,10,AutoSize,0,AutoSize,0" /></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>96, 96</value>
|
||||
</data>
|
||||
<data name="$this.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
|
||||
<value>GrowAndShrink</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>403, 135</value>
|
||||
</data>
|
||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Segoe UI, 9pt</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||
<value>CenterParent</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Enable passthrough</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>UsbUsageDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
@ -164,7 +164,7 @@
|
||||
<data name="pictureBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 32</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="pictureBox1.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>AutoSize</value>
|
||||
</data>
|
||||
@ -372,6 +372,6 @@ VM のパフォーマンスを最適化するために、VCPU の数を物理 CP
|
||||
<value>VcpuWarningDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
@ -164,7 +164,7 @@
|
||||
<data name="pictureBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 32</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="pictureBox1.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>AutoSize</value>
|
||||
</data>
|
||||
@ -175,7 +175,7 @@
|
||||
<value>pictureBox1</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
@ -240,7 +240,7 @@ To optimize VM performance, you should reduce the number of VCPUs to less than o
|
||||
<value>panel1</value>
|
||||
</data>
|
||||
<data name=">>panel1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>panel1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
@ -273,7 +273,7 @@ To optimize VM performance, you should reduce the number of VCPUs to less than o
|
||||
<value>checkBox1</value>
|
||||
</data>
|
||||
<data name=">>checkBox1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>checkBox1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
@ -309,7 +309,7 @@ To optimize VM performance, you should reduce the number of VCPUs to less than o
|
||||
<value>btnOK</value>
|
||||
</data>
|
||||
<data name=">>btnOK.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>btnOK.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
@ -336,7 +336,7 @@ To optimize VM performance, you should reduce the number of VCPUs to less than o
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
@ -347,7 +347,7 @@ To optimize VM performance, you should reduce the number of VCPUs to less than o
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="pictureBox1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panel1" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="checkBox1" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="btnOK" Row="2" RowSpan="1" Column="0" ColumnSpan="2" /></Controls><Columns Styles="AutoSize,0,Percent,100,Absolute,20" /><Rows Styles="Percent,100,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
@ -372,6 +372,6 @@ To optimize VM performance, you should reduce the number of VCPUs to less than o
|
||||
<value>VcpuWarningDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
@ -164,7 +164,7 @@
|
||||
<data name="pictureBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 32</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="pictureBox1.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>AutoSize</value>
|
||||
</data>
|
||||
@ -371,6 +371,6 @@
|
||||
<value>VcpuWarningDialog</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
@ -1068,6 +1068,9 @@
|
||||
<data name="VMSnapshotPage" xml:space="preserve">
|
||||
<value>6530</value>
|
||||
</data>
|
||||
<data name="WarningVmDisableChangedBlockTracking" xml:space="preserve">
|
||||
<value>8106</value>
|
||||
</data>
|
||||
<data name="WarningVmLifeCycleForceReboot" xml:space="preserve">
|
||||
<value>8101</value>
|
||||
</data>
|
||||
@ -1149,4 +1152,7 @@
|
||||
<data name="EditVMSSGeneralSettingsDialog" xml:space="preserve">
|
||||
<value>6553</value>
|
||||
</data>
|
||||
</root>
|
||||
<data name="TabPageUSB" xml:space="preserve">
|
||||
<value>1020</value>
|
||||
</data>
|
||||
</root>
|
||||
|
@ -1068,6 +1068,9 @@
|
||||
<data name="VMSnapshotPage" xml:space="preserve">
|
||||
<value>6530</value>
|
||||
</data>
|
||||
<data name="WarningVmDisableChangedBlockTracking" xml:space="preserve">
|
||||
<value>8106</value>
|
||||
</data>
|
||||
<data name="WarningVmLifeCycleForceReboot" xml:space="preserve">
|
||||
<value>8101</value>
|
||||
</data>
|
||||
@ -1149,4 +1152,7 @@
|
||||
<data name="EditVMSSGeneralSettingsDialog" xml:space="preserve">
|
||||
<value>6553</value>
|
||||
</data>
|
||||
<data name="TabPageUSB" xml:space="preserve">
|
||||
<value>1020</value>
|
||||
</data>
|
||||
</root>
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
@ -1068,6 +1068,9 @@
|
||||
<data name="VMSnapshotPage" xml:space="preserve">
|
||||
<value>6530</value>
|
||||
</data>
|
||||
<data name="WarningVmDisableChangedBlockTracking" xml:space="preserve">
|
||||
<value>8106</value>
|
||||
</data>
|
||||
<data name="WarningVmLifeCycleForceReboot" xml:space="preserve">
|
||||
<value>8101</value>
|
||||
</data>
|
||||
@ -1149,4 +1152,7 @@
|
||||
<data name="EditVMSSGeneralSettingsDialog" xml:space="preserve">
|
||||
<value>6553</value>
|
||||
</data>
|
||||
</root>
|
||||
<data name="TabPageUSB" xml:space="preserve">
|
||||
<value>1020</value>
|
||||
</data>
|
||||
</root>
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -42,6 +42,7 @@ using XenAdmin.Network;
|
||||
using XenAPI;
|
||||
using XenAdmin.XenSearch;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace XenAdmin
|
||||
{
|
||||
@ -91,6 +92,9 @@ namespace XenAdmin
|
||||
ImageList16.Images.Add("000_PoolConnected_h32bit_16.png", XenAdmin.Properties.Resources._000_PoolConnected_h32bit_16);
|
||||
ImageList16.Images.Add("pool_up_16.png", XenAdmin.Properties.Resources.pool_up_16);
|
||||
|
||||
ImageList16.Images.Add("000_Pool_h32bit_16-w-alert.png", Properties.Resources._000_Pool_h32bit_16_w_alert);
|
||||
ImageList16.Images.Add("000_Server_h32bit_16-w-alert.png", Properties.Resources._000_Server_h32bit_16_w_alert);
|
||||
|
||||
ImageList16.Images.Add("000_Storage_h32bit_16.png", XenAdmin.Properties.Resources._000_Storage_h32bit_16);
|
||||
ImageList16.Images.Add("000_StorageBroken_h32bit_16.png", XenAdmin.Properties.Resources._000_StorageBroken_h32bit_16);
|
||||
ImageList16.Images.Add("000_StorageDefault_h32bit_16.png", XenAdmin.Properties.Resources._000_StorageDefault_h32bit_16);
|
||||
@ -411,6 +415,10 @@ namespace XenAdmin
|
||||
|
||||
if (host_is_live)
|
||||
{
|
||||
if (host.IsFreeLicenseOrExpired())
|
||||
{
|
||||
return Icons.ServerUnlicensed;
|
||||
}
|
||||
if (host.HasCrashDumps())
|
||||
{
|
||||
return Icons.HostHasCrashDumps;
|
||||
@ -444,11 +452,13 @@ namespace XenAdmin
|
||||
|
||||
public static Icons GetIconFor(Pool pool)
|
||||
{
|
||||
return pool.Connection.IsConnected
|
||||
? pool.IsPoolFullyUpgraded()
|
||||
? Icons.PoolConnected
|
||||
: Icons.PoolNotFullyUpgraded
|
||||
: Icons.HostDisconnected;
|
||||
if (!pool.Connection.IsConnected)
|
||||
return Icons.HostDisconnected;
|
||||
if (pool.Connection.Cache.Hosts.Any(h => h.IsFreeLicenseOrExpired()))
|
||||
return Icons.PoolUnlicensed;
|
||||
if (pool.IsPoolFullyUpgraded())
|
||||
return Icons.PoolConnected;
|
||||
return Icons.PoolNotFullyUpgraded;
|
||||
}
|
||||
|
||||
public static Icons GetIconFor(XenAPI.Network network)
|
||||
@ -634,6 +644,7 @@ namespace XenAdmin
|
||||
public static Image _000_paused_h32bit_16 = Properties.Resources._000_paused_h32bit_16;
|
||||
public static Image _000_Paused_h32bit_24 = Properties.Resources._000_Paused_h32bit_24;
|
||||
public static Image _000_Pool_h32bit_16 = Properties.Resources._000_Pool_h32bit_16;
|
||||
public static Image _000_Pool_h32bit_16_w_alert = Properties.Resources._000_Pool_h32bit_16_w_alert;
|
||||
public static Image _000_PoolConnected_h32bit_16 = Properties.Resources._000_PoolConnected_h32bit_16;
|
||||
public static Image _000_PoolNew_h32bit_16 = Properties.Resources._000_PoolNew_h32bit_16;
|
||||
public static Image _000_PoolNew_h32bit_24 = Properties.Resources._000_PoolNew_h32bit_24;
|
||||
@ -648,6 +659,7 @@ namespace XenAdmin
|
||||
public static Image _000_ScheduledVMsnapshotDiskOnly_h32bit_32 = Properties.Resources._000_ScheduledVMsnapshotDiskOnly_h32bit_32;
|
||||
public static Image _000_Search_h32bit_16 = Properties.Resources._000_Search_h32bit_16;
|
||||
public static Image _000_Server_h32bit_16 = Properties.Resources._000_Server_h32bit_16;
|
||||
public static Image _000_Server_h32bit_16_w_alert = Properties.Resources._000_Server_h32bit_16_w_alert;
|
||||
public static Image _000_ServerDisconnected_h32bit_16 = Properties.Resources._000_ServerDisconnected_h32bit_16;
|
||||
public static Image _000_ServerErrorFile_h32bit_16 = Properties.Resources._000_ServerErrorFile_h32bit_16;
|
||||
public static Image _000_ServerHome_h32bit_16 = Properties.Resources._000_ServerHome_h32bit_16;
|
||||
|
BIN
XenAdmin/Images/000_Pool_h32bit_16-w-alert.png
Normal file
BIN
XenAdmin/Images/000_Pool_h32bit_16-w-alert.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
BIN
XenAdmin/Images/000_Server_h32bit_16-w-alert.png
Normal file
BIN
XenAdmin/Images/000_Server_h32bit_16-w-alert.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
BIN
XenAdmin/Images/usb_16.png
Executable file
BIN
XenAdmin/Images/usb_16.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 314 B |
47
XenAdmin/MainWindow.Designer.cs
generated
47
XenAdmin/MainWindow.Designer.cs
generated
@ -96,9 +96,10 @@ namespace XenAdmin
|
||||
this.TitleBackPanel = new XenAdmin.Controls.GradientPanel.GradientPanel();
|
||||
this.TitleIcon = new System.Windows.Forms.PictureBox();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.TitleLabel = new System.Windows.Forms.Label();
|
||||
this.LicenseStatusTitleLabel = new System.Windows.Forms.Label();
|
||||
this.toolTipContainer1 = new XenAdmin.Controls.ToolTipContainer();
|
||||
this.loggedInLabel1 = new XenAdmin.Controls.LoggedInLabel();
|
||||
this.TitleLabel = new System.Windows.Forms.Label();
|
||||
this.ToolStrip = new XenAdmin.Controls.ToolStripEx();
|
||||
this.backButton = new System.Windows.Forms.ToolStripSplitButton();
|
||||
this.forwardButton = new System.Windows.Forms.ToolStripSplitButton();
|
||||
@ -285,6 +286,8 @@ namespace XenAdmin
|
||||
this.StatusStrip = new System.Windows.Forms.StatusStrip();
|
||||
this.statusLabel = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.statusProgressBar = new System.Windows.Forms.ToolStripProgressBar();
|
||||
this.TabPageUSB = new System.Windows.Forms.TabPage();
|
||||
this.disableCbtToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@ -366,6 +369,7 @@ namespace XenAdmin
|
||||
this.TheTabControl.Controls.Add(this.TabPageSearch);
|
||||
this.TheTabControl.Controls.Add(this.TabPageDockerProcess);
|
||||
this.TheTabControl.Controls.Add(this.TabPageDockerDetails);
|
||||
this.TheTabControl.Controls.Add(this.TabPageUSB);
|
||||
this.TheTabControl.Name = "TheTabControl";
|
||||
this.TheTabControl.SelectedIndex = 4;
|
||||
//
|
||||
@ -556,10 +560,26 @@ namespace XenAdmin
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||
this.tableLayoutPanel1.Controls.Add(this.toolTipContainer1, 2, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.TitleLabel, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.LicenseStatusTitleLabel, 1, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.toolTipContainer1, 3, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
//
|
||||
// TitleLabel
|
||||
//
|
||||
resources.ApplyResources(this.TitleLabel, "TitleLabel");
|
||||
this.TitleLabel.AutoEllipsis = true;
|
||||
this.TitleLabel.ForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
this.TitleLabel.Name = "TitleLabel";
|
||||
this.TitleLabel.UseMnemonic = false;
|
||||
//
|
||||
// LicenseStatusTitleLabel
|
||||
//
|
||||
resources.ApplyResources(this.LicenseStatusTitleLabel, "LicenseStatusTitleLabel");
|
||||
this.LicenseStatusTitleLabel.ForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
this.LicenseStatusTitleLabel.Name = "LicenseStatusTitleLabel";
|
||||
this.LicenseStatusTitleLabel.UseMnemonic = false;
|
||||
//
|
||||
// toolTipContainer1
|
||||
//
|
||||
resources.ApplyResources(this.toolTipContainer1, "toolTipContainer1");
|
||||
@ -573,14 +593,6 @@ namespace XenAdmin
|
||||
this.loggedInLabel1.Connection = null;
|
||||
this.loggedInLabel1.Name = "loggedInLabel1";
|
||||
//
|
||||
// TitleLabel
|
||||
//
|
||||
resources.ApplyResources(this.TitleLabel, "TitleLabel");
|
||||
this.TitleLabel.AutoEllipsis = true;
|
||||
this.TitleLabel.ForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
this.TitleLabel.Name = "TitleLabel";
|
||||
this.TitleLabel.UseMnemonic = false;
|
||||
//
|
||||
// ToolStrip
|
||||
//
|
||||
resources.ApplyResources(this.ToolStrip, "ToolStrip");
|
||||
@ -1308,6 +1320,7 @@ namespace XenAdmin
|
||||
this.snapshotToolStripMenuItem,
|
||||
this.convertToTemplateToolStripMenuItem,
|
||||
this.exportToolStripMenuItem,
|
||||
this.disableCbtToolStripMenuItem,
|
||||
this.enablePVSReadcachingToolStripMenuItem,
|
||||
this.disablePVSReadcachingToolStripMenuItem,
|
||||
this.toolStripMenuItem12,
|
||||
@ -1879,6 +1892,17 @@ namespace XenAdmin
|
||||
this.statusProgressBar.Name = "statusProgressBar";
|
||||
this.statusProgressBar.Overflow = System.Windows.Forms.ToolStripItemOverflow.Never;
|
||||
//
|
||||
// TabPageUSB
|
||||
//
|
||||
resources.ApplyResources(this.TabPageUSB, "TabPageUSB");
|
||||
this.TabPageUSB.Name = "TabPageUSB";
|
||||
this.TabPageUSB.UseVisualStyleBackColor = true;
|
||||
// disableCbtToolStripMenuItem
|
||||
//
|
||||
this.disableCbtToolStripMenuItem.Command = new XenAdmin.Commands.DisableChangedBlockTrackingCommand();
|
||||
this.disableCbtToolStripMenuItem.Name = "disableCbtToolStripMenuItem";
|
||||
resources.ApplyResources(this.disableCbtToolStripMenuItem, "disableCbtToolStripMenuItem");
|
||||
//
|
||||
// MainWindow
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
@ -2146,6 +2170,9 @@ namespace XenAdmin
|
||||
private CommandToolStripMenuItem controlDomainMemoryToolStripMenuItem;
|
||||
private CommandToolStripMenuItem enablePVSReadcachingToolStripMenuItem;
|
||||
private CommandToolStripMenuItem disablePVSReadcachingToolStripMenuItem;
|
||||
private TabPage TabPageUSB;
|
||||
private CommandToolStripMenuItem disableCbtToolStripMenuItem;
|
||||
private Label LicenseStatusTitleLabel;
|
||||
}
|
||||
|
||||
}
|
||||
|
93
XenAdmin/MainWindow.cs
Normal file → Executable file
93
XenAdmin/MainWindow.cs
Normal file → Executable file
@ -103,6 +103,7 @@ namespace XenAdmin
|
||||
internal readonly PvsPage PvsPage = new PvsPage();
|
||||
internal readonly DockerProcessPage DockerProcessPage = new DockerProcessPage();
|
||||
internal readonly DockerDetailsPage DockerDetailsPage = new DockerDetailsPage();
|
||||
internal readonly UsbPage UsbPage = new UsbPage();
|
||||
|
||||
private ActionBase statusBarAction = null;
|
||||
public ActionBase StatusBarAction { get { return statusBarAction; } }
|
||||
@ -172,6 +173,7 @@ namespace XenAdmin
|
||||
components.Add(SearchPage);
|
||||
components.Add(DockerProcessPage);
|
||||
components.Add(DockerDetailsPage);
|
||||
components.Add(UsbPage);
|
||||
|
||||
AddTabContents(VMStoragePage, TabPageStorage);
|
||||
AddTabContents(SrStoragePage, TabPageSR);
|
||||
@ -196,6 +198,7 @@ namespace XenAdmin
|
||||
AddTabContents(SearchPage, TabPageSearch);
|
||||
AddTabContents(DockerProcessPage, TabPageDockerProcess);
|
||||
AddTabContents(DockerDetailsPage, TabPageDockerDetails);
|
||||
AddTabContents(UsbPage, TabPageUSB);
|
||||
|
||||
#endregion
|
||||
|
||||
@ -1124,6 +1127,9 @@ namespace XenAdmin
|
||||
case "edition":
|
||||
case "license_server":
|
||||
case "license_params":
|
||||
UpdateHeader();
|
||||
UpdateToolbars();
|
||||
break;
|
||||
case "other_config":
|
||||
// other_config may contain HideFromXenCenter
|
||||
UpdateToolbars();
|
||||
@ -1412,7 +1418,7 @@ namespace XenAdmin
|
||||
bool show_home = SelectionManager.Selection.Count == 1 && SelectionManager.Selection[0].Value == null;
|
||||
// The upsell pages use the first selected XenObject: but they're only shown if there is only one selected object (see calls to ShowTab() below).
|
||||
bool dmc_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictDMC);
|
||||
bool ha_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictHA);
|
||||
bool ha_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictHA) && (selectionPool != null && !selectionPool.ha_enabled);
|
||||
bool wlb_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictWLB);
|
||||
bool ad_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictAD);
|
||||
bool is_connected = selectionConnection != null && selectionConnection.IsConnected;
|
||||
@ -1445,8 +1451,8 @@ namespace XenAdmin
|
||||
ShowTab(TabPageDockerDetails, !multi && !SearchMode && isDockerContainerSelected);
|
||||
|
||||
bool isPoolOrLiveStandaloneHost = isPoolSelected || (isHostSelected && isHostLive && selectionPool == null);
|
||||
|
||||
ShowTab(TabPageGPU, !multi && !SearchMode && ((isHostSelected && isHostLive) || isPoolOrLiveStandaloneHost) && Helpers.ClearwaterSp1OrGreater(selectionConnection) && !Helpers.FeatureForbidden(selectionConnection, Host.RestrictGpu));
|
||||
ShowTab(TabPageUSB, !multi && !SearchMode && (isHostSelected && isHostLive && (((Host)SelectionManager.Selection.First).PUSBs.Count > 0)) && !Helpers.FeatureForbidden(selectionConnection, Host.RestrictUsbPassthrough));
|
||||
|
||||
pluginManager.SetSelectedXenObject(SelectionManager.Selection.FirstAsXenObject);
|
||||
|
||||
@ -1884,6 +1890,10 @@ namespace XenAdmin
|
||||
{
|
||||
NetworkPage.XenObject = SelectionManager.Selection.FirstAsXenObject;
|
||||
}
|
||||
else if (t == TabPageUSB)
|
||||
{
|
||||
UsbPage.XenObject = SelectionManager.Selection.FirstAsXenObject as Host;
|
||||
}
|
||||
else if (t == TabPageNICs)
|
||||
{
|
||||
NICPage.Host = SelectionManager.Selection.First as Host;
|
||||
@ -2074,7 +2084,7 @@ namespace XenAdmin
|
||||
/// </summary>
|
||||
public enum Tab
|
||||
{
|
||||
Overview, Home, Settings, Storage, Network, Console, CvmConsole, Performance, NICs, SR, DockerProcess, DockerDetails
|
||||
Overview, Home, Settings, Storage, Network, Console, CvmConsole, Performance, NICs, SR, DockerProcess, DockerDetails, USB
|
||||
}
|
||||
|
||||
public void SwitchToTab(Tab tab)
|
||||
@ -2117,6 +2127,9 @@ namespace XenAdmin
|
||||
case Tab.DockerDetails:
|
||||
TheTabControl.SelectedTab = TabPageDockerDetails;
|
||||
break;
|
||||
case Tab.USB:
|
||||
TheTabControl.SelectedTab = TabPageUSB;
|
||||
break;
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
@ -2507,6 +2520,8 @@ namespace XenAdmin
|
||||
return "TabPageDockerDetails" + modelObj;
|
||||
if (TheTabControl.SelectedTab == TabPagePvs)
|
||||
return "TabPagePvs" + modelObj;
|
||||
if (TheTabControl.SelectedTab == TabPageUSB)
|
||||
return "TabPageUSB" + modelObj;
|
||||
return "TabPageUnknown";
|
||||
}
|
||||
|
||||
@ -2846,6 +2861,8 @@ namespace XenAdmin
|
||||
/// </summary>
|
||||
private void UpdateHeader()
|
||||
{
|
||||
bool licenseStatusTitleLabelHandled = false;
|
||||
|
||||
if (navigationPane.currentMode == NavigationPane.NavigationMode.Notifications)
|
||||
return;
|
||||
|
||||
@ -2858,6 +2875,10 @@ namespace XenAdmin
|
||||
{
|
||||
IXenObject xenObject = SelectionManager.Selection[0].XenObject;
|
||||
TitleLabel.Text = xenObject.NameWithLocation();
|
||||
|
||||
UpdateLicenseStatusTitleLabel(xenObject);
|
||||
licenseStatusTitleLabelHandled = true;
|
||||
|
||||
TitleIcon.Image = Images.GetImage16For(xenObject);
|
||||
// When in folder view only show the logged in label if it is clear to which connection the object belongs (most likely pools and hosts)
|
||||
|
||||
@ -2872,6 +2893,68 @@ namespace XenAdmin
|
||||
TitleIcon.Image = Properties.Resources.Logo;
|
||||
loggedInLabel1.Connection = null;
|
||||
}
|
||||
|
||||
if (!licenseStatusTitleLabelHandled)
|
||||
ResetLicenseStatusTitleLabel();
|
||||
|
||||
SetTitleLabelMaxWidth();
|
||||
}
|
||||
|
||||
private void UpdateLicenseStatusTitleLabel(IXenObject xenObject)
|
||||
{
|
||||
if (xenObject is Pool)
|
||||
{
|
||||
var pool = xenObject as Pool;
|
||||
|
||||
if (pool.Connection != null && pool.Connection.CacheIsPopulated)
|
||||
{
|
||||
if (pool.IsFreeLicenseOrExpired)
|
||||
{
|
||||
LicenseStatusTitleLabel.Text = Messages.MAINWINDOW_HEADER_UNLICENSED;
|
||||
LicenseStatusTitleLabel.ForeColor = Color.Red;
|
||||
}
|
||||
else
|
||||
{
|
||||
LicenseStatusTitleLabel.Text = string.Format(Messages.MAINWINDOW_HEADER_LICENSED_WITH, pool.LicenseString());
|
||||
LicenseStatusTitleLabel.ForeColor = Program.TitleBarForeColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (xenObject is Host)
|
||||
{
|
||||
var host = xenObject as Host;
|
||||
|
||||
if (host.Connection != null && host.Connection.CacheIsPopulated)
|
||||
{
|
||||
if (host.IsFreeLicenseOrExpired())
|
||||
{
|
||||
LicenseStatusTitleLabel.Text = Messages.MAINWINDOW_HEADER_UNLICENSED;
|
||||
LicenseStatusTitleLabel.ForeColor = Color.Red;
|
||||
}
|
||||
else
|
||||
{
|
||||
LicenseStatusTitleLabel.Text = string.Format(Messages.MAINWINDOW_HEADER_LICENSED_WITH, Helpers.GetFriendlyLicenseName(host));
|
||||
LicenseStatusTitleLabel.ForeColor = Program.TitleBarForeColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ResetLicenseStatusTitleLabel();
|
||||
}
|
||||
}
|
||||
|
||||
private void ResetLicenseStatusTitleLabel()
|
||||
{
|
||||
if (string.IsNullOrEmpty(LicenseStatusTitleLabel.Text))
|
||||
return;
|
||||
|
||||
LicenseStatusTitleLabel.Text = string.Empty;
|
||||
}
|
||||
|
||||
private void SetTitleLabelMaxWidth()
|
||||
{
|
||||
TitleLabel.MaximumSize = new Size(tableLayoutPanel1.Width - loggedInLabel1.Width - LicenseStatusTitleLabel.Width - 6, TitleLabel.Height);
|
||||
}
|
||||
|
||||
private void UpdateViewMenu(NavigationPane.NavigationMode mode)
|
||||
@ -2962,6 +3045,7 @@ namespace XenAdmin
|
||||
{
|
||||
if (mode == NavigationPane.NavigationMode.Notifications)
|
||||
{
|
||||
ResetLicenseStatusTitleLabel();
|
||||
TheTabControl.Visible = false;
|
||||
}
|
||||
else
|
||||
@ -3352,6 +3436,7 @@ namespace XenAdmin
|
||||
mainWindowResized = true;
|
||||
}
|
||||
SetSplitterDistance();
|
||||
SetTitleLabelMaxWidth();
|
||||
}
|
||||
|
||||
private void SetSplitterDistance()
|
||||
@ -3388,6 +3473,8 @@ namespace XenAdmin
|
||||
TabPage t = TheTabControl.SelectedTab;
|
||||
if (t == TabPageConsole)
|
||||
ConsolePanel.UpdateRDPResolution();
|
||||
|
||||
SetTitleLabelMaxWidth();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
139
XenAdmin/MainWindow.ja.resx
Normal file → Executable file
139
XenAdmin/MainWindow.ja.resx
Normal file → Executable file
@ -876,6 +876,33 @@
|
||||
<data name=">>TabPageDockerDetails.ZOrder" xml:space="preserve">
|
||||
<value>23</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 22</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 3</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>753, 592</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>24</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.Text" xml:space="preserve">
|
||||
<value>USB</value>
|
||||
</data>
|
||||
<data name=">>TabPageUSB.Name" xml:space="preserve">
|
||||
<value>TabPageUSB</value>
|
||||
</data>
|
||||
<data name=">>TabPageUSB.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=">>TabPageUSB.Parent" xml:space="preserve">
|
||||
<value>TheTabControl</value>
|
||||
</data>
|
||||
<data name=">>TabPageUSB.ZOrder" xml:space="preserve">
|
||||
<value>24</value>
|
||||
</data>
|
||||
<data name="TheTabControl.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Verdana, 8.25pt</value>
|
||||
</data>
|
||||
@ -1027,7 +1054,76 @@
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="TitleLabel.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Verdana, 9.75pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="TitleLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 16</value>
|
||||
</data>
|
||||
<data name="TitleLabel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Name" xml:space="preserve">
|
||||
<value>TitleLabel</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Verdana, 9.75pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>6, 3</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 16</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>LicenseStatusTitleLabel.Name" xml:space="preserve">
|
||||
<value>LicenseStatusTitleLabel</value>
|
||||
</data>
|
||||
<data name=">>LicenseStatusTitleLabel.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>LicenseStatusTitleLabel.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>LicenseStatusTitleLabel.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="toolTipContainer1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -1095,33 +1191,6 @@
|
||||
<data name=">>toolTipContainer1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Verdana, 9.75pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>722, 20</value>
|
||||
</data>
|
||||
<data name="TitleLabel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Name" xml:space="preserve">
|
||||
<value>TitleLabel</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>28, 0</value>
|
||||
</data>
|
||||
@ -1147,7 +1216,7 @@
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="toolTipContainer1" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="TitleLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,AutoSize,0" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="TitleLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="LicenseStatusTitleLabel" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="toolTipContainer1" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="TitleBackPanel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 3</value>
|
||||
@ -2316,6 +2385,12 @@
|
||||
<data name="exportToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>エクスポート(&E)...</value>
|
||||
</data>
|
||||
<data name="disableCbtToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="disableCbtToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>変更ブロック追跡の無効化(&I)</value>
|
||||
</data>
|
||||
<data name="enablePVSReadcachingToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
</data>
|
||||
@ -3885,6 +3960,12 @@
|
||||
<data name=">>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=">>disableCbtToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>disableCbtToolStripMenuItem</value>
|
||||
</data>
|
||||
<data name=">>disableCbtToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Commands.CommandToolStripMenuItem, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>MainWindow</value>
|
||||
</data>
|
||||
|
@ -876,6 +876,33 @@
|
||||
<data name=">>TabPageDockerDetails.ZOrder" xml:space="preserve">
|
||||
<value>23</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 22</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 3</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>753, 592</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>24</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.Text" xml:space="preserve">
|
||||
<value>USB</value>
|
||||
</data>
|
||||
<data name=">>TabPageUSB.Name" xml:space="preserve">
|
||||
<value>TabPageUSB</value>
|
||||
</data>
|
||||
<data name=">>TabPageUSB.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=">>TabPageUSB.Parent" xml:space="preserve">
|
||||
<value>TheTabControl</value>
|
||||
</data>
|
||||
<data name=">>TabPageUSB.ZOrder" xml:space="preserve">
|
||||
<value>24</value>
|
||||
</data>
|
||||
<data name="TheTabControl.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Verdana, 8.25pt</value>
|
||||
</data>
|
||||
@ -1027,7 +1054,76 @@
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="TitleLabel.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Verdana, 9.75pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="TitleLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 16</value>
|
||||
</data>
|
||||
<data name="TitleLabel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Name" xml:space="preserve">
|
||||
<value>TitleLabel</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Verdana, 9.75pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>6, 3</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 16</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>LicenseStatusTitleLabel.Name" xml:space="preserve">
|
||||
<value>LicenseStatusTitleLabel</value>
|
||||
</data>
|
||||
<data name=">>LicenseStatusTitleLabel.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>LicenseStatusTitleLabel.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>LicenseStatusTitleLabel.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="toolTipContainer1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -1093,34 +1189,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>toolTipContainer1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Verdana, 9.75pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>719, 20</value>
|
||||
</data>
|
||||
<data name="TitleLabel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Name" xml:space="preserve">
|
||||
<value>TitleLabel</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>28, 0</value>
|
||||
@ -1147,7 +1216,7 @@
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="toolTipContainer1" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="TitleLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,AutoSize,0" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="TitleLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="LicenseStatusTitleLabel" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="toolTipContainer1" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="TitleBackPanel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
@ -1777,13 +1846,13 @@
|
||||
<value>163, 5</value>
|
||||
</metadata>
|
||||
<data name="ShowToolbarMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 22</value>
|
||||
<value>146, 22</value>
|
||||
</data>
|
||||
<data name="ShowToolbarMenuItem.Text" xml:space="preserve">
|
||||
<value>Show &Toolbar</value>
|
||||
</data>
|
||||
<data name="ToolBarContextMenu.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>148, 26</value>
|
||||
<value>147, 26</value>
|
||||
</data>
|
||||
<data name=">>ToolBarContextMenu.Name" xml:space="preserve">
|
||||
<value>ToolBarContextMenu</value>
|
||||
@ -2239,124 +2308,130 @@
|
||||
<value>Ctrl+N</value>
|
||||
</data>
|
||||
<data name="NewVmToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="NewVmToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>&New VM...</value>
|
||||
</data>
|
||||
<data name="startShutdownToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="startShutdownToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>&Start/Shut down</value>
|
||||
</data>
|
||||
<data name="resumeOnToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="resumeOnToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Res&ume on Server</value>
|
||||
</data>
|
||||
<data name="relocateToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="relocateToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>M&igrate to Server</value>
|
||||
</data>
|
||||
<data name="startOnHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="startOnHostToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Start &on Server</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator20.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>242, 6</value>
|
||||
<value>241, 6</value>
|
||||
</data>
|
||||
<data name="assignSnapshotScheduleToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="assignSnapshotScheduleToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Assign to Snaps&hot Schedule...</value>
|
||||
</data>
|
||||
<data name="assignToVirtualApplianceToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="assignToVirtualApplianceToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Assign to &vApp</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItem9.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>242, 6</value>
|
||||
<value>241, 6</value>
|
||||
</data>
|
||||
<data name="copyVMtoSharedStorageMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="copyVMtoSharedStorageMenuItem.Text" xml:space="preserve">
|
||||
<value>&Copy VM</value>
|
||||
</data>
|
||||
<data name="MoveVMToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="MoveVMToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>&Move VM</value>
|
||||
</data>
|
||||
<data name="snapshotToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="snapshotToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Ta&ke a Snapshot</value>
|
||||
</data>
|
||||
<data name="convertToTemplateToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="convertToTemplateToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Convert to &Template</value>
|
||||
</data>
|
||||
<data name="exportToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="exportToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>&Export...</value>
|
||||
</data>
|
||||
<data name="disableCbtToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="disableCbtToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>D&isable Changed Block Tracking</value>
|
||||
</data>
|
||||
<data name="enablePVSReadcachingToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="disablePVSReadcachingToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItem12.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>242, 6</value>
|
||||
<value>241, 6</value>
|
||||
</data>
|
||||
<data name="installToolsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="installToolsToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Inst&all [XenServer product] Tools</value>
|
||||
</data>
|
||||
<data name="sendCtrlAltDelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="sendCtrlAltDelToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Send Ctrl+&Alt+Del</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>242, 6</value>
|
||||
<value>241, 6</value>
|
||||
</data>
|
||||
<data name="uninstallToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="uninstallToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>&Delete VM</value>
|
||||
</data>
|
||||
<data name="toolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>242, 6</value>
|
||||
<value>241, 6</value>
|
||||
</data>
|
||||
<data name="pluginItemsPlaceHolderToolStripMenuItem4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="pluginItemsPlaceHolderToolStripMenuItem4.Text" xml:space="preserve">
|
||||
<value>PluginItemsPlaceHolder</value>
|
||||
</data>
|
||||
<data name="VMPropertiesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="VMPropertiesToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>P&roperties</value>
|
||||
@ -3885,6 +3960,12 @@
|
||||
<data name=">>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=">>disableCbtToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>disableCbtToolStripMenuItem</value>
|
||||
</data>
|
||||
<data name=">>disableCbtToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Commands.CommandToolStripMenuItem, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>MainWindow</value>
|
||||
</data>
|
||||
|
139
XenAdmin/MainWindow.zh-CN.resx
Normal file → Executable file
139
XenAdmin/MainWindow.zh-CN.resx
Normal file → Executable file
@ -876,6 +876,33 @@
|
||||
<data name=">>TabPageDockerDetails.ZOrder" xml:space="preserve">
|
||||
<value>23</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 22</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 3</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>753, 592</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>24</value>
|
||||
</data>
|
||||
<data name="TabPageUSB.Text" xml:space="preserve">
|
||||
<value>USB</value>
|
||||
</data>
|
||||
<data name=">>TabPageUSB.Name" xml:space="preserve">
|
||||
<value>TabPageUSB</value>
|
||||
</data>
|
||||
<data name=">>TabPageUSB.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=">>TabPageUSB.Parent" xml:space="preserve">
|
||||
<value>TheTabControl</value>
|
||||
</data>
|
||||
<data name=">>TabPageUSB.ZOrder" xml:space="preserve">
|
||||
<value>24</value>
|
||||
</data>
|
||||
<data name="TheTabControl.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Verdana, 8.25pt</value>
|
||||
</data>
|
||||
@ -1027,7 +1054,76 @@
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="TitleLabel.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Verdana, 9.75pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="TitleLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 16</value>
|
||||
</data>
|
||||
<data name="TitleLabel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Name" xml:space="preserve">
|
||||
<value>TitleLabel</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Verdana, 9.75pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>6, 3</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>0, 16</value>
|
||||
</data>
|
||||
<data name="LicenseStatusTitleLabel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>LicenseStatusTitleLabel.Name" xml:space="preserve">
|
||||
<value>LicenseStatusTitleLabel</value>
|
||||
</data>
|
||||
<data name=">>LicenseStatusTitleLabel.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>LicenseStatusTitleLabel.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>LicenseStatusTitleLabel.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="toolTipContainer1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -1095,33 +1191,6 @@
|
||||
<data name=">>toolTipContainer1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Verdana, 9.75pt, style=Bold</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="TitleLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>722, 20</value>
|
||||
</data>
|
||||
<data name="TitleLabel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Name" xml:space="preserve">
|
||||
<value>TitleLabel</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>TitleLabel.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>28, 0</value>
|
||||
</data>
|
||||
@ -1147,7 +1216,7 @@
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="toolTipContainer1" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="TitleLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,AutoSize,0" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="TitleLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="LicenseStatusTitleLabel" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="toolTipContainer1" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="TitleBackPanel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 3</value>
|
||||
@ -2316,6 +2385,12 @@
|
||||
<data name="exportToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>导出(&E)...</value>
|
||||
</data>
|
||||
<data name="disableCbtToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>244, 22</value>
|
||||
</data>
|
||||
<data name="disableCbtToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>禁用更改块跟踪(&I)</value>
|
||||
</data>
|
||||
<data name="enablePVSReadcachingToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>245, 22</value>
|
||||
</data>
|
||||
@ -3885,6 +3960,12 @@
|
||||
<data name=">>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=">>disableCbtToolStripMenuItem.Name" xml:space="preserve">
|
||||
<value>disableCbtToolStripMenuItem</value>
|
||||
</data>
|
||||
<data name=">>disableCbtToolStripMenuItem.Type" xml:space="preserve">
|
||||
<value>XenAdmin.Commands.CommandToolStripMenuItem, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>MainWindow</value>
|
||||
</data>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user