99 lines
3.5 KiB
C#
99 lines
3.5 KiB
C#
using System;
|
|
using System.ComponentModel;
|
|
using System.ComponentModel.Design;
|
|
using System.Windows.Forms;
|
|
|
|
namespace MusicMetaTagger.UI
|
|
{
|
|
/// <summary>
|
|
/// GUI object for selecting an IMusicLibraryinterface
|
|
/// </summary>
|
|
[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof (IDesigner))]
|
|
public partial class LibrarySelector : UserControl
|
|
{
|
|
public event PropertyChangedEventHandler LibraryNameChanged;
|
|
|
|
/// <summary>
|
|
/// Text assocatied with the imageList array objects
|
|
/// </summary>
|
|
private static readonly string[] LibraryNames = new[] {"iTunes", "Windows Media Player"};
|
|
|
|
/// <summary>
|
|
/// Gets the currently selected library.
|
|
/// </summary>
|
|
/// <value>The selected library.</value>
|
|
public IMusicLibraryInterface SelectedLibrary { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref = "LibrarySelector" /> class.
|
|
/// </summary>
|
|
public LibrarySelector()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Handles the SelectionChangeCommitted event of the libraryTypeComboBox control.
|
|
/// </summary>
|
|
/// <param name = "sender">The source of the event.</param>
|
|
/// <param name = "e">The <see cref = "System.EventArgs" /> instance containing the event data.</param>
|
|
private void libraryTypeComboBox_SelectionChangeCommitted(object sender, EventArgs e)
|
|
{
|
|
if (libraryTypeComboBox.SelectedIndex == 0)
|
|
{
|
|
SelectedLibrary = new ItunesLibraryInterface();
|
|
pictureBox.Image = imageList.Images[0];
|
|
}
|
|
else if (libraryTypeComboBox.SelectedIndex == 1)
|
|
{
|
|
SelectedLibrary = new MediaPlayerLibraryInterface();
|
|
pictureBox.Image = imageList.Images[1];
|
|
}
|
|
|
|
if (LibraryNameChanged != null)
|
|
LibraryNameChanged.Invoke(this, new PropertyChangedEventArgs("SelectedLibrary"));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Handles the Click event of the LibrarySelector control.
|
|
/// </summary>
|
|
/// <param name = "sender">The source of the event.</param>
|
|
/// <param name = "e">The <see cref = "System.EventArgs" /> instance containing the event data.</param>
|
|
private void LibrarySelector_Click(object sender, EventArgs e)
|
|
{
|
|
libraryTypeComboBox.DroppedDown = !libraryTypeComboBox.DroppedDown;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Handles the Click event of the pictureBox control.
|
|
/// </summary>
|
|
/// <param name = "sender">The source of the event.</param>
|
|
/// <param name = "e">The <see cref = "System.EventArgs" /> instance containing the event data.</param>
|
|
private void pictureBox_Click(object sender, EventArgs e)
|
|
{
|
|
libraryTypeComboBox.DroppedDown = !libraryTypeComboBox.DroppedDown;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Handles the Load event of the LibrarySelector control.
|
|
/// </summary>
|
|
/// <param name = "sender">The source of the event.</param>
|
|
/// <param name = "e">The <see cref = "System.EventArgs" /> instance containing the event data.</param>
|
|
private void LibrarySelector_Load(object sender, EventArgs e)
|
|
{
|
|
libraryTypeComboBox.Items.AddRange(LibraryNames);
|
|
libraryTypeComboBox.SelectedIndex = 0;
|
|
libraryTypeComboBox_SelectionChangeCommitted(this, e);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Handles the KeyDown event of the libraryTypeComboBox control.
|
|
/// </summary>
|
|
/// <param name = "sender">The source of the event.</param>
|
|
/// <param name = "e">The <see cref = "System.Windows.Forms.KeyEventArgs" /> instance containing the event data.</param>
|
|
private void libraryTypeComboBox_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
e.SuppressKeyPress = true;
|
|
}
|
|
}
|
|
} |