forked from len0rd/rockbox
rbutil now ask before doing anything, plus minor gui changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13328 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
a967523b2b
commit
e9f08dc193
6 changed files with 393 additions and 462 deletions
|
|
@ -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.0"
|
#define RBUTIL_VERSION "Version 0.3.2.1"
|
||||||
|
|
||||||
static const wxString rbutil_developers[] = {
|
static const wxString rbutil_developers[] = {
|
||||||
wxT("Christi Alice Scarborough"),
|
wxT("Christi Alice Scarborough"),
|
||||||
|
|
|
||||||
|
|
@ -106,20 +106,21 @@ bool bootloaderInstallDlg::TransferDataFromWindow()
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// tranver data to the controls
|
// tranver data to the controls
|
||||||
bool bootloaderInstallDlg::TransferDataToWindow()
|
bool bootloaderInstallDlg::TransferDataToWindow()
|
||||||
{
|
{
|
||||||
if(gv->curplat == wxT(""))
|
if(gv->curplat == wxT(""))
|
||||||
{
|
{
|
||||||
WARN_DIALOG(wxT("You have not selected a audio device"),
|
WARN_DIALOG(wxT("You have not selected a audio device"),
|
||||||
wxT("Select a Device"));
|
wxT("Select a Device"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
int index = gv->plat_id.Index(gv->curplat);
|
int index = gv->plat_id.Index(gv->curplat);
|
||||||
|
|
||||||
if(!gv->plat_needsbootloader[index])
|
if(!gv->plat_needsbootloader[index])
|
||||||
{
|
{
|
||||||
WARN_DIALOG(wxT("This Device doesnt need a Bootloader"),
|
WARN_DIALOG(wxT("This Device doesnt need a Bootloader"),
|
||||||
|
|
@ -147,90 +148,6 @@ bool bootloaderInstallDlg::TransferDataToWindow()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////
|
|
||||||
//// Bootloader Deinstallation
|
|
||||||
/////////////////////////////////////////////////
|
|
||||||
|
|
||||||
IMPLEMENT_CLASS( bootloaderDeInstallDlg, wxDialog )
|
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE( bootloaderDeInstallDlg, wxDialog )
|
|
||||||
|
|
||||||
END_EVENT_TABLE()
|
|
||||||
|
|
||||||
bootloaderDeInstallDlg::bootloaderDeInstallDlg( )
|
|
||||||
{
|
|
||||||
Init();
|
|
||||||
}
|
|
||||||
|
|
||||||
bootloaderDeInstallDlg::bootloaderDeInstallDlg( wxWindow* parent,
|
|
||||||
wxWindowID id, const wxString& caption,
|
|
||||||
const wxPoint& pos, const wxSize& size, long style )
|
|
||||||
{
|
|
||||||
Init();
|
|
||||||
Create(parent, id, caption, pos, size, style);
|
|
||||||
}
|
|
||||||
|
|
||||||
void bootloaderDeInstallDlg::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);
|
|
||||||
|
|
||||||
// controls at the bottom
|
|
||||||
OkCancelCtrl* okCancel = new OkCancelCtrl(this,wxID_ANY);
|
|
||||||
topSizer->Add(okCancel, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
|
||||||
}
|
|
||||||
|
|
||||||
//init the local variables
|
|
||||||
void bootloaderDeInstallDlg::Init()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// create the window
|
|
||||||
bool bootloaderDeInstallDlg::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;
|
|
||||||
}
|
|
||||||
|
|
||||||
// tranver data from the controls
|
|
||||||
bool bootloaderDeInstallDlg::TransferDataFromWindow()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// tranver data to the controls
|
|
||||||
bool bootloaderDeInstallDlg::TransferDataToWindow()
|
|
||||||
{
|
|
||||||
if(gv->curplat == wxT(""))
|
|
||||||
{
|
|
||||||
WARN_DIALOG(wxT("You have not selected a audio device"),
|
|
||||||
wxT("Select a Device"));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////
|
////////////////////////////////////////////////
|
||||||
//// Font Installation
|
//// Font Installation
|
||||||
|
|
@ -451,7 +368,7 @@ bool rockboxDeInstallDlg::TransferDataToWindow()
|
||||||
IMPLEMENT_CLASS( themesInstallDlg, wxDialog )
|
IMPLEMENT_CLASS( themesInstallDlg, wxDialog )
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE( themesInstallDlg, wxDialog )
|
BEGIN_EVENT_TABLE( themesInstallDlg, wxDialog )
|
||||||
|
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
themesInstallDlg::themesInstallDlg( )
|
themesInstallDlg::themesInstallDlg( )
|
||||||
|
|
@ -524,7 +441,7 @@ bool themesInstallDlg::Create( wxWindow* parent,
|
||||||
// tranver data from the controls
|
// tranver data from the controls
|
||||||
bool themesInstallDlg::TransferDataFromWindow()
|
bool themesInstallDlg::TransferDataFromWindow()
|
||||||
{
|
{
|
||||||
|
|
||||||
gv->curdestdir = m_devicepos->getDevicePos();
|
gv->curdestdir = m_devicepos->getDevicePos();
|
||||||
if(!wxDirExists(gv->curdestdir))
|
if(!wxDirExists(gv->curdestdir))
|
||||||
{
|
{
|
||||||
|
|
@ -555,7 +472,7 @@ bool themesInstallDlg::TransferDataToWindow()
|
||||||
wxT("Select a Device"));
|
wxT("Select a Device"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_devicepos->setDefault();
|
m_devicepos->setDefault();
|
||||||
m_theme->setDevice(gv->curplat);
|
m_theme->setDevice(gv->curplat);
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -724,18 +641,18 @@ bool rockboxInstallDlg::TransferDataFromWindow()
|
||||||
bool rockboxInstallDlg::TransferDataToWindow()
|
bool rockboxInstallDlg::TransferDataToWindow()
|
||||||
{
|
{
|
||||||
m_devicepos->setDefault();
|
m_devicepos->setDefault();
|
||||||
|
|
||||||
if(gv->curplat == wxT(""))
|
if(gv->curplat == wxT(""))
|
||||||
{
|
{
|
||||||
WARN_DIALOG(wxT("You have not selected a audio device"),
|
WARN_DIALOG(wxT("You have not selected a audio device"),
|
||||||
wxT("Select a Device"));
|
wxT("Select a Device"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxRadioBox* BuildRadioBox = (wxRadioBox*) FindWindow(ID_BUILD_BOX);
|
wxRadioBox* BuildRadioBox = (wxRadioBox*) FindWindow(ID_BUILD_BOX);
|
||||||
|
|
||||||
int index =gv->plat_id.Index(gv->curplat);
|
int index =gv->plat_id.Index(gv->curplat);
|
||||||
|
|
||||||
wxCommandEvent updateradiobox(wxEVT_COMMAND_RADIOBOX_SELECTED,
|
wxCommandEvent updateradiobox(wxEVT_COMMAND_RADIOBOX_SELECTED,
|
||||||
ID_BUILD_BOX);
|
ID_BUILD_BOX);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public:
|
||||||
long style = wxDEFAULT_DIALOG_STYLE |wxRESIZE_BORDER );
|
long style = wxDEFAULT_DIALOG_STYLE |wxRESIZE_BORDER );
|
||||||
// Creates the controls and sizers
|
// Creates the controls and sizers
|
||||||
void CreateControls();
|
void CreateControls();
|
||||||
|
|
||||||
bool TransferDataFromWindow();
|
bool TransferDataFromWindow();
|
||||||
bool TransferDataToWindow();
|
bool TransferDataToWindow();
|
||||||
|
|
||||||
|
|
@ -44,42 +44,6 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class bootloaderDeInstallDlg : public wxDialog
|
|
||||||
{
|
|
||||||
DECLARE_CLASS( bootloaderDeInstallDlg )
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
public:
|
|
||||||
enum {
|
|
||||||
ID_DEVICE = 1001,
|
|
||||||
|
|
||||||
}; //End of Enum
|
|
||||||
public:
|
|
||||||
bootloaderDeInstallDlg( );
|
|
||||||
bootloaderDeInstallDlg( wxWindow* parent,
|
|
||||||
wxWindowID id = wxID_ANY,
|
|
||||||
const wxString& caption = wxT("Bootloader Deinstallation"),
|
|
||||||
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("Bootloader Deinstallation"),
|
|
||||||
const wxPoint& pos = wxDefaultPosition,
|
|
||||||
const wxSize& size = wxDefaultSize,
|
|
||||||
long style =wxDEFAULT_DIALOG_STYLE |wxRESIZE_BORDER );
|
|
||||||
/// Creates the controls and sizers
|
|
||||||
void CreateControls();
|
|
||||||
|
|
||||||
bool TransferDataFromWindow();
|
|
||||||
bool TransferDataToWindow();
|
|
||||||
|
|
||||||
private:
|
|
||||||
DeviceSelectorCtrl* m_deviceselector;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class fontInstallDlg : public wxDialog
|
class fontInstallDlg : public wxDialog
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -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,0
|
FILEVERSION 0,3,2,1
|
||||||
PRODUCTVERSION 0,3,2,0
|
PRODUCTVERSION 0,3,2,1
|
||||||
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.0\0"
|
VALUE "FileVersion", "0.3.2.1\0"
|
||||||
VALUE "ProductVersion", "0.3.2.0\0"
|
VALUE "ProductVersion", "0.3.2.1\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"
|
||||||
|
|
|
||||||
|
|
@ -139,12 +139,12 @@
|
||||||
<Unit filename="sansapatcher\parttypes.h" />
|
<Unit filename="sansapatcher\parttypes.h" />
|
||||||
<Unit filename="sansapatcher\sansaio-win32.c">
|
<Unit filename="sansapatcher\sansaio-win32.c">
|
||||||
<Option compilerVar="CC" />
|
<Option compilerVar="CC" />
|
||||||
<Option compiler="gcc" use="1" buildCommand="mingw32-gcc.exe -W -g -pipe -mthreads -Winvalid-pch -D__GNUWIN32__ -D__WXMSW__ -DUSE_PCH -g -I.\ -IC:\Dev-Cpp\include -c $file -o .objs\sansapatcher\sansaio-win32.o" />
|
<Option compiler="gcc" use="1" buildCommand="mingw32-gcc.exe -W -g -pipe -mthreads -Winvalid-pch -D__GNUWIN32__ -D__WXMSW__ -DUSE_PCH -DRBUTIL -g -I.\ -IC:\Dev-Cpp\include -c $file -o .objs\sansapatcher\sansaio-win32.o" />
|
||||||
</Unit>
|
</Unit>
|
||||||
<Unit filename="sansapatcher\sansaio.h" />
|
<Unit filename="sansapatcher\sansaio.h" />
|
||||||
<Unit filename="sansapatcher\sansapatcher.c">
|
<Unit filename="sansapatcher\sansapatcher.c">
|
||||||
<Option compilerVar="CC" />
|
<Option compilerVar="CC" />
|
||||||
<Option compiler="gcc" use="1" buildCommand="mingw32-gcc.exe -W -g -pipe -mthreads -Winvalid-pch -D__GNUWIN32__ -D__WXMSW__ -DUSE_PCH -g -I.\ -IC:\Dev-Cpp\include -c $file -o .objs\sansapatcher\sansapatcher.o" />
|
<Option compiler="gcc" use="1" buildCommand="mingw32-gcc.exe -W -g -pipe -mthreads -Winvalid-pch -D__GNUWIN32__ -D__WXMSW__ -DUSE_PCH -g -DRBUTIL -I.\ -IC:\Dev-Cpp\include -c $file -o .objs\sansapatcher\sansapatcher.o" />
|
||||||
</Unit>
|
</Unit>
|
||||||
<Unit filename="sansapatcher\sansapatcher.h" />
|
<Unit filename="sansapatcher\sansapatcher.h" />
|
||||||
<Unit filename="themes_3d.xpm" />
|
<Unit filename="themes_3d.xpm" />
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ void rbutilFrm::CreateGUIControls(void)
|
||||||
wxID_ANY, wxT("Please choose an option"));
|
wxID_ANY, wxT("Please choose an option"));
|
||||||
wxStaticBoxSizer* WxStaticBoxSizer3 =
|
wxStaticBoxSizer* WxStaticBoxSizer3 =
|
||||||
new wxStaticBoxSizer(WxStaticBoxSizer3_StaticBoxObj,wxHORIZONTAL);
|
new wxStaticBoxSizer(WxStaticBoxSizer3_StaticBoxObj,wxHORIZONTAL);
|
||||||
WxBoxSizer2->Add(WxStaticBoxSizer3,1,wxALIGN_CENTER_HORIZONTAL | wxALL, 5);
|
WxBoxSizer2->Add(WxStaticBoxSizer3,1,wxALIGN_CENTER_HORIZONTAL|wxGROW | wxALL, 5);
|
||||||
|
|
||||||
wxFlexGridSizer* WxFlexGridSizer1 = new wxFlexGridSizer(2,2,0,0);
|
wxFlexGridSizer* WxFlexGridSizer1 = new wxFlexGridSizer(2,2,0,0);
|
||||||
WxStaticBoxSizer3->Add(WxFlexGridSizer1,0,wxGROW | wxALL,0);
|
WxStaticBoxSizer3->Add(WxFlexGridSizer1,0,wxGROW | wxALL,0);
|
||||||
|
|
@ -146,7 +146,7 @@ void rbutilFrm::CreateGUIControls(void)
|
||||||
WxFlexGridSizer1->Add(WxStaticText2,0,
|
WxFlexGridSizer1->Add(WxStaticText2,0,
|
||||||
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL,5);
|
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL,5);
|
||||||
|
|
||||||
/* ********************+
|
/*********************+
|
||||||
Theme Page
|
Theme Page
|
||||||
***********************/
|
***********************/
|
||||||
|
|
||||||
|
|
@ -158,7 +158,7 @@ void rbutilFrm::CreateGUIControls(void)
|
||||||
wxID_ANY, wxT("Please choose an option"));
|
wxID_ANY, wxT("Please choose an option"));
|
||||||
wxStaticBoxSizer* WxStaticBoxSizer4 =
|
wxStaticBoxSizer* WxStaticBoxSizer4 =
|
||||||
new wxStaticBoxSizer(WxStaticBoxSizer4_StaticBoxObj,wxHORIZONTAL);
|
new wxStaticBoxSizer(WxStaticBoxSizer4_StaticBoxObj,wxHORIZONTAL);
|
||||||
WxBoxSizer3->Add(WxStaticBoxSizer4,1,wxALIGN_CENTER_HORIZONTAL | wxALL, 5);
|
WxBoxSizer3->Add(WxStaticBoxSizer4,1,wxALIGN_CENTER_HORIZONTAL |wxGROW| wxALL, 5);
|
||||||
|
|
||||||
wxFlexGridSizer* WxFlexGridSizer2 = new wxFlexGridSizer(2,2,0,0);
|
wxFlexGridSizer* WxFlexGridSizer2 = new wxFlexGridSizer(2,2,0,0);
|
||||||
WxStaticBoxSizer4->Add(WxFlexGridSizer2,0,wxGROW | wxALL,0);
|
WxStaticBoxSizer4->Add(WxFlexGridSizer2,0,wxGROW | wxALL,0);
|
||||||
|
|
@ -194,7 +194,7 @@ 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);
|
||||||
|
|
||||||
/* ********************+
|
/*********************+
|
||||||
Uninstall Page
|
Uninstall Page
|
||||||
***********************/
|
***********************/
|
||||||
|
|
||||||
|
|
@ -206,7 +206,7 @@ void rbutilFrm::CreateGUIControls(void)
|
||||||
wxID_ANY, wxT("Please choose an option"));
|
wxID_ANY, wxT("Please choose an option"));
|
||||||
wxStaticBoxSizer* WxStaticBoxSizer5 =
|
wxStaticBoxSizer* WxStaticBoxSizer5 =
|
||||||
new wxStaticBoxSizer(WxStaticBoxSizer5_StaticBoxObj,wxHORIZONTAL);
|
new wxStaticBoxSizer(WxStaticBoxSizer5_StaticBoxObj,wxHORIZONTAL);
|
||||||
WxBoxSizer4->Add(WxStaticBoxSizer5,1,wxALIGN_CENTER_HORIZONTAL | wxALL, 5);
|
WxBoxSizer4->Add(WxStaticBoxSizer5,1,wxALIGN_CENTER_HORIZONTAL|wxGROW | wxALL, 5);
|
||||||
|
|
||||||
wxFlexGridSizer* WxFlexGridSizer3 = new wxFlexGridSizer(2,2,0,0);
|
wxFlexGridSizer* WxFlexGridSizer3 = new wxFlexGridSizer(2,2,0,0);
|
||||||
WxStaticBoxSizer5->Add(WxFlexGridSizer3,0,wxGROW | wxALL,0);
|
WxStaticBoxSizer5->Add(WxFlexGridSizer3,0,wxGROW | wxALL,0);
|
||||||
|
|
@ -353,74 +353,80 @@ void rbutilFrm::OnBootloaderRemoveBtn(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
wxLogVerbose(wxT("=== begin rbutilFrm::OnBootloaderRemoveBtn(event)"));
|
wxLogVerbose(wxT("=== begin rbutilFrm::OnBootloaderRemoveBtn(event)"));
|
||||||
|
|
||||||
bootloaderDeInstallDlg dialog(NULL, wxID_ANY,
|
int index = gv->plat_id.Index(gv->curplat);
|
||||||
wxT("Bootloader Deinstallation"));
|
wxString bootloadermethod = gv->plat_bootloadermethod[index];
|
||||||
|
|
||||||
if (dialog.ShowModal() == wxID_OK)
|
if(!gv->plat_needsbootloader[index])
|
||||||
{
|
{
|
||||||
int index = gv->plat_id.Index(gv->curplat);
|
WARN_DIALOG(wxT("This Device doesnt need a Bootloader"),
|
||||||
wxString bootloadermethod = gv->plat_bootloadermethod[index];
|
wxT("Bootloader"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if(bootloadermethod == wxT("ipodpatcher"))
|
// really deinstall ?
|
||||||
{
|
wxMessageDialog msg(this,wxT("Do you really want to deinstall the Bootloader ?"),wxT("Bootloader deinstallation"),wxOK|wxCANCEL);
|
||||||
wxString bootloadername = wxT("bootloader-");
|
if(msg.ShowModal() != wxID_OK )
|
||||||
bootloadername.Append(gv->plat_bootloadername[index] );
|
return;
|
||||||
if(ipodpatcher(BOOTLOADER_REM,bootloadername))
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Bootloader has been uninstalled.") );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Uninstallation failed.") );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(bootloadermethod == wxT("sansapatcher"))
|
|
||||||
{
|
|
||||||
if(sansapatcher(BOOTLOADER_REM,gv->plat_bootloadername[index]))
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Bootloader has been uninstalled.") );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Uninstallation failed.") );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(bootloadermethod== wxT("gigabeatf"))
|
|
||||||
{
|
|
||||||
|
|
||||||
if(gigabeatf(BOOTLOADER_REM,gv->plat_bootloadername[index],gv->curdestdir))
|
|
||||||
{
|
if(bootloadermethod == wxT("ipodpatcher"))
|
||||||
MESG_DIALOG(wxT("The Bootloader has been uninstalled."));
|
{
|
||||||
}
|
wxString bootloadername = wxT("bootloader-");
|
||||||
else
|
bootloadername.Append(gv->plat_bootloadername[index] );
|
||||||
MESG_DIALOG(wxT("The Uninstallation failed.") );
|
if(ipodpatcher(BOOTLOADER_REM,bootloadername))
|
||||||
}
|
|
||||||
else if(bootloadermethod == wxT("iaudio") )
|
|
||||||
{
|
{
|
||||||
MESG_DIALOG(wxT("To uninstall the Bootloader on this Device,\n"
|
MESG_DIALOG(wxT("The Bootloader has been uninstalled.") );
|
||||||
"you need to download and install an Original Firmware from the Manufacturer."));
|
|
||||||
}
|
|
||||||
else if(bootloadermethod == wxT("fwpatcher"))
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("To uninstall the Bootloader on this Device,\n"
|
|
||||||
"you need to download and install an original Firmware from the Manufacturer.\n"
|
|
||||||
"To do this, you need to boot into the original Firmware."));
|
|
||||||
}
|
|
||||||
else if(bootloadermethod == wxT("h10"))
|
|
||||||
{
|
|
||||||
if(h10(BOOTLOADER_REM,gv->plat_bootloadername[index],gv->curdestdir))
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Bootloader has been uninstalled."));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
MESG_DIALOG(wxT("The Uninstallation failed.") );
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MESG_DIALOG(wxT("Unsupported Bootloader Uninstall method.") );
|
MESG_DIALOG(wxT("The Uninstallation failed.") );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(bootloadermethod == wxT("sansapatcher"))
|
||||||
|
{
|
||||||
|
if(sansapatcher(BOOTLOADER_REM,gv->plat_bootloadername[index]))
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The Bootloader has been uninstalled.") );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The Uninstallation failed.") );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(bootloadermethod== wxT("gigabeatf"))
|
||||||
|
{
|
||||||
|
|
||||||
|
if(gigabeatf(BOOTLOADER_REM,gv->plat_bootloadername[index],gv->curdestdir))
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The Bootloader has been uninstalled."));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
MESG_DIALOG(wxT("The Uninstallation failed.") );
|
||||||
|
}
|
||||||
|
else if(bootloadermethod == wxT("iaudio") )
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("To uninstall the Bootloader on this Device,\n"
|
||||||
|
"you need to download and install an Original Firmware from the Manufacturer."));
|
||||||
|
}
|
||||||
|
else if(bootloadermethod == wxT("fwpatcher"))
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("To uninstall the Bootloader on this Device,\n"
|
||||||
|
"you need to download and install an original Firmware from the Manufacturer.\n"
|
||||||
|
"To do this, you need to boot into the original Firmware."));
|
||||||
|
}
|
||||||
|
else if(bootloadermethod == wxT("h10"))
|
||||||
|
{
|
||||||
|
if(h10(BOOTLOADER_REM,gv->plat_bootloadername[index],gv->curdestdir))
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The Bootloader has been uninstalled."));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
MESG_DIALOG(wxT("The Uninstallation failed.") );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("Unsupported Bootloader Uninstall method.") );
|
||||||
|
}
|
||||||
|
|
||||||
wxLogVerbose(wxT("=== end rbutilFrm::OnBootloaderRemoveBtn"));
|
wxLogVerbose(wxT("=== end rbutilFrm::OnBootloaderRemoveBtn"));
|
||||||
}
|
}
|
||||||
|
|
@ -429,85 +435,101 @@ void rbutilFrm::OnBootloaderBtn(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
wxLogVerbose(wxT("=== begin rbutilFrm::OnBootloaderBtn(event)"));
|
wxLogVerbose(wxT("=== begin rbutilFrm::OnBootloaderBtn(event)"));
|
||||||
|
|
||||||
bootloaderInstallDlg dialog(NULL, wxID_ANY,
|
int index = gv->plat_id.Index(gv->curplat);
|
||||||
wxT("Bootloader Installation"));
|
wxString bootloadermethod = gv->plat_bootloadermethod[index];
|
||||||
|
|
||||||
if (dialog.ShowModal() == wxID_OK)
|
if(!gv->plat_needsbootloader[index])
|
||||||
{
|
{
|
||||||
int index = gv->plat_id.Index(gv->curplat);
|
WARN_DIALOG(wxT("This Device doesnt need a Bootloader"),
|
||||||
wxString bootloadermethod = gv->plat_bootloadermethod[index];
|
wxT("Bootloader"));
|
||||||
|
return;
|
||||||
if(bootloadermethod == wxT("ipodpatcher"))
|
|
||||||
{
|
|
||||||
wxString bootloadername = wxT("bootloader-");
|
|
||||||
bootloadername.Append(gv->plat_bootloadername[index] );
|
|
||||||
if(ipodpatcher(BOOTLOADER_ADD,bootloadername))
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Bootloader has been installed on your device.") );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The installation has failed.") );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(bootloadermethod == wxT("sansapatcher"))
|
|
||||||
{
|
|
||||||
if(sansapatcher(BOOTLOADER_ADD,gv->plat_bootloadername[index]))
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Bootloader has been installed on your device.") );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The installation has failed.") );
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else if(bootloadermethod== wxT("gigabeatf"))
|
|
||||||
{
|
|
||||||
|
|
||||||
if(gigabeatf(BOOTLOADER_ADD,gv->plat_bootloadername[index],gv->curdestdir))
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Bootloader has been installed on your device."));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
MESG_DIALOG(wxT("The installation has failed.") );
|
|
||||||
}
|
|
||||||
else if(bootloadermethod == wxT("iaudio") )
|
|
||||||
{
|
|
||||||
if(iaudiox5(BOOTLOADER_ADD,gv->plat_bootloadername[index],gv->curdestdir))
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Bootloader has been installed on your device.\n"
|
|
||||||
"Now turn OFF your Device, unplug USB,and insert Charger\n"
|
|
||||||
"Your Device will automatically upgrade the flash with the Rockbox bootloader"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
MESG_DIALOG(wxT("The installation has failed.") );
|
|
||||||
}
|
|
||||||
else if(bootloadermethod == wxT("fwpatcher"))
|
|
||||||
{
|
|
||||||
if(fwpatcher(BOOTLOADER_ADD,gv->plat_bootloadername[index],gv->curdestdir,gv->curfirmware))
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Bootloader has been patched and copied on your device.\n"
|
|
||||||
"Now use the Firmware upgrade option of your Device\n"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
MESG_DIALOG(wxT("The installation has failed.") );
|
|
||||||
}
|
|
||||||
else if(bootloadermethod == wxT("h10"))
|
|
||||||
{
|
|
||||||
if(h10(BOOTLOADER_ADD,gv->plat_bootloadername[index],gv->curdestdir))
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Bootloader has been patched and copied on your device.\n"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
MESG_DIALOG(wxT("The installation has failed.") );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("Unsupported Bootloader Install method.") );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Bootloader dialog
|
||||||
|
if(bootloadermethod != wxT("ipodpatcher") && bootloadermethod != wxT("sansapatcher") )
|
||||||
|
{
|
||||||
|
bootloaderInstallDlg dialog(NULL, wxID_ANY,wxT("Bootloader Installation"));
|
||||||
|
if (dialog.ShowModal() != wxID_OK)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// really install ?
|
||||||
|
wxMessageDialog msg(this,wxT("Do you really want to install the Bootloader ?"),wxT("Bootloader installation"),wxOK|wxCANCEL);
|
||||||
|
if(msg.ShowModal() != wxID_OK )
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
if(bootloadermethod == wxT("ipodpatcher"))
|
||||||
|
{
|
||||||
|
wxString bootloadername = wxT("bootloader-");
|
||||||
|
bootloadername.Append(gv->plat_bootloadername[index] );
|
||||||
|
if(ipodpatcher(BOOTLOADER_ADD,bootloadername))
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The Bootloader has been installed on your device.") );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The installation has failed.") );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(bootloadermethod == wxT("sansapatcher"))
|
||||||
|
{
|
||||||
|
if(sansapatcher(BOOTLOADER_ADD,gv->plat_bootloadername[index]))
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The Bootloader has been installed on your device.") );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The installation has failed.") );
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else if(bootloadermethod== wxT("gigabeatf"))
|
||||||
|
{
|
||||||
|
|
||||||
|
if(gigabeatf(BOOTLOADER_ADD,gv->plat_bootloadername[index],gv->curdestdir))
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The Bootloader has been installed on your device."));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
MESG_DIALOG(wxT("The installation has failed.") );
|
||||||
|
}
|
||||||
|
else if(bootloadermethod == wxT("iaudio") )
|
||||||
|
{
|
||||||
|
if(iaudiox5(BOOTLOADER_ADD,gv->plat_bootloadername[index],gv->curdestdir))
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The Bootloader has been installed on your device.\n"
|
||||||
|
"Now turn OFF your Device, unplug USB,and insert Charger\n"
|
||||||
|
"Your Device will automatically upgrade the flash with the Rockbox bootloader"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
MESG_DIALOG(wxT("The installation has failed.") );
|
||||||
|
}
|
||||||
|
else if(bootloadermethod == wxT("fwpatcher"))
|
||||||
|
{
|
||||||
|
if(fwpatcher(BOOTLOADER_ADD,gv->plat_bootloadername[index],gv->curdestdir,gv->curfirmware))
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The Bootloader has been patched and copied on your device.\n"
|
||||||
|
"Now use the Firmware upgrade option of your Device\n"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
MESG_DIALOG(wxT("The installation has failed.") );
|
||||||
|
}
|
||||||
|
else if(bootloadermethod == wxT("h10"))
|
||||||
|
{
|
||||||
|
if(h10(BOOTLOADER_ADD,gv->plat_bootloadername[index],gv->curdestdir))
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The Bootloader has been patched and copied on your device.\n"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
MESG_DIALOG(wxT("The installation has failed.") );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("Unsupported Bootloader Install method.") );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
wxLogVerbose(wxT("=== end rbutilFrm::OnBootloaderBtn"));
|
wxLogVerbose(wxT("=== end rbutilFrm::OnBootloaderBtn"));
|
||||||
|
|
||||||
|
|
@ -523,102 +545,109 @@ void rbutilFrm::OnInstallBtn(wxCommandEvent& event)
|
||||||
wxFileConfig* buildinfo;
|
wxFileConfig* buildinfo;
|
||||||
wxDateSpan oneday;
|
wxDateSpan oneday;
|
||||||
|
|
||||||
|
// rockbox install dialog
|
||||||
rockboxInstallDlg dialog(NULL, wxID_ANY,
|
rockboxInstallDlg dialog(NULL, wxID_ANY,
|
||||||
wxT("Rockbox Installation"));
|
wxT("Rockbox Installation"));
|
||||||
|
if (dialog.ShowModal() != wxID_OK)
|
||||||
|
return;
|
||||||
|
|
||||||
if (dialog.ShowModal() == wxID_OK)
|
// really install
|
||||||
|
wxMessageDialog msg(this,wxT("Do you really want to install Rockbox ?"),wxT("rockbox installation"),wxOK|wxCANCEL);
|
||||||
|
if(msg.ShowModal() != wxID_OK )
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
switch (gv->curbuild)
|
||||||
{
|
{
|
||||||
switch (gv->curbuild)
|
case BUILD_RELEASE:
|
||||||
{
|
// This is a URL - don't use PATH_SEP
|
||||||
case BUILD_RELEASE:
|
src.Printf(wxT("%s%s-%s-%s.zip"),
|
||||||
// This is a URL - don't use PATH_SEP
|
gv->download_url.c_str(), gv->prog_name.c_str(),
|
||||||
src.Printf(wxT("%s%s-%s-%s.zip"),
|
gv->last_release.c_str(), gv->curplat.c_str());
|
||||||
gv->download_url.c_str(), gv->prog_name.c_str(),
|
dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP "%s-%s-%s.zip"),
|
||||||
gv->last_release.c_str(), gv->curplat.c_str());
|
gv->stdpaths->GetUserDataDir().c_str(),
|
||||||
dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP "%s-%s-%s.zip"),
|
gv->prog_name.c_str(), gv->last_release.c_str(),
|
||||||
gv->stdpaths->GetUserDataDir().c_str(),
|
gv->curplat.c_str());
|
||||||
gv->prog_name.c_str(), gv->last_release.c_str(),
|
break;
|
||||||
gv->curplat.c_str());
|
case BUILD_DAILY:
|
||||||
break;
|
dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP "build-info"),
|
||||||
case BUILD_DAILY:
|
gv->stdpaths->GetUserDataDir().c_str());
|
||||||
dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP "build-info"),
|
if (DownloadURL(gv->server_conf_url, dest)) {
|
||||||
gv->stdpaths->GetUserDataDir().c_str());
|
WARN_DIALOG(wxT("Unable to download build status."),
|
||||||
if (DownloadURL(gv->server_conf_url, dest)) {
|
wxT("Install"));
|
||||||
WARN_DIALOG(wxT("Unable to download build status."),
|
buf = wxT("");
|
||||||
wxT("Install"));
|
} else
|
||||||
buf = wxT("");
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
buildinfo = new wxFileConfig(wxEmptyString,
|
|
||||||
wxEmptyString, dest);
|
|
||||||
buf = buildinfo->Read(wxT("/dailies/date"));
|
|
||||||
buildinfo->DeleteAll();
|
|
||||||
|
|
||||||
if (buf.Len() != 8) {
|
|
||||||
dest.Printf(wxT("Invalid build date: %s"), buf.c_str());
|
|
||||||
WARN_DIALOG(dest, wxT("Install"));
|
|
||||||
buf = wxT("");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (buf == wxT("")) {
|
|
||||||
WARN_DIALOG(wxT("Can't get date of latest build from "
|
|
||||||
"server. Using yesterday's date."), wxT("Install") );
|
|
||||||
date = wxDateTime::Now();
|
|
||||||
date.Subtract(oneday.Day());
|
|
||||||
buf = date.Format(wxT("%Y%m%d")); // yes, we want UTC
|
|
||||||
}
|
|
||||||
|
|
||||||
src.Printf(wxT("%s%s/%s-%s-%s.zip"),
|
|
||||||
gv->daily_url.c_str(), gv->curplat.c_str(),
|
|
||||||
gv->prog_name.c_str(), gv->curplat.c_str(),
|
|
||||||
buf.c_str() );
|
|
||||||
|
|
||||||
dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP "%s-%s-%s.zip"),
|
|
||||||
gv->stdpaths->GetUserDataDir().c_str(),
|
|
||||||
gv->prog_name.c_str(),
|
|
||||||
gv->curplat.c_str(), buf.c_str() );
|
|
||||||
break;
|
|
||||||
case BUILD_BLEEDING:
|
|
||||||
src.Printf(wxT("%s%s/%s.zip"),
|
|
||||||
gv->bleeding_url.c_str(), gv->curplat.c_str(),
|
|
||||||
gv->prog_name.c_str() );
|
|
||||||
dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP "%s.zip"),
|
|
||||||
gv->stdpaths->GetUserDataDir().c_str(),
|
|
||||||
gv->prog_name.c_str() );
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
ERR_DIALOG(wxT("Something seriously odd has happened."),
|
|
||||||
wxT("Install"));
|
|
||||||
return;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (gv->nocache || ( ! wxFileExists(dest) ) )
|
|
||||||
{
|
|
||||||
if ( DownloadURL(src, dest) )
|
|
||||||
{
|
{
|
||||||
wxRemoveFile(dest);
|
buildinfo = new wxFileConfig(wxEmptyString,
|
||||||
buf.Printf(wxT("Unable to download %s"), src.c_str() );
|
wxEmptyString, dest);
|
||||||
ERR_DIALOG(buf, wxT("Install"));
|
buf = buildinfo->Read(wxT("/dailies/date"));
|
||||||
return;
|
buildinfo->DeleteAll();
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !UnzipFile(dest, gv->curdestdir, true) )
|
if (buf.Len() != 8) {
|
||||||
{
|
dest.Printf(wxT("Invalid build date: %s"), buf.c_str());
|
||||||
wxMessageDialog* msg = new wxMessageDialog(this, wxT("Rockbox has been installed on your device.")
|
WARN_DIALOG(dest, wxT("Install"));
|
||||||
,wxT("Installation"), wxOK |wxICON_INFORMATION);
|
buf = wxT("");
|
||||||
msg->ShowModal();
|
}
|
||||||
delete msg;
|
}
|
||||||
} else
|
|
||||||
|
if (buf == wxT("")) {
|
||||||
|
WARN_DIALOG(wxT("Can't get date of latest build from "
|
||||||
|
"server. Using yesterday's date."), wxT("Install") );
|
||||||
|
date = wxDateTime::Now();
|
||||||
|
date.Subtract(oneday.Day());
|
||||||
|
buf = date.Format(wxT("%Y%m%d")); // yes, we want UTC
|
||||||
|
}
|
||||||
|
|
||||||
|
src.Printf(wxT("%s%s/%s-%s-%s.zip"),
|
||||||
|
gv->daily_url.c_str(), gv->curplat.c_str(),
|
||||||
|
gv->prog_name.c_str(), gv->curplat.c_str(),
|
||||||
|
buf.c_str() );
|
||||||
|
|
||||||
|
dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP "%s-%s-%s.zip"),
|
||||||
|
gv->stdpaths->GetUserDataDir().c_str(),
|
||||||
|
gv->prog_name.c_str(),
|
||||||
|
gv->curplat.c_str(), buf.c_str() );
|
||||||
|
break;
|
||||||
|
case BUILD_BLEEDING:
|
||||||
|
src.Printf(wxT("%s%s/%s.zip"),
|
||||||
|
gv->bleeding_url.c_str(), gv->curplat.c_str(),
|
||||||
|
gv->prog_name.c_str() );
|
||||||
|
dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP "%s.zip"),
|
||||||
|
gv->stdpaths->GetUserDataDir().c_str(),
|
||||||
|
gv->prog_name.c_str() );
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ERR_DIALOG(wxT("Something seriously odd has happened."),
|
||||||
|
wxT("Install"));
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gv->nocache || ( ! wxFileExists(dest) ) )
|
||||||
|
{
|
||||||
|
if ( DownloadURL(src, dest) )
|
||||||
{
|
{
|
||||||
wxRemoveFile(dest);
|
wxRemoveFile(dest);
|
||||||
buf.Printf(wxT("Unable to unzip %s"), dest.c_str() );
|
buf.Printf(wxT("Unable to download %s"), src.c_str() );
|
||||||
ERR_DIALOG(buf, wxT("Install"));
|
ERR_DIALOG(buf, wxT("Install"));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( !UnzipFile(dest, gv->curdestdir, true) )
|
||||||
|
{
|
||||||
|
wxMessageDialog* msg = new wxMessageDialog(this, wxT("Rockbox has been installed on your device.")
|
||||||
|
,wxT("Installation"), wxOK |wxICON_INFORMATION);
|
||||||
|
msg->ShowModal();
|
||||||
|
delete msg;
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
wxRemoveFile(dest);
|
||||||
|
buf.Printf(wxT("Unable to unzip %s"), dest.c_str() );
|
||||||
|
ERR_DIALOG(buf, wxT("Install"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
wxLogVerbose(wxT("=== end rbutilFrm::OnInstallBtn"));
|
wxLogVerbose(wxT("=== end rbutilFrm::OnInstallBtn"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -632,81 +661,87 @@ void rbutilFrm::OnFontBtn(wxCommandEvent& event)
|
||||||
wxFileConfig* buildinfo;
|
wxFileConfig* buildinfo;
|
||||||
wxDateSpan oneday;
|
wxDateSpan oneday;
|
||||||
|
|
||||||
|
// font install dialog
|
||||||
fontInstallDlg dialog(NULL, wxID_ANY,
|
fontInstallDlg dialog(NULL, wxID_ANY,
|
||||||
wxT("Font Installation"));
|
wxT("Font Installation"));
|
||||||
|
if (dialog.ShowModal() != wxID_OK)
|
||||||
|
return;
|
||||||
|
|
||||||
if (dialog.ShowModal() == wxID_OK)
|
// really install ?
|
||||||
|
wxMessageDialog msg(this,wxT("Do you really want to install the Fonts ?"),wxT("Font installation"),wxOK|wxCANCEL);
|
||||||
|
if(msg.ShowModal() != wxID_OK )
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
buf.Printf(wxT("%s" PATH_SEP ".rockbox"), gv->curdestdir.c_str()) ;
|
||||||
|
if (! wxDirExists(buf) )
|
||||||
{
|
{
|
||||||
|
buf.Printf(wxT("Rockbox is not yet installed on %s - install "
|
||||||
|
"Rockbox first."), buf.c_str() );
|
||||||
|
WARN_DIALOG(buf, wxT("Can't install fonts") );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
buf.Printf(wxT("%s" PATH_SEP ".rockbox"), gv->curdestdir.c_str()) ;
|
dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP "build-info"),
|
||||||
if (! wxDirExists(buf) )
|
gv->stdpaths->GetUserDataDir().c_str());
|
||||||
{
|
if (DownloadURL(gv->server_conf_url, dest))
|
||||||
buf.Printf(wxT("Rockbox is not yet installed on %s - install "
|
{
|
||||||
"Rockbox first."), buf.c_str() );
|
WARN_DIALOG(wxT("Unable to download build status."),
|
||||||
WARN_DIALOG(buf, wxT("Can't install fonts") );
|
wxT("Font Install"));
|
||||||
return;
|
buf = wxT("");
|
||||||
}
|
} else
|
||||||
|
{
|
||||||
|
buildinfo = new wxFileConfig(wxEmptyString,
|
||||||
|
wxEmptyString, dest);
|
||||||
|
buf = buildinfo->Read(wxT("/dailies/date"));
|
||||||
|
buildinfo->DeleteAll();
|
||||||
|
|
||||||
dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP "build-info"),
|
if (buf.Len() != 8) {
|
||||||
gv->stdpaths->GetUserDataDir().c_str());
|
dest.Printf(wxT("Invalid build date: %s"), buf.c_str());
|
||||||
if (DownloadURL(gv->server_conf_url, dest))
|
WARN_DIALOG(dest, wxT("Font Install"));
|
||||||
{
|
buf = wxT("");
|
||||||
WARN_DIALOG(wxT("Unable to download build status."),
|
|
||||||
wxT("Font Install"));
|
|
||||||
buf = wxT("");
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
buildinfo = new wxFileConfig(wxEmptyString,
|
|
||||||
wxEmptyString, dest);
|
|
||||||
buf = buildinfo->Read(wxT("/dailies/date"));
|
|
||||||
buildinfo->DeleteAll();
|
|
||||||
|
|
||||||
if (buf.Len() != 8) {
|
|
||||||
dest.Printf(wxT("Invalid build date: %s"), buf.c_str());
|
|
||||||
WARN_DIALOG(dest, wxT("Font Install"));
|
|
||||||
buf = wxT("");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (buf == wxT("")) {
|
|
||||||
WARN_DIALOG(wxT("Can't get date of latest build from "
|
|
||||||
"server. Using yesterday's date."),
|
|
||||||
wxT("Font Install") );
|
|
||||||
date = wxDateTime::Now();
|
|
||||||
date.Subtract(oneday.Day());
|
|
||||||
buf = date.Format(wxT("%Y%m%d")); // yes, we want UTC
|
|
||||||
}
|
|
||||||
|
|
||||||
src.Printf(wxT("%s%s.zip"), gv->font_url.c_str(), buf.c_str() );
|
|
||||||
|
|
||||||
dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP
|
|
||||||
"rockbox-fonts-%s.zip"), gv->stdpaths->GetUserDataDir().c_str(),
|
|
||||||
buf.c_str() );
|
|
||||||
|
|
||||||
if ( ! wxFileExists(dest) )
|
|
||||||
{
|
|
||||||
if ( DownloadURL(src, dest) )
|
|
||||||
{
|
|
||||||
wxRemoveFile(dest);
|
|
||||||
buf.Printf(wxT("Unable to download %s"), src.c_str() );
|
|
||||||
ERR_DIALOG(buf, wxT("Font Install"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !UnzipFile(dest, gv->curdestdir, true) )
|
|
||||||
{
|
|
||||||
wxMessageDialog* msg = new wxMessageDialog(this, wxT("The Rockbox fonts have been installed on your device.")
|
|
||||||
,wxT("Installation"), wxOK |wxICON_INFORMATION);
|
|
||||||
msg->ShowModal();
|
|
||||||
delete msg;
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
wxRemoveFile(dest);
|
|
||||||
buf.Printf(wxT("Unable to unzip %s"), dest.c_str() );
|
|
||||||
ERR_DIALOG(buf, wxT("Font Install"));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (buf == wxT("")) {
|
||||||
|
WARN_DIALOG(wxT("Can't get date of latest build from "
|
||||||
|
"server. Using yesterday's date."),
|
||||||
|
wxT("Font Install") );
|
||||||
|
date = wxDateTime::Now();
|
||||||
|
date.Subtract(oneday.Day());
|
||||||
|
buf = date.Format(wxT("%Y%m%d")); // yes, we want UTC
|
||||||
|
}
|
||||||
|
|
||||||
|
src.Printf(wxT("%s%s.zip"), gv->font_url.c_str(), buf.c_str() );
|
||||||
|
|
||||||
|
dest.Printf(wxT("%s" PATH_SEP "download" PATH_SEP
|
||||||
|
"rockbox-fonts-%s.zip"), gv->stdpaths->GetUserDataDir().c_str(),
|
||||||
|
buf.c_str() );
|
||||||
|
|
||||||
|
if ( ! wxFileExists(dest) )
|
||||||
|
{
|
||||||
|
if ( DownloadURL(src, dest) )
|
||||||
|
{
|
||||||
|
wxRemoveFile(dest);
|
||||||
|
buf.Printf(wxT("Unable to download %s"), src.c_str() );
|
||||||
|
ERR_DIALOG(buf, wxT("Font Install"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !UnzipFile(dest, gv->curdestdir, true) )
|
||||||
|
{
|
||||||
|
wxMessageDialog* msg = new wxMessageDialog(this, wxT("The Rockbox fonts have been installed on your device.")
|
||||||
|
,wxT("Installation"), wxOK |wxICON_INFORMATION);
|
||||||
|
msg->ShowModal();
|
||||||
|
delete msg;
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
wxRemoveFile(dest);
|
||||||
|
buf.Printf(wxT("Unable to unzip %s"), dest.c_str() );
|
||||||
|
ERR_DIALOG(buf, wxT("Font Install"));
|
||||||
|
}
|
||||||
|
|
||||||
wxLogVerbose(wxT("=== end rbutilFrm::OnFontBtn"));
|
wxLogVerbose(wxT("=== end rbutilFrm::OnFontBtn"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -716,27 +751,31 @@ void rbutilFrm::OnThemesBtn(wxCommandEvent& event)
|
||||||
wxString src, dest, buf;
|
wxString src, dest, buf;
|
||||||
wxLogVerbose(wxT("=== begin rbutilFrm::OnThemesBtn(event)"));
|
wxLogVerbose(wxT("=== begin rbutilFrm::OnThemesBtn(event)"));
|
||||||
|
|
||||||
|
// Theme install dialog
|
||||||
themesInstallDlg dialog(NULL, wxID_ANY,
|
themesInstallDlg dialog(NULL, wxID_ANY,
|
||||||
wxT("Theme Installation"));
|
wxT("Theme Installation"));
|
||||||
|
if (dialog.ShowModal() != wxID_OK)
|
||||||
|
return;
|
||||||
|
|
||||||
if (dialog.ShowModal() == wxID_OK)
|
// really install ?
|
||||||
|
wxMessageDialog msg(this,wxT("Do you really want to install the selected Themes ?"),wxT("Theme installation"),wxOK|wxCANCEL);
|
||||||
|
if(msg.ShowModal() != wxID_OK )
|
||||||
|
return;
|
||||||
|
|
||||||
|
bool success=true;
|
||||||
|
for(unsigned int i=0 ;i < gv->themesToInstall.GetCount();i++)
|
||||||
{
|
{
|
||||||
bool success=true;
|
if(!InstallTheme(gv->themesToInstall[i]))
|
||||||
for(unsigned int i=0 ;i < gv->themesToInstall.GetCount();i++)
|
|
||||||
{
|
{
|
||||||
if(!InstallTheme(gv->themesToInstall[i]))
|
MESG_DIALOG(wxT("The Themes installation has failed") );
|
||||||
{
|
success=false;
|
||||||
MESG_DIALOG(wxT("The Themes installation has failed") );
|
break;
|
||||||
success=false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(success)
|
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Theme installation completed successfully.") );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(success)
|
||||||
|
{
|
||||||
|
MESG_DIALOG(wxT("The Theme installation completed successfully.") );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
wxLogVerbose(wxT("=== end rbutilFrm::OnThemesBtn(event)"));
|
wxLogVerbose(wxT("=== end rbutilFrm::OnThemesBtn(event)"));
|
||||||
|
|
@ -747,23 +786,29 @@ void rbutilFrm::OnRemoveBtn(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
wxLogVerbose(wxT("=== begin rbutilFrm::OnRemoveBtn(event)"));
|
wxLogVerbose(wxT("=== begin rbutilFrm::OnRemoveBtn(event)"));
|
||||||
|
|
||||||
|
// Rockbox deinstall dialog
|
||||||
rockboxDeInstallDlg dialog(NULL, wxID_ANY,
|
rockboxDeInstallDlg dialog(NULL, wxID_ANY,
|
||||||
wxT("Rockbox Deinstallation"));
|
wxT("Rockbox Deinstallation"));
|
||||||
|
if (dialog.ShowModal() != wxID_OK)
|
||||||
|
return;
|
||||||
|
|
||||||
if (dialog.ShowModal() == wxID_OK)
|
// really install ?
|
||||||
|
wxMessageDialog msg(this,wxT("Do you really want to deinstall Rockbox ?"),wxT("Rockbox deinstallation"),wxOK|wxCANCEL);
|
||||||
|
if(msg.ShowModal() != wxID_OK )
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
if (Uninstall(gv->curdestdir, gv->curisfull) )
|
||||||
{
|
{
|
||||||
if (Uninstall(gv->curdestdir, gv->curisfull) )
|
MESG_DIALOG(
|
||||||
{
|
wxT("The uninstallation wizard was cancelled or completed with "
|
||||||
MESG_DIALOG(
|
"some errors.") );
|
||||||
wxT("The uninstallation wizard was cancelled or completed with "
|
} else {
|
||||||
"some errors.") );
|
wxMessageDialog* msg = new wxMessageDialog(this, wxT("The uninstall wizard completed successfully\n"
|
||||||
} else {
|
"Depending on which Device you own, you also have to uninstall the Bootloader")
|
||||||
wxMessageDialog* msg = new wxMessageDialog(this, wxT("The uninstall wizard completed successfully\n"
|
,wxT("Uninstallation"), wxOK |wxICON_INFORMATION);
|
||||||
"Depending on which Device you own, you also have to uninstall the Bootloader")
|
msg->ShowModal();
|
||||||
,wxT("Uninstallation"), wxOK |wxICON_INFORMATION);
|
delete msg;
|
||||||
msg->ShowModal();
|
|
||||||
delete msg;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wxLogVerbose(wxT("=== end rbutilFrm::OnRemoveBtn"));
|
wxLogVerbose(wxT("=== end rbutilFrm::OnRemoveBtn"));
|
||||||
|
|
@ -776,19 +821,24 @@ void rbutilFrm::OnPortableInstall(wxCommandEvent& event)
|
||||||
wxFileSystem fs;
|
wxFileSystem fs;
|
||||||
wxDateSpan oneday;
|
wxDateSpan oneday;
|
||||||
|
|
||||||
|
//portable install dialog ( reused font dialog)
|
||||||
fontInstallDlg dialog(NULL, wxID_ANY,
|
fontInstallDlg dialog(NULL, wxID_ANY,
|
||||||
wxT("Rockbox Utility Portable Installation"));
|
wxT("Rockbox Utility Portable Installation"));
|
||||||
|
if (dialog.ShowModal() != wxID_OK)
|
||||||
|
return;
|
||||||
|
|
||||||
if (dialog.ShowModal() == wxID_OK)
|
// really install ?
|
||||||
|
wxMessageDialog msg(this,wxT("Do you really want a portable install of rbutil ?"),wxT("rbutil installation"),wxOK|wxCANCEL);
|
||||||
|
if(msg.ShowModal() != wxID_OK )
|
||||||
|
return;
|
||||||
|
|
||||||
|
if ( InstallRbutil(gv->curdestdir) )
|
||||||
{
|
{
|
||||||
if ( InstallRbutil(gv->curdestdir) )
|
MESG_DIALOG(wxT("The Rockbox Utility has been installed on your device."));
|
||||||
{
|
|
||||||
MESG_DIALOG(wxT("The Rockbox Utility has been installed on your device."));
|
|
||||||
|
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
ERR_DIALOG(wxT("Installation failed"), wxT("Portable Install"));
|
ERR_DIALOG(wxT("Installation failed"), wxT("Portable Install"));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wxLogVerbose(wxT("=== end rbutilFrm::OnUnstallPortable"));
|
wxLogVerbose(wxT("=== end rbutilFrm::OnUnstallPortable"));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue