示例#1
0
        public FormAbout()
        {
            InitializeComponent();
            _NO_TRANSLATE_labelProductName.Text = AppSettings.ApplicationName;
            InitializeComplete();

            environmentInfo.SetCopyButtonTooltip(_copyTooltip.Text);

            Color clrLink = SystemColors.Highlight;

            _NO_TRANSLATE_labelProductName.LinkColor = clrLink;
            _NO_TRANSLATE_ThanksTo.LinkColor         = clrLink;
            linkLabelIcons.LinkColor = clrLink;

            // Click handlers
            _NO_TRANSLATE_labelProductName.LinkClicked += delegate { Process.Start("https://github.com/gitextensions/gitextensions"); };
            _NO_TRANSLATE_ThanksTo.LinkClicked         += delegate { ShowContributorsForm(); };
            pictureDonate.Click        += delegate { Process.Start(FormDonate.DonationUrl); };
            linkLabelIcons.LinkClicked += delegate { Process.Start("http://p.yusukekamiyamane.com/"); };

            var contributorsList         = GetContributorList();
            var thanksToContributorsText = string.Format(_thanksToContributors.Text, contributorsList.Count);

            var random = new Random();

            thanksTimer.Tick    += delegate { ThankNextContributor(); };
            thanksTimer.Enabled  = true;
            thanksTimer.Interval = 1000;
            thanksTimer.Start();

            ThankNextContributor();

            return;

            void ShowContributorsForm()
            {
                using (var formContributors = new FormContributors())
                {
                    formContributors.ShowDialog(owner: this);
                }
            }

            void ThankNextContributor()
            {
                // Select a contributor at random
                var contributorName = contributorsList[random.Next(contributorsList.Count)].Trim();

                _NO_TRANSLATE_ThanksTo.Text = thanksToContributorsText + contributorName;
            }

            IReadOnlyList <string> GetContributorList()
            {
                return(new[] { Resources.Team, Resources.Coders, Resources.Translators, Resources.Designers }
                       .Select(c => c.Replace(Environment.NewLine, ""))
                       .SelectMany(line => line.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries))
                       .Select(contributor => contributor.Trim())
                       .ToList());
            }
        }
示例#2
0
 private void _NO_TRANSLATE_thanksToTicker_Click(object sender, EventArgs e)
 {
     using (FormContributors formContributors = new FormContributors())
     {
         formContributors.LoadContributors(Coders, Translators, Designers);
         formContributors.ShowDialog(this);
     }
 }
示例#3
0
        public FormAbout()
        {
            InitializeComponent();
            InitializeComplete();

            _NO_TRANSLATE_labelVersionInfo.Text += AppSettings.ProductVersion;

            // Click handlers
            _NO_TRANSLATE_labelProductName.LinkClicked += (s, e) => { Process.Start(@"http://github.com/gitextensions/gitextensions"); };
            thanksTo.LinkClicked       += delegate { ShowContributorsForm(); };
            pictureDonate.Click        += delegate { Process.Start(FormDonate.DonationUrl); };
            linkLabelIcons.LinkClicked += delegate { Process.Start("http://p.yusukekamiyamane.com/"); };

            var contributorsList         = GetContributorList();
            var thanksToContributorsText = string.Format(_thanksToContributors.Text, contributorsList.Count);

            var random = new Random();

            thanksTimer.Tick    += delegate { ThankNextContributor(); };
            thanksTimer.Enabled  = true;
            thanksTimer.Interval = 1000;
            thanksTimer.Start();

            ThankNextContributor();

            return;

            void ShowContributorsForm()
            {
                using (var formContributors = new FormContributors())
                {
                    formContributors.ShowDialog(owner: this);
                }
            }

            void ThankNextContributor()
            {
                // Select a contributor at random
                var contributorName = contributorsList[random.Next(contributorsList.Count - 1)].Trim();

                thanksTo.Text = thanksToContributorsText + contributorName;
            }

            IReadOnlyList <string> GetContributorList()
            {
                var contributorListList = new[]
                {
                    Resources.Coders.Replace(Environment.NewLine, " "),
                    Resources.Translators.Replace(Environment.NewLine, " "),
                    Resources.Designers.Replace(Environment.NewLine, " "),
                };

                return(contributorListList
                       .SelectMany(list => list.Split(new[] { ", " }, StringSplitOptions.RemoveEmptyEntries))
                       .ToList());
            }
        }