1
0
Fork 0
forked from len0rd/rockbox

rbutil: first attempt to talk file creator. also pushed version to 3.2.6

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13906 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Wenger 2007-07-15 18:15:59 +00:00
parent 798e0d5525
commit 1ad4b2c809
10 changed files with 414 additions and 8 deletions

View file

@ -22,7 +22,7 @@
#define CREDITS_H_INCLUDED #define CREDITS_H_INCLUDED
#define RBUTIL_FULLNAME "The Rockbox Utility" #define RBUTIL_FULLNAME "The Rockbox Utility"
#define RBUTIL_VERSION "Version 0.3.2.5" #define RBUTIL_VERSION "Version 0.3.2.6"
static const wxString rbutil_developers[] = { static const wxString rbutil_developers[] = {
wxT("Christi Alice Scarborough"), wxT("Christi Alice Scarborough"),

View file

@ -148,8 +148,287 @@ bool bootloaderInstallDlg::TransferDataToWindow()
m_firmwarepos->setDefault(); m_firmwarepos->setDefault();
return true; return true;
} }
////////////////////////////////////////////////
//// Talk file creation
/////////////////////////////////////////////////
IMPLEMENT_CLASS( talkInstallDlg, wxDialog )
BEGIN_EVENT_TABLE( talkInstallDlg, wxDialog )
EVT_BUTTON(ID_BROWSE_ENC_BTN, talkInstallDlg::OnBrowseEncBtn)
EVT_BUTTON(ID_BROWSE_TTS_BTN, talkInstallDlg::OnBrowseTtsBtn)
END_EVENT_TABLE()
talkInstallDlg::talkInstallDlg(TalkFileCreator* talkcreator )
{
m_talkCreator = talkcreator;
Init();
}
talkInstallDlg::talkInstallDlg(TalkFileCreator* talkcreator, wxWindow* parent,
wxWindowID id, const wxString& caption,
const wxPoint& pos, const wxSize& size, long style )
{
m_talkCreator = talkcreator;
Init();
Create(parent, id, caption, pos, size, style);
}
void talkInstallDlg::CreateControls()
{
// A top-level sizer
wxBoxSizer* topSizer = new wxBoxSizer(wxVERTICAL);
this->SetSizer(topSizer);
wxBoxSizer* wxBoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
topSizer->Add(wxBoxSizer2, 0, wxALIGN_LEFT|wxALL, 5);
// bitmap
wxBitmap sidebmp(wizard_xpm);
ImageCtrl* sideimage = new ImageCtrl(this,wxID_ANY);
sideimage->SetBitmap(sidebmp);
wxBoxSizer2->Add(sideimage,0,wxALIGN_LEFT | wxALL,5);
wxBoxSizer* wxBoxSizer3 = new wxBoxSizer(wxVERTICAL);
wxBoxSizer2->Add(wxBoxSizer3, 0, wxALIGN_LEFT|wxALL, 5);
// Device position
m_devicepos = new DevicePositionCtrl(this,ID_DEVICEPOS);
wxBoxSizer3->Add(m_devicepos, 0, wxALIGN_LEFT|wxALL, 5);
// Encoder
wxStaticBox* WxStaticBoxSizer2_StaticBoxObj = new wxStaticBox(this,
wxID_ANY, wxT("Encoder"));
wxStaticBoxSizer* WxStaticBoxSizer2 =
new wxStaticBoxSizer(WxStaticBoxSizer2_StaticBoxObj,wxVERTICAL);
wxBoxSizer3->Add(WxStaticBoxSizer2,0,wxALIGN_CENTER_HORIZONTAL|wxGROW | wxALL, 5);
m_Enc = new wxComboBox(this,ID_ENC_CBX,wxT("lame"),
wxDefaultPosition,wxDefaultSize,m_talkCreator->getSupportedEnc(),wxCB_READONLY);
m_Enc->SetToolTip(wxT("Select your Encoder."));
m_Enc->SetHelpText(wxT("Select your Encoder."));
WxStaticBoxSizer2->Add(m_Enc,0,wxALIGN_CENTER_HORIZONTAL|wxGROW | wxALL, 5);
wxStaticText* enc_desc = new wxStaticText( this, wxID_STATIC,
wxT("Select the Encoder executable"), wxDefaultPosition,
wxDefaultSize, 0 );
WxStaticBoxSizer2->Add(enc_desc, 0, wxALIGN_LEFT|wxALL, 5);
wxBoxSizer* horizontalSizer = new wxBoxSizer(wxHORIZONTAL);
WxStaticBoxSizer2->Add(horizontalSizer, 0, wxGROW|wxALL, 5);
m_EncExe = new wxTextCtrl(this,wxID_ANY,gv->pathToEnc);
m_EncExe->SetToolTip(wxT("Type the folder where your Encoder exe is"));
m_EncExe->SetHelpText(wxT("Type the folder where your Encoder exe is"));
horizontalSizer->Add(m_EncExe,0,wxGROW | wxALL,5);
m_browseEncBtn = new wxButton(this, ID_BROWSE_ENC_BTN, wxT("Browse"),
wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator,
wxT("BrowseEncBtn"));
m_browseEncBtn->SetToolTip(wxT("Browse for your Encoder Exe"));
m_browseEncBtn->SetHelpText(wxT("Browse for your Encoder exe"));
horizontalSizer->Add(m_browseEncBtn,0,wxGROW | wxALL,5);
wxStaticText* enc_desc_opt = new wxStaticText( this, wxID_STATIC,
wxT("Encoder Options"), wxDefaultPosition,
wxDefaultSize, 0 );
WxStaticBoxSizer2->Add(enc_desc_opt, 0, wxALIGN_LEFT|wxALL, 5);
m_EncOpts = new wxTextCtrl(this,wxID_ANY,m_talkCreator->getEncOpts(wxT("lame")));
m_EncOpts->SetToolTip(wxT("Encoder Options"));
m_EncOpts->SetHelpText(wxT("Encoder Options"));
WxStaticBoxSizer2->Add(m_EncOpts, 0, wxALIGN_LEFT|wxALL, 5);
// TTS
wxStaticBox* WxStaticBoxSizer3_StaticBoxObj = new wxStaticBox(this,
wxID_ANY, wxT("Text to Speach"));
wxStaticBoxSizer* WxStaticBoxSizer3 =
new wxStaticBoxSizer(WxStaticBoxSizer3_StaticBoxObj,wxVERTICAL);
wxBoxSizer3->Add(WxStaticBoxSizer3,0,wxALIGN_CENTER_HORIZONTAL|wxGROW | wxALL, 5);
m_Tts = new wxComboBox(this,ID_TTS_CBX,wxT("espeak"),
wxDefaultPosition,wxDefaultSize,m_talkCreator->getSupportedTTS(),wxCB_READONLY);
m_Tts->SetToolTip(wxT("Select your TTS."));
m_Tts->SetHelpText(wxT("Select your TTS."));
WxStaticBoxSizer3->Add(m_Tts,0,wxALIGN_CENTER_HORIZONTAL|wxGROW | wxALL, 5);
wxStaticText* tts_desc = new wxStaticText( this, wxID_STATIC,
wxT("Select the TTS executable"), wxDefaultPosition,
wxDefaultSize, 0 );
WxStaticBoxSizer3->Add(tts_desc, 0, wxALIGN_LEFT|wxALL, 5);
wxBoxSizer* horizontalSizer2 = new wxBoxSizer(wxHORIZONTAL);
WxStaticBoxSizer3->Add(horizontalSizer2, 0, wxGROW|wxALL, 5);
m_TtsExe = new wxTextCtrl(this,wxID_ANY,gv->pathToTts);
m_TtsExe->SetToolTip(wxT("Type the folder where your TTS exe is"));
m_TtsExe->SetHelpText(wxT("Type the folder where your TTS exe is"));
horizontalSizer2->Add(m_TtsExe,0,wxGROW | wxALL,5);
m_browseTtsBtn = new wxButton(this, ID_BROWSE_TTS_BTN, wxT("Browse"),
wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator,
wxT("BrowseEncBtn"));
m_browseTtsBtn->SetToolTip(wxT("Browse for your Encoder Exe"));
m_browseTtsBtn->SetHelpText(wxT("Browse for your Encoder exe"));
horizontalSizer2->Add(m_browseTtsBtn,0,wxGROW | wxALL,5);
wxStaticText* tts_desc_opt = new wxStaticText( this, wxID_STATIC,
wxT("TTS Options"), wxDefaultPosition,
wxDefaultSize, 0 );
WxStaticBoxSizer3->Add(tts_desc_opt, 0, wxALIGN_LEFT|wxALL, 5);
m_TtsOpts = new wxTextCtrl(this,wxID_ANY,m_talkCreator->getTTsOpts(wxT("espeak")));
m_TtsOpts->SetToolTip(wxT("TTS Options"));
m_TtsOpts->SetHelpText(wxT("TTS Options"));
WxStaticBoxSizer3->Add(m_TtsOpts, 0, wxALIGN_LEFT|wxALL, 5);
m_OverwriteWave = new wxCheckBox(this,wxID_ANY,wxT("Overwrite Wav"));
m_OverwriteWave->SetToolTip(wxT("Overwrite Wavefiles"));
m_OverwriteWave->SetHelpText(wxT("Overwrite Wavefiles"));
wxBoxSizer3->Add(m_OverwriteWave,0,wxALIGN_CENTER_HORIZONTAL|wxGROW | wxALL, 5);
m_OverwriteTalk = new wxCheckBox(this,wxID_ANY,wxT("Overwrite Talk"));
m_OverwriteTalk->SetToolTip(wxT("Overwrite Talkfiles"));
m_OverwriteTalk->SetHelpText(wxT("Overwrite Talkfiles"));
wxBoxSizer3->Add(m_OverwriteTalk,0,wxALIGN_CENTER_HORIZONTAL|wxGROW | wxALL, 5);
m_RemoveWave = new wxCheckBox(this,wxID_ANY,wxT("Remove Wav"));
m_RemoveWave->SetToolTip(wxT("Remove Wavfiles"));
m_RemoveWave->SetHelpText(wxT("Remove Wavfiles"));
wxBoxSizer3->Add(m_RemoveWave,0,wxALIGN_CENTER_HORIZONTAL|wxGROW | wxALL, 5);
m_Recursive = new wxCheckBox(this,wxID_ANY,wxT("Recursive"));
m_Recursive->SetToolTip(wxT("Recursive"));
m_Recursive->SetHelpText(wxT("Recursive"));
wxBoxSizer3->Add(m_Recursive,0,wxALIGN_CENTER_HORIZONTAL|wxGROW | wxALL, 5);
m_StripExtensions = new wxCheckBox(this,wxID_ANY,wxT("Strip Extensions"));
m_StripExtensions->SetToolTip(wxT("Strip Extensions"));
m_StripExtensions->SetHelpText(wxT("Strip Extensions"));
wxBoxSizer3->Add(m_StripExtensions,0,wxALIGN_CENTER_HORIZONTAL|wxGROW | wxALL, 5);
OkCancelCtrl* okCancel = new OkCancelCtrl(this,wxID_ANY);
topSizer->Add(okCancel, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
// controls at the bottom
wxBoxSizer* wxBoxSizer7 = new wxBoxSizer(wxVERTICAL);
topSizer->Add(wxBoxSizer7, 0, wxGROW | wxALL, 5);
}
//init the local variables
void talkInstallDlg::Init()
{
}
// create the window
bool talkInstallDlg::Create( wxWindow* parent,
wxWindowID id, const wxString& caption,
const wxPoint& pos, const wxSize& size, long style )
{
if (!wxDialog::Create( parent, id, caption, pos, size, style ))
return false;
CreateControls();
GetSizer()->Fit(this);
GetSizer()->SetSizeHints(this);
Centre();
return true;
}
void talkInstallDlg::OnBrowseEncBtn(wxCommandEvent& event)
{
const wxString& temp = wxFileSelector(
wxT("Please select the location of your encoder"), wxT(""),
wxT(""),wxT(""),wxT("*.*"),0, this);
if (!temp.empty())
{
m_EncExe->SetValue(temp);
}
}
void talkInstallDlg::OnBrowseTtsBtn(wxCommandEvent& event)
{
const wxString& temp = wxFileSelector(
wxT("Please select the location of your TTS engine"), wxT(""),
wxT(""),wxT(""),wxT("*.*"),0, this);
if (!temp.empty())
{
m_TtsExe->SetValue(temp);
}
}
// tranver data from the controls
bool talkInstallDlg::TransferDataFromWindow()
{
gv->curdestdir = m_devicepos->getDevicePos();
if(!wxDirExists(gv->curdestdir))
{
WARN_DIALOG(wxT("The Devicepostion is not valid"),
wxT("Select a Deviceposition"));
gv->curdestdir = wxT("");
return false;
}
m_talkCreator->setDir(gv->curdestdir);
gv->pathToEnc = m_EncExe->GetValue();
if(!wxFileExists(gv->pathToEnc))
{
WARN_DIALOG(wxT("The Encoder exe is not valid"),
wxT("Select an Encoder"));
gv->pathToEnc = wxT("");
return false;
}
m_talkCreator->setEncexe(gv->pathToEnc);
gv->pathToTts = m_TtsExe->GetValue();
if(!wxFileExists(gv->pathToTts))
{
WARN_DIALOG(wxT("The TTs exe is not valid"),
wxT("Select an TTS engine"));
gv->pathToTts = wxT("");
return false;
}
m_talkCreator->setTTSexe(gv->pathToTts);
m_talkCreator->setTTsType(m_Tts->GetValue());
m_talkCreator->setEncType(m_Enc->GetValue());
m_talkCreator->setOverwriteTalk(m_OverwriteWave->IsChecked());
m_talkCreator->setOverwriteWav(m_OverwriteTalk->IsChecked());
m_talkCreator->setRemoveWav(m_RemoveWave->IsChecked());
m_talkCreator->setRecursive(m_Recursive->IsChecked());
m_talkCreator->setStripExtensions(m_StripExtensions->IsChecked());
m_talkCreator->setEncOpts(m_EncOpts->GetValue());
m_talkCreator->setTTsOpts(m_TtsOpts->GetValue());
return true;
}
// tranver data to the controls
bool talkInstallDlg::TransferDataToWindow()
{
m_devicepos->setDefault();
m_OverwriteWave->SetValue(true);
m_OverwriteTalk->SetValue(true);
m_RemoveWave->SetValue(true);
m_Recursive->SetValue(true);
m_StripExtensions->SetValue(false);
return true;
}
//////////////////////////////////////////////// ////////////////////////////////////////////////
//// Font Installation //// Font Installation
///////////////////////////////////////////////// /////////////////////////////////////////////////

View file

@ -2,6 +2,7 @@
#define INSTALL_DIALOGS_H_INCLUDED #define INSTALL_DIALOGS_H_INCLUDED
#include "rbutil.h" #include "rbutil.h"
#include "talkfile.h"
#include "rbutilCtrls.h" #include "rbutilCtrls.h"
class bootloaderInstallDlg : public wxDialog class bootloaderInstallDlg : public wxDialog
@ -44,6 +45,68 @@ private:
}; };
class talkInstallDlg : public wxDialog
{
DECLARE_CLASS( talkInstallDlg )
DECLARE_EVENT_TABLE()
public:
enum {
ID_DEVICEPOS = 1002,
ID_BROWSE_ENC_BTN = 1003,
ID_BROWSE_TTS_BTN = 1004,
ID_TTS_CBX = 1005,
ID_ENC_CBX = 1006,
}; //End of Enum
public:
talkInstallDlg(TalkFileCreator* talkcreator);
talkInstallDlg(TalkFileCreator* talkcreator, wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxString& caption = wxT("Talk file creation"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
/// Member initialization
void Init();
/// Creation
bool Create( wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxString& caption = wxT("Talk file creation"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
/// Creates the controls and sizers
void CreateControls();
void OnBrowseEncBtn(wxCommandEvent& event);
void OnBrowseTtsBtn(wxCommandEvent& event);
bool TransferDataFromWindow();
bool TransferDataToWindow();
private:
TalkFileCreator* m_talkCreator;
DevicePositionCtrl* m_devicepos;
wxTextCtrl* m_EncExe;
wxButton* m_browseEncBtn;
wxTextCtrl* m_EncOpts;
wxComboBox* m_Enc;
wxTextCtrl* m_TtsExe;
wxButton* m_browseTtsBtn;
wxTextCtrl* m_TtsOpts;
wxComboBox* m_Tts;
wxCheckBox* m_OverwriteWave;
wxCheckBox* m_OverwriteTalk;
wxCheckBox* m_RemoveWave;
wxCheckBox* m_Recursive;
wxCheckBox* m_StripExtensions;
};
class fontInstallDlg : public wxDialog class fontInstallDlg : public wxDialog
{ {

View file

@ -1,8 +1,8 @@
#define RBUTIL 1 #define RBUTIL 1
#include <wx/msw/wx.rc> #include <wx/msw/wx.rc>
RBUTIL VERSIONINFO RBUTIL VERSIONINFO
FILEVERSION 0,3,2,5 FILEVERSION 0,3,2,6
PRODUCTVERSION 0,3,2,5 PRODUCTVERSION 0,3,2,6
FILEOS 0x00000004 FILEOS 0x00000004
FILETYPE 0x00000001 FILETYPE 0x00000001
BEGIN BEGIN
@ -10,8 +10,8 @@ BEGIN
BEGIN BEGIN
BLOCK "FFFF0000" BLOCK "FFFF0000"
BEGIN BEGIN
VALUE "FileVersion", "0.3.2.5\0" VALUE "FileVersion", "0.3.2.6\0"
VALUE "ProductVersion", "0.3.2.5\0" VALUE "ProductVersion", "0.3.2.6\0"
VALUE "CompanyName", "Rockbox Team\0" VALUE "CompanyName", "Rockbox Team\0"
VALUE "FileDescription", "Rockbox Utility\0" VALUE "FileDescription", "Rockbox Utility\0"
VALUE "InternalName", "rbutil\0" VALUE "InternalName", "rbutil\0"

View file

@ -178,6 +178,10 @@
<Unit filename="sansapatcher\sansapatcher.h" /> <Unit filename="sansapatcher\sansapatcher.h" />
<Unit filename="themes_3d.xpm" /> <Unit filename="themes_3d.xpm" />
<Unit filename="tools2_3d.xpm" /> <Unit filename="tools2_3d.xpm" />
<Unit filename="tts.cpp">
<Option compiler="gcc" use="0" buildCommand="gcc -Wall -g tts.cpp -I$FLITEDIR/include -L$FLITEDIR/lib \n -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex -lflite -lm" />
</Unit>
<Unit filename="tts.h" />
<Unit filename="uninstall_3d.xpm" /> <Unit filename="uninstall_3d.xpm" />
<Unit filename="untools2_3d.xpm" /> <Unit filename="untools2_3d.xpm" />
<Unit filename="wizard.xpm" /> <Unit filename="wizard.xpm" />

View file

@ -101,6 +101,7 @@ bool InstallTheme(wxString Themesrc)
bool checkZip(wxString zipname) bool checkZip(wxString zipname)
{ {
wxZipEntryPtr entry; wxZipEntryPtr entry;
wxFFileInputStream* in_file = new wxFFileInputStream(zipname); wxFFileInputStream* in_file = new wxFFileInputStream(zipname);
@ -124,6 +125,7 @@ bool checkZip(wxString zipname)
} }
return false; return false;
} }
int DownloadURL(wxString src, wxString dest) int DownloadURL(wxString src, wxString dest)
@ -267,6 +269,7 @@ int DownloadURL(wxString src, wxString dest)
int UnzipFile(wxString src, wxString destdir, bool isInstall) int UnzipFile(wxString src, wxString destdir, bool isInstall)
{ {
wxZipEntryPtr entry; wxZipEntryPtr entry;
wxString in_str, progress_msg, buf,subdir; wxString in_str, progress_msg, buf,subdir;
int errnum = 0, curfile = 0, totalfiles = 0; int errnum = 0, curfile = 0, totalfiles = 0;
@ -328,8 +331,10 @@ int UnzipFile(wxString src, wxString destdir, bool isInstall)
(entry.reset(in_zip->GetNextEntry()), entry.get() != NULL) ) (entry.reset(in_zip->GetNextEntry()), entry.get() != NULL) )
{ {
curfile++; curfile++;
wxString name = entry->GetName(); wxString name = entry->GetName();
// set progress
progress_msg = wxT("Unpacking ") + name; progress_msg = wxT("Unpacking ") + name;
if (! progress->Update(curfile, progress_msg) ) if (! progress->Update(curfile, progress_msg) )
{ {
@ -367,6 +372,7 @@ int UnzipFile(wxString src, wxString destdir, bool isInstall)
continue; // this is just a directory, nothing else to do continue; // this is just a directory, nothing else to do
} }
// its a file, copy it
wxFFileOutputStream* out = new wxFFileOutputStream(in_str); wxFFileOutputStream* out = new wxFFileOutputStream(in_str);
if (! out->IsOk() ) if (! out->IsOk() )
{ {
@ -412,6 +418,7 @@ int UnzipFile(wxString src, wxString destdir, bool isInstall)
if (log) delete log; if (log) delete log;
wxLogVerbose(wxT("=== end UnzipFile")); wxLogVerbose(wxT("=== end UnzipFile"));
return(errnum); return(errnum);
} }
int Uninstall(const wxString dir, bool isFullUninstall) { int Uninstall(const wxString dir, bool isFullUninstall) {

View file

@ -124,6 +124,10 @@ public:
bool portable; bool portable;
wxString curresolution; wxString curresolution;
wxArrayString themesToInstall; wxArrayString themesToInstall;
wxString pathToTts;
wxString pathToEnc;
// Global system variables // Global system variables
wxFFile* logfile; wxFFile* logfile;

View file

@ -266,6 +266,9 @@ void rbutilFrmApp::ReadUserConfig()
if (gv->UserConfig->Read(wxT("curplatform"), &str) ) gv->curplat = str; if (gv->UserConfig->Read(wxT("curplatform"), &str) ) gv->curplat = str;
if (gv->UserConfig->Read(wxT("curfirmware"), &str) ) gv->curfirmware = str; if (gv->UserConfig->Read(wxT("curfirmware"), &str) ) gv->curfirmware = str;
if (gv->UserConfig->Read(wxT("proxy_url"), &str) ) gv->proxy_url = str; if (gv->UserConfig->Read(wxT("proxy_url"), &str) ) gv->proxy_url = str;
if (gv->UserConfig->Read(wxT("pathToTts"), &str) ) gv->pathToTts = str;
if (gv->UserConfig->Read(wxT("pathToEnc"), &str) ) gv->pathToEnc = str;
gv->UserConfig->SetPath(stack); gv->UserConfig->SetPath(stack);
} }
@ -276,6 +279,8 @@ void rbutilFrmApp::WriteUserConfig()
gv->UserConfig->Write(wxT("curplatform"), gv->curplat); gv->UserConfig->Write(wxT("curplatform"), gv->curplat);
gv->UserConfig->Write(wxT("curfirmware"), gv->curfirmware); gv->UserConfig->Write(wxT("curfirmware"), gv->curfirmware);
gv->UserConfig->Write(wxT("proxy_url"), gv->proxy_url); gv->UserConfig->Write(wxT("proxy_url"), gv->proxy_url);
gv->UserConfig->Write(wxT("pathToTts"), gv->pathToTts);
gv->UserConfig->Write(wxT("pathToEnc"), gv->pathToEnc);
delete gv->UserConfig; delete gv->UserConfig;

View file

@ -49,7 +49,7 @@ BEGIN_EVENT_TABLE(rbutilFrm,wxFrame)
EVT_BUTTON (ID_BOOTLOADER_BTN, rbutilFrm::OnBootloaderBtn) EVT_BUTTON (ID_BOOTLOADER_BTN, rbutilFrm::OnBootloaderBtn)
EVT_BUTTON (ID_BOOTLOADERREMOVE_BTN, rbutilFrm::OnBootloaderRemoveBtn) EVT_BUTTON (ID_BOOTLOADERREMOVE_BTN, rbutilFrm::OnBootloaderRemoveBtn)
EVT_BUTTON (ID_DOOM_BTN, rbutilFrm::OnDoomBtn) EVT_BUTTON (ID_DOOM_BTN, rbutilFrm::OnDoomBtn)
EVT_BUTTON (ID_TALK_BTN, rbutilFrm::OnTalkBtn)
EVT_CLOSE(rbutilFrm::rbutilFrmClose) EVT_CLOSE(rbutilFrm::rbutilFrmClose)
EVT_MENU(ID_FILE_EXIT, rbutilFrm::OnFileExit) EVT_MENU(ID_FILE_EXIT, rbutilFrm::OnFileExit)
@ -207,7 +207,6 @@ void rbutilFrm::CreateGUIControls(void)
WxFlexGridSizer2->Add(WxStaticText6, 0, WxFlexGridSizer2->Add(WxStaticText6, 0,
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL,5); wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL,5);
wxBitmap DoomInstallButton (wxGetBitmapFromMemory(doom_btn_png,doom_btn_png_length)); wxBitmap DoomInstallButton (wxGetBitmapFromMemory(doom_btn_png,doom_btn_png_length));
WxBitmapButton6 = new wxBitmapButton(themepage, ID_DOOM_BTN, WxBitmapButton6 = new wxBitmapButton(themepage, ID_DOOM_BTN,
DoomInstallButton, wxPoint(0,0), wxSize(64,54), DoomInstallButton, wxPoint(0,0), wxSize(64,54),
@ -221,6 +220,21 @@ void rbutilFrm::CreateGUIControls(void)
WxFlexGridSizer2->Add(WxStaticText7, 0, WxFlexGridSizer2->Add(WxStaticText7, 0,
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL,5); wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL,5);
wxBitmap TalkInstallButton (wxGetBitmapFromMemory(doom_btn_png,doom_btn_png_length));
WxBitmapButton7 = new wxBitmapButton(themepage, ID_TALK_BTN,
TalkInstallButton, wxPoint(0,0), wxSize(64,54),
wxRAISED_BORDER | wxBU_AUTODRAW,wxDefaultValidator, wxT("Create Talk Files"));
WxBitmapButton7->SetToolTip(wxT("Click here to create Talk files."));
WxFlexGridSizer2->Add(WxBitmapButton7, 0,
wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL | wxALL,5);
wxStaticText* WxStaticText8 = new wxStaticText(themepage, wxID_ANY,
wxT("Create Talk Files.\n\n"));
WxFlexGridSizer2->Add(WxStaticText8, 0,
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL,5);
/*********************+ /*********************+
Uninstall Page Uninstall Page
***********************/ ***********************/
@ -1007,6 +1021,34 @@ void rbutilFrm::OnPortableInstall(wxCommandEvent& event)
wxLogVerbose(wxT("=== end rbutilFrm::OnUnstallPortable")); wxLogVerbose(wxT("=== end rbutilFrm::OnUnstallPortable"));
} }
void rbutilFrm::OnTalkBtn(wxCommandEvent& event)
{
wxLogVerbose(wxT("=== begin rbutilFrm::OnTalkBtn(event)"));
TalkFileCreator talk;
talkInstallDlg dialog(&talk,NULL,wxID_ANY);
if (dialog.ShowModal() != wxID_OK)
return;
// really install ?
wxMessageDialog msg(this,wxT("Do you really want to create Talkfiles ?"),wxT("Talk file creation"),wxOK|wxCANCEL);
if(msg.ShowModal() != wxID_OK )
return;
if(talk.createTalkFiles())
{
MESG_DIALOG(wxT("Talk files have been successfully created."));
}
else
{
ERR_DIALOG(wxT("Talkfile creation failed"), wxT("Talk file creation"));
}
wxLogVerbose(wxT("=== end rbutilFrm::OnTalkBtn"));
}
int rbutilFrm::GetDeviceId() int rbutilFrm::GetDeviceId()
{ {
int index = gv->plat_id.Index(gv->curplat); int index = gv->plat_id.Index(gv->curplat);

View file

@ -44,7 +44,6 @@
#include "rbutilCtrls.h" #include "rbutilCtrls.h"
class rbutilFrm : public wxFrame class rbutilFrm : public wxFrame
{ {
private: private:
@ -72,6 +71,7 @@ public:
wxBitmapButton *WxBitmapButton4; wxBitmapButton *WxBitmapButton4;
wxBitmapButton *WxBitmapButton5; wxBitmapButton *WxBitmapButton5;
wxBitmapButton *WxBitmapButton6; wxBitmapButton *WxBitmapButton6;
wxBitmapButton *WxBitmapButton7;
wxFlexGridSizer *WxFlexGridSizer1; wxFlexGridSizer *WxFlexGridSizer1;
wxStaticBoxSizer *WxStaticBoxSizer3; wxStaticBoxSizer *WxStaticBoxSizer3;
wxStaticBitmap *WxStaticBitmap1; wxStaticBitmap *WxStaticBitmap1;
@ -96,6 +96,7 @@ public:
ID_FONT_BTN = 1128, ID_FONT_BTN = 1128,
ID_THEMES_BTN = 1139, ID_THEMES_BTN = 1139,
ID_DOOM_BTN = 1140, ID_DOOM_BTN = 1140,
ID_TALK_BTN = 1141,
ID_BOOTLOADER_BTN = 1129, ID_BOOTLOADER_BTN = 1129,
ID_WXPANEL1 = 1064, ID_WXPANEL1 = 1064,
@ -121,6 +122,7 @@ public:
void OnManualUpdate(wxUpdateUIEvent& event); void OnManualUpdate(wxUpdateUIEvent& event);
void OnFileProxy(wxCommandEvent& event); void OnFileProxy(wxCommandEvent& event);
void OnDoomBtn(wxCommandEvent& event); void OnDoomBtn(wxCommandEvent& event);
void OnTalkBtn(wxCommandEvent& event);
int GetDeviceId(); int GetDeviceId();