Ejemplo n.º 1
0
        private void DiffViewer_Click(object sender, RoutedEventArgs e)
        {
            DiffViewer caller = (DiffViewer)sender;

            if (caller.IsChecked)
            {
                DiffEntrySetState(caller, false);
            }
            else
            {
                DiffEntrySetState(caller, true);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Sets diff entrys state and updates it's visual style.
 /// </summary>
 /// <param name="obj">The DiffViewer entry.</param>
 /// <param name="state">The state, true or false.</param>
 private void DiffEntrySetState(DiffViewer obj, bool state)
 {
     if (state)
     {
         obj.IsChecked       = true;
         obj.BorderBrush     = (Brush)FindResource("HighlightGreyBrush");
         obj.BorderThickness = new Thickness(2);
     }
     else
     {
         obj.IsChecked       = false;
         obj.BorderBrush     = (Brush)FindResource("BackgroundDarkBrush");
         obj.BorderThickness = new Thickness(2);
     }
 }
Ejemplo n.º 3
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            var now    = DateTime.Now;
            var isDark = now.Hour < 6 || now.Hour >= 18;

            BackColor = isDark ? Color.FromArgb(255, 32, 32, 32) : Color.FromArgb(255, 251, 251, 251);
            diffView  = new DiffViewer
            {
                Margin    = new Padding(0),
                Dock      = DockStyle.Fill,
                ForeColor = isDark ? Color.FromArgb(255, 240, 240, 240) : Color.FromArgb(255, 32, 32, 32),
                OldText   = TestData.DuplicateText(TestData.OldText, 20),
                NewText   = TestData.DuplicateText(TestData.NewText, 20)
            };
            MainLayoutPanel.Controls.Add(diffView, 0, 0);
            diffView.SetHeaderAsOldToNew();
        }
Ejemplo n.º 4
0
        private void PopulateDiffList(string Snapshot)
        {
            List <DifferenceObject> RealDifferences = new List <DifferenceObject>();

            ZipArchive SnapArch = ZipFile.OpenRead(Snapshot);

            // Populate Differences
            foreach (ZipArchiveEntry entry in SnapArch.Entries)
            {
                string fName = entry.FullName;
                string lName = Directory.GetParent(Properties.Settings.Default.CSGOBinary.ToString()).ToString()
                               + "\\csgo\\panorama\\" + entry.FullName;

                Stream        filestream = entry.Open();
                Stream        lfstream   = File.OpenRead(lName);
                SHA256Managed sha        = new SHA256Managed();
                byte[]        hash       = sha.ComputeHash(filestream);
                SHA256Managed lsha       = new SHA256Managed();
                byte[]        lhash      = lsha.ComputeHash(lfstream);

                Console.WriteLine(fName);

                // Differences exist
                if (!hash.SequenceEqual(lhash))
                {
                    // deflate stream must be reopened as it does not natively support seeking
                    filestream.Close();
                    filestream = entry.Open();
                    lfstream.Seek(0, SeekOrigin.Begin);

                    // Check for compatible file differences
                    if (lName.ToLower().EndsWith("css"))
                    {
                        CSSDifferenceObject newDiff = new CSSDifferenceObject(lfstream, filestream);
                        RealDifferences.Add(newDiff);
                    }
                }

                lfstream.Close();
                filestream.Close();
            }

            foreach (DifferenceObject diffFile in RealDifferences)
            {
                TextBlock dFileTB = new TextBlock();
                dFileTB.TextAlignment       = TextAlignment.Center;
                dFileTB.HorizontalAlignment = HorizontalAlignment.Stretch;
                dFileTB.VerticalAlignment   = VerticalAlignment.Stretch;
                dFileTB.VerticalAlignment   = VerticalAlignment.Center;
                dFileTB.Text       = System.IO.Path.GetFileName(diffFile.Filename);
                dFileTB.FontFamily = (FontFamily)FindResource("LatoRegular");
                dFileTB.FontSize   = 18;
                dFileTB.Margin     = new Thickness(10, 0, 10, 0);
                dFileTB.Foreground = (Brush)FindResource("OffWhiteBrush");
                dFileTB.Background = (Brush)FindResource("BackgroundDarkBrush");
                DiffEntries.Children.Add(dFileTB);

                foreach (Difference diff in diffFile.Differences)
                {
                    DiffViewer diffViewer = new DiffViewer()
                    {
                        Difference      = diff,
                        InfoWidth       = 200,
                        MinHeight       = 60,
                        Margin          = new Thickness(3),
                        Foreground      = (Brush)FindResource("OffWhiteBrush"),
                        InfoBackground  = (Brush)FindResource("BackgroundDarkBrush"),
                        BorderBrush     = (Brush)FindResource("HighlightGreyBrush"),
                        Cursor          = Cursors.Hand,
                        BorderThickness = new Thickness(2)
                    };
                    diffViewer.Click += DiffViewer_Click;
                    DiffEntries.Children.Add(diffViewer);
                    Differences.Add(diffViewer);
                }
            }
        }