Exemplo n.º 1
0
        private void RomGridColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (romGrid == null)
            {
                return;
            }

            if (RomGrid.Columns[e.ColumnIndex].SortMode == DataGridViewColumnSortMode.NotSortable)
            {
                return;
            }

            if (romSortIndex != e.ColumnIndex)
            {
                if (romSortIndex >= 0)
                {
                    RomGrid.Columns[romSortIndex].HeaderCell.SortGlyphDirection = SortOrder.None;
                }
                romSortIndex = e.ColumnIndex;
                romSortDir   = SortOrder.Ascending;
            }
            else
            {
                romSortDir = romSortDir == SortOrder.Ascending ? SortOrder.Descending : SortOrder.Ascending;
            }

            RomGrid.Columns[romSortIndex].HeaderCell.SortGlyphDirection = romSortDir;

            Debug.WriteLine($"Sort in {romSortIndex}  dir {romSortDir}");

            IComparer <RvFile> t = new RomUiCompare(e.ColumnIndex, romSortDir);

            Array.Sort(romGrid, t);
            RomGrid.Refresh();
        }
Exemplo n.º 2
0
        public FrmMain()
        {
            InitializeComponent();
            AddGameMetaData();
            Text = $@"RomVault ({Program.StrVersion})";

            if (Settings.rvSettings.zstd)
            {
                Text += " -using ZSTD";
            }

            Text += $@" {Application.StartupPath}";

            Type         dgvType = GameGrid.GetType();
            PropertyInfo pi      = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);

            pi.SetValue(GameGrid, true, null);

            dgvType = RomGrid.GetType();
            pi      = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);
            pi.SetValue(RomGrid, true, null);


            _displayColor = new Color[(int)RepStatus.EndValue];
            _fontColor    = new Color[(int)RepStatus.EndValue];

            // RepStatus.UnSet

            _displayColor[(int)RepStatus.UnScanned] = CBlue;

            _displayColor[(int)RepStatus.DirCorrect] = CGreen;
            _displayColor[(int)RepStatus.DirMissing] = CRed;
            _displayColor[(int)RepStatus.DirCorrupt] = CBrightRed; //BrightRed

            _displayColor[(int)RepStatus.Missing]      = CRed;
            _displayColor[(int)RepStatus.Correct]      = CGreen;
            _displayColor[(int)RepStatus.NotCollected] = CGrey;
            _displayColor[(int)RepStatus.UnNeeded]     = CCyanGrey;
            _displayColor[(int)RepStatus.Unknown]      = CCyan;
            _displayColor[(int)RepStatus.InToSort]     = CMagenta;

            _displayColor[(int)RepStatus.Corrupt] = CBrightRed; //BrightRed
            _displayColor[(int)RepStatus.Ignore]  = CGreyBlue;

            _displayColor[(int)RepStatus.CanBeFixed]   = CYellow;
            _displayColor[(int)RepStatus.MoveToSort]   = CPurple;
            _displayColor[(int)RepStatus.Delete]       = CBrown;
            _displayColor[(int)RepStatus.NeededForFix] = COrange;
            _displayColor[(int)RepStatus.Rename]       = COrange;

            _displayColor[(int)RepStatus.CorruptCanBeFixed] = CYellow;
            _displayColor[(int)RepStatus.MoveToCorrupt]     = CPurple; //Missing


            _displayColor[(int)RepStatus.Deleted] = CWhite;

            for (int i = 0; i < (int)RepStatus.EndValue; i++)
            {
                _fontColor[i] = Contrasty(_displayColor[i]);
            }

            _gameGridColumnXPositions = new int[(int)RepStatus.EndValue];

            ctrRvTree.Setup(ref DB.DirRoot);

            splitContainer3_Panel1_Resize(new object(), new EventArgs());
            splitContainer4_Panel1_Resize(new object(), new EventArgs());


            _mnuContext = new ContextMenuStrip();

            ToolStripMenuItem mnuScan1 = new ToolStripMenuItem
            {
                Text = @"Scan Quick (Headers Only)",
                Tag  = EScanLevel.Level1
            };
            ToolStripMenuItem mnuScan2 = new ToolStripMenuItem
            {
                Text = @"Scan",
                Tag  = EScanLevel.Level2
            };
            ToolStripMenuItem mnuScan3 = new ToolStripMenuItem
            {
                Text = @"Scan Full (Complete Re-Scan)",
                Tag  = EScanLevel.Level3
            };

            ToolStripMenuItem mnuFile = new ToolStripMenuItem
            {
                Text = @"Set Dir Settings",
                Tag  = null
            };

            _mnuOpen = new ToolStripMenuItem
            {
                Text = @"Open Directory",
                Tag  = null
            };

            ToolStripMenuItem mnuFixDat = new ToolStripMenuItem
            {
                Text = @"Create Fix DATs",
                Tag  = null
            };

            ToolStripMenuItem mnuMakeDat = new ToolStripMenuItem
            {
                Text = @"Make Dat with CHDs as disk",
                Tag  = null
            };

            ToolStripMenuItem mnuMakeDat2 = new ToolStripMenuItem
            {
                Text = @"Make Dat with CHDs as rom",
                Tag  = null
            };

            _mnuContext.Items.Add(mnuScan2);
            _mnuContext.Items.Add(mnuScan1);
            _mnuContext.Items.Add(mnuScan3);
            _mnuContext.Items.Add(mnuFile);
            _mnuContext.Items.Add("-");
            _mnuContext.Items.Add(_mnuOpen);
            _mnuContext.Items.Add(mnuFixDat);
            _mnuContext.Items.Add(mnuMakeDat);
            _mnuContext.Items.Add(mnuMakeDat2);

            mnuScan1.Click    += MnuScan;
            mnuScan2.Click    += MnuScan;
            mnuScan3.Click    += MnuScan;
            mnuFile.Click     += MnuFileClick;
            _mnuOpen.Click    += MnuOpenClick;
            mnuFixDat.Click   += MnuMakeFixDatClick;
            mnuMakeDat.Click  += MnuMakeDatClick;
            mnuMakeDat2.Click += MnuMakeDat2Click;


            _mnuContextToSort = new ContextMenuStrip();

            ToolStripMenuItem mnuToSortScan1 = new ToolStripMenuItem
            {
                Text = @"Scan Quick (Headers Only)",
                Tag  = EScanLevel.Level1
            };
            ToolStripMenuItem mnuToSortScan2 = new ToolStripMenuItem
            {
                Text = @"Scan",
                Tag  = EScanLevel.Level2
            };
            ToolStripMenuItem mnuToSortScan3 = new ToolStripMenuItem
            {
                Text = @"Scan Full (Complete Re-Scan)",
                Tag  = EScanLevel.Level3
            };

            _mnuToSortOpen = new ToolStripMenuItem
            {
                Text = @"Open ToSort Directory",
                Tag  = null
            };

            _mnuToSortDelete = new ToolStripMenuItem
            {
                Text = @"Remove",
                Tag  = null
            };

            _mnuToSortSetPrimary = new ToolStripMenuItem
            {
                Text = @"Set To Primary ToSort",
                Tag  = null
            };

            _mnuToSortSetCache = new ToolStripMenuItem
            {
                Text = @"Set To Cache ToSort",
                Tag  = null
            };

            _mnuContextToSort.Items.Add(mnuToSortScan2);
            _mnuContextToSort.Items.Add(mnuToSortScan1);
            _mnuContextToSort.Items.Add(mnuToSortScan3);
            _mnuContextToSort.Items.Add(_mnuToSortOpen);
            _mnuContextToSort.Items.Add(_mnuToSortDelete);
            _mnuContextToSort.Items.Add(_mnuToSortSetPrimary);
            _mnuContextToSort.Items.Add(_mnuToSortSetCache);

            mnuToSortScan1.Click       += MnuScan;
            mnuToSortScan2.Click       += MnuScan;
            mnuToSortScan3.Click       += MnuScan;
            _mnuToSortOpen.Click       += MnuToSortOpen;
            _mnuToSortDelete.Click     += MnuToSortDelete;
            _mnuToSortSetPrimary.Click += MnuToSortSetPrimary;
            _mnuToSortSetCache.Click   += MnuToSortSetCache;


            chkBoxShowCorrect.Checked = Settings.rvSettings.chkBoxShowCorrect;
            chkBoxShowMissing.Checked = Settings.rvSettings.chkBoxShowMissing;
            chkBoxShowFixed.Checked   = Settings.rvSettings.chkBoxShowFixed;
            chkBoxShowMerged.Checked  = Settings.rvSettings.chkBoxShowMerged;

            TabArtworkInitialize();
        }
Exemplo n.º 3
0
 private void RomGrid_SelectionChanged(object sender, EventArgs e)
 {
     RomGrid.ClearSelection();
 }
Exemplo n.º 4
0
        private void RomGridMouseUp(object sender, MouseEventArgs e)
        {
            if (e == null || e.Button == MouseButtons.Left)
            {
                var hitTest = RomGrid.HitTest(e.X, e.Y);
                if (hitTest.ColumnIndex != (int)eRomGrid.DupeCount)
                {
                    return;
                }
                if (hitTest.RowIndex < 0)
                {
                    return;
                }

                RvFile     tFile = romGrid[hitTest.RowIndex];
                FrmRomInfo fri   = new FrmRomInfo();
                fri.SetRom(tFile);
                fri.ShowDialog();
                return;
            }



            if (e == null || e.Button != MouseButtons.Right)
            {
                return;
            }

            int currentMouseOverRow = RomGrid.HitTest(e.X, e.Y).RowIndex;

            if (currentMouseOverRow < 0)
            {
                return;
            }

            string name = (RomGrid.Rows[currentMouseOverRow].Cells[1].Value ?? "").ToString();
            string size = (RomGrid.Rows[currentMouseOverRow].Cells[3].Value ?? "").ToString();

            if (size.Contains(" "))
            {
                size = size.Substring(0, size.IndexOf(" "));
            }

            string crc = (RomGrid.Rows[currentMouseOverRow].Cells[4].Value ?? "").ToString();

            if (crc.Length > 8)
            {
                crc = crc.Substring(0, 8);
            }

            string sha1 = (RomGrid.Rows[currentMouseOverRow].Cells[5].Value ?? "").ToString();

            if (sha1.Length > 40)
            {
                sha1 = sha1.Substring(0, 40);
            }

            string md5 = (RomGrid.Rows[currentMouseOverRow].Cells[6].Value ?? "").ToString();

            if (md5.Length > 32)
            {
                md5 = md5.Substring(0, 32);
            }

            string clipText = "Name : " + name + Environment.NewLine;

            clipText += "Size : " + size + Environment.NewLine;
            clipText += "CRC32: " + crc + Environment.NewLine;
            if (sha1.Length > 0)
            {
                clipText += "SHA1 : " + sha1 + Environment.NewLine;
            }

            if (md5.Length > 0)
            {
                clipText += "MD5  : " + md5 + Environment.NewLine;
            }

            try
            {
                Clipboard.Clear();
                Clipboard.SetText(clipText);
            }
            catch
            {
            }
        }