Beispiel #1
0
        public override void SaveSettings()
        {
            Settings.EnableAutoScale    = chkEnableAutoScale.Checked;
            Settings.TruncatePathMethod = _NO_TRANSLATE_truncatePathMethod.Text;
            Settings.ShowCurrentBranchInVisualStudio = chkShowCurrentBranchInVisualStudio.Checked;

            if ((int)_NO_TRANSLATE_authorImageSize.Value != Settings.AuthorImageSize)
            {
                Settings.AuthorImageSize = (int)_NO_TRANSLATE_authorImageSize.Value;
                GravatarService.ClearImageCache();
            }

            Settings.Translation = Language.Text;
            Strings.Reinit();

            Settings.AuthorImageCacheDays = (int)_NO_TRANSLATE_DaysToCacheImages.Value;

            Settings.ShowAuthorGravatar      = ShowAuthorGravatar.Checked;
            Settings.GravatarFallbackService = noImageService.Text;

            Settings.RelativeDate = chkShowRelativeDate.Checked;

            Settings.Dictionary = Dictionary.Text;

            Settings.DiffFont = _diffFont;
            Settings.Font     = _applicationFont;
        }
Beispiel #2
0
        /// <summary>
        ///   Update the Gravatar anytime an attribute is changed
        /// </summary>
        private void UpdateGravatar()
        {
            // resize our control (I'm not using AutoSize for a reason)
            Size = new Size(Settings.AuthorImageSize, Settings.AuthorImageSize);
            _gravatarImg.Size = new Size(Settings.AuthorImageSize, Settings.AuthorImageSize);

            if (!Settings.ShowAuthorGravatar || string.IsNullOrEmpty(Email))
            {
                RefreshImage(Resources.User);
                return;
            }

            FallBackService gravatarFallBack = FallBackService.Identicon;

            try
            {
                gravatarFallBack = (FallBackService)Enum.Parse(typeof(FallBackService), Settings.GravatarFallbackService);
            }
            catch
            {
                Settings.GravatarFallbackService = gravatarFallBack.ToString();
            }

            ThreadPool.QueueUserWorkItem(o =>
                                         GravatarService.LoadCachedImage(
                                             ImageFileName,
                                             Email,
                                             Resources.User,
                                             Settings.AuthorImageCacheDays,
                                             Settings.AuthorImageSize,
                                             Settings.GravatarCachePath,
                                             RefreshImage,
                                             gravatarFallBack));
        }
Beispiel #3
0
        /// <summary>
        /// Logon to Gravatar service and safe Base64-encoded username/password combination in connectOut
        /// </summary>
        /// <param name="connectIn">If recurring login, information from last connectOut (should contain encoded password)</param>
        /// <param name="userName">The username supplied</param>
        /// <param name="password">If first login, the password supplied by the user</param>
        /// <param name="connectOut">Some value to cache, which allows us later to logon again (without the password)</param>
        public void LogonCached(string connectIn, string userName, string password, out string connectOut)
        {
            string realUsername = userName;
            string realPassword = password;

            if (!string.IsNullOrEmpty(connectIn))
            {
                Debug.WriteLine("LogonCached called with connectIn: " + connectIn);
                var parts = connectIn.Split(':');
                realUsername = Encoding.UTF8.GetString(Convert.FromBase64String(parts[0]));
                realPassword = Encoding.UTF8.GetString(Convert.FromBase64String(parts[1]));
                connectOut   = connectIn;
            }
            else
            {
                Debug.WriteLine("LogonCached called with username='******' and password='******'");
                connectOut = String.Format("{0}:{1}", Convert.ToBase64String(Encoding.UTF8.GetBytes(userName)), Convert.ToBase64String(Encoding.UTF8.GetBytes(password)));
            }

            _gravatarService = new GravatarService(realUsername, realPassword);
            var response = _gravatarService.Test();

            if (response.IsError)
            {
                Debug.WriteLine("Failed to login to Gravatar");
                throw new Exception();
            }

            _loggedOnUser = realUsername;
        }
Beispiel #4
0
        public void GetGravatarLink_ValidEMail_ReturnsValidLink(string email, string expectedLink)
        {
            var gravatarService = new GravatarService();

            var link = gravatarService.GetGravatarLink(email);

            Assert.Equal(expectedLink, link);
        }
Beispiel #5
0
        public void GetGravatarHash_ValidEMail_ReturnsValidMD5Hash(string email, string expectedHash)
        {
            var gravatarService = new GravatarService();

            var hash = gravatarService.GetGravatarHash(email);

            Assert.Equal(expectedHash, hash);
        }
Beispiel #6
0
        public void ItHasGetGravatarMethod()
        {
            // Arrange
            IGravatarService gravatarService = new GravatarService();

            // Act
            gravatarService.GetGravatar("*****@*****.**");
        }
