| 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 |  | } |