using System; using System.ComponentModel; using System.Linq; using System.Windows.Forms; using BizHawk.Client.Common; namespace BizHawk.Client.EmuHawk { public partial class EditCommentsForm : Form { private IMovie _selectedMovie; private string _lastHeaderClicked; private bool _sortReverse; public EditCommentsForm() { InitializeComponent(); _lastHeaderClicked = ""; _sortReverse = false; } public bool ForceReadWrite { get; set; } private void EditCommentsForm_Load(object sender, EventArgs e) { if (!ForceReadWrite && Global.MovieSession.ReadOnly) { CommentGrid.Columns[0].ReadOnly = true; Text = "View Comments"; } if (CommentGrid.Rows.Count > 8) { var x = Height + ((CommentGrid.Rows.Count - 8) * 21); Height = x < 600 ? x : 600; } } private void Save() { _selectedMovie.Comments.Clear(); for (int i = 0; i < CommentGrid.Rows.Count - 1; i++) { var c = CommentGrid.Rows[i].Cells[0]; _selectedMovie.Comments.Add(c.Value.ToString()); } _selectedMovie.Save(); } public void GetMovie(IMovie m) { _selectedMovie = m; if (!m.Comments.Any()) { return; } for (int i = 0; i < m.Comments.Count; i++) { CommentGrid.Rows.Add(); var c = CommentGrid.Rows[i].Cells[0]; c.Value = m.Comments[i]; } } private void Cancel_Click(object sender, EventArgs e) { Close(); } private void Ok_Click(object sender, EventArgs e) { Save(); Close(); } private void SaveBtn_Click(object sender, EventArgs e) { Save(); } private void OnColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { SortColumn(CommentGrid.Columns[e.ColumnIndex]); } private void SortColumn(DataGridViewColumn e) { DataGridViewColumn column = e; if (_lastHeaderClicked != column.Name) { _sortReverse = false; } var direction = !_sortReverse ? ListSortDirection.Ascending : ListSortDirection.Descending; CommentGrid.Sort(column, direction); _lastHeaderClicked = column.Name; _sortReverse = !_sortReverse; CommentGrid.Refresh(); } } }