protected ListItem CreateServerItem(ServerDescriptor sd) { ListItem result = new ListItem(); SystemName system = sd.GetPreferredLink(); result.SetLabel(Consts.KEY_NAME, LocalizationHelper.Translate(Consts.RES_SERVER_FORMAT_TEXT, sd.ServerName, system.HostName)); result.SetLabel(Consts.KEY_SERVER_NAME, sd.ServerName); result.SetLabel(Consts.KEY_SYSTEM, system.HostName); result.AdditionalProperties[Consts.KEY_SERVER_DESCRIPTOR] = sd; result.Command = new MethodDelegateCommand(() => ChooseNewHomeServerAndClose(result)); return result; }
/// <summary> /// Shows an info dialog that the server with the given <see cref="sd"/> was attached. /// </summary> /// <param name="sd">Descriptor of the server whose information should be shown.</param> protected void ShowAttachInformationDialogAndClose(ServerDescriptor sd) { IScreenManager screenManager = ServiceRegistration.Get<IScreenManager>(); IDialogManager dialogManager = ServiceRegistration.Get<IDialogManager>(); _attachInfoDialogHandle = Guid.Empty; // Set this to value != null here to make the attachment dialog's close handler know we are not finished in our WF-state screenManager.CloseTopmostDialog(); string header = LocalizationHelper.Translate(Consts.RES_ATTACH_INFO_DIALOG_HEADER); string text = LocalizationHelper.Translate(Consts.RES_ATTACH_INFO_DIALOG_TEXT, sd.ServerName, sd.GetPreferredLink().HostName); Guid handle = dialogManager.ShowDialog(header, text, DialogType.OkDialog, false, DialogButtonType.Ok); lock (_syncObj) _attachInfoDialogHandle = handle; }
/// <summary> /// When a home server is connected, we store the connection data of the server to be able to /// provide the home server's data also when the connection is down. We'll refresh the data each time /// the server is connected to track changes in the server's location, name, ... /// </summary> protected static void SaveLastHomeServerData(ServerDescriptor serverDescriptor) { ISettingsManager settingsManager = ServiceRegistration.Get<ISettingsManager>(); ServerConnectionSettings settings = settingsManager.Load<ServerConnectionSettings>(); settings.LastHomeServerName = serverDescriptor.ServerName; settings.LastHomeServerSystem = serverDescriptor.GetPreferredLink(); settingsManager.Save(settings); }