示例#1
0
        internal void SetSettigs(VisualizationSettings settigs)
        {
            historyRadioButton.Checked    = settigs.PlayMode == VisualizationSettings.PlayModeOption.History;
            liveStreamRadioButton.Checked = settigs.PlayMode == VisualizationSettings.PlayModeOption.Live;

            dateFromPicker.Value = settigs.DateFrom;
            dateToPicker.Value   = settigs.DateTo;

            userIncludeTextBox.Text = settigs.UsersFilter.IncludeMask;
            userExcludeTextBox.Text = settigs.UsersFilter.ExcludeMask;

            filesIncludeTextBox.Text = settigs.FilesFilter.IncludeMask;
            filesExcludeTextBox.Text = settigs.FilesFilter.ExcludeMask;

            viewFilesExtentionMapCheckBox.Checked = settigs.ViewFilesExtentionMap;

            viewFileNamesCheckBox.Checked = settigs.ViewFileNames;
            viewDirNamesCheckBox.Checked  = settigs.ViewDirNames;
            viewUserNamesCheckBox.Checked = settigs.ViewUserNames;
            viewAvatarsCheckBox.Checked   = settigs.ViewAvatars;

            timeScaleComboBox.SelectedIndex = (int)settigs.TimeScale;
            secondsPerDayTextBox.Text       = settigs.SecondsPerDay.ToString(CultureInfo.CurrentCulture);
            loopPlaybackCheckBox.Checked    = settigs.LoopPlayback;

            fullScreenCheckBox.Checked    = settigs.FullScreen;
            setResolutionCheckBox.Checked = settigs.SetResolution;
            resolutionWidthTextBox.Text   = settigs.ResolutionWidth.ToString(CultureInfo.CurrentCulture);
            resolutionHeightTextBox.Text  = settigs.ResolutionHeight.ToString(CultureInfo.CurrentCulture);

            maxFilesTextBox.Text = settigs.MaxFiles.ToString(CultureInfo.CurrentCulture);

            ViewLogoCheckBox.CheckState = settigs.ViewLogo;
            LogoFileTextBox.Text        = settigs.LogoFileName;
        }
示例#2
0
 private void loadSettingsToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (openFileDialog1.ShowDialog() == DialogResult.OK)
     {
         try
         {
             var settings = VisualizationSettings.LoadFromFile(openFileDialog1.FileName);
             SetSettigs(settings);
         }
         catch (Exception ex)
         {
             ShowError(ex);
         }
     }
 }
示例#3
0
        public SettingForm()
        {
            InitializeComponent();

            // Loading recent configuration
            try
            {
                Settigs = File.Exists(RecentConfigurationFile) ? VisualizationSettings.LoadFromFile(RecentConfigurationFile) : DefaultSettigs;
                SetSettigs(Settigs);
            }
            catch (Exception ex)
            {
                ShowError(ex);
                SetSettigs(DefaultSettigs);
            }
        }
示例#4
0
        public static bool CreateGourceLogFile(
            string outputFile,
            string outputAvatarsDir,
            Uri sourceControlUrl,
            string serverPath,
            VisualizationSettings settings,
            ref bool cancel,
            Action <int> progressReporter)
        {
            //			var credentials = new UICredentialsProvider();

            using (var tpc = new TfsTeamProjectCollection(sourceControlUrl))
            {
                tpc.EnsureAuthenticated();
                if (cancel)
                {
                    return(false);
                }

                var vcs = tpc.GetService <VersionControlServer>();

                HashSet <string> commiters = null;

                if (!string.IsNullOrEmpty(outputAvatarsDir))
                {
                    commiters = new HashSet <string>();
                }

                var result = CreateGourceLogFile(
                    outputFile,
                    commiters,
                    vcs,
                    serverPath,
                    settings,
                    ref cancel,
                    progressReporter);

                if (result && commiters != null)
                {
                    var identityService = tpc.GetService <IIdentityManagementService2>();
                    DownloadAvatars(identityService, outputAvatarsDir, commiters);
                }

                return(result);
            }
        }
