/// <summary>
        /// Handles the Loaded event of the Window control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.Windows.RoutedEventArgs"/> instance containing the event data.</param>
        private void WindowLoaded(object sender, RoutedEventArgs e)
        {
            if (AeroGlassCompositionEnabled)
            {
                SetAeroGlassTransparency();
            }

            // Twitter

            _twitter = new Twitter
                {
                    Tokens = Settings.Get("Twitter OAuth", new List<string>())
                };

            postToTwitter.IsChecked = Settings.Get<bool>("Post to Twitter");

            if (_twitter.Tokens.Count == 4)
            {
                twitterUserName.Text = _twitter.Tokens[1];
                twitterUserLink.NavigateUri = new Uri("http://twitter.com/" + _twitter.Tokens[1]);
                twitterNoAuthMsg.Visibility = Visibility.Collapsed;
                twitterOkAuthMsg.Visibility = Visibility.Visible;
                twitterAuthStackPanel.Effect = new BlurEffect();
                twitterAuthStackPanel.IsHitTestVisible = twitterPinTextBox.IsTabStop = twitterFinishAuthButton.IsTabStop = false;
            }

            twitterStatusFormat.Text = Settings.Get("Twitter Status Format", _twitter.DefaultStatusFormat);

            // Identi.ca

            _identica = new Identica
                {
                    Tokens = Settings.Get("Identi.ca OAuth", new List<string>())
                };

            postToIdentica.IsChecked = Settings.Get<bool>("Post to Identi.ca");

            if (_identica.Tokens.Count == 4)
            {
                identicaUserName.Text = _identica.Tokens[1];
                identicaUserLink.NavigateUri = new Uri("http://identi.ca/" + _identica.Tokens[1]);
                identicaNoAuthMsg.Visibility = Visibility.Collapsed;
                identicaOkAuthMsg.Visibility = Visibility.Visible;
                identicaAuthStackPanel.Effect = new BlurEffect();
                identicaAuthStackPanel.IsHitTestVisible = identicaPinTextBox.IsTabStop = identicaFinishAuthButton.IsTabStop = false;
            }

            identicaStatusFormat.Text = Settings.Get("Identi.ca Status Format", _identica.DefaultStatusFormat);

            // Facebook

            _facebook = new Facebook
                {
                    Tokens = Settings.Get("Facebook OAuth", new List<string>())
                };

            postToFacebook.IsChecked = Settings.Get<bool>("Post to Facebook");

            if (_facebook.Tokens.Count == 4)
            {
                facebookUserName.Text = _facebook.Tokens[1];
                facebookUserLink.NavigateUri = new Uri("http://facebook.com/profile.php?id=" + _facebook.Tokens[0]);
                facebookNoAuthMsg.Visibility = Visibility.Collapsed;
                facebookOkAuthMsg.Visibility = Visibility.Visible;
            }

            facebookStatusFormat.Text = Settings.Get("Facebook Status Format", _facebook.DefaultStatusFormat);

            // Settings

            onlyNew.IsChecked = Settings.Get("Post only recent", true);

            switch (Settings.Get("Post restrictions list type", "black"))
            {
                case "black":
                    blackListRadioButton.IsChecked = true;
                    listTypeText.Text = "Specify TV shows to block from being posted:";
                    break;

                case "white":
                    whiteListRadioButton.IsChecked = true;
                    listTypeText.Text = "Specify TV shows to allow to be posted:";
                    break;
            }

            foreach (var show in Settings.Get("Post restrictions list", new List<int>()))
            {
                if (Database.TVShows.ContainsKey(show))
                {
                    listBox.Items.Add(Database.TVShows[show].Name);
                }
                else
                {
                    listBox.Items.Add("Unknown show #" + show);
                }
            }

            _loaded = true;

            ListBoxSelectionChanged();

            foreach (var show in Database.TVShows.Values.OrderBy(x => x.Name))
            {
                listComboBox.Items.Add(show.Name);
            }

            ListComboBoxSelectionChanged();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="FacebookAuthWindow"/> class.
        /// </summary>
        /// <param name="facebook">The Facebook engine instance.</param>
        public FacebookAuthWindow(Facebook facebook)
        {
            InitializeComponent();

            _facebook = facebook;
        }