NSF: UI - Fixed usability issues with the track dropdown when a scrollbar is present
This commit is contained in:
parent
241b09964b
commit
caa8a6ac25
1 changed files with 13 additions and 6 deletions
|
@ -22,6 +22,7 @@ namespace Mesen.GUI.Controls
|
|||
private float _xFactor = 1;
|
||||
private float _yFactor = 1;
|
||||
private bool _isNsf = false;
|
||||
private int _selectedTrack = 0;
|
||||
|
||||
public ctrlNsfPlayer()
|
||||
{
|
||||
|
@ -161,11 +162,14 @@ namespace Mesen.GUI.Controls
|
|||
NsfHeader header = InteropEmu.NsfGetHeader();
|
||||
int currentTrack = InteropEmu.NsfGetCurrentTrack();
|
||||
|
||||
if(currentTrack != cboTrack.SelectedIndex) {
|
||||
if(_selectedTrack != currentTrack) {
|
||||
if(!_disableShortcutKeys) {
|
||||
cboTrack.SelectedIndexChanged -= cboTrack_SelectedIndexChanged;
|
||||
cboTrack.SelectedIndex = currentTrack;
|
||||
cboTrack.SelectedIndexChanged += cboTrack_SelectedIndexChanged;
|
||||
}
|
||||
_selectedTrack = currentTrack;
|
||||
}
|
||||
|
||||
TimeSpan time = TimeSpan.FromSeconds((double)elapsedFrames / ((header.Flags & 0x01) == 0x01 ? 50.006978 : 60.098812));
|
||||
string label = time.ToString(time.TotalHours < 1 ? @"mm\:ss" : @"hh\:mm\:ss");
|
||||
|
@ -217,7 +221,6 @@ namespace Mesen.GUI.Controls
|
|||
}
|
||||
|
||||
NsfHeader header = InteropEmu.NsfGetHeader();
|
||||
int currentTrack = InteropEmu.NsfGetCurrentTrack();
|
||||
|
||||
string[] trackNames = header.GetTrackNames();
|
||||
|
||||
|
@ -237,7 +240,10 @@ namespace Mesen.GUI.Controls
|
|||
cboTrack.DataSource = _trackList;
|
||||
cboTrack.DisplayMember = "Value";
|
||||
}
|
||||
int currentTrack = InteropEmu.NsfGetCurrentTrack();
|
||||
if(cboTrack.SelectedIndex != currentTrack) {
|
||||
cboTrack.SelectedIndex = currentTrack;
|
||||
}
|
||||
lblTrackTotal.Text = "/ " + header.TotalSongs.ToString();
|
||||
}
|
||||
|
||||
|
@ -443,6 +449,7 @@ namespace Mesen.GUI.Controls
|
|||
{
|
||||
int currentTrack = InteropEmu.NsfGetCurrentTrack();
|
||||
if(currentTrack != cboTrack.SelectedIndex) {
|
||||
_selectedTrack = currentTrack;
|
||||
InteropEmu.NsfSelectTrack((byte)cboTrack.SelectedIndex);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue