| 18 |
|
////@begin includes |
| 19 |
|
////@end includes |
| 20 |
|
|
| 21 |
+ |
extern int updateStatus; |
| 22 |
+ |
extern bool installerJustUpdated; |
| 23 |
|
Install_info_cfg currentAE, updateAE; |
| 24 |
|
MainWindow* TheWindow; |
| 25 |
|
|
| 112 |
|
return true; |
| 113 |
|
} |
| 114 |
|
|
| 115 |
< |
bool installerJustUpdated = false; |
| 114 |
< |
int updateStatus = GetUpdateStatus(¤tAE, &updateAE, &installerJustUpdated); |
| 115 |
< |
if (updateStatus) // otherwise there's no update |
| 115 |
> |
if (updateStatus) // updateStatus was set when MainWindow::CreateControls() was called during initialization of the window |
| 116 |
|
{ |
| 117 |
|
string updateMsg = "An update for the Anniversary Edition is available.\n"; // for some reason we can't set the initial value while using the '+' operator... |
| 118 |
|
updateMsg = updateMsg + "Do you wish to update to Edition version " + updateAE.AEVersion + "?\n" + |
| 119 |
< |
"(Current version is " + currentAE.AEVersion + ")\n"; // ...so tack the rest on in a second command |
| 119 |
> |
"(Current version is " + currentAE.AEVersion + ")\n"; // ...so we tack the rest on in a second command |
| 120 |
|
wxMessageDialog* updateNotification; |
| 121 |
|
|
| 122 |
|
switch (updateStatus) // for the meanings of these return values, see the comments preceding installer.cpp's GetUpdateStatus() |
| 152 |
|
"If you click Yes, the Installer will quit and re-launch itself, then\n" + |
| 153 |
|
"you will be prompted to begin the installation."; |
| 154 |
|
updateNotification = new wxMessageDialog(TheWindow, updateMsg.c_str(), "AE Installer Alert", wxYES_NO | wxICON_EXCLAMATION, wxDefaultPosition); |
| 155 |
– |
updateNotification->ShowModal(); |
| 155 |
|
if (updateNotification->ShowModal() == wxID_YES) |
| 156 |
|
{ |
| 157 |
|
if (ProcessInstallerUpdate(¤tAE, &updateAE)) // there's an intentional logic gap here: if the user clicks "Yes"... |
| 164 |
|
break; |
| 165 |
|
case UPDATE_INST_REPL_ERR: // the Installer replacement failed, user has to do it :-( |
| 166 |
|
updateMsg = "The Installer replacement process failed for some reason.\n"; |
| 167 |
< |
updateMsg = updateMsg + "Please quit, go into the folder Edition/Updates/" + strEUFN + "/install/ and drag the Installer to Edition/install/, " + |
| 168 |
< |
"replacing the current Installer application, then launch the new version."; |
| 169 |
< |
updateNotification = new wxMessageDialog(TheWindow, updateMsg.c_str(), "AE Installer Alert", wxOK | wxICON_EXCLAMATION, wxDefaultPosition); |
| 170 |
< |
updateNotification->ShowModal(); |
| 171 |
< |
TheWindow->Close(); |
| 167 |
> |
updateMsg = updateMsg + "In order for the update to continue, go into the folder Edition/updates/" + strEUFN + "/install/ and " + |
| 168 |
> |
"drag the Installer to Edition/install/, replacing the current Installer application, then launch the " + |
| 169 |
> |
"new version. Click Yes to quit."; |
| 170 |
> |
updateNotification = new wxMessageDialog(TheWindow, updateMsg.c_str(), "AE Installer Alert", wxYES_NO | wxICON_EXCLAMATION, wxDefaultPosition); |
| 171 |
> |
if (updateNotification->ShowModal() == wxID_YES) |
| 172 |
> |
TheWindow->Close(); |
| 173 |
|
return true; |
| 174 |
|
} |
| 175 |
|
} |