/* * TrackSelecter.cs * Copyright (c) 2007-2009 kbinani * * This file is part of LipSync. * * LipSync is free software; you can redistribute it and/or * modify it under the terms of the BSD License. * * LipSync is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ using System; using System.Drawing; using System.Windows.Forms; using Boare.Lib.AppUtil; namespace LipSync { public partial class TrackSelecter : Form, IMultiLanguageControl { public TrackSelecter( string file_name, string[] track_names ) { InitializeComponent(); ApplyLanguage(); ApplyFont( AppManager.Config.Font.GetFont() ); checkedListBox1.Items.Clear(); for ( int i = 0; i < track_names.Length; i++ ) { if ( track_names[i] != "Master Track" ) { checkedListBox1.Items.Add( track_names[i], true ); } else { checkedListBox1.Items.Add( track_names[i], false ); } } textBox1.Text = file_name; } public void ApplyFont( Font font ) { this.Font = font; foreach ( Control c in this.Controls ) { Boare.Lib.AppUtil.Misc.ApplyFontRecurse( c, font ); } } public void ApplyLanguage() { this.button1.Text = _( "Cancel" ); this.button2.Text = _( "OK" ); this.Text = _( "Select track" ); this.checkImportTempoAndTimesig.Text = _( "import tempo and time-signal information" ); } public string _( string s ) { return Messaging.GetMessage( s ); } public bool ImportTempoAndTimesig { get { return checkImportTempoAndTimesig.Checked; } set { checkImportTempoAndTimesig.Checked = value; } } public int[] CheckedItem { get { int count = 0; for ( int i = 0; i < checkedListBox1.Items.Count; i++ ) { if ( checkedListBox1.GetItemChecked( i ) ) { count++; } } int[] list = new int[count]; //MessageBox.Show( "count=" + count ); count = -1; for ( int i = 0; i < checkedListBox1.Items.Count; i++ ) { //MessageBox.Show( "item no." + i + " GetItemChecked=" + checkedListBox1.GetItemChecked( i ) ); if ( checkedListBox1.GetItemChecked( i ) ) { count++; list[count] = i; } } return list; } } private void button2_Click( object sender, EventArgs e ) { this.DialogResult = DialogResult.OK; this.Close(); } private void button1_Click( object sender, EventArgs e ) { this.DialogResult = DialogResult.Cancel; this.Close(); } } }