/// <summary> /// Sets the new connection settings for the addin, /// connects to the server and refreshes the active wiki explorer. /// </summary> private void ApplyConnectionSettings() { Cursor c = addinSettingsForm.Cursor; addinSettingsForm.Cursor = Cursors.WaitCursor; if (addinSettingsForm.ServerURL.EndsWith("/")) { addinSettingsForm.ServerURL = addinSettingsForm.ServerURL.Substring(0, addinSettingsForm.ServerURL.Length - 1); } addin.ServerURL = addinSettingsForm.ServerURL; addin.Username = addinSettingsForm.UserName; addin.Password = addinSettingsForm.Password; LoginData loginData = new LoginData(LoginData.XWORD_LOGIN_DATA_FILENAME); addin.Client = XWikiClientFactory.CreateXWikiClient(addin.ClientType, addin.ServerURL, addin.Username, addin.Password); if (addinSettingsForm.IsCkRememberMeChecked) { String[] credentials = new String[3]; credentials[0] = Globals.XWord2003AddIn.ServerURL; credentials[1] = Globals.XWord2003AddIn.Username; credentials[2] = Globals.XWord2003AddIn.Password; loginData.WriteCredentials(credentials); } else { loginData.ClearCredentials(); } //Write the settings to isolated storage. XOfficeCommonSettingsHandler.WriteRepositorySettings(addinSettings); addinSettingsForm.Cursor = c; }
/// <summary> /// Makes the login to the server, using the ConnectionSettingsForm /// or the last stored credentials. /// Adds the taskpanes. /// </summary> public void InitializeAddin() { //Set encoding to ISO-8859-1(Western) Application.Options.DefaultTextEncoding = Microsoft.Office.Core.MsoEncoding.msoEncodingWestern; Application.Options.UseNormalStyleForList = true; this.SaveFormat = Word.WdSaveFormat.wdFormatHTML; timer = new System.Timers.Timer(TIMER_INTERVAL); //Repositories and temporary files settings if (XOfficeCommonSettingsHandler.HasSettings()) { addinSettings = XOfficeCommonSettingsHandler.GetSettings(); if (addinSettings.MetaDataFolderSuffix == "") { SetFolderSuffix(addinSettings); } } else { this.AddinSettings = new XOfficeCommonSettings(); } timer.Elapsed += new ElapsedEventHandler(timer_Elapsed); timer.Start(); InitializeEventsHandlers(); bool connected = false; bool hasCredentials = LoadCredentials(); if (hasCredentials && AddinSettings.AutoLogin) { Client = XWikiClientFactory.CreateXWikiClient(AddinSettings.ClientType, serverURL, username, password); connected = Client.LoggedIn; } else if (!hasCredentials) { //if the user wants to login at startup, and enter the credentials if (AddinSettings.AutoLogin) { if (ShowConnectToServerUI()) { connected = Client.LoggedIn; this.AddinStatus.Syntax = this.DefaultSyntax; } } } if (!connected) { Globals.Ribbons.XWikiRibbon.SwitchToOfflineMode(); } else if (Client.LoggedIn) { Globals.Ribbons.XWikiRibbon.SwitchToOnlineMode(); } this.AnnotationMaintainer = new AnnotationMaintainer(); addinActions = new AddinActions(this); Log.Success("XWord started"); }
/// <summary> /// Logins to the server by using the last used credentials.(If the user choosed to save them). /// </summary> /// <returns></returns> private bool AutoLogin() { LoginData loginData = new LoginData(LoginData.XWORD_LOGIN_DATA_FILENAME); bool canAutoLogin = loginData.CanAutoLogin(); if (canAutoLogin) { String[] credentials = loginData.GetCredentials(); serverURL = credentials[0]; username = credentials[1]; password = credentials[2]; Client = XWikiClientFactory.CreateXWikiClient(ClientType, serverURL, username, password); } return(canAutoLogin); }