mirror of
https://git.femboyfinancial.jp/james/lipsync.git
synced 2025-02-18 00:19:02 -08:00
208 lines
7.2 KiB
C#
208 lines
7.2 KiB
C#
/*
|
|
* FormSeriesImage.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.IO;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
using System.Reflection;
|
|
|
|
using Boare.Lib.AppUtil;
|
|
|
|
namespace LipSync {
|
|
|
|
public partial class FormSeriesImage : Form, IMultiLanguageControl {
|
|
float m_start = 0f;
|
|
float m_end = 0f;
|
|
|
|
public FormSeriesImage() {
|
|
InitializeComponent();
|
|
ApplyLanguage();
|
|
ApplyFont( AppManager.Config.Font.GetFont() );
|
|
Type type = typeof( System.Drawing.Imaging.ImageFormat );
|
|
PropertyInfo[] properties = type.GetProperties();
|
|
int i = -1;
|
|
foreach ( PropertyInfo pi in properties ) {
|
|
if ( pi.PropertyType.Equals( typeof( System.Drawing.Imaging.ImageFormat ) ) ) {
|
|
System.Drawing.Imaging.ImageFormat ifm = (System.Drawing.Imaging.ImageFormat)pi.GetValue( null, null );
|
|
string ext = Misc.GetExtensionFromImageFormat( ifm );
|
|
if ( ext.Length > 0 ) {
|
|
i++;
|
|
comboFormat.Items.Add( pi.Name );
|
|
if ( i == 0 ) {
|
|
comboFormat.SelectedIndex = 0;
|
|
}
|
|
if ( ext == "bmp" ) {
|
|
comboFormat.SelectedIndex = i;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public void ApplyFont( Font font ) {
|
|
this.Font = font;
|
|
foreach ( Control c in this.Controls ) {
|
|
Boare.Lib.AppUtil.Misc.ApplyFontRecurse( c, font );
|
|
}
|
|
}
|
|
|
|
public string ParserString {
|
|
get {
|
|
if ( chkAutomaticallyAddExtension.Checked ) {
|
|
return txtParser.Text + "." + Misc.GetExtensionFromImageFormat( ImageFormat );
|
|
} else {
|
|
return txtParser.Text;
|
|
}
|
|
}
|
|
}
|
|
|
|
public System.Drawing.Imaging.ImageFormat ImageFormat {
|
|
get {
|
|
if ( comboFormat.SelectedItem == null ){
|
|
return System.Drawing.Imaging.ImageFormat.Bmp;
|
|
}
|
|
string title = (string)comboFormat.SelectedItem;
|
|
#if DEBUG
|
|
Console.WriteLine( "ImageFormat.get()" );
|
|
Console.WriteLine( " System.Drawing.Imaging.ImageFormat.Bmp.ToString()=" + System.Drawing.Imaging.ImageFormat.Bmp.ToString() );
|
|
#endif
|
|
PropertyInfo[] properties = typeof( System.Drawing.Imaging.ImageFormat ).GetProperties();
|
|
foreach ( PropertyInfo pi in properties ) {
|
|
if ( pi.PropertyType.Equals( typeof( System.Drawing.Imaging.ImageFormat ) ) ) {
|
|
if ( pi.Name == title ) {
|
|
return (System.Drawing.Imaging.ImageFormat)pi.GetValue( null, null );
|
|
}
|
|
}
|
|
}
|
|
return System.Drawing.Imaging.ImageFormat.Bmp;
|
|
}
|
|
}
|
|
|
|
public string DirectoryName {
|
|
get {
|
|
return txtDirectory.Text;
|
|
}
|
|
}
|
|
|
|
public void ApplyLanguage() {
|
|
this.Text = _( "Series Image" );
|
|
btnCancel.Text = _( "Cancel" );
|
|
btnOK.Text = _( "Save" );
|
|
lblFileName.Text = _( "Directory" );
|
|
groupStartEnd.Text = _( "Specify output range" );
|
|
chkStart.Text = _( "Start" );
|
|
chkEnd.Text = _( "End" );
|
|
groupFileName.Text = _( "File Name" );
|
|
lblParser.Text = _( "Parser String" );
|
|
chkAutomaticallyAddExtension.Text = _( "Automatically Add Extension" );
|
|
lblFormat.Text = _( "Image Format" );
|
|
}
|
|
|
|
public static string _( string s ) {
|
|
return Messaging.GetMessage( s );
|
|
}
|
|
|
|
public float Start {
|
|
get {
|
|
return m_start;
|
|
}
|
|
}
|
|
|
|
public float End {
|
|
get {
|
|
return m_end;
|
|
}
|
|
}
|
|
|
|
private void btnOK_Click( object sender, EventArgs e ) {
|
|
try {
|
|
m_start = float.Parse( txtStart.Text );
|
|
m_end = float.Parse( txtEnd.Text );
|
|
this.DialogResult = DialogResult.OK;
|
|
} catch ( Exception ex ) {
|
|
MessageBox.Show(
|
|
_( "Invalid value has been entered" ),
|
|
_( "Error" ),
|
|
MessageBoxButtons.OK,
|
|
MessageBoxIcon.Exclamation
|
|
);
|
|
Common.LogPush( ex );
|
|
}
|
|
}
|
|
|
|
private void btnFile_Click( object sender, EventArgs e ) {
|
|
using ( FolderBrowserDialog fbd = new FolderBrowserDialog() ) {
|
|
if ( fbd.ShowDialog() == DialogResult.OK ) {
|
|
txtDirectory.Text = fbd.SelectedPath;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void chkStart_CheckedChanged( object sender, EventArgs e ) {
|
|
txtStart.Enabled = chkStart.Checked;
|
|
if ( txtStart.Enabled ) {
|
|
txtStart.Focus();
|
|
}
|
|
}
|
|
|
|
private void checkBox1_CheckedChanged( object sender, EventArgs e ) {
|
|
txtEnd.Enabled = chkEnd.Checked;
|
|
if ( txtEnd.Enabled ) {
|
|
txtEnd.Focus();
|
|
}
|
|
}
|
|
|
|
public bool StartSpecified {
|
|
get {
|
|
return chkStart.Checked;
|
|
}
|
|
}
|
|
|
|
public bool EndSpecified {
|
|
get {
|
|
return chkEnd.Checked;
|
|
}
|
|
}
|
|
|
|
private void txtParser_TextChanged( object sender, EventArgs e ) {
|
|
UpdateSampleFileNames();
|
|
}
|
|
|
|
private void comboFormat_SelectedIndexChanged( object sender, EventArgs e ) {
|
|
UpdateSampleFileNames();
|
|
}
|
|
|
|
private void UpdateSampleFileNames() {
|
|
string ret = _( "Sample File Name" ) + Environment.NewLine;
|
|
System.Drawing.Imaging.ImageFormat ifm = ImageFormat;
|
|
string ext = Misc.GetExtensionFromImageFormat( ifm );
|
|
string parser = ParserString;
|
|
try {
|
|
ret += string.Format( parser, 0 ) + Environment.NewLine;
|
|
ret += string.Format( parser, 1 ) + Environment.NewLine;
|
|
ret += " ... " + Environment.NewLine;
|
|
ret += string.Format( parser, 1234 );
|
|
} catch {
|
|
ret += _( "Error: Invalid parser string." );
|
|
}
|
|
txtPreview.Text = ret;
|
|
}
|
|
|
|
private void chkAutomaticallyAddExtension_CheckedChanged( object sender, EventArgs e ) {
|
|
UpdateSampleFileNames();
|
|
}
|
|
}
|
|
|
|
}
|