/// <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;
        }
Ejemplo n.º 2
0
        /// <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");
        }
Ejemplo n.º 3
0
        /// <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);
        }