示例#5
0
        private VisualizationSettings GetSettigs()
        {
            if (string.IsNullOrWhiteSpace(userIncludeTextBox.Text))
            {
                MessageBox.Show("User name filter 'include' can not be empty.", DialogCaption);
                ActiveControl = userIncludeTextBox;
                return(null);
            }

            if (string.IsNullOrWhiteSpace(filesIncludeTextBox.Text))
            {
                MessageBox.Show("File type filter 'include' can not be empty.", DialogCaption);
                ActiveControl = filesIncludeTextBox;
                return(null);
            }

            var settigs = new VisualizationSettings
            {
                PlayMode = historyRadioButton.Checked
                                           ? VisualizationSettings.PlayModeOption.History
                                           : VisualizationSettings.PlayModeOption.Live,
                DateFrom              = dateFromPicker.Value,
                DateTo                = dateToPicker.Value,
                LoopPlayback          = loopPlaybackCheckBox.Checked,
                UsersFilter           = new StringFilter(userIncludeTextBox.Text, userExcludeTextBox.Text),
                FilesFilter           = new StringFilter(filesIncludeTextBox.Text, filesExcludeTextBox.Text),
                ViewFileNames         = viewFileNamesCheckBox.Checked,
                ViewDirNames          = viewDirNamesCheckBox.Checked,
                ViewUserNames         = viewUserNamesCheckBox.Checked,
                ViewAvatars           = viewAvatarsCheckBox.Checked,
                ViewFilesExtentionMap = viewFilesExtentionMapCheckBox.Checked,
            };


            // History settings
            if (historyRadioButton.Checked)
            {
                if (timeScaleComboBox.SelectedIndex >= 0)
                {
                    var timeScaleMapping = new[]
                    {
                        VisualizationSettings.TimeScaleOption.None,
                        VisualizationSettings.TimeScaleOption.Slow8,
                        VisualizationSettings.TimeScaleOption.Slow4,
                        VisualizationSettings.TimeScaleOption.Slow2,
                        VisualizationSettings.TimeScaleOption.Fast2,
                        VisualizationSettings.TimeScaleOption.Fast3,
                        VisualizationSettings.TimeScaleOption.Fast4
                    };

                    settigs.TimeScale = timeScaleMapping[timeScaleComboBox.SelectedIndex];
                }

                if (!TryParseInt(secondsPerDayTextBox.Text, out settigs.SecondsPerDay) || settigs.SecondsPerDay < 1 || settigs.SecondsPerDay > 1000)
                {
                    MessageBox.Show("Incorrect value in 'Seconds Per Day' (1-1000).", DialogCaption);
                    ActiveControl = secondsPerDayTextBox;
                    return(null);
                }
            }


            if (!TryParseInt(maxFilesTextBox.Text, out settigs.MaxFiles) || settigs.MaxFiles < 1 || settigs.MaxFiles > 1000000)
            {
                MessageBox.Show("Incorrect value in 'Max Files' (Range: 1-1000000).", DialogCaption);
                ActiveControl = maxFilesTextBox;
                return(null);
            }


            settigs.FullScreen    = fullScreenCheckBox.Checked;
            settigs.SetResolution = setResolutionCheckBox.Checked;

            if (setResolutionCheckBox.Checked)
            {
                if (!TryParseInt(resolutionWidthTextBox.Text, out settigs.ResolutionWidth) || settigs.ResolutionWidth < 100)
                {
                    MessageBox.Show("Incorrect value in 'Resolution width' (min: 100).", DialogCaption);
                    ActiveControl = resolutionWidthTextBox;
                    return(null);
                }

                if (!TryParseInt(resolutionHeightTextBox.Text, out settigs.ResolutionHeight) || settigs.ResolutionHeight < 100)
                {
                    MessageBox.Show("Incorrect value in 'Resolution height' (min: 100).", DialogCaption);
                    ActiveControl = resolutionHeightTextBox;
                    return(null);
                }
            }

            if (ViewLogoCheckBox.CheckState == CheckState.Checked && !File.Exists(LogoFileTextBox.Text))
            {
                MessageBox.Show("Logo file path does not exist.", DialogCaption);
                ActiveControl = LogoFileTextBox;
                return(null);
            }

            settigs.ViewLogo     = ViewLogoCheckBox.CheckState;
            settigs.LogoFileName = settigs.ViewLogo == CheckState.Checked ? LogoFileTextBox.Text : null;

            return(settigs);
        }
 private HistoryViewer(VisualizationSettings settigs)
 {
     m_settigs = settigs;
 }
示例#7
0
        private static bool CreateGourceLogFile(
            string outputFile,
            HashSet <string> outputCommiters,
            VersionControlServer vcs,
            string serverPath,
            VisualizationSettings settings,
            ref bool cancel,
            Action <int> progressReporter)
        {
//			int latestChangesetId = vcs.GetLatestChangesetId();
            if (cancel)
            {
                return(false);
            }

            var versionFrom = new DateVersionSpec(settings.DateFrom);
            var versionTo   = new DateVersionSpec(settings.DateTo);

            int latestChangesetId;
            // Getting latest changeset ID for current search criteria
            {
                var latestChanges = vcs.QueryHistory(
                    serverPath,
                    VersionSpec.Latest,
                    0,
                    RecursionType.Full,
                    null,        //any user
                    versionFrom, // from first changeset
                    versionTo,   // to last changeset
                    1,
                    false,       // with changes
                    false,
                    false,
                    false); // sorted

                var latestChangeset = latestChanges.Cast <Changeset>().FirstOrDefault();
                if (latestChangeset == null)
                {
                    // History not found
                    return(false);
                }
                latestChangesetId = latestChangeset.ChangesetId;
                if (cancel)
                {
                    return(false);        //-V3022
                }
            }

            var firstChangesetId = 0;

            var changesetConverter = new ChangesetConverter(settings.UsersFilter, settings.FilesFilter);

            using (var writer = new StreamWriter(outputFile))
            {
                var csList = vcs.QueryHistory(
                    serverPath,
                    VersionSpec.Latest,
                    0,
                    RecursionType.Full,
                    null,        //any user
                    versionFrom, // from first changeset
                    versionTo,   // to last changeset
                    int.MaxValue,
                    true,        // with changes
                    false,
                    false,
                    true);                     // sorted

                var hasLines = false;

                foreach (var changeset in csList.Cast <Changeset>())
                {
                    if (cancel)
                    {
                        return(false);        //-V3022
                    }
                    if (firstChangesetId == 0)
                    {
                        firstChangesetId = changeset.ChangesetId;
                    }

                    if (progressReporter != null)
                    {
                        var progressValue = changeset.ChangesetId - firstChangesetId;
                        var progressTotal = latestChangesetId - firstChangesetId;

                        progressReporter(progressTotal > 0 ? progressValue * 100 / progressTotal : 100);
                    }

                    var usefulChangeset = false;
                    foreach (var line in changesetConverter.GetLogLines(changeset))
                    {
                        usefulChangeset = true;
                        writer.WriteLine(line);
                    }

                    if (usefulChangeset)
                    {
                        hasLines = true;
                        if (outputCommiters != null)
                        {
                            outputCommiters.Add(changeset.OwnerDisplayName);
                        }
                    }
                }

                return(hasLines);
            }
        }