mirror of
https://github.com/xcp-ng/xenadmin.git
synced 2024-12-20 23:46:03 +01:00
Merge pull request #236 from stephen-turner/master
Merge xs64bit to master
This commit is contained in:
commit
f806228923
@ -71,11 +71,13 @@ namespace XenAdmin.Commands
|
|||||||
|
|
||||||
protected override void ExecuteCore(SelectedItemCollection selection)
|
protected override void ExecuteCore(SelectedItemCollection selection)
|
||||||
{
|
{
|
||||||
ApplyLicenseEditionAction action = new ApplyLicenseEditionAction(xos, _edition, _licenseServerAddress, _licenseServerPort, ShowLicensingFailureDialog);
|
ApplyLicenseEditionAction action = new ApplyLicenseEditionAction(xos, _edition, _licenseServerAddress, _licenseServerPort, null);
|
||||||
ActionProgressDialog actionProgress = new ActionProgressDialog(action, ProgressBarStyle.Marquee);
|
ActionProgressDialog actionProgress = new ActionProgressDialog(action, ProgressBarStyle.Marquee);
|
||||||
|
|
||||||
// close dialog even when there's an error as this action shows its own error dialog box.
|
// close dialog even when there's an error as this action shows its own error dialog box.
|
||||||
action.Completed += s => Program.Invoke(Program.MainWindow, () =>
|
action.Completed += s =>
|
||||||
|
{
|
||||||
|
Program.Invoke(Program.MainWindow, () =>
|
||||||
{
|
{
|
||||||
Failure f = action.Exception as Failure;
|
Failure f = action.Exception as Failure;
|
||||||
if (f != null && f.ErrorDescription[0] == Failure.RBAC_PERMISSION_DENIED_FRIENDLY)
|
if (f != null && f.ErrorDescription[0] == Failure.RBAC_PERMISSION_DENIED_FRIENDLY)
|
||||||
@ -83,6 +85,12 @@ namespace XenAdmin.Commands
|
|||||||
actionProgress.Close();
|
actionProgress.Close();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (action.Exception != null)
|
||||||
|
{
|
||||||
|
ShowLicensingFailureDialog(action.LicenseFailures, action.Exception.Message, Parent);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
actionProgress.ShowDialog(Parent);
|
actionProgress.ShowDialog(Parent);
|
||||||
|
|
||||||
if (actionProgress.action.Succeeded)
|
if (actionProgress.action.Succeeded)
|
||||||
@ -92,6 +100,11 @@ namespace XenAdmin.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void ShowLicensingFailureDialog(List<LicenseFailure> licenseFailures, string exceptionMessage)
|
public static void ShowLicensingFailureDialog(List<LicenseFailure> licenseFailures, string exceptionMessage)
|
||||||
|
{
|
||||||
|
ShowLicensingFailureDialog(licenseFailures, exceptionMessage, Program.MainWindow);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ShowLicensingFailureDialog(List<LicenseFailure> licenseFailures, string exceptionMessage, Control parent)
|
||||||
{
|
{
|
||||||
Debug.Assert(licenseFailures.Count > 0);
|
Debug.Assert(licenseFailures.Count > 0);
|
||||||
|
|
||||||
@ -101,7 +114,7 @@ namespace XenAdmin.Commands
|
|||||||
Program.Invoke(Program.MainWindow, () => new ThreeButtonDialog(
|
Program.Invoke(Program.MainWindow, () => new ThreeButtonDialog(
|
||||||
new ThreeButtonDialog.Details(SystemIcons.Error, licenseFailures[0].AlertText,
|
new ThreeButtonDialog.Details(SystemIcons.Error, licenseFailures[0].AlertText,
|
||||||
Messages.LICENSE_ERROR_TITLE),
|
Messages.LICENSE_ERROR_TITLE),
|
||||||
ThreeButtonDialog.ButtonOK).ShowDialog(Program.MainWindow));
|
ThreeButtonDialog.ButtonOK).ShowDialog(parent));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -114,7 +127,7 @@ namespace XenAdmin.Commands
|
|||||||
|
|
||||||
Program.Invoke(Program.MainWindow, () => new CommandErrorDialog(
|
Program.Invoke(Program.MainWindow, () => new CommandErrorDialog(
|
||||||
Messages.LICENSE_ERROR_TITLE, exceptionMessage,
|
Messages.LICENSE_ERROR_TITLE, exceptionMessage,
|
||||||
failureDic).ShowDialog(Program.MainWindow));
|
failureDic).ShowDialog(parent));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -109,6 +109,9 @@ namespace XenAdmin.Commands
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public event EventHandler SelectionChanged;
|
public event EventHandler SelectionChanged;
|
||||||
|
|
||||||
|
public abstract void SaveAndClearSelection();
|
||||||
|
public abstract void RestoreSavedSelection();
|
||||||
|
|
||||||
#region IDisposable Members
|
#region IDisposable Members
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -42,6 +42,8 @@ namespace XenAdmin.Commands
|
|||||||
internal class SelectionManager : SelectionBroadcaster
|
internal class SelectionManager : SelectionBroadcaster
|
||||||
{
|
{
|
||||||
private SelectedItemCollection _selection = new SelectedItemCollection();
|
private SelectedItemCollection _selection = new SelectedItemCollection();
|
||||||
|
private SelectedItemCollection savedSelection = null;
|
||||||
|
private bool saved = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sets the main selection for XenCenter.
|
/// Sets the main selection for XenCenter.
|
||||||
@ -49,20 +51,26 @@ namespace XenAdmin.Commands
|
|||||||
/// <param name="selection">The selection.</param>
|
/// <param name="selection">The selection.</param>
|
||||||
public void SetSelection(IEnumerable<SelectedItem> selection)
|
public void SetSelection(IEnumerable<SelectedItem> selection)
|
||||||
{
|
{
|
||||||
|
Program.AssertOnEventThread();
|
||||||
Util.ThrowIfParameterNull(selection, "selection");
|
Util.ThrowIfParameterNull(selection, "selection");
|
||||||
|
|
||||||
|
int count = 0;
|
||||||
foreach (SelectedItem item in selection)
|
foreach (SelectedItem item in selection)
|
||||||
{
|
{
|
||||||
if (item == null)
|
if (item == null)
|
||||||
{
|
|
||||||
throw new ArgumentException("Null SelectedItem found.", "selection");
|
throw new ArgumentException("Null SelectedItem found.", "selection");
|
||||||
}
|
count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (saved && // We have a saved selection: update it instead (CA-147401)
|
||||||
|
count != 0) // although if the new selection is empty, we're just refreshing the view via RefreshSelection(): don't save that
|
||||||
|
savedSelection = new SelectedItemCollection(selection);
|
||||||
|
else
|
||||||
|
{
|
||||||
_selection = new SelectedItemCollection(selection);
|
_selection = new SelectedItemCollection(selection);
|
||||||
|
|
||||||
OnSelectionChanged(EventArgs.Empty);
|
OnSelectionChanged(EventArgs.Empty);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sets the main selection for XenCenter.
|
/// Sets the main selection for XenCenter.
|
||||||
@ -86,5 +94,24 @@ namespace XenAdmin.Commands
|
|||||||
{
|
{
|
||||||
SetSelection(Selection);
|
SetSelection(Selection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void SaveAndClearSelection()
|
||||||
|
{
|
||||||
|
Program.AssertOnEventThread();
|
||||||
|
savedSelection = _selection;
|
||||||
|
SetSelection(new SelectedItemCollection());
|
||||||
|
saved = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void RestoreSavedSelection()
|
||||||
|
{
|
||||||
|
Program.AssertOnEventThread();
|
||||||
|
if (saved)
|
||||||
|
{
|
||||||
|
saved = false;
|
||||||
|
SetSelection(savedSelection);
|
||||||
|
savedSelection = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,9 @@ namespace XenAdmin.Commands
|
|||||||
|
|
||||||
_host = host;
|
_host = host;
|
||||||
_menuText = _host.Name.EscapeAmpersands();
|
_menuText = _host.Name.EscapeAmpersands();
|
||||||
_secondImage = Resources._000_host_0_star;
|
|
||||||
|
//Default or failure case, there is no score/star rating actually, just don't display star
|
||||||
|
_secondImage = null;
|
||||||
_menuImage = Resources._000_ServerDisconnected_h32bit_16;
|
_menuImage = Resources._000_ServerDisconnected_h32bit_16;
|
||||||
_recommendation = recommendation;
|
_recommendation = recommendation;
|
||||||
|
|
||||||
|
@ -60,6 +60,7 @@ namespace XenAdmin.ConsoleView
|
|||||||
private readonly VNCView parentVNCView;
|
private readonly VNCView parentVNCView;
|
||||||
private readonly VM source;
|
private readonly VM source;
|
||||||
private readonly Host targetHost;
|
private readonly Host targetHost;
|
||||||
|
private VM_guest_metrics guestMetrics = null;
|
||||||
private Form fullscreenForm = null;
|
private Form fullscreenForm = null;
|
||||||
private Form fullscreenHint = null;
|
private Form fullscreenHint = null;
|
||||||
private Size LastDesktopSize;
|
private Size LastDesktopSize;
|
||||||
@ -75,6 +76,8 @@ namespace XenAdmin.ConsoleView
|
|||||||
|
|
||||||
internal readonly ConsoleKeyHandler KeyHandler = new ConsoleKeyHandler();
|
internal readonly ConsoleKeyHandler KeyHandler = new ConsoleKeyHandler();
|
||||||
|
|
||||||
|
private bool hasRDP { get { return source != null ? source.HasRDP : false; } }
|
||||||
|
|
||||||
public VNCTabView(VNCView parent, VM source, string elevatedUsername, string elevatedPassword)
|
public VNCTabView(VNCView parent, VM source, string elevatedUsername, string elevatedPassword)
|
||||||
{
|
{
|
||||||
Program.AssertOnEventThread();
|
Program.AssertOnEventThread();
|
||||||
@ -139,7 +142,7 @@ namespace XenAdmin.ConsoleView
|
|||||||
this.vncScreen = new XSVNCScreen(source, new EventHandler(RDPorVNCResizeHandler), this, elevatedUsername, elevatedPassword);
|
this.vncScreen = new XSVNCScreen(source, new EventHandler(RDPorVNCResizeHandler), this, elevatedUsername, elevatedPassword);
|
||||||
ShowGpuWarningIfRequired();
|
ShowGpuWarningIfRequired();
|
||||||
|
|
||||||
if (source.is_control_domain)
|
if (source.is_control_domain || source.IsHVM && !hasRDP) //Linux HVM guests should only have one console: the console switch button vanishes altogether.
|
||||||
{
|
{
|
||||||
toggleConsoleButton.Visible = false;
|
toggleConsoleButton.Visible = false;
|
||||||
}
|
}
|
||||||
@ -250,6 +253,9 @@ namespace XenAdmin.ConsoleView
|
|||||||
source.PropertyChanged -= new PropertyChangedEventHandler(Server_PropertyChanged);
|
source.PropertyChanged -= new PropertyChangedEventHandler(Server_PropertyChanged);
|
||||||
source.Connection.Cache.DeregisterCollectionChanged<VM>(VM_CollectionChangedWithInvoke);
|
source.Connection.Cache.DeregisterCollectionChanged<VM>(VM_CollectionChangedWithInvoke);
|
||||||
|
|
||||||
|
if (this.guestMetrics != null)
|
||||||
|
this.guestMetrics.PropertyChanged -= guestMetrics_PropertyChanged;
|
||||||
|
|
||||||
if (source.is_control_domain)
|
if (source.is_control_domain)
|
||||||
{
|
{
|
||||||
Host host = source.Connection.Resolve<Host>(source.resident_on);
|
Host host = source.Connection.Resolve<Host>(source.resident_on);
|
||||||
@ -468,6 +474,21 @@ namespace XenAdmin.ConsoleView
|
|||||||
//The CD device may have changed
|
//The CD device may have changed
|
||||||
Program.Invoke(this, setupCD);
|
Program.Invoke(this, setupCD);
|
||||||
}
|
}
|
||||||
|
else if (e.PropertyName == "guest_metrics")
|
||||||
|
{
|
||||||
|
var newGuestMetrics = source.Connection.Resolve(source.guest_metrics);
|
||||||
|
|
||||||
|
//unsubscribing from the previous instance's event
|
||||||
|
if (this.guestMetrics != null)
|
||||||
|
this.guestMetrics.PropertyChanged -= guestMetrics_PropertyChanged;
|
||||||
|
|
||||||
|
this.guestMetrics = newGuestMetrics;
|
||||||
|
if (this.guestMetrics != null)
|
||||||
|
guestMetrics.PropertyChanged += guestMetrics_PropertyChanged;
|
||||||
|
|
||||||
|
EnableRDPIfCapable();
|
||||||
|
}
|
||||||
|
|
||||||
if (source.is_control_domain && e.PropertyName == "name_label")
|
if (source.is_control_domain && e.PropertyName == "name_label")
|
||||||
{
|
{
|
||||||
HostLabel.Text = string.Format(Messages.CONSOLE_HOST, source.AffinityServerString);
|
HostLabel.Text = string.Format(Messages.CONSOLE_HOST, source.AffinityServerString);
|
||||||
@ -476,6 +497,40 @@ namespace XenAdmin.ConsoleView
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void guestMetrics_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.PropertyName == "other")
|
||||||
|
{
|
||||||
|
EnableRDPIfCapable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void EnableRDPIfCapable()
|
||||||
|
{
|
||||||
|
if (!toggleConsoleButton.Visible && hasRDP)
|
||||||
|
{
|
||||||
|
// The toogle button is not visible now, because RDP had not been enabled on the VM when we started the console.
|
||||||
|
// However, the current guest_metrics indicates that RDP is now supported (HasRDP==true). (eg. XenTools has been installed in the meantime.)
|
||||||
|
// This means that now we should show and enable the toogle RDP button and start polling (if allowed) RDP as well.
|
||||||
|
|
||||||
|
log.DebugFormat( "'{0}' console: Enabling RDP button, because RDP capability has appeared.", source);
|
||||||
|
|
||||||
|
if (Properties.Settings.Default.EnableRDPPolling)
|
||||||
|
{
|
||||||
|
log.DebugFormat("'{0}' console: Starting RDP polling. (RDP polling is enabled in settings.)", source);
|
||||||
|
toggleConsoleButton.Visible = true;
|
||||||
|
toggleConsoleButton.Enabled = false;
|
||||||
|
ThreadPool.QueueUserWorkItem(TryToConnectRDP);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
log.DebugFormat("'{0}' console: Not starting polling. (RDP polling is diabled in settings.)", source);
|
||||||
|
toggleConsoleButton.Visible = true;
|
||||||
|
toggleConsoleButton.Enabled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void Server_EnabledPropertyChanged(object sender, PropertyChangedEventArgs e)
|
private void Server_EnabledPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.PropertyName != "enabled" || source.is_control_domain)
|
if (e.PropertyName != "enabled" || source.is_control_domain)
|
||||||
|
@ -86,7 +86,6 @@ namespace XenAdmin.ConsoleView
|
|||||||
private Timer connectionPoller = null;
|
private Timer connectionPoller = null;
|
||||||
|
|
||||||
private VM sourceVM = null;
|
private VM sourceVM = null;
|
||||||
private bool sourceIsPV = false;
|
|
||||||
|
|
||||||
private readonly Object hostedConsolesLock = new Object();
|
private readonly Object hostedConsolesLock = new Object();
|
||||||
private List<XenRef<Console>> hostedConsoles = null;
|
private List<XenRef<Console>> hostedConsoles = null;
|
||||||
@ -119,6 +118,8 @@ namespace XenAdmin.ConsoleView
|
|||||||
[DefaultValue(false)]
|
[DefaultValue(false)]
|
||||||
public bool UserWantsToSwitchProtocol { get; set; }
|
public bool UserWantsToSwitchProtocol { get; set; }
|
||||||
|
|
||||||
|
private bool hasRDP { get { return Source != null ? Source.HasRDP : false; } }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Whether we have tried to login without providing a password (covers the case where the user
|
/// Whether we have tried to login without providing a password (covers the case where the user
|
||||||
/// has configured VNC not to require a login password). If no password is saved, passwordless
|
/// has configured VNC not to require a login password). If no password is saved, passwordless
|
||||||
@ -286,7 +287,7 @@ namespace XenAdmin.ConsoleView
|
|||||||
|
|
||||||
private void PollRDPPort(Object Sender)
|
private void PollRDPPort(Object Sender)
|
||||||
{
|
{
|
||||||
if (!sourceIsPV && !Properties.Settings.Default.EnableRDPPolling)
|
if (hasRDP && !Properties.Settings.Default.EnableRDPPolling)
|
||||||
{
|
{
|
||||||
if (connectionPoller != null)
|
if (connectionPoller != null)
|
||||||
connectionPoller.Change(Timeout.Infinite, Timeout.Infinite);
|
connectionPoller.Change(Timeout.Infinite, Timeout.Infinite);
|
||||||
@ -537,7 +538,7 @@ namespace XenAdmin.ConsoleView
|
|||||||
if (RemoteConsole != null && RemoteConsole.ConsoleControl != null)
|
if (RemoteConsole != null && RemoteConsole.ConsoleControl != null)
|
||||||
{
|
{
|
||||||
RemoteConsole.KeyHandler = this.KeyHandler;
|
RemoteConsole.KeyHandler = this.KeyHandler;
|
||||||
RemoteConsole.SendScanCodes = !this.sourceIsPV;
|
RemoteConsole.SendScanCodes = hasRDP;
|
||||||
RemoteConsole.Scaling = Scaling;
|
RemoteConsole.Scaling = Scaling;
|
||||||
RemoteConsole.DisplayBorder = this.displayFocusRectangle;
|
RemoteConsole.DisplayBorder = this.displayFocusRectangle;
|
||||||
SetKeyboardAndMouseCapture(autoCaptureKeyboardAndMouse);
|
SetKeyboardAndMouseCapture(autoCaptureKeyboardAndMouse);
|
||||||
@ -654,8 +655,6 @@ namespace XenAdmin.ConsoleView
|
|||||||
{
|
{
|
||||||
value.PropertyChanged += new PropertyChangedEventHandler(VM_PropertyChanged);
|
value.PropertyChanged += new PropertyChangedEventHandler(VM_PropertyChanged);
|
||||||
|
|
||||||
sourceIsPV = !value.IsHVM;
|
|
||||||
|
|
||||||
startPolling();
|
startPolling();
|
||||||
|
|
||||||
lock (hostedConsolesLock)
|
lock (hostedConsolesLock)
|
||||||
@ -692,10 +691,14 @@ namespace XenAdmin.ConsoleView
|
|||||||
//Start the polling again
|
//Start the polling again
|
||||||
if (Source != null && !Source.is_control_domain)
|
if (Source != null && !Source.is_control_domain)
|
||||||
{
|
{
|
||||||
connectionPoller =
|
if (!Source.IsHVM)
|
||||||
new Timer(
|
{
|
||||||
sourceIsPV ? (TimerCallback)PollVNCPort : (TimerCallback)PollRDPPort,
|
connectionPoller = new Timer(PollVNCPort, null, RETRY_SLEEP_TIME, RDP_POLL_INTERVAL);
|
||||||
null, RETRY_SLEEP_TIME, RDP_POLL_INTERVAL);
|
}
|
||||||
|
else if (hasRDP)
|
||||||
|
{
|
||||||
|
connectionPoller = new Timer(PollRDPPort, null, RETRY_SLEEP_TIME, RDP_POLL_INTERVAL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1006,7 +1009,7 @@ namespace XenAdmin.ConsoleView
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
v.SendScanCodes = UseSource && !sourceIsPV;
|
v.SendScanCodes = UseSource && hasRDP;
|
||||||
v.SourceVM = sourceVM;
|
v.SourceVM = sourceVM;
|
||||||
v.Console = console;
|
v.Console = console;
|
||||||
v.connect(stream, this.vncPassword);
|
v.connect(stream, this.vncPassword);
|
||||||
|
@ -278,11 +278,15 @@ namespace XenAdmin.Controls.MainWindowControls
|
|||||||
{
|
{
|
||||||
if (currentMode == NavigationMode.Notifications)
|
if (currentMode == NavigationMode.Notifications)
|
||||||
{
|
{
|
||||||
|
SelectionManager.SaveAndClearSelection();
|
||||||
|
|
||||||
//restore the last selected view
|
//restore the last selected view
|
||||||
SwitchToNotificationsView(lastNotificationsMode);
|
SwitchToNotificationsView(lastNotificationsMode);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
SelectionManager.RestoreSavedSelection();
|
||||||
|
|
||||||
//show the navigationView first and then hide the notificationsView
|
//show the navigationView first and then hide the notificationsView
|
||||||
//to avoid instantaneous appearance of empty panels
|
//to avoid instantaneous appearance of empty panels
|
||||||
navigationView.Visible = true;
|
navigationView.Visible = true;
|
||||||
@ -296,6 +300,7 @@ namespace XenAdmin.Controls.MainWindowControls
|
|||||||
|
|
||||||
if (navigationView.SelectionManager.Selection.Count < 1)
|
if (navigationView.SelectionManager.Selection.Count < 1)
|
||||||
navigationView.SelectObject(null, false);
|
navigationView.SelectObject(null, false);
|
||||||
|
navigationView.ForceTreeViewSelectionsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (NavigationModeChanged != null)
|
if (NavigationModeChanged != null)
|
||||||
|
@ -306,6 +306,11 @@ namespace XenAdmin.Controls.MainWindowControls
|
|||||||
treeView.Focus();
|
treeView.Focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ForceTreeViewSelectionsChanged()
|
||||||
|
{
|
||||||
|
treeView.ForceSelectionsChanged();
|
||||||
|
}
|
||||||
|
|
||||||
public void RequestRefreshTreeView()
|
public void RequestRefreshTreeView()
|
||||||
{
|
{
|
||||||
Program.BeginInvoke(this, treeViewUpdateManager.RequestUpdate);
|
Program.BeginInvoke(this, treeViewUpdateManager.RequestUpdate);
|
||||||
|
@ -455,7 +455,7 @@ namespace XenAdmin.Controls
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Forces the SelectionsChanged event to fire.
|
/// Forces the SelectionsChanged event to fire.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected void ForceSelectionsChanged()
|
public void ForceSelectionsChanged()
|
||||||
{
|
{
|
||||||
EventHandler handler = SelectionsChanged;
|
EventHandler handler = SelectionsChanged;
|
||||||
|
|
||||||
|
@ -1052,7 +1052,7 @@ namespace XenAdmin.Controls.Wlb
|
|||||||
// and this is the first section of report,
|
// and this is the first section of report,
|
||||||
// change the run button text back to "Run Report",
|
// change the run button text back to "Run Report",
|
||||||
// or disable the run report button and just keep the later report button.
|
// or disable the run report button and just keep the later report button.
|
||||||
if(btnLaterReport.Visible == true)
|
if(btnLaterReport.Visible)
|
||||||
{
|
{
|
||||||
this.btnRunReport.Enabled = false;
|
this.btnRunReport.Enabled = false;
|
||||||
}
|
}
|
||||||
@ -1067,12 +1067,17 @@ namespace XenAdmin.Controls.Wlb
|
|||||||
{
|
{
|
||||||
this.btnLaterReport.Visible = true;
|
this.btnLaterReport.Visible = true;
|
||||||
this.btnLaterReport.Enabled = true;
|
this.btnLaterReport.Enabled = true;
|
||||||
|
if (!this.btnRunReport.Enabled)
|
||||||
|
{
|
||||||
|
this.btnLaterReport.Select();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (_currentReportSection == 1 &&
|
else if (_currentReportSection == 1 &&
|
||||||
this.btnRunReport.Text == Messages.FETCH_EARLIER_DATA)
|
this.btnRunReport.Text == Messages.FETCH_EARLIER_DATA)
|
||||||
{
|
{
|
||||||
this.btnLaterReport.Visible = true;
|
this.btnLaterReport.Visible = true;
|
||||||
this.btnLaterReport.Enabled = false;
|
this.btnLaterReport.Enabled = false;
|
||||||
|
this.btnRunReport.Select();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1525,9 +1530,12 @@ namespace XenAdmin.Controls.Wlb
|
|||||||
#endregion //Event Handler
|
#endregion //Event Handler
|
||||||
|
|
||||||
private void comboBox_SelectionChanged(object sender, EventArgs e)
|
private void comboBox_SelectionChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if(_isAuditReport)
|
||||||
{
|
{
|
||||||
InitializeAuditReport();
|
InitializeAuditReport();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void InitializeAuditReport()
|
private void InitializeAuditReport()
|
||||||
{
|
{
|
||||||
@ -1537,6 +1545,7 @@ namespace XenAdmin.Controls.Wlb
|
|||||||
_endLine = _lineLimit;
|
_endLine = _lineLimit;
|
||||||
_currentReportSection = 0;
|
_currentReportSection = 0;
|
||||||
btnRunReport.Text = Messages.RUN_REPORT;
|
btnRunReport.Text = Messages.RUN_REPORT;
|
||||||
|
btnRunReport.Enabled = true;
|
||||||
btnLaterReport.Visible = false;
|
btnLaterReport.Visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -304,7 +304,7 @@
|
|||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="labelStartDate.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="labelStartDate.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>7, 7</value>
|
<value>3, 7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="labelStartDate.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="labelStartDate.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>61, 13</value>
|
<value>61, 13</value>
|
||||||
|
8
XenAdmin/Dialogs/AboutDialog.Designer.cs
generated
8
XenAdmin/Dialogs/AboutDialog.Designer.cs
generated
@ -33,7 +33,6 @@ namespace XenAdmin.Dialogs
|
|||||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||||
this.VersionLabel = new System.Windows.Forms.Label();
|
this.VersionLabel = new System.Windows.Forms.Label();
|
||||||
this.OkButton = new System.Windows.Forms.Button();
|
this.OkButton = new System.Windows.Forms.Button();
|
||||||
this.labelMarathonBlurb = new System.Windows.Forms.Label();
|
|
||||||
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
|
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
|
||||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||||
@ -68,11 +67,6 @@ namespace XenAdmin.Dialogs
|
|||||||
this.OkButton.UseVisualStyleBackColor = true;
|
this.OkButton.UseVisualStyleBackColor = true;
|
||||||
this.OkButton.Click += new System.EventHandler(this.OkButton_Click);
|
this.OkButton.Click += new System.EventHandler(this.OkButton_Click);
|
||||||
//
|
//
|
||||||
// labelMarathonBlurb
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.labelMarathonBlurb, "labelMarathonBlurb");
|
|
||||||
this.labelMarathonBlurb.Name = "labelMarathonBlurb";
|
|
||||||
//
|
|
||||||
// linkLabel1
|
// linkLabel1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.linkLabel1, "linkLabel1");
|
resources.ApplyResources(this.linkLabel1, "linkLabel1");
|
||||||
@ -87,7 +81,6 @@ namespace XenAdmin.Dialogs
|
|||||||
this.tableLayoutPanel1.Controls.Add(this.OkButton, 0, 4);
|
this.tableLayoutPanel1.Controls.Add(this.OkButton, 0, 4);
|
||||||
this.tableLayoutPanel1.Controls.Add(this.linkLabel1, 0, 3);
|
this.tableLayoutPanel1.Controls.Add(this.linkLabel1, 0, 3);
|
||||||
this.tableLayoutPanel1.Controls.Add(this.label2, 0, 1);
|
this.tableLayoutPanel1.Controls.Add(this.label2, 0, 1);
|
||||||
this.tableLayoutPanel1.Controls.Add(this.labelMarathonBlurb, 0, 2);
|
|
||||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||||
//
|
//
|
||||||
// AboutDialog
|
// AboutDialog
|
||||||
@ -115,7 +108,6 @@ namespace XenAdmin.Dialogs
|
|||||||
private System.Windows.Forms.PictureBox pictureBox1;
|
private System.Windows.Forms.PictureBox pictureBox1;
|
||||||
private System.Windows.Forms.Label VersionLabel;
|
private System.Windows.Forms.Label VersionLabel;
|
||||||
private System.Windows.Forms.Button OkButton;
|
private System.Windows.Forms.Button OkButton;
|
||||||
private System.Windows.Forms.Label labelMarathonBlurb;
|
|
||||||
private System.Windows.Forms.LinkLabel linkLabel1;
|
private System.Windows.Forms.LinkLabel linkLabel1;
|
||||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||||
}
|
}
|
||||||
|
@ -112,23 +112,23 @@
|
|||||||
<value>2.0</value>
|
<value>2.0</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="reader">
|
<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>
|
||||||
<resheader name="writer">
|
<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>
|
</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="label2.AutoSize" type="System.Boolean, mscorlib">
|
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</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="label2.Font" type="System.Drawing.Font, System.Drawing">
|
<data name="label2.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
<value>Segoe UI, 9pt</value>
|
<value>Segoe UI, 9pt</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>14, 46</value>
|
<value>14, 46</value>
|
||||||
</data>
|
</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="label2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="label2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
<value>14, 3, 14, 5</value>
|
<value>14, 3, 14, 5</value>
|
||||||
</data>
|
</data>
|
||||||
@ -145,7 +145,7 @@
|
|||||||
<value>label2</value>
|
<value>label2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label2.Type" xml:space="preserve">
|
<data name=">>label2.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label2.Parent" xml:space="preserve">
|
<data name=">>label2.Parent" xml:space="preserve">
|
||||||
<value>tableLayoutPanel1</value>
|
<value>tableLayoutPanel1</value>
|
||||||
@ -178,7 +178,7 @@
|
|||||||
<value>pictureBox1</value>
|
<value>pictureBox1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>pictureBox1.Type" xml:space="preserve">
|
<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>
|
||||||
<data name=">>pictureBox1.Parent" xml:space="preserve">
|
<data name=">>pictureBox1.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
@ -214,7 +214,7 @@
|
|||||||
<value>VersionLabel</value>
|
<value>VersionLabel</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>VersionLabel.Type" xml:space="preserve">
|
<data name=">>VersionLabel.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>VersionLabel.Parent" xml:space="preserve">
|
<data name=">>VersionLabel.Parent" xml:space="preserve">
|
||||||
<value>tableLayoutPanel1</value>
|
<value>tableLayoutPanel1</value>
|
||||||
@ -232,7 +232,7 @@
|
|||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OkButton.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="OkButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>336, 118</value>
|
<value>336, 95</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OkButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="OkButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
<value>0, 3, 12, 12</value>
|
<value>0, 3, 12, 12</value>
|
||||||
@ -250,7 +250,7 @@
|
|||||||
<value>OkButton</value>
|
<value>OkButton</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>OkButton.Type" xml:space="preserve">
|
<data name=">>OkButton.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>
|
||||||
<data name=">>OkButton.Parent" xml:space="preserve">
|
<data name=">>OkButton.Parent" xml:space="preserve">
|
||||||
<value>tableLayoutPanel1</value>
|
<value>tableLayoutPanel1</value>
|
||||||
@ -258,38 +258,8 @@
|
|||||||
<data name=">>OkButton.ZOrder" xml:space="preserve">
|
<data name=">>OkButton.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="labelMarathonBlurb.AutoSize" type="System.Boolean, mscorlib">
|
<data name="linkLabel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>True</value>
|
<value>Bottom, Left</value>
|
||||||
</data>
|
|
||||||
<data name="labelMarathonBlurb.Font" type="System.Drawing.Font, System.Drawing">
|
|
||||||
<value>Segoe UI, 9pt</value>
|
|
||||||
</data>
|
|
||||||
<data name="labelMarathonBlurb.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>14, 69</value>
|
|
||||||
</data>
|
|
||||||
<data name="labelMarathonBlurb.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
|
||||||
<value>14, 3, 14, 5</value>
|
|
||||||
</data>
|
|
||||||
<data name="labelMarathonBlurb.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>341, 15</value>
|
|
||||||
</data>
|
|
||||||
<data name="labelMarathonBlurb.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>17</value>
|
|
||||||
</data>
|
|
||||||
<data name="labelMarathonBlurb.Text" xml:space="preserve">
|
|
||||||
<value>Citrix® XenServer™ High Availability is powered by Marathon®</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>labelMarathonBlurb.Name" xml:space="preserve">
|
|
||||||
<value>labelMarathonBlurb</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>labelMarathonBlurb.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>labelMarathonBlurb.Parent" xml:space="preserve">
|
|
||||||
<value>tableLayoutPanel1</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>labelMarathonBlurb.ZOrder" xml:space="preserve">
|
|
||||||
<value>4</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="linkLabel1.AutoSize" type="System.Boolean, mscorlib">
|
<data name="linkLabel1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@ -298,7 +268,7 @@
|
|||||||
<value>Segoe UI, 9pt</value>
|
<value>Segoe UI, 9pt</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="linkLabel1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="linkLabel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>14, 100</value>
|
<value>14, 77</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="linkLabel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="linkLabel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
<value>14, 11, 14, 0</value>
|
<value>14, 11, 14, 0</value>
|
||||||
@ -316,7 +286,7 @@
|
|||||||
<value>linkLabel1</value>
|
<value>linkLabel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>linkLabel1.Type" xml:space="preserve">
|
<data name=">>linkLabel1.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>linkLabel1.Parent" xml:space="preserve">
|
<data name=">>linkLabel1.Parent" xml:space="preserve">
|
||||||
<value>tableLayoutPanel1</value>
|
<value>tableLayoutPanel1</value>
|
||||||
@ -330,6 +300,9 @@
|
|||||||
<data name="tableLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
<data name="tableLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</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">
|
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
@ -343,7 +316,7 @@
|
|||||||
<value>5</value>
|
<value>5</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>423, 153</value>
|
<value>423, 130</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>19</value>
|
<value>19</value>
|
||||||
@ -352,7 +325,7 @@
|
|||||||
<value>tableLayoutPanel1</value>
|
<value>tableLayoutPanel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>tableLayoutPanel1.Type" xml:space="preserve">
|
<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>
|
||||||
<data name=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
<data name=">>tableLayoutPanel1.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
@ -361,9 +334,9 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="VersionLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="OkButton" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="linkLabel1" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label2" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelMarathonBlurb" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="VersionLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="OkButton" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="linkLabel1" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label2" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||||
</data>
|
</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>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
@ -372,8 +345,11 @@
|
|||||||
<data name="$this.AutoSize" type="System.Boolean, mscorlib">
|
<data name="$this.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</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">
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>423, 232</value>
|
<value>423, 208</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
<value>Tahoma, 8pt</value>
|
<value>Tahoma, 8pt</value>
|
||||||
|
@ -112,20 +112,20 @@
|
|||||||
<value>2.0</value>
|
<value>2.0</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="reader">
|
<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>
|
||||||
<resheader name="writer">
|
<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>
|
</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="label2.AutoSize" type="System.Boolean, mscorlib">
|
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</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="label2.Font" type="System.Drawing.Font, System.Drawing">
|
<data name="label2.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
<value>Segoe UI, 9pt</value>
|
<value>Segoe UI, 9pt</value>
|
||||||
</data>
|
</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="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
<data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
@ -148,7 +148,7 @@
|
|||||||
<value>label2</value>
|
<value>label2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label2.Type" xml:space="preserve">
|
<data name=">>label2.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label2.Parent" xml:space="preserve">
|
<data name=">>label2.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
@ -181,7 +181,7 @@
|
|||||||
<value>label1</value>
|
<value>label1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label1.Type" xml:space="preserve">
|
<data name=">>label1.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label1.Parent" xml:space="preserve">
|
<data name=">>label1.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
@ -205,19 +205,19 @@
|
|||||||
<value>5, 5, 5, 5</value>
|
<value>5, 5, 5, 5</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>352, 15</value>
|
<value>308, 15</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label3.TabIndex" type="System.Int32, mscorlib">
|
<data name="label3.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>4</value>
|
<value>4</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="label3.Text" xml:space="preserve">
|
<data name="label3.Text" xml:space="preserve">
|
||||||
<value>This software includes the following third-party software libraries:</value>
|
<value>This software includes the following third-party software:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label3.Name" xml:space="preserve">
|
<data name=">>label3.Name" xml:space="preserve">
|
||||||
<value>label3</value>
|
<value>label3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label3.Type" xml:space="preserve">
|
<data name=">>label3.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>label3.Parent" xml:space="preserve">
|
<data name=">>label3.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
@ -244,7 +244,9 @@
|
|||||||
<value>5</value>
|
<value>5</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="textBox1.Text" xml:space="preserve">
|
<data name="textBox1.Text" xml:space="preserve">
|
||||||
<value>XML-RPC.NET: Copyright © 2001-2006 Charles Cook.
|
<value>everRun is a registered trademark of Stratus Technologies Bermuda Limited.
|
||||||
|
|
||||||
|
XML-RPC.NET: Copyright © 2001-2006 Charles Cook.
|
||||||
|
|
||||||
Log4Net: Developed by The Apache Software Foundation (http://www.apache.org/) as part of the Apache Logging Services project (http://logging.apache.org/log4net/), and released under the Apache software license.
|
Log4Net: Developed by The Apache Software Foundation (http://www.apache.org/) as part of the Apache Logging Services project (http://logging.apache.org/log4net/), and released under the Apache software license.
|
||||||
To learn more about the Apache software license, please visit http://www.apache.org/licenses/LICENSE-2.0.
|
To learn more about the Apache software license, please visit http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
@ -332,7 +334,7 @@ Unless required by applicable law or agreed to in writing, software distributed
|
|||||||
<value>textBox1</value>
|
<value>textBox1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>textBox1.Type" xml:space="preserve">
|
<data name=">>textBox1.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>textBox1.Parent" xml:space="preserve">
|
<data name=">>textBox1.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
@ -359,7 +361,7 @@ Unless required by applicable law or agreed to in writing, software distributed
|
|||||||
<value>button1</value>
|
<value>button1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>button1.Type" xml:space="preserve">
|
<data name=">>button1.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>
|
||||||
<data name=">>button1.Parent" xml:space="preserve">
|
<data name=">>button1.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
@ -367,7 +369,7 @@ Unless required by applicable law or agreed to in writing, software distributed
|
|||||||
<data name=">>button1.ZOrder" xml:space="preserve">
|
<data name=">>button1.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</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>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
|
@ -119,12 +119,7 @@ namespace XenAdmin.Dialogs
|
|||||||
private void checkableDataGridView_RowUpdated(object sender, CheckableDataGridViewRowEventArgs e)
|
private void checkableDataGridView_RowUpdated(object sender, CheckableDataGridViewRowEventArgs e)
|
||||||
{
|
{
|
||||||
LicenseCheckableDataGridView senderGrid = sender as LicenseCheckableDataGridView;
|
LicenseCheckableDataGridView senderGrid = sender as LicenseCheckableDataGridView;
|
||||||
if (senderGrid == null)
|
if (senderGrid == null || e.RowIndex >= senderGrid.Rows.Count || e.RowIndex < 0)
|
||||||
return;
|
|
||||||
|
|
||||||
Program.Invoke(this, delegate
|
|
||||||
{
|
|
||||||
if (e.RowIndex >= senderGrid.Rows.Count || e.RowIndex < 0)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
LicenseDataGridViewRow lRow = senderGrid.Rows[e.RowIndex] as LicenseDataGridViewRow;
|
LicenseDataGridViewRow lRow = senderGrid.Rows[e.RowIndex] as LicenseDataGridViewRow;
|
||||||
@ -133,11 +128,11 @@ namespace XenAdmin.Dialogs
|
|||||||
|
|
||||||
Controller.SetStatusIcon(e.RowIndex, lRow.RowStatus);
|
Controller.SetStatusIcon(e.RowIndex, lRow.RowStatus);
|
||||||
|
|
||||||
if (senderGrid.SelectedRows.Count > 0 && senderGrid.SelectedRows[0].Index == e.RowIndex)
|
if (!e.RefreshGrid && senderGrid.SelectedRows.Count > 0 && senderGrid.SelectedRows[0].Index == e.RowIndex)
|
||||||
{
|
{
|
||||||
Controller.SummariseSelectedRow(checkableDataGridView.GetCheckableRow(e.RowIndex));
|
Controller.SummariseSelectedRow(checkableDataGridView.GetCheckableRow(e.RowIndex));
|
||||||
}
|
}
|
||||||
});
|
|
||||||
if (e.RefreshGrid)
|
if (e.RefreshGrid)
|
||||||
senderGrid.SortAndRefresh();
|
senderGrid.SortAndRefresh();
|
||||||
}
|
}
|
||||||
|
@ -521,7 +521,7 @@ namespace XenAdmin.Dialogs
|
|||||||
|
|
||||||
public void SelectPoolGpuEditPage()
|
public void SelectPoolGpuEditPage()
|
||||||
{
|
{
|
||||||
SelectPage(GpuEditPage);
|
SelectPage(PoolGpuEditPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SelectStorageLinkPage()
|
public void SelectStorageLinkPage()
|
||||||
|
@ -60,42 +60,6 @@ namespace XenAdmin.Dialogs.Wlb
|
|||||||
this.wlbThresholdsPage,
|
this.wlbThresholdsPage,
|
||||||
this.wlbMetricWeightingPage,
|
this.wlbMetricWeightingPage,
|
||||||
this.wlbHostExclusionPage,
|
this.wlbHostExclusionPage,
|
||||||
this.wlbAdvancedSettingsPage,
|
|
||||||
this.wlbOptimizationModePage,
|
|
||||||
this.wlbAutomationPage,
|
|
||||||
this.wlbThresholdsPage,
|
|
||||||
this.wlbMetricWeightingPage,
|
|
||||||
this.wlbHostExclusionPage,
|
|
||||||
this.wlbAdvancedSettingsPage,
|
|
||||||
this.wlbOptimizationModePage,
|
|
||||||
this.wlbAutomationPage,
|
|
||||||
this.wlbThresholdsPage,
|
|
||||||
this.wlbMetricWeightingPage,
|
|
||||||
this.wlbHostExclusionPage,
|
|
||||||
this.wlbAdvancedSettingsPage,
|
|
||||||
this.wlbOptimizationModePage,
|
|
||||||
this.wlbAutomationPage,
|
|
||||||
this.wlbThresholdsPage,
|
|
||||||
this.wlbMetricWeightingPage,
|
|
||||||
this.wlbHostExclusionPage,
|
|
||||||
this.wlbAdvancedSettingsPage,
|
|
||||||
this.wlbOptimizationModePage,
|
|
||||||
this.wlbAutomationPage,
|
|
||||||
this.wlbThresholdsPage,
|
|
||||||
this.wlbMetricWeightingPage,
|
|
||||||
this.wlbHostExclusionPage,
|
|
||||||
this.wlbAdvancedSettingsPage,
|
|
||||||
this.wlbOptimizationModePage,
|
|
||||||
this.wlbAutomationPage,
|
|
||||||
this.wlbThresholdsPage,
|
|
||||||
this.wlbMetricWeightingPage,
|
|
||||||
this.wlbHostExclusionPage,
|
|
||||||
this.wlbAdvancedSettingsPage,
|
|
||||||
this.wlbOptimizationModePage,
|
|
||||||
this.wlbAutomationPage,
|
|
||||||
this.wlbThresholdsPage,
|
|
||||||
this.wlbMetricWeightingPage,
|
|
||||||
this.wlbHostExclusionPage,
|
|
||||||
this.wlbAdvancedSettingsPage});
|
this.wlbAdvancedSettingsPage});
|
||||||
resources.ApplyResources(this.verticalTabs, "verticalTabs");
|
resources.ApplyResources(this.verticalTabs, "verticalTabs");
|
||||||
//
|
//
|
||||||
@ -167,6 +131,7 @@ namespace XenAdmin.Dialogs.Wlb
|
|||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
this.Name = "WlbConfigurationDialog";
|
this.Name = "WlbConfigurationDialog";
|
||||||
|
this.SizeChanged += new System.EventHandler(this.WlbConfigurationDialog_SizeChanged);
|
||||||
this.Controls.SetChildIndex(this.cancelButton, 0);
|
this.Controls.SetChildIndex(this.cancelButton, 0);
|
||||||
this.Controls.SetChildIndex(this.okButton, 0);
|
this.Controls.SetChildIndex(this.okButton, 0);
|
||||||
this.Controls.SetChildIndex(this.splitContainer, 0);
|
this.Controls.SetChildIndex(this.splitContainer, 0);
|
||||||
|
@ -215,5 +215,15 @@ namespace XenAdmin.Dialogs.Wlb
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void WlbConfigurationDialog_SizeChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
// When the size of configuration dialog is changed,
|
||||||
|
// the SplitContainer panels should expand and contract correspondingly.
|
||||||
|
// Originally the dialog height is 750, SplitContainer height is 674,
|
||||||
|
// the difference is 76.
|
||||||
|
// The SplitContainer height must track the change of the dialog height.
|
||||||
|
splitContainer.Height = this.Height - 76;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -331,10 +331,10 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cancelButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="cancelButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Left</value>
|
<value>Bottom, Right</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>738, 725</value>
|
<value>738, 682</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>cancelButton.Name" xml:space="preserve">
|
<data name=">>cancelButton.Name" xml:space="preserve">
|
||||||
<value>cancelButton</value>
|
<value>cancelButton</value>
|
||||||
@ -349,10 +349,10 @@
|
|||||||
<value>3</value>
|
<value>3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="okButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="okButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Left</value>
|
<value>Bottom, Right</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>647, 725</value>
|
<value>647, 682</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>okButton.Name" xml:space="preserve">
|
<data name=">>okButton.Name" xml:space="preserve">
|
||||||
<value>okButton</value>
|
<value>okButton</value>
|
||||||
@ -535,7 +535,7 @@
|
|||||||
<value>96, 96</value>
|
<value>96, 96</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>834, 755</value>
|
<value>834, 712</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
<value>Tahoma, 8pt</value>
|
<value>Tahoma, 8pt</value>
|
||||||
|
@ -331,10 +331,10 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cancelButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="cancelButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Left</value>
|
<value>Bottom, Right</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>738, 725</value>
|
<value>738, 682</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>cancelButton.Name" xml:space="preserve">
|
<data name=">>cancelButton.Name" xml:space="preserve">
|
||||||
<value>cancelButton</value>
|
<value>cancelButton</value>
|
||||||
@ -349,10 +349,10 @@
|
|||||||
<value>3</value>
|
<value>3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="okButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="okButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Left</value>
|
<value>Bottom, Right</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>647, 725</value>
|
<value>647, 682</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>okButton.Name" xml:space="preserve">
|
<data name=">>okButton.Name" xml:space="preserve">
|
||||||
<value>okButton</value>
|
<value>okButton</value>
|
||||||
@ -535,7 +535,7 @@
|
|||||||
<value>96, 96</value>
|
<value>96, 96</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>834, 755</value>
|
<value>834, 712</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
<value>Tahoma, 8pt</value>
|
<value>Tahoma, 8pt</value>
|
||||||
|
@ -1042,6 +1042,6 @@
|
|||||||
<value>9901</value>
|
<value>9901</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FileSystemUsageMessageAlert" xml:space="preserve">
|
<data name="FileSystemUsageMessageAlert" xml:space="preserve">
|
||||||
<value>9854</value>
|
<value>9857</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
Binary file not shown.
@ -434,16 +434,6 @@ namespace XenAdmin
|
|||||||
{
|
{
|
||||||
if (meddlingAction == null)
|
if (meddlingAction == null)
|
||||||
SetStatusBar(Properties.Resources._000_error_h32bit_16, action.Exception.Message);
|
SetStatusBar(Properties.Resources._000_error_h32bit_16, action.Exception.Message);
|
||||||
|
|
||||||
IXenObject model =
|
|
||||||
(IXenObject)action.VM ??
|
|
||||||
(IXenObject)action.Host ??
|
|
||||||
(IXenObject)action.Pool ??
|
|
||||||
(IXenObject)action.SR;
|
|
||||||
if (model != null)
|
|
||||||
model.InError = true;
|
|
||||||
|
|
||||||
RequestRefreshTreeView();
|
|
||||||
}
|
}
|
||||||
else if (meddlingAction == null)
|
else if (meddlingAction == null)
|
||||||
{
|
{
|
||||||
@ -1747,11 +1737,46 @@ namespace XenAdmin
|
|||||||
}
|
}
|
||||||
else if (objectsView != null)
|
else if (objectsView != null)
|
||||||
{
|
{
|
||||||
GroupingTag gt = SelectionManager.Selection.First as GroupingTag
|
//We are in Objects View
|
||||||
?? SelectionManager.Selection.GroupAncestor;
|
GroupingTag gt = null;
|
||||||
|
|
||||||
|
if (SelectionManager.Selection.Count == 1)
|
||||||
|
{
|
||||||
|
gt = SelectionManager.Selection.First as GroupingTag
|
||||||
|
?? SelectionManager.Selection[0].GroupAncestor;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//If multiple items have been selected we count the number of the grouping tags in the selection
|
||||||
|
var selectedGroups = SelectionManager.Selection.Where(s => s.GroupingTag != null);
|
||||||
|
|
||||||
|
//if exactly one grouping tag has been selected we show the search view for that one tag, but only if all the other items in the selection belong to this group/tag
|
||||||
|
if (selectedGroups.Count() == 1)
|
||||||
|
{
|
||||||
|
var groupingTag = selectedGroups.First().GroupingTag;
|
||||||
|
|
||||||
|
if (SelectionManager.Selection.Where(s => s.GroupingTag == null).All(s => s.GroupAncestor == groupingTag))
|
||||||
|
gt = groupingTag;
|
||||||
|
else
|
||||||
|
gt = null;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gt = SelectionManager.Selection.GroupAncestor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//if there has been a grouping tag determined above we use that
|
||||||
|
//if not we show the search view for the root node
|
||||||
|
if (gt != null)
|
||||||
|
{
|
||||||
SearchPage.Search = Search.SearchForNonVappGroup(gt.Grouping, gt.Parent, gt.Group);
|
SearchPage.Search = Search.SearchForNonVappGroup(gt.Grouping, gt.Parent, gt.Group);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SearchPage.Search = Search.SearchForNonVappGroup(rootNodeGrouping.Grouping, rootNodeGrouping.Parent, rootNodeGrouping.Group);
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (foldersView != null)
|
else if (foldersView != null)
|
||||||
{
|
{
|
||||||
SearchPage.Search = Search.SearchForFolderGroup(rootNodeGrouping.Grouping,
|
SearchPage.Search = Search.SearchForFolderGroup(rootNodeGrouping.Grouping,
|
||||||
@ -1765,6 +1790,18 @@ namespace XenAdmin
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// Infrastructure View:
|
||||||
|
// If XenCenter node or a disconnected host is selected, show the default search
|
||||||
|
// Otherwise, find the top-level parent (= pool or standalone server) and show the search restricted to that
|
||||||
|
// In the case of multiselect, if all the selections are within one pool (or standalone server), then show that report.
|
||||||
|
// Otherwise show everything, as on the XenCenter node.
|
||||||
|
var connection = SelectionManager.Selection.GetConnectionOfAllItems(); // null for cross-pool selection
|
||||||
|
if (connection != null)
|
||||||
|
{
|
||||||
|
var pool = Helpers.GetPool(connection);
|
||||||
|
SearchPage.XenObject = pool ?? (IXenObject)Helpers.GetMaster(connection); // pool or standalone server
|
||||||
|
}
|
||||||
|
else
|
||||||
SearchPage.XenObject = null;
|
SearchPage.XenObject = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2692,12 +2729,7 @@ namespace XenAdmin
|
|||||||
|
|
||||||
if (eventsPage.Visible)
|
if (eventsPage.Visible)
|
||||||
{
|
{
|
||||||
// Unmark node if user has now seen error in log tab
|
|
||||||
if (SelectionManager.Selection.FirstAsXenObject != null)
|
|
||||||
SelectionManager.Selection.FirstAsXenObject.InError = false;
|
|
||||||
|
|
||||||
eventsPage.RefreshDisplayedEvents();
|
eventsPage.RefreshDisplayedEvents();
|
||||||
RequestRefreshTreeView();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
loggedInLabel1.Connection = null;
|
loggedInLabel1.Connection = null;
|
||||||
|
@ -501,7 +501,6 @@ namespace XenAdmin
|
|||||||
_index++;
|
_index++;
|
||||||
|
|
||||||
IXenObject xenObject = obj as IXenObject;
|
IXenObject xenObject = obj as IXenObject;
|
||||||
bool error = xenObject != null && xenObject.InError;
|
|
||||||
bool highlighted = _highlightedDragTarget != null && obj != null && _highlightedDragTarget.Equals(obj);
|
bool highlighted = _highlightedDragTarget != null && obj != null && _highlightedDragTarget.Equals(obj);
|
||||||
|
|
||||||
if (highlighted)
|
if (highlighted)
|
||||||
@ -510,12 +509,6 @@ namespace XenAdmin
|
|||||||
result.ForeColor = SystemColors.HighlightText;
|
result.ForeColor = SystemColors.HighlightText;
|
||||||
result.NodeFont = Program.DefaultFont;
|
result.NodeFont = Program.DefaultFont;
|
||||||
}
|
}
|
||||||
else if (error)
|
|
||||||
{
|
|
||||||
result.BackColor = Program.ErrorBackColor;
|
|
||||||
result.ForeColor = Program.ErrorForeColor;
|
|
||||||
result.NodeFont = Program.DefaultFont;
|
|
||||||
}
|
|
||||||
else if (grayed)
|
else if (grayed)
|
||||||
{
|
{
|
||||||
result.BackColor = _treeViewBackColor;
|
result.BackColor = _treeViewBackColor;
|
||||||
|
@ -214,7 +214,12 @@ namespace XenAdmin.Plugins
|
|||||||
{
|
{
|
||||||
if (File.Exists(resources))
|
if (File.Exists(resources))
|
||||||
{
|
{
|
||||||
return new ResourceManager(Name, Assembly.LoadFile(resources));
|
// We load this "unsafely" because of CA-144950: the plugin is almost certainly
|
||||||
|
// downloaded from the web and won't install without this. I considered adding
|
||||||
|
// a confirmation step, but as all we do with the resources is to extract some
|
||||||
|
// strings, there is no security implication. (This doesn't affect security
|
||||||
|
// confirmations on programs called by the plugin).
|
||||||
|
return new ResourceManager(Name, Assembly.UnsafeLoadFrom(resources));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
@ -269,6 +269,7 @@ namespace XenAdmin.SettingsPanels
|
|||||||
private void HidePoolAuditTrailGranularitySection()
|
private void HidePoolAuditTrailGranularitySection()
|
||||||
{
|
{
|
||||||
label2.Visible = false;
|
label2.Visible = false;
|
||||||
|
label3.Visible = false;
|
||||||
sectionHeaderLabelAuditTrail.Visible = false;
|
sectionHeaderLabelAuditTrail.Visible = false;
|
||||||
labelAuditTrail.Visible = false;
|
labelAuditTrail.Visible = false;
|
||||||
auditTrailPanel.Visible = false;
|
auditTrailPanel.Visible = false;
|
||||||
|
@ -1615,6 +1615,9 @@
|
|||||||
<data name=">>label3.ZOrder" xml:space="preserve">
|
<data name=">>label3.ZOrder" xml:space="preserve">
|
||||||
<value>23</value>
|
<value>23</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="label3.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Top, Left, Right</value>
|
||||||
|
</data>
|
||||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -1588,6 +1588,36 @@
|
|||||||
<data name=">>auditTrailPanel.ZOrder" xml:space="preserve">
|
<data name=">>auditTrailPanel.ZOrder" xml:space="preserve">
|
||||||
<value>22</value>
|
<value>22</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 489</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>632, 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>38</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Text" xml:space="preserve">
|
||||||
|
<value>label3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.Name" xml:space="preserve">
|
||||||
|
<value>label3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.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=">>label3.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label3.ZOrder" xml:space="preserve">
|
||||||
|
<value>23</value>
|
||||||
|
</data>
|
||||||
|
<data name="label3.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Top, Left, Right</value>
|
||||||
|
</data>
|
||||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
</data>
|
</data>
|
||||||
@ -1616,7 +1646,7 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelAuditTrail" Row="21" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelAuditTrail" Row="20" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label2" Row="19" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelRepSub" Row="16" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelHistData" Row="13" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelOptAgr" Row="10" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelOptAgr" Row="11" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelHistData" Row="14" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelRecSev" Row="7" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelRepSub" Row="17" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelVmMigInt" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelVmMigInt" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelRecSev" Row="8" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelVmMigInt" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelRecCnt" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelRecCnt" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelRecCnt" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelRecSev" Row="9" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelOptAgr" Row="12" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelHistData" Row="15" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelRepSub" Row="18" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="auditTrailPanel" Row="22" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20" /></TableLayoutSettings></value>
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelAuditTrail" Row="23" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelAuditTrail" Row="22" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label2" Row="21" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelRepSub" Row="16" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelHistData" Row="13" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelOptAgr" Row="10" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelOptAgr" Row="11" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelHistData" Row="14" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelRecSev" Row="7" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelRepSub" Row="17" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelVmMigInt" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelVmMigInt" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelRecSev" Row="8" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelVmMigInt" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="sectionHeaderLabelRecCnt" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="labelRecCnt" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelRecCnt" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelRecSev" Row="9" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelOptAgr" Row="12" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelHistData" Row="15" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelRepSub" Row="18" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="auditTrailPanel" Row="24" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label3" Row="20" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,10,Absolute,10,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings></value>
|
||||||
</data>
|
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
|
@ -81,6 +81,10 @@ namespace XenAdmin.SettingsPanels
|
|||||||
trackbarNetWritePriority.Value = GetSafeTrackbarValue(trackbarNetWritePriority, _poolConfiguration.VmNetworkWriteWeightHigh / TRACKBAR_INTERVAL);
|
trackbarNetWritePriority.Value = GetSafeTrackbarValue(trackbarNetWritePriority, _poolConfiguration.VmNetworkWriteWeightHigh / TRACKBAR_INTERVAL);
|
||||||
trackbarDiskReadPriority.Value = GetSafeTrackbarValue(trackbarDiskReadPriority, _poolConfiguration.VmDiskReadWeightHigh / TRACKBAR_INTERVAL);
|
trackbarDiskReadPriority.Value = GetSafeTrackbarValue(trackbarDiskReadPriority, _poolConfiguration.VmDiskReadWeightHigh / TRACKBAR_INTERVAL);
|
||||||
trackbarDiskWritePriority.Value = GetSafeTrackbarValue(trackbarDiskWritePriority, _poolConfiguration.VmDiskWriteWeightHigh / TRACKBAR_INTERVAL);
|
trackbarDiskWritePriority.Value = GetSafeTrackbarValue(trackbarDiskWritePriority, _poolConfiguration.VmDiskWriteWeightHigh / TRACKBAR_INTERVAL);
|
||||||
|
//CA-134554 - Hide Disk Read/Write until the backend server side is ready
|
||||||
|
trackbarDiskReadPriority.Visible = false;
|
||||||
|
trackbarDiskWritePriority.Visible = false;
|
||||||
|
|
||||||
_loading = false; ;
|
_loading = false; ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,6 +222,9 @@
|
|||||||
<data name="label11.Text" xml:space="preserve">
|
<data name="label11.Text" xml:space="preserve">
|
||||||
<value>ディスク書き込み(&W)</value>
|
<value>ディスク書き込み(&W)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="label11.Visible" type="System.Boolean, mscorlib">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
<data name=">>label11.Name" xml:space="preserve">
|
<data name=">>label11.Name" xml:space="preserve">
|
||||||
<value>label11</value>
|
<value>label11</value>
|
||||||
</data>
|
</data>
|
||||||
@ -255,6 +258,9 @@
|
|||||||
<data name="label10.Text" xml:space="preserve">
|
<data name="label10.Text" xml:space="preserve">
|
||||||
<value>ディスク読み取り(&D)</value>
|
<value>ディスク読み取り(&D)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="label10.Visible" type="System.Boolean, mscorlib">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
<data name=">>label10.Name" xml:space="preserve">
|
<data name=">>label10.Name" xml:space="preserve">
|
||||||
<value>label10</value>
|
<value>label10</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -225,6 +225,9 @@
|
|||||||
<data name=">>label11.Name" xml:space="preserve">
|
<data name=">>label11.Name" xml:space="preserve">
|
||||||
<value>label11</value>
|
<value>label11</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="label11.Visible" type="System.Boolean, mscorlib">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
<data name=">>label11.Type" xml:space="preserve">
|
<data name=">>label11.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
@ -258,6 +261,9 @@
|
|||||||
<data name=">>label10.Name" xml:space="preserve">
|
<data name=">>label10.Name" xml:space="preserve">
|
||||||
<value>label10</value>
|
<value>label10</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="label10.Visible" type="System.Boolean, mscorlib">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
<data name=">>label10.Type" xml:space="preserve">
|
<data name=">>label10.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
@ -565,7 +571,7 @@
|
|||||||
<value>6, 46</value>
|
<value>6, 46</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="decentGroupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="decentGroupBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>578, 266</value>
|
<value>578, 196</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="decentGroupBox1.TabIndex" type="System.Int32, mscorlib">
|
<data name="decentGroupBox1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>32</value>
|
<value>32</value>
|
||||||
|
@ -222,6 +222,9 @@
|
|||||||
<data name="label11.Text" xml:space="preserve">
|
<data name="label11.Text" xml:space="preserve">
|
||||||
<value>磁盘写入(&W)</value>
|
<value>磁盘写入(&W)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="label11.Visible" type="System.Boolean, mscorlib">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
<data name=">>label11.Name" xml:space="preserve">
|
<data name=">>label11.Name" xml:space="preserve">
|
||||||
<value>label11</value>
|
<value>label11</value>
|
||||||
</data>
|
</data>
|
||||||
@ -255,6 +258,9 @@
|
|||||||
<data name="label10.Text" xml:space="preserve">
|
<data name="label10.Text" xml:space="preserve">
|
||||||
<value>磁盘读取(&D)</value>
|
<value>磁盘读取(&D)</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="label10.Visible" type="System.Boolean, mscorlib">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
<data name=">>label10.Name" xml:space="preserve">
|
<data name=">>label10.Name" xml:space="preserve">
|
||||||
<value>label10</value>
|
<value>label10</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -34,6 +34,10 @@ namespace XenAdmin.SettingsPanels
|
|||||||
this.decentGroupBox1 = new XenAdmin.Controls.DecentGroupBox();
|
this.decentGroupBox1 = new XenAdmin.Controls.DecentGroupBox();
|
||||||
this.label1DiskWrite = new System.Windows.Forms.Label();
|
this.label1DiskWrite = new System.Windows.Forms.Label();
|
||||||
this.labelDiskRead = new System.Windows.Forms.Label();
|
this.labelDiskRead = new System.Windows.Forms.Label();
|
||||||
|
//CA-134554 - Hide Disk Read/Write until the backend server side is ready
|
||||||
|
this.label1DiskWrite.Visible = false;
|
||||||
|
this.labelDiskRead.Visible = false;
|
||||||
|
|
||||||
this.labelNetworkWrite = new System.Windows.Forms.Label();
|
this.labelNetworkWrite = new System.Windows.Forms.Label();
|
||||||
this.labelNetworkRead = new System.Windows.Forms.Label();
|
this.labelNetworkRead = new System.Windows.Forms.Label();
|
||||||
this.labelFreeMemory = new System.Windows.Forms.Label();
|
this.labelFreeMemory = new System.Windows.Forms.Label();
|
||||||
|
@ -87,6 +87,12 @@ namespace XenAdmin.SettingsPanels
|
|||||||
labelNetworkReadUnits.Text = string.Format(labelNetworkReadUnits.Text, updownNetworkReadCriticalPoint.Minimum, updownNetworkReadCriticalPoint.Maximum);
|
labelNetworkReadUnits.Text = string.Format(labelNetworkReadUnits.Text, updownNetworkReadCriticalPoint.Minimum, updownNetworkReadCriticalPoint.Maximum);
|
||||||
labelNetworkWriteUnits.Text = string.Format(labelNetworkWriteUnits.Text, updownNetworkWriteCriticalPoint.Minimum, updownNetworkWriteCriticalPoint.Maximum);
|
labelNetworkWriteUnits.Text = string.Format(labelNetworkWriteUnits.Text, updownNetworkWriteCriticalPoint.Minimum, updownNetworkWriteCriticalPoint.Maximum);
|
||||||
|
|
||||||
|
//CA-134554 - Hide Disk Read/Write until the backend server side is ready
|
||||||
|
updownDiskReadCriticalPoint.Visible = false;
|
||||||
|
updownDiskWriteCriticalPoint.Visible = false;
|
||||||
|
labelDiskReadUnits.Visible = false;
|
||||||
|
labelDiskWriteUnits.Visible = false;
|
||||||
|
|
||||||
_loading = false; ;
|
_loading = false; ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
4
XenAdmin/TabPages/AlertSummaryPage.Designer.cs
generated
4
XenAdmin/TabPages/AlertSummaryPage.Designer.cs
generated
@ -322,13 +322,13 @@ namespace XenAdmin.TabPages
|
|||||||
private System.Windows.Forms.ToolStripSplitButton toolStripSplitButtonDismiss;
|
private System.Windows.Forms.ToolStripSplitButton toolStripSplitButtonDismiss;
|
||||||
private System.Windows.Forms.ToolStripMenuItem tsmiDismissAll;
|
private System.Windows.Forms.ToolStripMenuItem tsmiDismissAll;
|
||||||
private System.Windows.Forms.ToolStripMenuItem tsmiDismissSelected;
|
private System.Windows.Forms.ToolStripMenuItem tsmiDismissSelected;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
|
||||||
private System.Windows.Forms.DataGridViewImageColumn ColumnExpand;
|
private System.Windows.Forms.DataGridViewImageColumn ColumnExpand;
|
||||||
private System.Windows.Forms.DataGridViewImageColumn ColumnSeverity;
|
private System.Windows.Forms.DataGridViewImageColumn ColumnSeverity;
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnMessage;
|
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnMessage;
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnLocation;
|
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnLocation;
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnDate;
|
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnDate;
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnActions;
|
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnActions;
|
||||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
|
||||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -229,10 +229,10 @@
|
|||||||
<value>Magenta</value>
|
<value>Magenta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripDropDownButtonServerFilter.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripDropDownButtonServerFilter.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>111, 23</value>
|
<value>97, 23</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripDropDownButtonServerFilter.Text" xml:space="preserve">
|
<data name="toolStripDropDownButtonServerFilter.Text" xml:space="preserve">
|
||||||
<value>Filter by Lo&cation</value>
|
<value>Filter by S&erver</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripDropDownButtonDateFilter.Font" type="System.Drawing.Font, System.Drawing">
|
<data name="toolStripDropDownButtonDateFilter.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
<value>Segoe UI, 9pt</value>
|
<value>Segoe UI, 9pt</value>
|
||||||
@ -454,7 +454,7 @@
|
|||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="ColumnLocation.HeaderText" xml:space="preserve">
|
<data name="ColumnLocation.HeaderText" xml:space="preserve">
|
||||||
<value>Location</value>
|
<value>Server / Pool</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ColumnLocation.MinimumWidth" type="System.Int32, mscorlib">
|
<data name="ColumnLocation.MinimumWidth" type="System.Int32, mscorlib">
|
||||||
<value>30</value>
|
<value>30</value>
|
||||||
|
@ -152,6 +152,9 @@ namespace XenAdmin.TabPages
|
|||||||
{
|
{
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
|
if (value == null)
|
||||||
|
return;
|
||||||
|
|
||||||
SetupAnStartLicenseStatus(value);
|
SetupAnStartLicenseStatus(value);
|
||||||
if (xenObject != value)
|
if (xenObject != value)
|
||||||
{
|
{
|
||||||
|
12
XenAdmin/TabPages/HistoryPage.Designer.cs
generated
12
XenAdmin/TabPages/HistoryPage.Designer.cs
generated
@ -238,17 +238,17 @@ namespace XenAdmin.TabPages
|
|||||||
private System.Windows.Forms.ToolStripMenuItem tsmiDismissAll;
|
private System.Windows.Forms.ToolStripMenuItem tsmiDismissAll;
|
||||||
private System.Windows.Forms.ToolStripMenuItem tsmiDismissSelected;
|
private System.Windows.Forms.ToolStripMenuItem tsmiDismissSelected;
|
||||||
private XenAdmin.Controls.DataGridViewEx.DataGridViewEx dataGridView;
|
private XenAdmin.Controls.DataGridViewEx.DataGridViewEx dataGridView;
|
||||||
private System.Windows.Forms.DataGridViewImageColumn columnExpander;
|
|
||||||
private System.Windows.Forms.DataGridViewImageColumn columnStatus;
|
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn columnMessage;
|
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn columnLocation;
|
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn columnDate;
|
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn columnActions;
|
|
||||||
private XenAdmin.Controls.FilterStatusToolStripDropDownButton toolStripDdbFilterStatus;
|
private XenAdmin.Controls.FilterStatusToolStripDropDownButton toolStripDdbFilterStatus;
|
||||||
private XenAdmin.Controls.FilterLocationToolStripDropDownButton toolStripDdbFilterLocation;
|
private XenAdmin.Controls.FilterLocationToolStripDropDownButton toolStripDdbFilterLocation;
|
||||||
private XenAdmin.Controls.FilterDatesToolStripDropDownButton toolStripDdbFilterDates;
|
private XenAdmin.Controls.FilterDatesToolStripDropDownButton toolStripDdbFilterDates;
|
||||||
private System.Windows.Forms.ToolStripLabel toolStripLabelFiltersOnOff;
|
private System.Windows.Forms.ToolStripLabel toolStripLabelFiltersOnOff;
|
||||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
|
||||||
|
private System.Windows.Forms.DataGridViewImageColumn columnExpander;
|
||||||
|
private System.Windows.Forms.DataGridViewImageColumn columnStatus;
|
||||||
|
private System.Windows.Forms.DataGridViewTextBoxColumn columnMessage;
|
||||||
|
private System.Windows.Forms.DataGridViewTextBoxColumn columnLocation;
|
||||||
|
private System.Windows.Forms.DataGridViewTextBoxColumn columnDate;
|
||||||
|
private System.Windows.Forms.DataGridViewTextBoxColumn columnActions;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -142,10 +142,10 @@
|
|||||||
<value>Magenta</value>
|
<value>Magenta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripDdbFilterLocation.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripDdbFilterLocation.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>111, 23</value>
|
<value>97, 23</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripDdbFilterLocation.Text" xml:space="preserve">
|
<data name="toolStripDdbFilterLocation.Text" xml:space="preserve">
|
||||||
<value>Filter by Lo&cation</value>
|
<value>Filter by S&erver</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripDdbFilterDates.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
<data name="toolStripDdbFilterDates.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||||
<value>Magenta</value>
|
<value>Magenta</value>
|
||||||
@ -290,7 +290,7 @@
|
|||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="columnLocation.HeaderText" xml:space="preserve">
|
<data name="columnLocation.HeaderText" xml:space="preserve">
|
||||||
<value>Location</value>
|
<value>Server / Pool</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="columnLocation.MinimumWidth" type="System.Int32, mscorlib">
|
<data name="columnLocation.MinimumWidth" type="System.Int32, mscorlib">
|
||||||
<value>30</value>
|
<value>30</value>
|
||||||
|
@ -247,10 +247,10 @@
|
|||||||
<value>Magenta</value>
|
<value>Magenta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripDropDownButtonServerFilter.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripDropDownButtonServerFilter.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>111, 23</value>
|
<value>97, 23</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripDropDownButtonServerFilter.Text" xml:space="preserve">
|
<data name="toolStripDropDownButtonServerFilter.Text" xml:space="preserve">
|
||||||
<value>Filter by Lo&cation</value>
|
<value>Filter by S&erver</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripDropDownButtonDateFilter.Font" type="System.Drawing.Font, System.Drawing">
|
<data name="toolStripDropDownButtonDateFilter.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
<value>Segoe UI, 9pt</value>
|
<value>Segoe UI, 9pt</value>
|
||||||
@ -507,7 +507,7 @@
|
|||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="ColumnLocation.HeaderText" xml:space="preserve">
|
<data name="ColumnLocation.HeaderText" xml:space="preserve">
|
||||||
<value>Location</value>
|
<value>Server / Pool</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ColumnLocation.MinimumWidth" type="System.Int32, mscorlib">
|
<data name="ColumnLocation.MinimumWidth" type="System.Int32, mscorlib">
|
||||||
<value>95</value>
|
<value>95</value>
|
||||||
|
@ -206,7 +206,7 @@ namespace XenAdmin.Wizards.NewVMWizard
|
|||||||
page_7_Networking.SelectedTemplate = selectedTemplate;
|
page_7_Networking.SelectedTemplate = selectedTemplate;
|
||||||
|
|
||||||
RemovePage(pageVgpu);
|
RemovePage(pageVgpu);
|
||||||
if (vgpuCapability && selectedTemplate.IsHVM)
|
if (vgpuCapability && selectedTemplate.CanHaveVGpu)
|
||||||
AddAfterPage(page_5_CpuMem, pageVgpu);
|
AddAfterPage(page_5_CpuMem, pageVgpu);
|
||||||
|
|
||||||
RemovePage(page_1b_BiosLocking);
|
RemovePage(page_1b_BiosLocking);
|
||||||
|
@ -34,6 +34,7 @@ using XenAdmin.Core;
|
|||||||
using XenAdmin.TabPages;
|
using XenAdmin.TabPages;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using XenAdmin.Wizards;
|
using XenAdmin.Wizards;
|
||||||
|
using XenAdmin.Wizards.NewNetworkWizard_Pages;
|
||||||
|
|
||||||
namespace XenAdminTests
|
namespace XenAdminTests
|
||||||
{
|
{
|
||||||
@ -56,5 +57,26 @@ namespace XenAdminTests
|
|||||||
return GetBaseClassField<Button>("buttonNext");
|
return GetBaseClassField<Button>("buttonNext");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public RadioButton SSPNButton
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
var page = new NetWTypeSelectWrapper(GetField<NetWTypeSelect>("pageNetworkType"));
|
||||||
|
return page.SSPNButton;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal class NetWTypeSelectWrapper : TestWrapper<NetWTypeSelect>
|
||||||
|
{
|
||||||
|
public NetWTypeSelectWrapper(NetWTypeSelect item)
|
||||||
|
: base(item)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
public RadioButton SSPNButton
|
||||||
|
{
|
||||||
|
get { return GetField<RadioButton>("rbtnInternalNetwork"); }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -70,6 +70,7 @@ namespace XenAdminTests.TabsAndMenus
|
|||||||
MainWindowWrapper.NetworkPage.AddNetworkButton.PerformClick,
|
MainWindowWrapper.NetworkPage.AddNetworkButton.PerformClick,
|
||||||
w =>
|
w =>
|
||||||
{
|
{
|
||||||
|
w.SSPNButton.PerformClick();
|
||||||
w.NextButton.PerformClick();
|
w.NextButton.PerformClick();
|
||||||
w.NextButton.PerformClick();
|
w.NextButton.PerformClick();
|
||||||
w.NextButton.PerformClick();
|
w.NextButton.PerformClick();
|
||||||
|
@ -51,6 +51,8 @@ namespace XenAdmin.Actions
|
|||||||
private readonly string _licenseServerAddress;
|
private readonly string _licenseServerAddress;
|
||||||
private readonly string _licenseServerPort;
|
private readonly string _licenseServerPort;
|
||||||
|
|
||||||
|
public List<LicenseFailure> LicenseFailures { get; private set; }
|
||||||
|
|
||||||
protected readonly Action<List<LicenseFailure>, string> DoOnLicensingFailure;
|
protected readonly Action<List<LicenseFailure>, string> DoOnLicensingFailure;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -65,6 +67,7 @@ namespace XenAdmin.Actions
|
|||||||
Action<List<LicenseFailure>, string> DoOnLicensingFailure)
|
Action<List<LicenseFailure>, string> DoOnLicensingFailure)
|
||||||
: base(null, Messages.LICENSE_UPDATING_LICENSES)
|
: base(null, Messages.LICENSE_UPDATING_LICENSES)
|
||||||
{
|
{
|
||||||
|
LicenseFailures = new List<LicenseFailure>();
|
||||||
Util.ThrowIfEnumerableParameterNullOrEmpty(xos, "xenobjects");
|
Util.ThrowIfEnumerableParameterNullOrEmpty(xos, "xenobjects");
|
||||||
|
|
||||||
_edition = edition;
|
_edition = edition;
|
||||||
@ -90,8 +93,6 @@ namespace XenAdmin.Actions
|
|||||||
|
|
||||||
protected override void Run()
|
protected override void Run()
|
||||||
{
|
{
|
||||||
List<LicenseFailure> licenseFailures = new List<LicenseFailure>();
|
|
||||||
|
|
||||||
// PR-1102: hosts that have been updated, plus the previous edition information - this data will be sent to the licensing server
|
// PR-1102: hosts that have been updated, plus the previous edition information - this data will be sent to the licensing server
|
||||||
Dictionary<Host, LicensingHelper.LicenseDataStruct> updatedHosts = new Dictionary<Host, LicensingHelper.LicenseDataStruct>();
|
Dictionary<Host, LicensingHelper.LicenseDataStruct> updatedHosts = new Dictionary<Host, LicensingHelper.LicenseDataStruct>();
|
||||||
|
|
||||||
@ -219,7 +220,7 @@ namespace XenAdmin.Actions
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
licenseFailures.Add(new LicenseFailure(host, alertText ?? e.Message));
|
LicenseFailures.Add(new LicenseFailure(host, alertText ?? e.Message));
|
||||||
|
|
||||||
if (pool != null)
|
if (pool != null)
|
||||||
pool.Connection.Cache.Hosts.ToList().ForEach(h => SetLicenseServer(h, previousLicenseServerAddress, previousLicenseServerPort));
|
pool.Connection.Cache.Hosts.ToList().ForEach(h => SetLicenseServer(h, previousLicenseServerAddress, previousLicenseServerPort));
|
||||||
@ -238,12 +239,12 @@ namespace XenAdmin.Actions
|
|||||||
LicensingHelper.SendLicenseEditionData(updatedHosts, Host.GetEditionText(_edition));
|
LicensingHelper.SendLicenseEditionData(updatedHosts, Host.GetEditionText(_edition));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (licenseFailures.Count > 0)
|
if (LicenseFailures.Count > 0)
|
||||||
{
|
{
|
||||||
string exceptionText = licenseFailures.Count == 1 ? string.Format(Messages.LICENSE_ERROR_1, licenseFailures[0].Host.Name) : string.Format(Messages.LICENSE_ERROR_MANY, licenseFailures.Count, new List<IXenObject>(xos).Count);
|
string exceptionText = LicenseFailures.Count == 1 ? string.Format(Messages.LICENSE_ERROR_1, LicenseFailures[0].Host.Name) : string.Format(Messages.LICENSE_ERROR_MANY, LicenseFailures.Count, new List<IXenObject>(xos).Count);
|
||||||
|
|
||||||
if (DoOnLicensingFailure != null)
|
if (DoOnLicensingFailure != null)
|
||||||
DoOnLicensingFailure(licenseFailures, exceptionText);
|
DoOnLicensingFailure(LicenseFailures, exceptionText);
|
||||||
throw new InvalidOperationException(exceptionText);
|
throw new InvalidOperationException(exceptionText);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -163,12 +163,22 @@ namespace XenAdmin.Actions
|
|||||||
{
|
{
|
||||||
// Destroy secret after the SR creation is complete. This is safe
|
// Destroy secret after the SR creation is complete. This is safe
|
||||||
// since all PBDs will have duplicated the secret (CA-113396).
|
// since all PBDs will have duplicated the secret (CA-113396).
|
||||||
|
//
|
||||||
|
// We do this on a best-effort basis because some types of errors
|
||||||
|
// mean the secret was never actually created, so the operation will
|
||||||
|
// fail, masking any earlier error (CA-145254), or causing a successful
|
||||||
|
// SR.create to be reported as an error. The worst that can happen is
|
||||||
|
// that an unused secret will be left lying around without warning.
|
||||||
|
try
|
||||||
|
{
|
||||||
if (!string.IsNullOrEmpty(secretuuid) && Helpers.CreedenceOrGreater(Connection))
|
if (!string.IsNullOrEmpty(secretuuid) && Helpers.CreedenceOrGreater(Connection))
|
||||||
{
|
{
|
||||||
string opaqref = Secret.get_by_uuid(Session, secretuuid);
|
string opaqref = Secret.get_by_uuid(Session, secretuuid);
|
||||||
Secret.destroy(Session, opaqref);
|
Secret.destroy(Session, opaqref);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch { }
|
||||||
|
}
|
||||||
|
|
||||||
log.Debug("Checking that SR.create() actually succeeded");
|
log.Debug("Checking that SR.create() actually succeeded");
|
||||||
foreach (XenRef<PBD> pbdRef in XenAPI.SR.get_PBDs(Session, sr.opaque_ref))
|
foreach (XenRef<PBD> pbdRef in XenAPI.SR.get_PBDs(Session, sr.opaque_ref))
|
||||||
|
11
XenModel/Messages.Designer.cs
generated
11
XenModel/Messages.Designer.cs
generated
@ -1,7 +1,7 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:4.0.30319.34209
|
// Runtime Version:4.0.30319.18444
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
@ -13313,7 +13313,7 @@ namespace XenAdmin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to fetch earlier data.
|
/// Looks up a localized string similar to &Next Section.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string FETCH_EARLIER_DATA {
|
public static string FETCH_EARLIER_DATA {
|
||||||
get {
|
get {
|
||||||
@ -26900,7 +26900,7 @@ namespace XenAdmin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to run report.
|
/// Looks up a localized string similar to &Run Report.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string RUN_REPORT {
|
public static string RUN_REPORT {
|
||||||
get {
|
get {
|
||||||
@ -27143,7 +27143,7 @@ namespace XenAdmin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to {0}: All Servers, VMs, Custom Templates & Remote SRs.
|
/// Looks up a localized string similar to {0}: Overview.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string SEARCH_TITLE_HOST {
|
public static string SEARCH_TITLE_HOST {
|
||||||
get {
|
get {
|
||||||
@ -27161,7 +27161,7 @@ namespace XenAdmin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to {0}: All Servers, VMs, Custom Templates & Remote SRs.
|
/// Looks up a localized string similar to {0}: Overview.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string SEARCH_TITLE_POOL {
|
public static string SEARCH_TITLE_POOL {
|
||||||
get {
|
get {
|
||||||
@ -35470,6 +35470,5 @@ namespace XenAdmin {
|
|||||||
return ResourceManager.GetString("YOU_ARE_HERE", resourceCulture);
|
return ResourceManager.GetString("YOU_ARE_HERE", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9444,13 +9444,13 @@ Upgrading VMs using StorageLink Gateway to XenServer 6.0 is only supported if th
|
|||||||
<value>Search...</value>
|
<value>Search...</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="SEARCH_TITLE_HOST" xml:space="preserve">
|
<data name="SEARCH_TITLE_HOST" xml:space="preserve">
|
||||||
<value>{0}: All Servers, VMs, Custom Templates & Remote SRs</value>
|
<value>{0}: Overview</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="SEARCH_TITLE_OVERVIEW" xml:space="preserve">
|
<data name="SEARCH_TITLE_OVERVIEW" xml:space="preserve">
|
||||||
<value>All Servers, VMs, Custom Templates & Remote SRs</value>
|
<value>All Servers, VMs, Custom Templates & Remote SRs</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="SEARCH_TITLE_POOL" xml:space="preserve">
|
<data name="SEARCH_TITLE_POOL" xml:space="preserve">
|
||||||
<value>{0}: All Servers, VMs, Custom Templates & Remote SRs</value>
|
<value>{0}: Overview</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="SECRET_ACCESS_KEY_LABLE" xml:space="preserve">
|
<data name="SECRET_ACCESS_KEY_LABLE" xml:space="preserve">
|
||||||
<value>&Secret access key:</value>
|
<value>&Secret access key:</value>
|
||||||
|
@ -44,9 +44,6 @@ namespace XenAPI
|
|||||||
|
|
||||||
string Name { get; }
|
string Name { get; }
|
||||||
|
|
||||||
bool InError { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
IXenConnection Connection { get; set; }
|
IXenConnection Connection { get; set; }
|
||||||
|
|
||||||
bool Locked { get; set; }
|
bool Locked { get; set; }
|
||||||
|
@ -223,13 +223,16 @@ namespace XenAPI
|
|||||||
/// <param name="validRoleList">The list of roles which can perform all the methods</param>
|
/// <param name="validRoleList">The list of roles which can perform all the methods</param>
|
||||||
public static bool CanPerform(RbacMethodList apiMethodsToRoleCheck, IXenConnection connection, out List<Role> validRoleList, bool debug)
|
public static bool CanPerform(RbacMethodList apiMethodsToRoleCheck, IXenConnection connection, out List<Role> validRoleList, bool debug)
|
||||||
{
|
{
|
||||||
|
if (!connection.IsConnected)
|
||||||
|
{
|
||||||
|
validRoleList = new List<Role>();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
validRoleList = ValidRoleList(apiMethodsToRoleCheck, connection, debug);
|
validRoleList = ValidRoleList(apiMethodsToRoleCheck, connection, debug);
|
||||||
|
|
||||||
if (Helpers.MidnightRideOrGreater(connection))
|
if (Helpers.MidnightRideOrGreater(connection))
|
||||||
{
|
{
|
||||||
if (!connection.IsConnected)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (connection.Session.IsLocalSuperuser)
|
if (connection.Session.IsLocalSuperuser)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
@ -55,6 +55,7 @@ namespace XenAPI
|
|||||||
// [["0/ip", <IPv4 address>], ["0/ipv6/0", <IPv6 address>], ["0/ipv6/1", <IPv6 address>]]
|
// [["0/ip", <IPv4 address>], ["0/ipv6/0", <IPv6 address>], ["0/ipv6/1", <IPv6 address>]]
|
||||||
List<string> addresses = (from network in vmGuestMetrics.networks
|
List<string> addresses = (from network in vmGuestMetrics.networks
|
||||||
where network.Key.StartsWith(String.Format("{0}/ip", this.device))
|
where network.Key.StartsWith(String.Format("{0}/ip", this.device))
|
||||||
|
orderby network.Key
|
||||||
select network.Value).ToList();
|
select network.Value).ToList();
|
||||||
|
|
||||||
if (addresses.Count > 0)
|
if (addresses.Count > 0)
|
||||||
|
@ -57,7 +57,7 @@ namespace XenAPI
|
|||||||
// or different XenServer versions.
|
// or different XenServer versions.
|
||||||
private const int DEFAULT_NUM_VCPUS_ALLOWED = 16;
|
private const int DEFAULT_NUM_VCPUS_ALLOWED = 16;
|
||||||
private const int DEFAULT_NUM_VIFS_ALLOWED = 7;
|
private const int DEFAULT_NUM_VIFS_ALLOWED = 7;
|
||||||
private const int DEFAULT_NUM_VBDS_ALLOWED = 7;
|
private const int DEFAULT_NUM_VBDS_ALLOWED = 16;
|
||||||
public const long DEFAULT_MEM_ALLOWED = 128 * Util.BINARY_GIGA;
|
public const long DEFAULT_MEM_ALLOWED = 128 * Util.BINARY_GIGA;
|
||||||
public const int DEFAULT_CORES_PER_SOCKET = 1;
|
public const int DEFAULT_CORES_PER_SOCKET = 1;
|
||||||
private SnapshotsView _snapshotView = SnapshotsView.None;
|
private SnapshotsView _snapshotView = SnapshotsView.None;
|
||||||
@ -419,6 +419,51 @@ namespace XenAPI
|
|||||||
get { return HVM_boot_policy != ""; }
|
get { return HVM_boot_policy != ""; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool HasRDP
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
var metrics = Connection.Resolve(this.guest_metrics);
|
||||||
|
if (metrics == null)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return 0 != IntKey(metrics.other, "feature-ts", 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Returns true if
|
||||||
|
/// 1) the guest is HVM and
|
||||||
|
/// 2a) the allow-gpu-passthrough restriction is absent or
|
||||||
|
/// 2b) the allow-gpu-passthrough restriction is non-zero
|
||||||
|
///</summary>
|
||||||
|
public bool CanHaveVGpu
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (!IsHVM)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
XmlDocument xd = GetRecommendations();
|
||||||
|
|
||||||
|
if (xd == null)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
XmlNode xn = xd.SelectSingleNode(@"restrictions/restriction[@field='allow-gpu-passthrough']");
|
||||||
|
if (xn == null)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return
|
||||||
|
Convert.ToInt32(xn.Attributes["value"].Value) != 0;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void set_other_config(string key, string value)
|
void set_other_config(string key, string value)
|
||||||
{
|
{
|
||||||
Dictionary<string, string> new_other_config =
|
Dictionary<string, string> new_other_config =
|
||||||
|
@ -100,7 +100,6 @@ namespace XenAPI
|
|||||||
IXenObject result = (IXenObject)MemberwiseClone();
|
IXenObject result = (IXenObject)MemberwiseClone();
|
||||||
result.ClearEventListeners();
|
result.ClearEventListeners();
|
||||||
result.Locked = false;
|
result.Locked = false;
|
||||||
result.InError = false;
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -264,17 +263,9 @@ namespace XenAPI
|
|||||||
return s != null && int.TryParse(s, out result) ? result : def;
|
return s != null && int.TryParse(s, out result) ? result : def;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool in_error;
|
|
||||||
|
|
||||||
public virtual string Name
|
public virtual string Name
|
||||||
{
|
{
|
||||||
get { return ""; }
|
get { return ""; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool InError
|
|
||||||
{
|
|
||||||
get { return in_error; }
|
|
||||||
set { in_error = value; }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -271,7 +271,7 @@ namespace XenAdmin.XenSearch
|
|||||||
|
|
||||||
public int CompareTo(Search other)
|
public int CompareTo(Search other)
|
||||||
{
|
{
|
||||||
int i = -DefaultSearch.CompareTo(other.DefaultSearch);
|
int i = DefaultSearch.CompareTo(other.DefaultSearch);
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
return Name.CompareTo(other.Name);
|
return Name.CompareTo(other.Name);
|
||||||
|
|
||||||
|
@ -491,6 +491,7 @@ namespace XenOvfTransport
|
|||||||
args.Add("vdi_uuid", vdiuuid);
|
args.Add("vdi_uuid", vdiuuid);
|
||||||
args.Add("transfer_mode", "ISCSI");
|
args.Add("transfer_mode", "ISCSI");
|
||||||
args.Add("read_only", read_only ? "true" : "false");
|
args.Add("read_only", read_only ? "true" : "false");
|
||||||
|
args.Add("timeout_minutes", "1");
|
||||||
|
|
||||||
//Transfer VM IP settings
|
//Transfer VM IP settings
|
||||||
foreach (var kvp in m_networkArgs)
|
foreach (var kvp in m_networkArgs)
|
||||||
|
@ -34,11 +34,11 @@
|
|||||||
<schema version="2.3.121.0" generator="dotNetInstaller InstallerEditor" />
|
<schema version="2.3.121.0" generator="dotNetInstaller InstallerEditor" />
|
||||||
<fileattributes><fileattribute name="CompanyName" value="Citrix Systems, Inc." /><fileattribute name="FileDescription" value="Citrix XenCenter Installer" /><fileattribute name="ProductName" value="Citrix XenCenter" /><fileattribute name="LegalCopyright" /><fileattribute name="LegalTrademarks" /><fileattribute name="ProductVersion" value="." /><fileattribute name="FileVersion" value="." /></fileattributes>
|
<fileattributes><fileattribute name="CompanyName" value="Citrix Systems, Inc." /><fileattribute name="FileDescription" value="Citrix XenCenter Installer" /><fileattribute name="ProductName" value="Citrix XenCenter" /><fileattribute name="LegalCopyright" /><fileattribute name="LegalTrademarks" /><fileattribute name="ProductVersion" value="." /><fileattribute name="FileVersion" value="." /></fileattributes>
|
||||||
<configuration dialog_caption="Citrix XenCenter Installer" dialog_message="In order to install Citrix XenCenter you must first install these components:" dialog_message_uninstall="" dialog_bitmap="#APPPATH\banner.bmp" skip_caption="Skip" install_caption="Install" uninstall_caption="Uninstall" cancel_caption="Close" status_installed=" (Installed)" status_notinstalled="" failed_exec_command_continue="" installation_completed="Citrix XenCenter installed successfully!" uninstallation_completed="Citrix XenCenter uninstalled successfully!" installation_none="Citrix XenCenter is already installed!" uninstallation_none="Citrix XenCenter is not installed!" installing_component_wait="Installing %s. Wait, this operation could take some time ..." uninstalling_component_wait="Uninstalling %s. Wait, this operation could take some time ..." reboot_required="To continue the installation you must restart your computer. Restart now?" must_reboot_required="False" dialog_otherinfo_caption="" dialog_otherinfo_link="" complete_command="" complete_command_silent="" complete_command_basic="" wait_for_complete_command="True" prompt_for_optional_components="False" auto_close_if_installed="True" auto_close_on_error="False" reload_on_error="False" dialog_show_installed="False" dialog_show_uninstalled="False" dialog_show_required="False" cab_dialog_message="%s" cab_cancelled_message="" cab_dialog_caption="" cab_path="#TEMPPATH\#GUID" cab_path_autodelete="False" dialog_default_button="cancel" dialog_position="" dialog_components_list_position="" dialog_message_position="" dialog_bitmap_position="" dialog_otherinfo_link_position="" dialog_osinfo_position="" dialog_install_button_position="" dialog_cancel_button_position="" dialog_skip_button_position="" auto_start="True" auto_continue_on_reboot="False" reboot_cmd="" show_progress_dialog="False" show_cab_dialog="False" disable_wow64_fs_redirection="False" administrator_required="False" administrator_required_message="Citrix XenCenter installation requires administration rights." type="install" lcid_filter="" language_id="" language="" os_filter="" os_filter_min="" os_filter_max="" processor_architecture_filter="" supports_install="True" supports_uninstall="True">
|
<configuration dialog_caption="Citrix XenCenter Installer" dialog_message="In order to install Citrix XenCenter you must first install these components:" dialog_message_uninstall="" dialog_bitmap="#APPPATH\banner.bmp" skip_caption="Skip" install_caption="Install" uninstall_caption="Uninstall" cancel_caption="Close" status_installed=" (Installed)" status_notinstalled="" failed_exec_command_continue="" installation_completed="Citrix XenCenter installed successfully!" uninstallation_completed="Citrix XenCenter uninstalled successfully!" installation_none="Citrix XenCenter is already installed!" uninstallation_none="Citrix XenCenter is not installed!" installing_component_wait="Installing %s. Wait, this operation could take some time ..." uninstalling_component_wait="Uninstalling %s. Wait, this operation could take some time ..." reboot_required="To continue the installation you must restart your computer. Restart now?" must_reboot_required="False" dialog_otherinfo_caption="" dialog_otherinfo_link="" complete_command="" complete_command_silent="" complete_command_basic="" wait_for_complete_command="True" prompt_for_optional_components="False" auto_close_if_installed="True" auto_close_on_error="False" reload_on_error="False" dialog_show_installed="False" dialog_show_uninstalled="False" dialog_show_required="False" cab_dialog_message="%s" cab_cancelled_message="" cab_dialog_caption="" cab_path="#TEMPPATH\#GUID" cab_path_autodelete="False" dialog_default_button="cancel" dialog_position="" dialog_components_list_position="" dialog_message_position="" dialog_bitmap_position="" dialog_otherinfo_link_position="" dialog_osinfo_position="" dialog_install_button_position="" dialog_cancel_button_position="" dialog_skip_button_position="" auto_start="True" auto_continue_on_reboot="False" reboot_cmd="" show_progress_dialog="False" show_cab_dialog="False" disable_wow64_fs_redirection="False" administrator_required="False" administrator_required_message="Citrix XenCenter installation requires administration rights." type="install" lcid_filter="" language_id="" language="" os_filter="" os_filter_min="" os_filter_max="" processor_architecture_filter="" supports_install="True" supports_uninstall="True">
|
||||||
<component command=""#CABPATH\dotNetFx40_Full_setup.exe" "/norestart "" command_silent="" command_basic="" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.0 - Full" display_name="Microsoft .NET Framework 4.0" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.0 - Full for all operating system since Windows XP SP3 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
<component command=""#CABPATH\dotNetFx40_Full_setup.exe" /norestart" command_silent=""#CABPATH\dotNetFx40_Full_setup.exe" /passive /norestart" command_basic=""#CABPATH\dotNetFx40_Full_setup.exe" /norestart" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="dotNetFx" display_name="Microsoft .NET Framework 4.0" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.0 - Full for all operating system since Windows XP SP3 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
||||||
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
|
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
|
||||||
<embedfile sourcefilepath="dotNetFx40_Full_setup.exe" targetfilepath="" />
|
<embedfile sourcefilepath="dotNetFx40_Full_setup.exe" targetfilepath="" />
|
||||||
</component>
|
</component>
|
||||||
<component package="#CABPATH\xencenter.msi" cmdparameters="" cmdparameters_silent="/qf" cmdparameters_basic="/qf" uninstall_package="" uninstall_cmdparameters="/qb-" uninstall_cmdparameters_silent="/qf" uninstall_cmdparameters_basic="/qb-" disable_wow64_fs_redirection="False" id="XenCenter" display_name="Citrix XenCenter" uninstall_display_name="" os_filter="" os_filter_min="" os_filter_max="" os_filter_lcid="" type="msi" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="True" selected_install="True" selected_uninstall="True" note="" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="True" show_progress_dialog="True" show_cab_dialog="False">
|
<component package="#CABPATH\xencenter.msi" cmdparameters=" " cmdparameters_silent="/passive" cmdparameters_basic=" " uninstall_package="" uninstall_cmdparameters="/qb-" uninstall_cmdparameters_silent="/qf" uninstall_cmdparameters_basic="/qb-" disable_wow64_fs_redirection="False" id="XenCenter" display_name="Citrix XenCenter" uninstall_display_name="" os_filter="" os_filter_min="" os_filter_max="" os_filter_lcid="" type="msi" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="True" selected_install="True" selected_uninstall="True" note="" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="True" show_progress_dialog="True" show_cab_dialog="False">
|
||||||
<embedfile sourcefilepath="XenCenter.msi" targetfilepath="" />
|
<embedfile sourcefilepath="XenCenter.msi" targetfilepath="" />
|
||||||
</component>
|
</component>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
@ -35,27 +35,27 @@
|
|||||||
<fileattributes><fileattribute name="CompanyName" value="Citrix Systems, Inc." /><fileattribute name="FileDescription" value="Citrix XenCenter Installer" /><fileattribute name="ProductName" value="Citrix XenCenter" /><fileattribute name="LegalCopyright" /><fileattribute name="LegalTrademarks" /><fileattribute name="ProductVersion" value="." /><fileattribute name="FileVersion" value="." /></fileattributes>
|
<fileattributes><fileattribute name="CompanyName" value="Citrix Systems, Inc." /><fileattribute name="FileDescription" value="Citrix XenCenter Installer" /><fileattribute name="ProductName" value="Citrix XenCenter" /><fileattribute name="LegalCopyright" /><fileattribute name="LegalTrademarks" /><fileattribute name="ProductVersion" value="." /><fileattribute name="FileVersion" value="." /></fileattributes>
|
||||||
<configuration dialog_caption="Citrix XenCenter Installer" dialog_message="In order to install Citrix XenCenter you must first install these components:" dialog_message_uninstall="" dialog_bitmap="#APPPATH\banner.bmp" skip_caption="Skip" install_caption="Install" uninstall_caption="Uninstall" cancel_caption="Close" status_installed=" (Installed)" status_notinstalled="" failed_exec_command_continue="" installation_completed="Citrix XenCenter installed successfully!" uninstallation_completed="Citrix XenCenter uninstalled successfully!" installation_none="Citrix XenCenter is already installed!" uninstallation_none="Citrix XenCenter is not installed!" installing_component_wait="Installing %s. Wait, this operation could take some time ..." uninstalling_component_wait="Uninstalling %s. Wait, this operation could take some time ..." reboot_required="To continue the installation you must restart your computer. Restart now?" must_reboot_required="False" dialog_otherinfo_caption="" dialog_otherinfo_link="" complete_command="" complete_command_silent="" complete_command_basic="" wait_for_complete_command="True" prompt_for_optional_components="False" auto_close_if_installed="True" auto_close_on_error="False" reload_on_error="False" dialog_show_installed="False" dialog_show_uninstalled="False" dialog_show_required="False" cab_dialog_message="%s" cab_cancelled_message="" cab_dialog_caption="" cab_path="#TEMPPATH\#GUID" cab_path_autodelete="False" dialog_default_button="cancel" dialog_position="" dialog_components_list_position="" dialog_message_position="" dialog_bitmap_position="" dialog_otherinfo_link_position="" dialog_osinfo_position="" dialog_install_button_position="" dialog_cancel_button_position="" dialog_skip_button_position="" auto_start="True" auto_continue_on_reboot="False" reboot_cmd="" show_progress_dialog="False" show_cab_dialog="False" disable_wow64_fs_redirection="False" administrator_required="False" administrator_required_message="Citrix XenCenter installation requires administration rights." type="install" lcid_filter="" language_id="" language="" os_filter="" os_filter_min="" os_filter_max="" processor_architecture_filter="" supports_install="True" supports_uninstall="True">
|
<configuration dialog_caption="Citrix XenCenter Installer" dialog_message="In order to install Citrix XenCenter you must first install these components:" dialog_message_uninstall="" dialog_bitmap="#APPPATH\banner.bmp" skip_caption="Skip" install_caption="Install" uninstall_caption="Uninstall" cancel_caption="Close" status_installed=" (Installed)" status_notinstalled="" failed_exec_command_continue="" installation_completed="Citrix XenCenter installed successfully!" uninstallation_completed="Citrix XenCenter uninstalled successfully!" installation_none="Citrix XenCenter is already installed!" uninstallation_none="Citrix XenCenter is not installed!" installing_component_wait="Installing %s. Wait, this operation could take some time ..." uninstalling_component_wait="Uninstalling %s. Wait, this operation could take some time ..." reboot_required="To continue the installation you must restart your computer. Restart now?" must_reboot_required="False" dialog_otherinfo_caption="" dialog_otherinfo_link="" complete_command="" complete_command_silent="" complete_command_basic="" wait_for_complete_command="True" prompt_for_optional_components="False" auto_close_if_installed="True" auto_close_on_error="False" reload_on_error="False" dialog_show_installed="False" dialog_show_uninstalled="False" dialog_show_required="False" cab_dialog_message="%s" cab_cancelled_message="" cab_dialog_caption="" cab_path="#TEMPPATH\#GUID" cab_path_autodelete="False" dialog_default_button="cancel" dialog_position="" dialog_components_list_position="" dialog_message_position="" dialog_bitmap_position="" dialog_otherinfo_link_position="" dialog_osinfo_position="" dialog_install_button_position="" dialog_cancel_button_position="" dialog_skip_button_position="" auto_start="True" auto_continue_on_reboot="False" reboot_cmd="" show_progress_dialog="False" show_cab_dialog="False" disable_wow64_fs_redirection="False" administrator_required="False" administrator_required_message="Citrix XenCenter installation requires administration rights." type="install" lcid_filter="" language_id="" language="" os_filter="" os_filter_min="" os_filter_max="" processor_architecture_filter="" supports_install="True" supports_uninstall="True">
|
||||||
<!-- ja-jp -->
|
<!-- ja-jp -->
|
||||||
<component command=""#CABPATH\dotNetFx40_Full_setup.exe" "/norestart "" command_silent="" command_basic="" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.0 - Full" display_name="Microsoft .NET Framework 4.0" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="1041" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.0 - Full for all operating system since Windows XP SP3 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
<component command=""#CABPATH\dotNetFx40_Full_setup.exe" /norestart" command_silent=""#CABPATH\dotNetFx40_Full_setup.exe" /passive /norestart" command_basic=""#CABPATH\dotNetFx40_Full_setup.exe" /norestart" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.0 - Full" display_name="Microsoft .NET Framework 4.0" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="1041" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.0 - Full for all operating system since Windows XP SP3 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
||||||
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
|
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
|
||||||
<embedfile sourcefilepath="dotNetFx40_Full_setup.exe" targetfilepath="" />
|
<embedfile sourcefilepath="dotNetFx40_Full_setup.exe" targetfilepath="" />
|
||||||
</component>
|
</component>
|
||||||
<!-- zh-cn -->
|
<!-- zh-cn -->
|
||||||
<component command=""#CABPATH\dotNetFx40_Full_setup.exe" "/norestart "" command_silent="" command_basic="" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.0 - Full" display_name="Microsoft .NET Framework 4.0" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="2052" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.0 - Full for all operating system since Windows XP SP3 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
<component command=""#CABPATH\dotNetFx40_Full_setup.exe" /norestart" command_silent=""#CABPATH\dotNetFx40_Full_setup.exe" /passive /norestart" command_basic=""#CABPATH\dotNetFx40_Full_setup.exe" /norestart" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.0 - Full" display_name="Microsoft .NET Framework 4.0" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="2052" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.0 - Full for all operating system since Windows XP SP3 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
||||||
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
|
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
|
||||||
<embedfile sourcefilepath="dotNetFx40_Full_setup.exe" targetfilepath="" />
|
<embedfile sourcefilepath="dotNetFx40_Full_setup.exe" targetfilepath="" />
|
||||||
</component>
|
</component>
|
||||||
<!-- zh-tw -->
|
<!-- zh-tw -->
|
||||||
<component command=""#CABPATH\dotNetFx40_Full_setup.exe" "/norestart "" command_silent="" command_basic="" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.0 - Full" display_name="Microsoft .NET Framework 4.0" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="1028" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.0 - Full for all operating system since Windows XP SP3 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
<component command=""#CABPATH\dotNetFx40_Full_setup.exe" /norestart" command_silent=""#CABPATH\dotNetFx40_Full_setup.exe" /passive /norestart" command_basic=""#CABPATH\dotNetFx40_Full_setup.exe" /norestart" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.0 - Full" display_name="Microsoft .NET Framework 4.0" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="1028" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.0 - Full for all operating system since Windows XP SP3 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
||||||
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
|
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
|
||||||
<embedfile sourcefilepath="dotNetFx40_Full_setup.exe" targetfilepath="" />
|
<embedfile sourcefilepath="dotNetFx40_Full_setup.exe" targetfilepath="" />
|
||||||
</component>
|
</component>
|
||||||
<!-- all others: en -->
|
<!-- all others: en -->
|
||||||
<component command=""#CABPATH\dotNetFx40_Full_setup.exe" "/norestart "" command_silent="" command_basic="" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.0 - Full" display_name="Microsoft .NET Framework 4.0" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="!1041,!2052,!1028" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.0 - Full for all operating system since Windows XP SP3 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
<component command=""#CABPATH\dotNetFx40_Full_setup.exe" /norestart" command_silent=""#CABPATH\dotNetFx40_Full_setup.exe" /passive /norestart" command_basic=""#CABPATH\dotNetFx40_Full_setup.exe" /norestart" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.0 - Full" display_name="Microsoft .NET Framework 4.0" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="!1041,!2052,!1028" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.0 - Full for all operating system since Windows XP SP3 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
||||||
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
|
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
|
||||||
<embedfile sourcefilepath="dotNetFx40_Full_setup.exe" targetfilepath="" />
|
<embedfile sourcefilepath="dotNetFx40_Full_setup.exe" targetfilepath="" />
|
||||||
</component>
|
</component>
|
||||||
<!-- XenCenter msi -->
|
<!-- XenCenter msi -->
|
||||||
<component package="#CABPATH\XenCenter.msi" cmdparameters="" cmdparameters_silent="/qf" cmdparameters_basic="/qf" uninstall_package="" uninstall_cmdparameters="/qb-" uninstall_cmdparameters_silent="/qf" uninstall_cmdparameters_basic="/qb-" disable_wow64_fs_redirection="False" id="XenCenter" display_name="Citrix XenCenter" uninstall_display_name="" os_filter="" os_filter_min="" os_filter_max="" os_filter_lcid="" type="msi" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="True" selected_install="True" selected_uninstall="True" note="" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="True" show_progress_dialog="True" show_cab_dialog="True">
|
<component package="#CABPATH\xencenter.msi" cmdparameters=" " cmdparameters_silent="/passive" cmdparameters_basic=" " uninstall_package="" uninstall_cmdparameters="/qb-" uninstall_cmdparameters_silent="/qf" uninstall_cmdparameters_basic="/qb-" disable_wow64_fs_redirection="False" id="XenCenter" display_name="Citrix XenCenter" uninstall_display_name="" os_filter="" os_filter_min="" os_filter_max="" os_filter_lcid="" type="msi" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="True" selected_install="True" selected_uninstall="True" note="" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="True" show_progress_dialog="True" show_cab_dialog="True">
|
||||||
<embedfile sourcefilepath="XenCenter.l10n.msi" targetfilepath="XenCenter.msi" />
|
<embedfile sourcefilepath="XenCenter.l10n.msi" targetfilepath="XenCenter.msi" />
|
||||||
</component>
|
</component>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
Loading…
Reference in New Issue
Block a user