Beispiel #7
0
        private void toolStripMenuItemClick(object sender, EventArgs e)
        {
            var toolStripItem = (ToolStripItem)sender;

            Settings.AuthorImageSize = int.Parse((string)toolStripItem.Tag);
            GravatarService.ClearImageCache();
            UpdateGravatar();
        }
        public void Setup()
        {
            _cache = Substitute.For <IImageCache>();
            _avatarImageNameProvider = Substitute.For <IImageNameProvider>();
            _avatarImageNameProvider.Get(Email).Returns($"{Email}.png");

            _service = new GravatarService(_cache, _avatarImageNameProvider);
        }
Beispiel #9
0
        public void ItImplementsIGravatarInterface()
        {
            // Arrange
            // Act
            var gravatarService = new GravatarService();

            // Assert
            Assert.IsAssignableFrom <IGravatarService>(gravatarService);
        }
Beispiel #10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RecentComments"/> class.
        /// </summary>
        public RecentComments()
        {
            int commentCount = Config.CurrentBlog.NumberOfRecentComments > 0
                                   ? Config.CurrentBlog.NumberOfRecentComments
                                   : DefaultRecentPostCount;
            ICollection <FeedbackItem> comments = FeedbackItem.GetRecentComments(commentCount);

            Comments = (from c in comments where c.EntryId > 0 select c).ToList();
            Gravatar = new GravatarService(ConfigurationManager.AppSettings);
        }
Beispiel #11
0
        public void GivenEmailAddressThenGravatarReturned()
        {
            // Arrange
            IGravatarService gravatarService = new GravatarService();

            // Act
            var actual = gravatarService.GetGravatar("*****@*****.**");

            // Assert
            Assert.Equal("http://www.gravatar.com/avatar/29e3f53ee49fae541ee0f48fb712c231", actual);
        }
Beispiel #12
0
 private void RegisterAtGravatarcomToolStripMenuItemClick(object sender, EventArgs e)
 {
     try
     {
         GravatarService.OpenGravatarRegistration();
     }
     catch (Exception ex)
     {
         MessageBox.Show(this, ex.Message);
     }
 }
        public void GenerateUrlHashesEmailAddress()
        {
            //arrange
            var service = new GravatarService("{0}", true);

            //act
            string url = service.GenerateUrl("*****@*****.**");

            //assert
            Assert.Contains(url, "55502f40dc8b7c769880b10874abc9d0");
        }
Beispiel #14
0
        public void GenerateUrlWithEmptyEmailReturnsEmptyString()
        {
            //arrange
            var service = new GravatarService("{0}/{1}", GravatarEmailFormat.Plain, true);

            //act
            string url = service.GenerateUrl(string.Empty, (string)null);

            //assert
            Assert.AreEqual(string.Empty, url);
        }
Beispiel #15
0
        public void GenerateUrlWithDefaultUriIncludesDefaultUri()
        {
            //arrange
            var service = new GravatarService("{0}/{1}", GravatarEmailFormat.Plain, true);

            //act
            string url = service.GenerateUrl("*****@*****.**", new Uri("http://localhost/test.gif"));

            //assert
            Assert.AreEqual("test%40example.com/http://localhost/test.gif", url);
        }
Beispiel #16
0
        public void GenerateUrlWithNullDefaultUsesIdenticon()
        {
            //arrange
            var service = new GravatarService("{0}/{1}", GravatarEmailFormat.Plain, true);

            //act
            string url = service.GenerateUrl("*****@*****.**", (string)null);

            //assert
            Assert.AreEqual("test%40example.com/identicon", url);
        }
Beispiel #17
0
        public void GenerateUrlFormatsEmail()
        {
            //arrange
            var service = new GravatarService("http://example.com/{0}/sike", GravatarEmailFormat.Plain, true);

            //act
            string url = service.GenerateUrl("*****@*****.**", (string)null);

            //assert
            Assert.Contains(url, "http://example.com/test%40example.com/sike");
        }
Beispiel #18
0
        public void GenerateUrlEncodesEmail()
        {
            //arrange
            var service = new GravatarService("{0}", GravatarEmailFormat.Plain, true);

            //act
            string url = service.GenerateUrl("te [email protected]", (string)null);

            //assert
            Assert.Contains(url, "te+st%40example.com");
        }
Beispiel #19
0
        private void PreviewButton_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(emailTextbox.Text))
            {
                return;
            }

            var gravatarService = new GravatarService();
            var avatarId        = gravatarService.DownloadGravatarFromEmailAndAddToImageList(emailTextbox.Text, _avatarImageList);

            _gravatar.SetImage(avatarId, _avatarImageList);
        }
Beispiel #20
0
        public override int GetAvatarId(ImageList avatarImageList)
        {
            if (AvatarId.HasValue)
            {
                return(AvatarId.Value);
            }
            var gravatarService = new GravatarService();

            if (!string.IsNullOrEmpty(AvatarImageName))
            {
                return(gravatarService.LoadAvatarFromFile(AvatarImageName, avatarImageList));
            }
            return(gravatarService.DownloadGravatarFromEmailAndAddToImageList(Email, avatarImageList));
        }
Beispiel #21
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            _gravatarService = new GravatarService(ConfigurationManager.AppSettings);

            if (Blog.CommentsEnabled)
            {
                BindFeedback(true);
            }
            else
            {
                Visible = false;
            }
        }
