From: <sag...@us...> - 2011-04-05 13:03:27
|
Revision: 841 http://modplug.svn.sourceforge.net/modplug/?rev=841&view=rev Author: saga-games Date: 2011-04-05 13:03:17 +0000 (Tue, 05 Apr 2011) Log Message: ----------- [Mod] Update Check: On first run, a hint is shown so people don't have to wonder what their firewall is doing. [Mod] Colour Setup: Changed order of channel separator colours. Modified Paths: -------------- trunk/OpenMPT/installer/install.iss trunk/OpenMPT/mptrack/MainFrm.cpp trunk/OpenMPT/mptrack/Moptions.cpp trunk/OpenMPT/mptrack/UpdateCheck.cpp trunk/OpenMPT/mptrack/UpdateCheck.h Modified: trunk/OpenMPT/installer/install.iss =================================================================== --- trunk/OpenMPT/installer/install.iss 2011-04-03 21:35:05 UTC (rev 840) +++ trunk/OpenMPT/installer/install.iss 2011-04-05 13:03:17 UTC (rev 841) @@ -238,6 +238,10 @@ if(not IsTaskSelected('update_c')) then begin SetIniString('Update', 'UpdateCheckPeriod', '0', INIFile); + end else + begin + SetIniString('Update', 'UpdateCheckPeriod', '7', INIFile); + //SetIniString('Update', 'LastUpdateCheck', GetDateTimeString('yyyy-mm-dd hh:nn', #0, #0), INIFile); end; // Scan for pre-installed VST plugins Modified: trunk/OpenMPT/mptrack/MainFrm.cpp =================================================================== --- trunk/OpenMPT/mptrack/MainFrm.cpp 2011-04-03 21:35:05 UTC (rev 840) +++ trunk/OpenMPT/mptrack/MainFrm.cpp 2011-04-05 13:03:17 UTC (rev 841) @@ -419,7 +419,8 @@ ( outTime, GetPrivateProfileInt("Update", "UpdateCheckPeriod", CUpdateCheck::GetUpdateCheckPeriod(), iniFile), - GetPrivateProfileCString("Update", "UpdateURL", CUpdateCheck::GetUpdateURL(), iniFile) + GetPrivateProfileCString("Update", "UpdateURL", CUpdateCheck::GetUpdateURL(), iniFile), + GetPrivateProfileInt("Update", "ShowUpdateHint", CUpdateCheck::GetShowUpdateHint() ? 1 : 0, iniFile) ? true : false ); } @@ -1021,8 +1022,9 @@ outDate.Format("%04d-%02d-%02d %02d:%02d", lastUpdate->tm_year + 1900, lastUpdate->tm_mon + 1, lastUpdate->tm_mday, lastUpdate->tm_hour, lastUpdate->tm_min); } WritePrivateProfileString("Update", "LastUpdateCheck", outDate, iniFile); - WritePrivateProfileDWord("Update", "UpdateCheckPeriod", CUpdateCheck::GetUpdateCheckPeriod(), iniFile); + WritePrivateProfileLong("Update", "UpdateCheckPeriod", CUpdateCheck::GetUpdateCheckPeriod(), iniFile); WritePrivateProfileString("Update", "UpdateURL", CUpdateCheck::GetUpdateURL(), iniFile); + WritePrivateProfileLong("Update", "ShowUpdateHint", CUpdateCheck::GetShowUpdateHint() ? 1 : 0, iniFile); } CHAR s[16]; Modified: trunk/OpenMPT/mptrack/Moptions.cpp =================================================================== --- trunk/OpenMPT/mptrack/Moptions.cpp 2011-04-03 21:35:05 UTC (rev 840) +++ trunk/OpenMPT/mptrack/Moptions.cpp 2011-04-05 13:03:17 UTC (rev 841) @@ -29,14 +29,13 @@ {"Note Highlight", 0, MODCOLOR_NOTE, MODCOLOR_INSTRUMENT, MODCOLOR_VOLUME, "Note:", "Instrument:", "Volume:"}, {"Effect Highlight",0, MODCOLOR_PANNING, MODCOLOR_PITCH, MODCOLOR_GLOBALS, "Panning Effects:", "Pitch Effects:", "Global Effects:"}, {"Invalid Commands",0, MODCOLOR_DODGY_COMMANDS, 0, 0, "Invalid Note:", NULL, NULL}, - {"Channel Separator",0, MODCOLOR_SEPSHADOW, MODCOLOR_SEPFACE, MODCOLOR_SEPHILITE, "Shadow:", "Face:", "Highlight:"}, + {"Channel Separator",0, MODCOLOR_SEPHILITE, MODCOLOR_SEPFACE, MODCOLOR_SEPSHADOW, "Highlight:", "Face:", "Shadow:"}, {"Next/Prev Pattern",0, MODCOLOR_BLENDCOLOR, 0, 0, "Blend color:", NULL, NULL}, {"Sample Editor", 1, MODCOLOR_SAMPLE, 0, 0, "Sample Data:", NULL, NULL}, {"Instrument Editor",2, MODCOLOR_ENVELOPES, 0, 0, "Envelopes:", NULL, NULL}, {"VU-Meters", 0, MODCOLOR_VUMETER_HI, MODCOLOR_VUMETER_MED, MODCOLOR_VUMETER_LO, "Hi:", "Med:", "Lo:"} }; -#define NUMCOLORDEFS (sizeof(gColorDefs)/sizeof(MPTCOLORDEF)) #define PREVIEWBMP_WIDTH 88 #define PREVIEWBMP_HEIGHT 39 @@ -85,7 +84,7 @@ CPropertyPage::OnInitDialog(); m_pPreviewDib = LoadDib(MAKEINTRESOURCE(IDB_COLORSETUP)); memcpy(CustomColors, CMainFrame::rgbCustomColors, sizeof(CustomColors)); - for (UINT i=0; i<NUMCOLORDEFS; i++) + for (UINT i = 0; i < CountOf(gColorDefs); i++) { m_ComboItem.SetItemData(m_ComboItem.AddString(gColorDefs[i].pszName), i); } Modified: trunk/OpenMPT/mptrack/UpdateCheck.cpp =================================================================== --- trunk/OpenMPT/mptrack/UpdateCheck.cpp 2011-04-03 21:35:05 UTC (rev 840) +++ trunk/OpenMPT/mptrack/UpdateCheck.cpp 2011-04-05 13:03:17 UTC (rev 841) @@ -21,6 +21,7 @@ time_t CUpdateCheck::lastUpdateCheck = 0; int CUpdateCheck::updateCheckPeriod = 7; CString CUpdateCheck::updateBaseURL = "http://update.openmpt.org/check/%s"; +bool CUpdateCheck::showUpdateHint = true; CUpdateCheck::CUpdateCheck(const bool autoUpdate) @@ -73,7 +74,22 @@ caller->Terminate(); return 0; } + + // Never ran update checks before, so we notify the user of automatic update checks. + if(CUpdateCheck::showUpdateHint) + { + CString msg; + msg.Format("OpenMPT would like to check for updates now, proceed?\n\nNote: In the future, OpenMPT will check for updates every %d days. If you do not want this, you can disable update checks in the setup.", CUpdateCheck::updateCheckPeriod); + if(::MessageBox(0, msg, "OpenMPT Internet Update", MB_YESNO | MB_ICONQUESTION) == IDNO) + { + CUpdateCheck::showUpdateHint = false; + caller->Terminate(); + return 0; + } + + } } + CUpdateCheck::showUpdateHint = false; const CString userAgent = CString("OpenMPT ") + MptVersion::str; CString updateURL; @@ -123,9 +139,10 @@ // Download data. CString resultData = ""; char *downloadBuffer = new char[DOWNLOAD_BUFFER_SIZE]; - DWORD availableSize = 0, bytesRead = 0; + DWORD availableSize, bytesRead; do { + // Query number of available bytes to download if(InternetQueryDataAvailable(caller->connectionHandle, &availableSize, 0, NULL) == FALSE) { caller->Die("Error while downloading update information data:\n", GetLastError()); @@ -133,12 +150,15 @@ LimitMax(availableSize, (DWORD)DOWNLOAD_BUFFER_SIZE); + // Put downloaded bytes into our buffer if(InternetReadFile(caller->connectionHandle, downloadBuffer, availableSize, &bytesRead) == FALSE) { caller->Die("Error while downloading update information data:\n", GetLastError()); } resultData.Append(downloadBuffer, availableSize); + Sleep(1); + } while(bytesRead != 0); delete[] downloadBuffer; @@ -302,7 +322,7 @@ CString updateURL; GetDlgItemText(IDC_EDIT1, updateURL); - CUpdateCheck::SetUpdateSettings(CUpdateCheck::GetLastUpdateCheck(), updateCheckPeriod, updateURL); + CUpdateCheck::SetUpdateSettings(CUpdateCheck::GetLastUpdateCheck(), updateCheckPeriod, updateURL, CUpdateCheck::GetShowUpdateHint()); CPropertyPage::OnOK(); } @@ -319,7 +339,6 @@ void CUpdateSetupDlg::OnCheckNow() //-------------------------------- { - CUpdateCheck *updateCheck = CUpdateCheck::Create(false); - updateCheck->DoUpdateCheck(); + CMainFrame::GetMainFrame()->PostMessage(WM_COMMAND, ID_INTERNETUPDATE); } Modified: trunk/OpenMPT/mptrack/UpdateCheck.h =================================================================== --- trunk/OpenMPT/mptrack/UpdateCheck.h 2011-04-03 21:35:05 UTC (rev 840) +++ trunk/OpenMPT/mptrack/UpdateCheck.h 2011-04-05 13:03:17 UTC (rev 841) @@ -34,7 +34,9 @@ static time_t GetLastUpdateCheck() { return lastUpdateCheck; }; static int GetUpdateCheckPeriod() { return updateCheckPeriod; }; static CString GetUpdateURL() { return updateBaseURL; }; - static void SetUpdateSettings(time_t last, int period, CString url) { lastUpdateCheck = last; updateCheckPeriod = period; updateBaseURL = url; }; + static bool GetShowUpdateHint() { return showUpdateHint; }; + static void SetUpdateSettings(time_t last, int period, CString url, bool showHint) + { lastUpdateCheck = last; updateCheckPeriod = period; updateBaseURL = url; showUpdateHint = showHint; }; protected: @@ -42,6 +44,7 @@ static time_t lastUpdateCheck; // Time of last successful update check static int updateCheckPeriod; // Check for updates every x days static CString updateBaseURL; // URL where the version check should be made. + static bool showUpdateHint; // Show hint on first automatic update bool isAutoUpdate; // Are we running an automatic update check? This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |