Example #1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (tbxFile.Text == "")
            {
                MessageBox.Show("Whoops, browse for a file first!");
            }
            else
            {
                int    nodeCount       = PACK.GetFileNodeCount(tbxFile.Text);
                uint[] currentPaddings = PACK.GetFileNodePaddings(tbxFile.Text);
                int[]  gridPaddings    = new int[nodeCount];
                bool   dataChanged     = false;

                for (int i = 0; i < nodeCount; i++)
                {
                    gridPaddings[i] = Convert.ToInt32(dgvTable.Rows[i].Cells[1].Value);

                    if (gridPaddings[i] != currentPaddings[i]) //check if paddings need to be changed
                    {
                        PACK.UpdateFilePadding(tbxFile.Text, i, (gridPaddings[i] - (int)(currentPaddings[i])));
                        dataChanged = true;
                    }
                }

                if (dataChanged)
                {
                    PACK.UpdateFileSize(tbxFile.Text);
                    MessageBox.Show("Save Complete!" + "\n\n" + tbxFile.Text);
                }
                else //if no change occured in the data upon saving
                {
                    MessageBox.Show("No changes were made!" + "\n" + "Data matches current file");
                }
                for (int i = 0; i < dgvTable.Rows.Count; i++) //reset color
                {
                    dgvTable.Rows[i].Cells[1].Style.BackColor = Color.White;
                }
            }
        }