2010-01-12 18:03:46 +01:00
/ * This file is part of CustomizeMii
* Copyright ( C ) 2009 Leathl
*
* CustomizeMii is free software : you can redistribute it and / or
* modify it under the terms of the GNU General Public License as published
* by the Free Software Foundation , either version 3 of the License , or
* ( at your option ) any later version .
*
* CustomizeMii 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 . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
* /
using System ;
2010-01-08 23:10:02 +01:00
using System.Windows.Forms ;
using System.ComponentModel ;
using System.IO ;
using System.Drawing ;
namespace CustomizeMii
{
partial class CustomizeMii_Main
{
2010-01-12 18:03:46 +01:00
private void FixTpls ( )
{
string [ ] bannerTpls = Directory . GetFiles ( GetCurBannerPath ( ) + "timg\\" , "*.tpl" ) ;
string [ ] iconTpls = Directory . GetFiles ( GetCurIconPath ( ) + "timg\\" , "*.tpl" ) ;
foreach ( string thisTpl in bannerTpls )
Wii . TPL . FixFilter ( thisTpl ) ;
foreach ( string thisTpl in iconTpls )
Wii . TPL . FixFilter ( thisTpl ) ;
}
private void EnableControls ( object sender , EventArgs e )
{
for ( int i = 0 ; i < tabControl . TabCount ; i + + )
{
if ( tabControl . TabPages [ i ] ! = tabSource )
{
foreach ( Control Ctrl in tabControl . TabPages [ i ] . Controls )
{
if ( Ctrl is Button ) Ctrl . Enabled = true ;
else if ( ( Ctrl is TextBox ) & & ( Ctrl . Tag ! = ( object ) "Disabled" ) ) Ctrl . Enabled = true ;
else if ( Ctrl is CheckBox & & Ctrl . Tag ! = ( object ) "Independent" ) Ctrl . Enabled = true ;
else if ( Ctrl is ComboBox ) Ctrl . Enabled = true ;
else if ( Ctrl is LinkLabel & & Ctrl . Tag ! = ( object ) "Independent" ) Ctrl . Enabled = true ;
}
}
}
}
private void DisableControls ( object sender , EventArgs e )
{
for ( int i = 0 ; i < tabControl . TabCount ; i + + )
{
if ( tabControl . TabPages [ i ] ! = tabSource )
{
foreach ( Control Ctrl in tabControl . TabPages [ i ] . Controls )
{
if ( Ctrl is Button ) Ctrl . Enabled = false ;
else if ( ( Ctrl is TextBox ) & & ( Ctrl . Tag ! = ( object ) "Disabled" ) ) Ctrl . Enabled = false ;
else if ( Ctrl is CheckBox & & Ctrl . Tag ! = ( object ) "Independent" ) Ctrl . Enabled = false ;
else if ( Ctrl is ComboBox ) Ctrl . Enabled = false ;
else if ( Ctrl is LinkLabel & & Ctrl . Tag ! = ( object ) "Independent" ) Ctrl . Enabled = false ;
}
}
}
}
private Image ResizeImage ( Image img , int x , int y )
{
Image newimage = new Bitmap ( x , y ) ;
using ( Graphics gfx = Graphics . FromImage ( newimage ) )
{
gfx . DrawImage ( img , 0 , 0 , x , y ) ;
}
return newimage ;
}
private string GetCurBannerPath ( )
{
if ( string . IsNullOrEmpty ( BannerReplace ) )
return TempUnpackPath + "00000000.app_OUT\\meta\\banner.bin_OUT\\arc\\" ;
else
return TempBannerPath + "arc\\" ;
}
private string GetCurIconPath ( )
{
if ( string . IsNullOrEmpty ( IconReplace ) )
return TempUnpackPath + "00000000.app_OUT\\meta\\icon.bin_OUT\\arc\\" ;
else
return TempIconPath + "arc\\" ;
}
private void SetText ( TextBox tb , string text )
{
SetTextInvoker invoker = new SetTextInvoker ( this . SetText ) ;
this . Invoke ( invoker , text , tb ) ;
}
private void SetText ( string text , TextBox tb )
{
tb . Text = text ;
}
private void SetLabel ( Label lb , string text )
{
SetLabelInvoker invoker = new SetLabelInvoker ( this . SetLabel ) ;
this . Invoke ( invoker , text , lb ) ;
}
private void SetLabel ( string text , Label lb )
{
lb . Text = text ;
}
private void AddBannerTpls ( object sender , EventArgs e )
{
try
{
string [ ] BannerTpls ;
if ( string . IsNullOrEmpty ( BannerReplace ) )
BannerTpls = Directory . GetFiles ( TempUnpackBannerTplPath ) ;
else
BannerTpls = Directory . GetFiles ( TempBannerPath + "arc\\timg" ) ;
AddBannerTpls ( BannerTpls ) ;
}
catch { }
}
private void AddIconTpls ( object sender , EventArgs e )
{
try
{
string [ ] IconTpls ;
if ( string . IsNullOrEmpty ( IconReplace ) )
IconTpls = Directory . GetFiles ( TempUnpackIconTplPath ) ;
else
IconTpls = Directory . GetFiles ( TempIconPath + "arc\\timg" ) ;
AddIconTpls ( IconTpls ) ;
}
catch { }
}
private void AddBannerTpls ( string [ ] tpls )
{
if ( tpls . Length > 0 )
{
lbxBannerTpls . Items . Clear ( ) ;
BannerTplPath = tpls [ 0 ] . Remove ( tpls [ 0 ] . LastIndexOf ( '\\' ) + 1 ) ;
for ( int i = 0 ; i < tpls . Length ; i + + )
{
if ( BannerTransparents . Contains ( tpls [ i ] . Remove ( 0 , tpls [ i ] . LastIndexOf ( '\\' ) + 1 ) ) )
lbxBannerTpls . Items . Add ( tpls [ i ] . Remove ( 0 , tpls [ i ] . LastIndexOf ( '\\' ) + 1 ) + " (Transparent)" ) ;
else
lbxBannerTpls . Items . Add ( tpls [ i ] . Remove ( 0 , tpls [ i ] . LastIndexOf ( '\\' ) + 1 ) ) ;
}
}
}
private void AddIconTpls ( string [ ] tpls )
{
if ( tpls . Length > 0 )
{
lbxIconTpls . Items . Clear ( ) ;
IconTplPath = tpls [ 0 ] . Remove ( tpls [ 0 ] . LastIndexOf ( '\\' ) + 1 ) ;
for ( int i = 0 ; i < tpls . Length ; i + + )
{
if ( IconTransparents . Contains ( tpls [ i ] . Remove ( 0 , tpls [ i ] . LastIndexOf ( '\\' ) + 1 ) ) )
lbxIconTpls . Items . Add ( tpls [ i ] . Remove ( 0 , tpls [ i ] . LastIndexOf ( '\\' ) + 1 ) + " (Transparent)" ) ;
else
lbxIconTpls . Items . Add ( tpls [ i ] . Remove ( 0 , tpls [ i ] . LastIndexOf ( '\\' ) + 1 ) ) ;
}
}
}
private void AddBrlyts ( object sender , EventArgs e )
{
try
{
string [ ] BannerBrlyt ;
if ( string . IsNullOrEmpty ( BannerReplace ) )
BannerBrlyt = Directory . GetFiles ( TempUnpackBannerBrlytPath ) ;
else
BannerBrlyt = Directory . GetFiles ( TempBannerPath + "arc\\blyt" ) ;
string [ ] IconBrlyt ;
if ( string . IsNullOrEmpty ( IconReplace ) )
IconBrlyt = Directory . GetFiles ( TempUnpackIconBrlytPath ) ;
else
IconBrlyt = Directory . GetFiles ( TempIconPath + "arc\\blyt" ) ;
AddBannerBrlyt ( BannerBrlyt ) ;
AddIconBrlyt ( IconBrlyt ) ;
if ( lbxBrlytBanner . SelectedIndex = = - 1 & & lbxBrlytIcon . SelectedIndex = = - 1 )
{
if ( lbxBrlytBanner . Items . Count > 0 ) lbxBrlytBanner . SelectedIndex = 0 ;
else if ( lbxBrlytIcon . Items . Count > 0 ) lbxBrlytIcon . SelectedIndex = 0 ;
}
}
catch { }
}
private void AddBrlans ( object sender , EventArgs e )
{
try
{
string [ ] BannerBrlan ;
if ( string . IsNullOrEmpty ( BannerReplace ) )
BannerBrlan = Directory . GetFiles ( TempUnpackBannerBrlanPath ) ;
else
BannerBrlan = Directory . GetFiles ( TempBannerPath + "arc\\anim" ) ;
string [ ] IconBrlan ;
if ( string . IsNullOrEmpty ( IconReplace ) )
IconBrlan = Directory . GetFiles ( TempUnpackIconBrlanPath ) ;
else
IconBrlan = Directory . GetFiles ( TempIconPath + "arc\\anim" ) ;
AddBannerBrlan ( BannerBrlan ) ;
AddIconBrlan ( IconBrlan ) ;
if ( lbxBrlanBanner . SelectedIndex = = - 1 & & lbxBrlanIcon . SelectedIndex = = - 1 )
{
if ( lbxBrlanBanner . Items . Count > 0 ) lbxBrlanBanner . SelectedIndex = 0 ;
else if ( lbxBrlanIcon . Items . Count > 0 ) lbxBrlanIcon . SelectedIndex = 0 ;
}
}
catch { }
}
private void AddBannerBrlyt ( string [ ] brlyt )
{
if ( brlyt . Length > 0 )
{
lbxBrlytBanner . Items . Clear ( ) ;
BannerBrlytPath = brlyt [ 0 ] . Remove ( brlyt [ 0 ] . LastIndexOf ( '\\' ) + 1 ) ;
for ( int i = 0 ; i < brlyt . Length ; i + + )
{
lbxBrlytBanner . Items . Add ( brlyt [ i ] . Remove ( 0 , brlyt [ i ] . LastIndexOf ( '\\' ) + 1 ) ) ;
}
}
}
private void AddIconBrlyt ( string [ ] brlyt )
{
if ( brlyt . Length > 0 )
{
lbxBrlytIcon . Items . Clear ( ) ;
IconBrlytPath = brlyt [ 0 ] . Remove ( brlyt [ 0 ] . LastIndexOf ( '\\' ) + 1 ) ;
for ( int i = 0 ; i < brlyt . Length ; i + + )
{
lbxBrlytIcon . Items . Add ( brlyt [ i ] . Remove ( 0 , brlyt [ i ] . LastIndexOf ( '\\' ) + 1 ) ) ;
}
}
}
private void AddBannerBrlan ( string [ ] brlan )
{
if ( brlan . Length > 0 )
{
lbxBrlanBanner . Items . Clear ( ) ;
BannerBrlanPath = brlan [ 0 ] . Remove ( brlan [ 0 ] . LastIndexOf ( '\\' ) + 1 ) ;
for ( int i = 0 ; i < brlan . Length ; i + + )
{
lbxBrlanBanner . Items . Add ( brlan [ i ] . Remove ( 0 , brlan [ i ] . LastIndexOf ( '\\' ) + 1 ) ) ;
}
}
}
private void AddIconBrlan ( string [ ] brlan )
{
if ( brlan . Length > 0 )
{
lbxBrlanIcon . Items . Clear ( ) ;
IconBrlanPath = brlan [ 0 ] . Remove ( brlan [ 0 ] . LastIndexOf ( '\\' ) + 1 ) ;
for ( int i = 0 ; i < brlan . Length ; i + + )
{
lbxBrlanIcon . Items . Add ( brlan [ i ] . Remove ( 0 , brlan [ i ] . LastIndexOf ( '\\' ) + 1 ) ) ;
}
}
}
private void ErrorBox ( string message )
{
BoxInvoker invoker = new BoxInvoker ( this . errorBox ) ;
this . Invoke ( invoker , new object [ ] { message } ) ;
}
private void errorBox ( string message )
{
MessageBox . Show ( message , "Error" , MessageBoxButtons . OK , MessageBoxIcon . Error ) ;
}
private void InfoBox ( string message )
{
BoxInvoker invoker = new BoxInvoker ( this . infoBox ) ;
this . Invoke ( invoker , new object [ ] { message } ) ;
}
private void infoBox ( string message )
{
MessageBox . Show ( message , "Information" , MessageBoxButtons . OK , MessageBoxIcon . Information ) ;
}
private void MakeBannerTplsTransparent ( )
{
foreach ( string thisTpl in lbxBannerTpls . Items )
{
if ( thisTpl . EndsWith ( "(Transparent)" ) )
{
string Tpl = GetCurBannerPath ( ) + "timg\\" + thisTpl . Replace ( " (Transparent)" , string . Empty ) ;
byte [ ] TplArray = Wii . Tools . LoadFileToByteArray ( Tpl ) ;
int Width = Wii . TPL . GetTextureWidth ( TplArray ) ;
int Height = Wii . TPL . GetTextureHeight ( TplArray ) ;
Image Img = new Bitmap ( Width , Height ) ;
Wii . TPL . ConvertToTPL ( Img , Tpl , 5 ) ;
}
}
}
private void MakeIconTplsTransparent ( )
{
foreach ( string thisTpl in lbxIconTpls . Items )
{
if ( thisTpl . EndsWith ( "(Transparent)" ) )
{
string Tpl = GetCurIconPath ( ) + "timg\\" + thisTpl . Replace ( " (Transparent)" , string . Empty ) ;
byte [ ] TplArray = Wii . Tools . LoadFileToByteArray ( Tpl ) ;
int Width = Wii . TPL . GetTextureWidth ( TplArray ) ;
int Height = Wii . TPL . GetTextureHeight ( TplArray ) ;
Image Img = new Bitmap ( Width , Height ) ;
Wii . TPL . ConvertToTPL ( Img , Tpl , 5 ) ;
}
}
}
2010-01-08 23:10:02 +01:00
private void AddTpl ( ListBox lbx )
{
AddTpl ( lbx , null ) ;
}
private void AddTpl ( ListBox lbx , string inputFile )
{
try
{
if ( string . IsNullOrEmpty ( inputFile ) )
{
OpenFileDialog ofd = new OpenFileDialog ( ) ;
ofd . Filter = "TPL|*.tpl|PNG|*.png|JPG|*.jpg|GIF|*.gif|BMP|*.bmp|All|*.tpl;*.png;*.jpg;*.gif;*.bmp" ;
ofd . FilterIndex = 6 ;
if ( ofd . ShowDialog ( ) = = DialogResult . OK )
{
inputFile = ofd . FileName ;
}
}
if ( ! string . IsNullOrEmpty ( inputFile ) )
{
for ( int i = 0 ; i < lbx . Items . Count ; i + + )
if ( lbx . Items [ i ] . ToString ( ) . ToLower ( ) = = Path . GetFileNameWithoutExtension ( inputFile ) . ToLower ( ) + ".tpl" )
throw new Exception ( "This TPL already exists, use the Replace button" ) ;
string CurPath ;
if ( lbx = = lbxBannerTpls ) CurPath = GetCurBannerPath ( ) ;
else CurPath = GetCurIconPath ( ) ;
string [ ] brlytTpls = Wii . Brlyt . GetBrlytTpls ( CurPath + string . Format ( "blyt\\{0}.brlyt" , lbx = = lbxBannerTpls ? "banner" : "icon" ) ) ;
string TplName = Path . GetFileNameWithoutExtension ( inputFile ) + ".tpl" ;
int TplFormat = 6 ;
int switchVal = lbx = = lbxBannerTpls ? cmbFormatBanner . SelectedIndex : cmbFormatIcon . SelectedIndex ;
switch ( switchVal )
{
case 0 :
TplFormat = 6 ;
break ;
case 1 :
TplFormat = 4 ;
break ;
case 2 :
TplFormat = 5 ;
break ;
default :
if ( ! inputFile . ToLower ( ) . EndsWith ( ".tpl" ) )
throw new Exception ( "This format is not supported, you must choose either RGBA8, RGB565 or RGB5A3!" ) ;
break ;
}
if ( ! Wii . Tools . StringExistsInStringArray ( TplName , brlytTpls ) )
{
if ( MessageBox . Show ( string . Format ( "{0} is not required by your {1}.brlyt and thus only wastes memory!\nDo you still want to add it?" , TplName , lbx = = lbxBannerTpls ? "banner" : "icon" ) , "TPL not required" , MessageBoxButtons . YesNo , MessageBoxIcon . Information ) = = DialogResult . No )
return ;
}
if ( inputFile . ToLower ( ) . EndsWith ( ".tpl" ) )
{
File . Copy ( inputFile , CurPath + "timg\\" + TplName , true ) ;
lbx . Items . Add ( TplName ) ;
}
else
{
using ( Image img = Image . FromFile ( inputFile ) )
{
Wii . TPL . ConvertToTPL ( img , CurPath + "timg\\" + TplName , TplFormat ) ;
lbx . Items . Add ( TplName ) ;
}
}
}
}
catch ( Exception ex ) { throw ex ; }
}
private void LoadChannel ( )
{
LoadChannel ( null ) ;
}
private void LoadChannel ( string inputFile )
{
2010-01-12 18:03:46 +01:00
if ( Mono ) CommonKeyCheck ( ) ;
2010-01-08 23:10:02 +01:00
if ( pbProgress . Value = = 100 )
{
if ( string . IsNullOrEmpty ( inputFile ) )
{
OpenFileDialog ofd = new OpenFileDialog ( ) ;
ofd . Filter = "Wii Channels|*.wad" ;
if ( ofd . ShowDialog ( ) = = DialogResult . OK )
{
SourceWad = ofd . FileName ;
BackgroundWorker bwLoadChannel = new BackgroundWorker ( ) ;
bwLoadChannel . DoWork + = new DoWorkEventHandler ( bwLoadChannel_DoWork ) ;
bwLoadChannel . ProgressChanged + = new ProgressChangedEventHandler ( bwLoadChannel_ProgressChanged ) ;
bwLoadChannel . RunWorkerCompleted + = new RunWorkerCompletedEventHandler ( bwLoadChannel_RunWorkerCompleted ) ;
bwLoadChannel . WorkerReportsProgress = true ;
bwLoadChannel . RunWorkerAsync ( ofd . FileName ) ;
}
}
else
{
SourceWad = inputFile ;
BackgroundWorker bwLoadChannel = new BackgroundWorker ( ) ;
bwLoadChannel . DoWork + = new DoWorkEventHandler ( bwLoadChannel_DoWork ) ;
bwLoadChannel . ProgressChanged + = new ProgressChangedEventHandler ( bwLoadChannel_ProgressChanged ) ;
bwLoadChannel . RunWorkerCompleted + = new RunWorkerCompletedEventHandler ( bwLoadChannel_RunWorkerCompleted ) ;
bwLoadChannel . WorkerReportsProgress = true ;
bwLoadChannel . RunWorkerAsync ( inputFile ) ;
}
}
}
private void ReplacePart ( )
{
ReplacePart ( null ) ;
}
private void ReplacePart ( string inputFile )
{
if ( ! string . IsNullOrEmpty ( tbSourceWad . Text ) )
{
if ( pbProgress . Value = = 100 )
{
if ( cmbReplace . SelectedIndex = = 2 ) //sound
{
try
{
if ( string . IsNullOrEmpty ( inputFile ) )
{
OpenFileDialog ofd = new OpenFileDialog ( ) ;
ofd . Filter = "Wii Channels|*.wad|00000000.app|00000000.app|sound.bin|sound.bin|All|*.wad;00000000.app;sound.bin" ;
ofd . FilterIndex = 4 ;
if ( ofd . ShowDialog ( ) = = DialogResult . OK )
{
if ( ofd . FileName ! = tbSourceWad . Text )
{
SoundReplace = ofd . FileName ;
SetText ( tbReplace , SoundReplace ) ;
BackgroundWorker bwSoundReplace = new BackgroundWorker ( ) ;
bwSoundReplace . DoWork + = new DoWorkEventHandler ( bwSoundReplace_DoWork ) ;
bwSoundReplace . ProgressChanged + = new ProgressChangedEventHandler ( bwSoundReplace_ProgressChanged ) ;
bwSoundReplace . RunWorkerCompleted + = new RunWorkerCompletedEventHandler ( bwSoundReplace_RunWorkerCompleted ) ;
bwSoundReplace . WorkerReportsProgress = true ;
bwSoundReplace . RunWorkerAsync ( ofd . FileName ) ;
}
}
}
else
{
if ( inputFile ! = tbSourceWad . Text )
{
SoundReplace = inputFile ;
SetText ( tbReplace , SoundReplace ) ;
BackgroundWorker bwSoundReplace = new BackgroundWorker ( ) ;
bwSoundReplace . DoWork + = new DoWorkEventHandler ( bwSoundReplace_DoWork ) ;
bwSoundReplace . ProgressChanged + = new ProgressChangedEventHandler ( bwSoundReplace_ProgressChanged ) ;
bwSoundReplace . RunWorkerCompleted + = new RunWorkerCompletedEventHandler ( bwSoundReplace_RunWorkerCompleted ) ;
bwSoundReplace . WorkerReportsProgress = true ;
bwSoundReplace . RunWorkerAsync ( inputFile ) ;
}
}
}
catch ( Exception ex )
{
SoundReplace = string . Empty ;
SetText ( tbReplace , SoundReplace ) ;
ErrorBox ( ex . Message ) ;
}
}
else if ( cmbReplace . SelectedIndex = = 1 ) //icon
{
try
{
if ( string . IsNullOrEmpty ( inputFile ) )
{
OpenFileDialog ofd = new OpenFileDialog ( ) ;
ofd . Filter = "Wii Channels|*.wad|00000000.app|00000000.app|icon.bin|icon.bin|All|*.wad;00000000.app;icon.bin" ;
ofd . FilterIndex = 4 ;
if ( ofd . ShowDialog ( ) = = DialogResult . OK )
{
if ( ofd . FileName ! = tbSourceWad . Text )
{
IconReplace = ofd . FileName ;
SetText ( tbReplace , IconReplace ) ;
BackgroundWorker bwIconReplace = new BackgroundWorker ( ) ;
bwIconReplace . DoWork + = new DoWorkEventHandler ( bwIconReplace_DoWork ) ;
bwIconReplace . ProgressChanged + = new ProgressChangedEventHandler ( bwIconReplace_ProgressChanged ) ;
bwIconReplace . RunWorkerCompleted + = new RunWorkerCompletedEventHandler ( bwIconReplace_RunWorkerCompleted ) ;
bwIconReplace . WorkerReportsProgress = true ;
bwIconReplace . RunWorkerAsync ( ofd . FileName ) ;
}
}
}
else
{
if ( inputFile ! = tbSourceWad . Text )
{
IconReplace = inputFile ;
SetText ( tbReplace , IconReplace ) ;
BackgroundWorker bwIconReplace = new BackgroundWorker ( ) ;
bwIconReplace . DoWork + = new DoWorkEventHandler ( bwIconReplace_DoWork ) ;
bwIconReplace . ProgressChanged + = new ProgressChangedEventHandler ( bwIconReplace_ProgressChanged ) ;
bwIconReplace . RunWorkerCompleted + = new RunWorkerCompletedEventHandler ( bwIconReplace_RunWorkerCompleted ) ;
bwIconReplace . WorkerReportsProgress = true ;
bwIconReplace . RunWorkerAsync ( inputFile ) ;
}
}
}
catch ( Exception ex )
{
IconReplace = string . Empty ;
SetText ( tbReplace , IconReplace ) ;
ErrorBox ( ex . Message ) ;
}
}
else //banner
{
try
{
if ( string . IsNullOrEmpty ( inputFile ) )
{
OpenFileDialog ofd = new OpenFileDialog ( ) ;
ofd . Filter = "Wii Channels|*.wad|00000000.app|00000000.app|banner.bin|banner.bin|All|*.wad;00000000.app;banner.bin" ;
ofd . FilterIndex = 4 ;
if ( ofd . ShowDialog ( ) = = DialogResult . OK )
{
if ( ofd . FileName ! = tbSourceWad . Text )
{
BannerReplace = ofd . FileName ;
SetText ( tbReplace , BannerReplace ) ;
BackgroundWorker bwBannerReplace = new BackgroundWorker ( ) ;
bwBannerReplace . DoWork + = new DoWorkEventHandler ( bwBannerReplace_DoWork ) ;
bwBannerReplace . ProgressChanged + = new ProgressChangedEventHandler ( bwBannerReplace_ProgressChanged ) ;
bwBannerReplace . RunWorkerCompleted + = new RunWorkerCompletedEventHandler ( bwBannerReplace_RunWorkerCompleted ) ;
bwBannerReplace . WorkerReportsProgress = true ;
bwBannerReplace . RunWorkerAsync ( ofd . FileName ) ;
}
}
}
else
{
if ( inputFile ! = tbSourceWad . Text )
{
BannerReplace = inputFile ;
SetText ( tbReplace , BannerReplace ) ;
BackgroundWorker bwBannerReplace = new BackgroundWorker ( ) ;
bwBannerReplace . DoWork + = new DoWorkEventHandler ( bwBannerReplace_DoWork ) ;
bwBannerReplace . ProgressChanged + = new ProgressChangedEventHandler ( bwBannerReplace_ProgressChanged ) ;
bwBannerReplace . RunWorkerCompleted + = new RunWorkerCompletedEventHandler ( bwBannerReplace_RunWorkerCompleted ) ;
bwBannerReplace . WorkerReportsProgress = true ;
bwBannerReplace . RunWorkerAsync ( inputFile ) ;
}
}
}
catch ( Exception ex )
{
BannerReplace = string . Empty ;
SetText ( tbReplace , BannerReplace ) ;
ErrorBox ( ex . Message ) ;
}
}
}
}
}
}
}