108 lines
2.2 KiB
C#
108 lines
2.2 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|