Beispiel #22
0
        public override void SaveSettings()
        {
            Settings.EnableAutoScale    = chkEnableAutoScale.Checked;
            Settings.TruncatePathMethod = _NO_TRANSLATE_truncatePathMethod.Text;
            Settings.ShowCurrentBranchInVisualStudio = chkShowCurrentBranchInVisualStudio.Checked;

            int authorImageSize;

            switch (AuthorImageSize.SelectedIndex)
            {
            case 1:
                authorImageSize = 160;
                break;

            case 2:
                authorImageSize = 240;
                break;

            case 3:
                authorImageSize = 320;
                break;

            default:
                authorImageSize = 80;
                break;
            }
            if (authorImageSize != Settings.AuthorImageSize)
            {
                Settings.AuthorImageSize = authorImageSize;
                GravatarService.ClearImageCache();
            }

            Settings.Translation = Language.Text;
            Strings.Reinit();

            Settings.AuthorImageCacheDays = (int)_NO_TRANSLATE_DaysToCacheImages.Value;

            Settings.ShowAuthorGravatar      = ShowAuthorGravatar.Checked;
            Settings.GravatarFallbackService = NoImageService.Text;

            Settings.RelativeDate = chkShowRelativeDate.Checked;

            Settings.Dictionary = Dictionary.Text;

            Settings.DiffFont   = _diffFont;
            Settings.Font       = _applicationFont;
            Settings.CommitFont = commitFont;
        }
Beispiel #23
0
        private async Task ExecuteSignUpUserCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            var user = new User
            {
                Name         = string.Format("{0} {1}", FirstName, LastName),
                ProfileImage = GravatarService.CalculateUrl(Email)
            };

            var account = new Account
            {
                Username = Username,
                Password = Password,
                Email    = Email,
                UserId   = user.Id
            };

            try
            {
                DialogService.ShowLoading(Strings.CreatingAccount);
                if (await ConnectivityService.IsConnected())
                {
                    await CreateAccount(account, user);

                    await SignIn(account);

                    await NavigationService.NavigateAsync(Helpers.Navigation.MainUri);

                    DialogService.HideLoading();
                }
                else
                {
                    DialogService.ShowError(Strings.NoInternetConnection);
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }

            IsBusy = false;
        }
        public void CanCreateGravatarServiceWithNameValueCollection()
        {
            //arrange
            var settings = new NameValueCollection
            {
                { "GravatarEnabled", "true" },
                { "GravatarUrlFormatString", "{0}/{1}" }
            };

            //act
            var service = new GravatarService(settings);

            //assert
            Assert.IsTrue(service.Enabled);
            Assert.AreEqual("{0}/{1}", service.UrlFormatString);
        }
        public void WhenCreatingGravatarServiceWithNonsensicalBoolean_NoExceptionIsThrown()
        {
            //arrange
            var settings = new NameValueCollection
            {
                { "GravatarEnabled", "Blablabla" },
                { "GravatarUrlFormatString", "{0}/{1}" }
            };

            //act
            var service = new GravatarService(settings);

            //assert
            Assert.IsFalse(service.Enabled);
            Assert.AreEqual("{0}/{1}", service.UrlFormatString);
        }
Beispiel #26
0
        public void GravatarServiceConstructorTest()
        {
            GravatarService target = new GravatarService();

            Assert.AreEqual(3, target.Persons.Count);
            var persons = target.Persons;
            var lukas   = persons.First(p => p.Email == "*****@*****.**");

            Assert.AreEqual("Lukas Elmer", lukas.Name);
            var christina = persons.First(p => p.Email == "*****@*****.**");

            Assert.AreEqual("Christina Heidt", christina.Name);
            var delia = persons.First(p => p.Email == "*****@*****.**");

            Assert.AreEqual("Delia Treichler", delia.Name);
        }
Beispiel #27
0
        public void CacheAvatar(string email)
        {
            FallBackService gravatarFallBack = FallBackService.Identicon;

            try
            {
                gravatarFallBack =
                    (FallBackService)Enum.Parse(typeof(FallBackService), Settings.GravatarFallbackService);
            }
            catch
            {
                Settings.GravatarFallbackService = gravatarFallBack.ToString();
            }
            GravatarService.CacheImage(email + ".png", email, Settings.AuthorImageSize,
                                       gravatarFallBack);
        }
Beispiel #28
0
 private void ClearImageCache_Click(object sender, EventArgs e)
 {
     GravatarService.ClearImageCache();
 }
 public void SetUp()
 {
     _service = new GravatarService();
 }
Beispiel #30
0
 public TodoListController(ApplicationDbContext dbContext, IUserStore <IdentityUser> userStore, GravatarService gravatarService)
 {
     this.dbContext       = dbContext;
     this.userStore       = userStore;
     this.gravatarService = gravatarService;
 }
Beispiel #31
0
 private void RefreshToolStripMenuItemClick(object sender, EventArgs e)
 {
     GravatarService.RemoveImageFromCache(ImageFileName);
     UpdateGravatar();
 }