mirror of
				https://github.com/chibicitiberiu/rainmeter-studio.git
				synced 2024-02-24 04:33:31 +00:00 
			
		
		
		
	Some code changes for optimization
This commit is contained in:
		| @@ -64,8 +64,8 @@ void UpdateAboutStatistics() | ||||
|  | ||||
| 		std::map<std::wstring, CMeterWindow*>& windows = Rainmeter->GetAllMeterWindows(); | ||||
|  | ||||
| 		std::map<std::wstring, CMeterWindow*>::iterator iter = windows.begin(); | ||||
| 		for( ; iter != windows.end(); iter++) | ||||
| 		std::map<std::wstring, CMeterWindow*>::const_iterator iter = windows.begin(); | ||||
| 		for( ; iter != windows.end(); ++iter) | ||||
| 		{ | ||||
| 			if (current == selected) | ||||
| 			{ | ||||
| @@ -75,8 +75,8 @@ void UpdateAboutStatistics() | ||||
| 				std::list<CMeasure*>& measures = meterWindow->GetMeasures(); | ||||
|  | ||||
| 				int index = 0; | ||||
| 				std::list<CMeasure*>::iterator i = measures.begin(); | ||||
| 				for( ; i != measures.end(); i++) | ||||
| 				std::list<CMeasure*>::const_iterator i = measures.begin(); | ||||
| 				for( ; i != measures.end(); ++i) | ||||
| 				{ | ||||
| 					const WCHAR* name = (*i)->GetName(); | ||||
| 					const WCHAR* val = (*i)->GetStats(); | ||||
| @@ -112,13 +112,13 @@ void UpdateAboutStatistics() | ||||
| 							ListView_SetItemText(widget, index, 1, (WCHAR*)val); | ||||
| 						} | ||||
| 						ListView_SetItemText(widget, index, 2, (WCHAR*)range.c_str()); | ||||
| 						index++; | ||||
| 						++index; | ||||
| 					} | ||||
| 				} | ||||
|  | ||||
| 				break; | ||||
| 			} | ||||
| 			current++; | ||||
| 			++current; | ||||
| 		} | ||||
|  | ||||
| 		SendMessage(widget, WM_SETREDRAW, 1, 0); | ||||
| @@ -147,12 +147,12 @@ void UpdateWidgets(HWND window) | ||||
| 		ListView_SetColumn(widget, 2, &lvc); | ||||
|  | ||||
| 		// Update the list of plugins | ||||
| 		std::vector<PLUGIN_INFO>::iterator iter = g_Plugins.begin(); | ||||
| 		std::vector<PLUGIN_INFO>::const_iterator iter = g_Plugins.begin(); | ||||
| 		LVITEM vitem; | ||||
| 		vitem.mask = LVIF_TEXT; | ||||
|  | ||||
| 		int i = 0; | ||||
| 		for ( ; iter != g_Plugins.end(); iter++) | ||||
| 		for ( ; iter != g_Plugins.end(); ++iter) | ||||
| 		{ | ||||
| 			if (!(*iter).name.empty()) | ||||
| 			{ | ||||
| @@ -171,7 +171,7 @@ void UpdateWidgets(HWND window) | ||||
|  | ||||
| 			ListView_SetItemText(widget, i, 2, (WCHAR*)(*iter).author.c_str()); | ||||
|  | ||||
| 			i++; | ||||
| 			++i; | ||||
| 		} | ||||
|  | ||||
| 		if (g_Plugins.size() > 0) | ||||
| @@ -304,9 +304,9 @@ BOOL OnInitAboutDialog(HWND window) | ||||
| 	TCITEM tie;  | ||||
| 	tie.mask = TCIF_TEXT;  | ||||
| 	std::map<std::wstring, CMeterWindow*>& windows = Rainmeter->GetAllMeterWindows(); | ||||
| 	std::map<std::wstring, CMeterWindow*>::iterator iter = windows.begin(); | ||||
| 	std::map<std::wstring, CMeterWindow*>::const_iterator iter = windows.begin(); | ||||
| 	int i = 0; | ||||
| 	for( ; iter != windows.end(); iter++) | ||||
| 	for( ; iter != windows.end(); ++iter) | ||||
| 	{ | ||||
| 		CMeterWindow* meterWindow = (*iter).second; | ||||
|  | ||||
|   | ||||
| @@ -113,7 +113,7 @@ void CConfigParser::ReadVariables() | ||||
| { | ||||
| 	std::vector<std::wstring> listVariables = GetKeys(L"Variables"); | ||||
|  | ||||
| 	for (size_t i = 0; i < listVariables.size(); i++) | ||||
| 	for (size_t i = 0; i < listVariables.size(); ++i) | ||||
| 	{ | ||||
| 		SetVariable(listVariables[i], ReadString(L"Variables", listVariables[i].c_str(), L"", false)); | ||||
| 	} | ||||
| @@ -225,7 +225,7 @@ void CConfigParser::SetMultiMonitorVariables(bool reset) | ||||
| 		const MULTIMONITOR_INFO& multimonInfo = CSystem::GetMultiMonitorInfo(); | ||||
| 		const std::vector<MONITOR_INFO>& monitors = multimonInfo.monitors; | ||||
|  | ||||
| 		for (size_t i = 0; i < monitors.size(); i++) | ||||
| 		for (size_t i = 0; i < monitors.size(); ++i) | ||||
| 		{ | ||||
| 			TCHAR buffer2[256]; | ||||
|  | ||||
| @@ -395,7 +395,7 @@ void CConfigParser::ReplaceVariables(std::wstring& result) | ||||
| 				std::wstring strTmp(result.begin() + pos + 1, result.begin() + end); | ||||
| 				std::transform(strTmp.begin(), strTmp.end(), strTmp.begin(), ::tolower); | ||||
| 				 | ||||
| 				std::map<std::wstring, std::wstring>::iterator iter = m_Variables.find(strTmp); | ||||
| 				std::map<std::wstring, std::wstring>::const_iterator iter = m_Variables.find(strTmp); | ||||
| 				if (iter != m_Variables.end()) | ||||
| 				{ | ||||
| 					// Variable found, replace it with the value | ||||
| @@ -404,7 +404,7 @@ void CConfigParser::ReplaceVariables(std::wstring& result) | ||||
| 				} | ||||
| 				else | ||||
| 				{ | ||||
| 					std::map<std::wstring, std::wstring>::iterator iter2 = c_MonitorVariables.find(strTmp); | ||||
| 					std::map<std::wstring, std::wstring>::const_iterator iter2 = c_MonitorVariables.find(strTmp); | ||||
| 					if (iter2 != c_MonitorVariables.end()) | ||||
| 					{ | ||||
| 						// SCREENAREA/WORKAREA variable found, replace it with the value | ||||
| @@ -501,7 +501,7 @@ const std::wstring& CConfigParser::ReadString(LPCTSTR section, LPCTSTR key, LPCT | ||||
| 					{ | ||||
| 						std::wstring var(result.begin() + pos + 1, result.begin() + end); | ||||
| 	 | ||||
| 						std::map<std::wstring, CMeasure*>::iterator iter = m_Measures.find(var); | ||||
| 						std::map<std::wstring, CMeasure*>::const_iterator iter = m_Measures.find(var); | ||||
| 						if (iter != m_Measures.end()) | ||||
| 						{ | ||||
| 							std::wstring value = (*iter).second->GetStringValue(false, 1, 5, false); | ||||
| @@ -564,7 +564,7 @@ std::vector<Gdiplus::REAL> CConfigParser::ReadFloats(LPCTSTR section, LPCTSTR ke | ||||
|  | ||||
| 	// Tokenize and parse the floats | ||||
| 	std::vector<std::wstring> tokens = Tokenize(tmp, L";"); | ||||
| 	for (size_t i = 0; i < tokens.size(); i++) | ||||
| 	for (size_t i = 0; i < tokens.size(); ++i) | ||||
| 	{ | ||||
| 		result.push_back((Gdiplus::REAL)ParseDouble(tokens[i], 0)); | ||||
| 	} | ||||
| @@ -844,8 +844,8 @@ void CConfigParser::ReadIniFile(const std::wstring& iniFile, int depth) | ||||
| 	int bufferSize = MAX_LINE_LENGTH; | ||||
| 	WCHAR* buffer = new WCHAR[bufferSize]; | ||||
|  | ||||
| 	stdext::hash_map<std::wstring, std::vector<std::wstring> >::iterator iter = m_Keys.begin(); | ||||
| 	for ( ; iter != m_Keys.end(); iter++) | ||||
| 	stdext::hash_map<std::wstring, std::vector<std::wstring> >::const_iterator iter = m_Keys.begin(); | ||||
| 	for ( ; iter != m_Keys.end(); ++iter) | ||||
| 	{ | ||||
| 		while(true) | ||||
| 		{ | ||||
| @@ -937,7 +937,7 @@ const std::wstring& CConfigParser::GetValue(const std::wstring& strSection, cons | ||||
| 	std::wstring strTmp(strSection + L"::" + strKey); | ||||
| 	std::transform(strTmp.begin(), strTmp.end(), strTmp.begin(), ::tolower); | ||||
|  | ||||
| 	stdext::hash_map<std::wstring, std::wstring>::iterator iter = m_Values.find(strTmp); | ||||
| 	stdext::hash_map<std::wstring, std::wstring>::const_iterator iter = m_Values.find(strTmp); | ||||
| 	if (iter != m_Values.end()) | ||||
| 	{ | ||||
| 		return (*iter).second; | ||||
| @@ -969,7 +969,7 @@ std::vector<std::wstring> CConfigParser::GetKeys(const std::wstring& strSection) | ||||
| 	std::wstring strTmp(strSection); | ||||
| 	std::transform(strTmp.begin(), strTmp.end(), strTmp.begin(), ::tolower); | ||||
|  | ||||
| 	stdext::hash_map<std::wstring, std::vector<std::wstring> >::iterator iter = m_Keys.find(strTmp); | ||||
| 	stdext::hash_map<std::wstring, std::vector<std::wstring> >::const_iterator iter = m_Keys.find(strTmp); | ||||
| 	if (iter != m_Keys.end()) | ||||
| 	{ | ||||
| 		return (*iter).second; | ||||
|   | ||||
| @@ -144,7 +144,7 @@ const WCHAR* CMeasure::CheckSubstitute(const WCHAR* buffer) | ||||
| 	{ | ||||
| 		str = buffer; | ||||
|  | ||||
| 		for (size_t i = 0; i < m_Substitute.size(); i = i + 2) | ||||
| 		for (size_t i = 0; i < m_Substitute.size(); i += 2) | ||||
| 		{ | ||||
| 			if (str.empty() && m_Substitute[i].empty()) | ||||
| 			{ | ||||
| @@ -232,7 +232,7 @@ std::wstring CMeasure::ExtractWord(std::wstring& buffer) | ||||
| 	{ | ||||
| 		end = 1;	// Skip the '"' | ||||
| 		// Quotes around the word | ||||
| 		while (buffer[end] != L'\"' && end < buffer.size()) end++; | ||||
| 		while (buffer[end] != L'\"' && end < buffer.size()) ++end; | ||||
|  | ||||
| 		if (buffer[end] == L'\"') | ||||
| 		{ | ||||
| @@ -249,7 +249,7 @@ std::wstring CMeasure::ExtractWord(std::wstring& buffer) | ||||
| 	else | ||||
| 	{ | ||||
| 		end = 0; | ||||
| 		while ((buffer[end] != L',') && (buffer[end] != L':') && (buffer[end] != L' ') && (buffer[end] != L'\t') && end < buffer.size()) end++; | ||||
| 		while ((buffer[end] != L',') && (buffer[end] != L':') && (buffer[end] != L' ') && (buffer[end] != L'\t') && end < buffer.size()) ++end; | ||||
|  | ||||
| 		if (end == buffer.size()) | ||||
| 		{ | ||||
| @@ -286,7 +286,7 @@ bool CMeasure::PreUpdate() | ||||
| 	} | ||||
| 	 | ||||
| 	// Only update the counter if the divider  | ||||
| 	m_UpdateCounter++; | ||||
| 	++m_UpdateCounter; | ||||
| 	if (m_UpdateCounter < m_UpdateDivider) return false; | ||||
| 	m_UpdateCounter = 0; | ||||
|  | ||||
| @@ -302,7 +302,7 @@ bool CMeasure::PreUpdate() | ||||
|  | ||||
| 		m_MedianMaxValues[m_MedianPos] = m_Value; | ||||
| 		m_MedianMinValues[m_MedianPos] = m_Value; | ||||
| 		m_MedianPos++; | ||||
| 		++m_MedianPos; | ||||
| 		m_MedianPos %= MEDIAN_SIZE; | ||||
|  | ||||
| 		std::vector<double> medianArray; | ||||
| @@ -390,12 +390,12 @@ bool CMeasure::PostUpdate() | ||||
| 		} | ||||
| 		m_AverageValues[m_AveragePos] = m_Value; | ||||
|  | ||||
| 		m_AveragePos++; | ||||
| 		++m_AveragePos; | ||||
| 		m_AveragePos %= m_AverageValues.size(); | ||||
|  | ||||
| 		// Calculate the average value | ||||
| 		m_Value = 0; | ||||
| 		for (size_t i = 0; i < m_AverageValues.size(); i++) | ||||
| 		for (size_t i = 0; i < m_AverageValues.size(); ++i) | ||||
| 		{ | ||||
| 			m_Value += m_AverageValues[i]; | ||||
| 		} | ||||
|   | ||||
| @@ -211,7 +211,7 @@ bool CMeasureCPU::Update() | ||||
| 					return false; | ||||
| 				} | ||||
|  | ||||
| 				loop++; | ||||
| 				++loop; | ||||
| 			} while (loop < 10); | ||||
|  | ||||
| 			if (status != STATUS_SUCCESS)  // failed | ||||
| @@ -313,7 +313,7 @@ void CMeasureCPU::CalcAverageUsage(SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION* sys | ||||
| 		double dbIdleTimeDiff = 0, dbSystemTimeDiff = 0; | ||||
| 		double dbCpuUsage; | ||||
|  | ||||
| 		for (int i = 0; i < m_NumOfProcessors; i++) | ||||
| 		for (int i = 0; i < m_NumOfProcessors; ++i) | ||||
| 		{ | ||||
| 			double dbIdleTime, dbSystemTime; | ||||
|  | ||||
| @@ -337,7 +337,7 @@ void CMeasureCPU::CalcAverageUsage(SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION* sys | ||||
| 	else | ||||
| 	{ | ||||
| 		// store new CPU's idle and system time | ||||
| 		for (int i = 0; i < m_NumOfProcessors; i++) | ||||
| 		for (int i = 0; i < m_NumOfProcessors; ++i) | ||||
| 		{ | ||||
| 			m_OldTime[i * 2 + 0] = Li2Double(systemPerfInfo[i].IdleTime); | ||||
| 			m_OldTime[i * 2 + 1] = Li2Double(systemPerfInfo[i].KernelTime) + Li2Double(systemPerfInfo[i].UserTime); | ||||
|   | ||||
| @@ -102,8 +102,8 @@ void CMeasureCalc::UpdateVariableMap(CMeterWindow& meterWindow) | ||||
|  | ||||
| 	std::list<CMeasure*>& measures = meterWindow.GetMeasures(); | ||||
|  | ||||
| 	std::list<CMeasure*>::iterator iter = measures.begin(); | ||||
| 	for( ; iter != measures.end(); iter++) | ||||
| 	std::list<CMeasure*>::const_iterator iter = measures.begin(); | ||||
| 	for( ; iter != measures.end(); ++iter) | ||||
| 	{ | ||||
| 		const char* name = (*iter)->GetANSIName(); | ||||
| 		double val = (*iter)->GetValue(); | ||||
| @@ -130,8 +130,8 @@ void CMeasureCalc::ReadConfig(CConfigParser& parser, const WCHAR* section) | ||||
| 	// Hold onto the formula, we are going to change it | ||||
| 	m_FormulaHolder = m_Formula; | ||||
|  | ||||
| 	m_LowBound = parser.ReadFloat(section, L"LowBound", 0); | ||||
| 	m_HighBound = parser.ReadFloat(section, L"HighBound", 100); | ||||
| 	m_LowBound = parser.ReadInt(section, L"LowBound", 0); | ||||
| 	m_HighBound = parser.ReadInt(section, L"HighBound", 100); | ||||
| 	m_UpdateRandom = parser.ReadInt(section, L"UpdateRandom", 0); | ||||
|  | ||||
| 	RandomFormulaReplace(); | ||||
|   | ||||
| @@ -116,7 +116,7 @@ void CMeasureNet::UpdateIFTable() | ||||
| 				DebugLog(L"------------------------------"); | ||||
| 				DebugLog(L"* NETWORK-INTERFACE: Count=%i", c_NumOfTables); | ||||
|  | ||||
| 				for (size_t i = 0; i < c_NumOfTables; i++) | ||||
| 				for (size_t i = 0; i < c_NumOfTables; ++i) | ||||
| 				{ | ||||
| 					std::wstring type; | ||||
| 					switch (ifTable->Table[i].Type) | ||||
| @@ -211,7 +211,7 @@ void CMeasureNet::UpdateIFTable() | ||||
| 					DebugLog(L"------------------------------"); | ||||
| 					DebugLog(L"* NETWORK-INTERFACE: Count=%i", c_NumOfTables); | ||||
|  | ||||
| 					for (size_t i = 0; i < c_NumOfTables; i++) | ||||
| 					for (size_t i = 0; i < c_NumOfTables; ++i) | ||||
| 					{ | ||||
| 						std::string desc((char*)ifTable->table[i].bDescr, ifTable->table[i].dwDescrLen); | ||||
|  | ||||
| @@ -277,7 +277,7 @@ ULONG64 CMeasureNet::GetNetOctets(NET net) | ||||
| 		if (m_Interface == 0) | ||||
| 		{ | ||||
| 			// Get all interfaces | ||||
| 			for (UINT i = 0; i < c_NumOfTables; i++) | ||||
| 			for (UINT i = 0; i < c_NumOfTables; ++i) | ||||
| 			{ | ||||
| 				// Ignore the loopback and non-hardware interfaces | ||||
| 				if (table[i].Type == IF_TYPE_SOFTWARE_LOOPBACK || | ||||
| @@ -330,7 +330,7 @@ ULONG64 CMeasureNet::GetNetOctets(NET net) | ||||
| 		if (m_Interface == 0) | ||||
| 		{ | ||||
| 			// Get all interfaces | ||||
| 			for (UINT i = 0; i < c_NumOfTables; i++) | ||||
| 			for (UINT i = 0; i < c_NumOfTables; ++i) | ||||
| 			{ | ||||
| 				// Ignore the loopback | ||||
| 				if (table[i].dwType == IF_TYPE_SOFTWARE_LOOPBACK) continue; | ||||
| @@ -392,7 +392,7 @@ ULONG64 CMeasureNet::GetNetStatsValue(NET net) | ||||
| 	if (m_Interface == 0) | ||||
| 	{ | ||||
| 		// Get all interfaces | ||||
| 		for(size_t i = 0; i < c_StatValues.size() / 2; i++) | ||||
| 		for(size_t i = 0; i < c_StatValues.size() / 2; ++i) | ||||
| 		{ | ||||
| 			// Ignore the loopback and non-hardware interfaces | ||||
| 			if (c_NumOfTables == c_StatValues.size() / 2) | ||||
| @@ -527,7 +527,7 @@ void CMeasureNet::UpdateStats() | ||||
| 			c_OldStatValues.push_back(0); | ||||
| 		} | ||||
|  | ||||
| 		for (UINT i = 0; i < c_NumOfTables; i++) | ||||
| 		for (UINT i = 0; i < c_NumOfTables; ++i) | ||||
| 		{ | ||||
| 			ULONG64 in, out; | ||||
|  | ||||
| @@ -570,7 +570,7 @@ void CMeasureNet::ResetStats() | ||||
| { | ||||
| 	if (c_Table) | ||||
| 	{ | ||||
| 		for (size_t i = 0; i < c_StatValues.size(); i++) | ||||
| 		for (size_t i = 0; i < c_StatValues.size(); ++i) | ||||
| 		{ | ||||
| 			c_StatValues[i] = 0; | ||||
| 		} | ||||
| @@ -590,7 +590,7 @@ void CMeasureNet::ReadStats(const std::wstring& iniFile) | ||||
|  | ||||
| 	c_StatValues.clear(); | ||||
|  | ||||
| 	for (int i = 0; i < count; i++) | ||||
| 	for (int i = 0; i < count; ++i) | ||||
| 	{ | ||||
| 		ULARGE_INTEGER value; | ||||
|  | ||||
| @@ -626,7 +626,7 @@ void CMeasureNet::WriteStats(const std::wstring& iniFile) | ||||
| 	wsprintf(buffer, L"%i", c_StatValues.size() / 2); | ||||
| 	WritePrivateProfileString(L"Statistics", L"NetStatsCount", buffer, iniFile.c_str()); | ||||
|  | ||||
| 	for (size_t i = 0; i < c_StatValues.size() / 2; i++) | ||||
| 	for (size_t i = 0; i < c_StatValues.size() / 2; ++i) | ||||
| 	{ | ||||
| 		ULARGE_INTEGER value; | ||||
|  | ||||
|   | ||||
| @@ -28,14 +28,14 @@ int GetYearDay(int year, int month, int day) | ||||
| 	int yearDay = 0; | ||||
| 	UINT dates[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; | ||||
|  | ||||
| 	for (int i = 0; i < month - 1; i++)  | ||||
| 	for (int i = 0; i < month - 1; ++i)  | ||||
| 	{ | ||||
| 		yearDay += dates[i]; | ||||
| 	} | ||||
|  | ||||
| 	if (month > 2 && ((((year % 4) == 0) && ((year % 100) != 0)) || (year  % 400) == 0)) | ||||
| 	{ | ||||
| 		yearDay++; | ||||
| 		++yearDay; | ||||
| 	} | ||||
|  | ||||
| 	yearDay += day; | ||||
|   | ||||
| @@ -103,14 +103,14 @@ int CMeter::GetX(bool abs) | ||||
| 		if (m_RelativeMeter == NULL) | ||||
| 		{ | ||||
| 			std::list<CMeter*>& meters = m_MeterWindow->GetMeters(); | ||||
| 			std::list<CMeter*>::iterator iter = meters.begin(); | ||||
| 			std::list<CMeter*>::const_iterator iter = meters.begin(); | ||||
|  | ||||
| 			// Find this meter | ||||
| 			for ( ; iter != meters.end(); iter++) | ||||
| 			for ( ; iter != meters.end(); ++iter) | ||||
| 			{ | ||||
| 				if (*iter == this && iter != meters.begin()) | ||||
| 				{ | ||||
| 					iter--; | ||||
| 					--iter; | ||||
| 					m_RelativeMeter = (*iter); | ||||
| 					if (m_RelativeX == POSITION_RELATIVE_TL) | ||||
| 					{ | ||||
| @@ -151,14 +151,14 @@ int CMeter::GetY(bool abs) | ||||
| 		if (m_RelativeMeter == NULL) | ||||
| 		{ | ||||
| 			std::list<CMeter*>& meters = m_MeterWindow->GetMeters(); | ||||
| 			std::list<CMeter*>::iterator iter = meters.begin(); | ||||
| 			std::list<CMeter*>::const_iterator iter = meters.begin(); | ||||
|  | ||||
| 			// Find this meter | ||||
| 			for ( ; iter != meters.end(); iter++) | ||||
| 			for ( ; iter != meters.end(); ++iter) | ||||
| 			{ | ||||
| 				if (*iter == this && iter != meters.begin()) | ||||
| 				{ | ||||
| 					iter--; | ||||
| 					--iter; | ||||
| 					m_RelativeMeter = (*iter); | ||||
| 					if (m_RelativeY == POSITION_RELATIVE_TL) | ||||
| 					{ | ||||
| @@ -326,8 +326,8 @@ void CMeter::BindMeasure(std::list<CMeasure*>& measures) | ||||
| 	} | ||||
|  | ||||
| 	// Go through the list and check it there is a measure for us | ||||
| 	std::list<CMeasure*>::iterator i = measures.begin(); | ||||
| 	for( ; i != measures.end(); i++) | ||||
| 	std::list<CMeasure*>::const_iterator i = measures.begin(); | ||||
| 	for( ; i != measures.end(); ++i) | ||||
| 	{ | ||||
| 		if(_wcsicmp((*i)->GetName(), m_MeasureName.c_str()) == 0) | ||||
| 		{ | ||||
| @@ -401,7 +401,7 @@ CMeter* CMeter::Create(const WCHAR* meter, CMeterWindow* meterWindow) | ||||
| bool CMeter::Update() | ||||
| { | ||||
| 	// Only update the meter's value when the divider is equal to the counter | ||||
| 	m_UpdateCounter++; | ||||
| 	++m_UpdateCounter; | ||||
| 	if (m_UpdateCounter < m_UpdateDivider) return false; | ||||
| 	m_UpdateCounter = 0; | ||||
|  | ||||
|   | ||||
| @@ -122,7 +122,7 @@ bool CMeterBitmap::HitTest(int x, int y) | ||||
| 			int realFrames = (m_FrameCount / (m_TransitionFrameCount + 1)); | ||||
| 			do | ||||
| 			{ | ||||
| 				numOfNums ++; | ||||
| 				++numOfNums; | ||||
| 				if (realFrames == 1) | ||||
| 				{ | ||||
| 					tmpValue /= 2; | ||||
| @@ -306,7 +306,7 @@ bool CMeterBitmap::Draw(Graphics& graphics) | ||||
| 		{ | ||||
| 			do | ||||
| 			{ | ||||
| 				numOfNums ++; | ||||
| 				++numOfNums; | ||||
| 				if (m_FrameCount == 1) | ||||
| 				{ | ||||
| 					tmpValue /= 2; | ||||
| @@ -388,7 +388,7 @@ bool CMeterBitmap::Draw(Graphics& graphics) | ||||
| 				value /= realFrames; | ||||
| 				transitionValue /= realFrames; | ||||
| 			} | ||||
| 			numOfNums--; | ||||
| 			--numOfNums; | ||||
| 		} while (numOfNums > 0); | ||||
| 	} | ||||
| 	else | ||||
|   | ||||
| @@ -41,7 +41,7 @@ enum BUTTON_STATE | ||||
| */ | ||||
| CMeterButton::CMeterButton(CMeterWindow* meterWindow) : CMeter(meterWindow) | ||||
| { | ||||
| 	for (int i = 0; i < BUTTON_FRAMES; i++) | ||||
| 	for (int i = 0; i < BUTTON_FRAMES; ++i) | ||||
| 	{ | ||||
| 		m_Bitmaps[i] = NULL;; | ||||
| 	} | ||||
| @@ -58,7 +58,7 @@ CMeterButton::CMeterButton(CMeterWindow* meterWindow) : CMeter(meterWindow) | ||||
| */ | ||||
| CMeterButton::~CMeterButton() | ||||
| { | ||||
| 	for (int i = 0; i < BUTTON_FRAMES; i++) | ||||
| 	for (int i = 0; i < BUTTON_FRAMES; ++i) | ||||
| 	{ | ||||
| 		if (m_Bitmaps[i] != NULL) delete m_Bitmaps[i]; | ||||
| 	} | ||||
| @@ -114,7 +114,7 @@ void CMeterButton::Initialize() | ||||
| 		// Separate the frames | ||||
| 		Graphics desktopGraphics(GetDesktopWindow()); | ||||
|  | ||||
| 		for (int i = 0; i < BUTTON_FRAMES; i++) | ||||
| 		for (int i = 0; i < BUTTON_FRAMES; ++i) | ||||
| 		{ | ||||
| 			Bitmap bitmapPart(m_W, m_H, PixelFormat32bppARGB); | ||||
| 			Graphics graphics(&bitmapPart); | ||||
|   | ||||
| @@ -183,7 +183,7 @@ bool CMeterHistogram::Update() | ||||
| 			m_SecondaryValues[m_MeterPos] = m_SecondaryMeasure->GetValue(); | ||||
| 		} | ||||
|  | ||||
| 		m_MeterPos++; | ||||
| 		++m_MeterPos; | ||||
| 		m_MeterPos %= m_W; | ||||
|  | ||||
| 		m_MaxPrimaryValue = m_Measure->GetMaxValue(); | ||||
| @@ -200,9 +200,8 @@ bool CMeterHistogram::Update() | ||||
| 		{ | ||||
| 			// Go through all values and find the max | ||||
|  | ||||
| 			int i; | ||||
| 			double newValue = 0; | ||||
| 			for (i = 0; i != m_W; i++) | ||||
| 			for (int i = 0; i != m_W; ++i) | ||||
| 			{ | ||||
| 				newValue = max(newValue, m_PrimaryValues[i]); | ||||
| 			} | ||||
| @@ -216,7 +215,7 @@ bool CMeterHistogram::Update() | ||||
|  | ||||
| 			if (m_SecondaryMeasure) | ||||
| 			{ | ||||
| 				for (i = 0; i != m_W; i++) | ||||
| 				for (int i = 0; i != m_W; ++i) | ||||
| 				{ | ||||
| 					newValue = max(newValue, m_SecondaryValues[i]); | ||||
| 				} | ||||
| @@ -251,7 +250,7 @@ bool CMeterHistogram::Draw(Graphics& graphics) | ||||
| 	int x = GetX(); | ||||
| 	int y = GetY(); | ||||
|  | ||||
| 	for (int i = 0; i < m_W; i++) | ||||
| 	for (int i = 0; i < m_W; ++i) | ||||
| 	{ | ||||
| 		double value; | ||||
| 		 | ||||
| @@ -421,8 +420,8 @@ void CMeterHistogram::BindMeasure(std::list<CMeasure*>& measures) | ||||
| 	if(!m_SecondaryMeasureName.empty()) | ||||
| 	{ | ||||
| 		// Go through the list and check it there is a secondary measure for us | ||||
| 		std::list<CMeasure*>::iterator i = measures.begin(); | ||||
| 		for( ; i != measures.end(); i++) | ||||
| 		std::list<CMeasure*>::const_iterator i = measures.begin(); | ||||
| 		for( ; i != measures.end(); ++i) | ||||
| 		{ | ||||
| 			if(_wcsicmp((*i)->GetName(), m_SecondaryMeasureName.c_str()) == 0) | ||||
| 			{ | ||||
|   | ||||
| @@ -67,7 +67,7 @@ void CMeterLine::Initialize() | ||||
| 		{ | ||||
| 			size_t num = (!m_AllValues.empty()) ? m_AllValues[0].size() : 0; | ||||
|  | ||||
| 			for (size_t i = m_AllValues.size(), end = m_Colors.size(); i < end; i++) | ||||
| 			for (size_t i = m_AllValues.size(), end = m_Colors.size(); i < end; ++i) | ||||
| 			{ | ||||
| 				m_AllValues.push_back(std::vector<double>()); | ||||
|  | ||||
| @@ -109,7 +109,7 @@ void CMeterLine::ReadConfig(const WCHAR* section) | ||||
| 	m_ScaleValues.clear(); | ||||
| 	m_MeasureNames.clear(); | ||||
|  | ||||
| 	for (i = 0; i < lineCount; i++) | ||||
| 	for (i = 0; i < lineCount; ++i) | ||||
| 	{ | ||||
| 		if (i == 0) | ||||
| 		{ | ||||
| @@ -180,8 +180,8 @@ bool CMeterLine::Update() | ||||
| 		} | ||||
|  | ||||
| 		int counter = 1; | ||||
| 		std::vector<CMeasure*>::iterator i = m_Measures.begin(); | ||||
| 		for ( ; i != m_Measures.end(); i++) | ||||
| 		std::vector<CMeasure*>::const_iterator i = m_Measures.begin(); | ||||
| 		for ( ; i != m_Measures.end(); ++i) | ||||
| 		{ | ||||
| 			double value = (*i)->GetValue(); | ||||
|  | ||||
| @@ -193,10 +193,10 @@ bool CMeterLine::Update() | ||||
| 			{ | ||||
| 				m_AllValues[counter][m_CurrentPos] = value; | ||||
| 			} | ||||
| 			counter++; | ||||
| 			++counter; | ||||
| 		} | ||||
|  | ||||
| 		m_CurrentPos++; | ||||
| 		++m_CurrentPos; | ||||
| 		if (m_CurrentPos >= m_W) | ||||
| 		{ | ||||
| 			m_CurrentPos = 0; | ||||
| @@ -223,16 +223,16 @@ bool CMeterLine::Draw(Graphics& graphics) | ||||
| 	if (m_Autoscale) | ||||
| 	{ | ||||
| 		double newValue = 0; | ||||
| 		std::vector< std::vector<double> >::iterator i = m_AllValues.begin(); | ||||
| 		std::vector< std::vector<double> >::const_iterator i = m_AllValues.begin(); | ||||
| 		counter = 0; | ||||
| 		for (; i != m_AllValues.end(); i++) | ||||
| 		for (; i != m_AllValues.end(); ++i) | ||||
| 		{ | ||||
| 			std::vector<double>::iterator j = (*i).begin(); | ||||
| 			for (; j != (*i).end(); j++) | ||||
| 			std::vector<double>::const_iterator j = (*i).begin(); | ||||
| 			for (; j != (*i).end(); ++j) | ||||
| 			{ | ||||
| 				newValue = max(newValue, (*j) * m_ScaleValues[counter]); | ||||
| 			} | ||||
| 			counter++; | ||||
| 			++counter; | ||||
| 		} | ||||
|  | ||||
| 		// Scale the value up to nearest power of 2 | ||||
| @@ -248,8 +248,8 @@ bool CMeterLine::Draw(Graphics& graphics) | ||||
| 		{ | ||||
| 			maxValue = m_Measure->GetMaxValue(); | ||||
|  | ||||
| 			std::vector<CMeasure*>::iterator i = m_Measures.begin(); | ||||
| 			for (; i != m_Measures.end(); i++) | ||||
| 			std::vector<CMeasure*>::const_iterator i = m_Measures.begin(); | ||||
| 			for (; i != m_Measures.end(); ++i) | ||||
| 			{ | ||||
| 				maxValue = max(maxValue, (*i)->GetMaxValue()); | ||||
| 			} | ||||
| @@ -283,7 +283,7 @@ bool CMeterLine::Draw(Graphics& graphics) | ||||
| 		Pen pen(m_HorizontalColor); | ||||
|  | ||||
| 		REAL Y; | ||||
| 		for (int j = 0; j < numOfLines; j++) | ||||
| 		for (int j = 0; j < numOfLines; ++j) | ||||
| 		{ | ||||
| 			Y = (REAL)((j + 1) * m_H / (numOfLines + 1)); | ||||
| 			Y = y + m_H - Y - 1; | ||||
| @@ -293,8 +293,8 @@ bool CMeterLine::Draw(Graphics& graphics) | ||||
|  | ||||
| 	// Draw all the lines | ||||
| 	counter = 0; | ||||
| 	std::vector< std::vector<double> >::iterator i = m_AllValues.begin(); | ||||
| 	for (; i != m_AllValues.end(); i++) | ||||
| 	std::vector< std::vector<double> >::const_iterator i = m_AllValues.begin(); | ||||
| 	for (; i != m_AllValues.end(); ++i) | ||||
| 	{ | ||||
| 		// Draw a line | ||||
| 		int X = x; | ||||
| @@ -303,11 +303,13 @@ bool CMeterLine::Draw(Graphics& graphics) | ||||
| 		int pos = m_CurrentPos; | ||||
| 		if (pos >= m_W) pos = 0; | ||||
|  | ||||
| 		int size = (int)(*i).size(); | ||||
| 		 | ||||
| 		Pen pen(m_Colors[counter], (REAL)m_LineWidth); | ||||
|  | ||||
| 		for (int j = 0; j < m_W; j++) | ||||
| 		for (int j = 0; j < m_W; ++j) | ||||
| 		{ | ||||
| 			if (pos < (int)(*i).size()) | ||||
| 			if (pos < size) | ||||
| 			{ | ||||
| 				Y = (REAL)((*i)[pos] * m_ScaleValues[counter] * (m_H - 1) / maxValue); | ||||
| 				Y = min(Y, m_H - 1); | ||||
| @@ -333,12 +335,12 @@ bool CMeterLine::Draw(Graphics& graphics) | ||||
| 			} | ||||
| 			oldY = Y; | ||||
|  | ||||
| 			X++; | ||||
| 			pos++; | ||||
| 			++X; | ||||
| 			++pos; | ||||
| 			if (pos >= m_W) pos = 0; | ||||
| 		} | ||||
|  | ||||
| 		counter++; | ||||
| 		++counter; | ||||
| 	} | ||||
|  | ||||
| 	return true; | ||||
| @@ -354,12 +356,12 @@ void CMeterLine::BindMeasure(std::list<CMeasure*>& measures) | ||||
| { | ||||
| 	CMeter::BindMeasure(measures); | ||||
|  | ||||
| 	std::vector<std::wstring>::iterator j = m_MeasureNames.begin(); | ||||
| 	for (; j != m_MeasureNames.end(); j++) | ||||
| 	std::vector<std::wstring>::const_iterator j = m_MeasureNames.begin(); | ||||
| 	for (; j != m_MeasureNames.end(); ++j) | ||||
| 	{ | ||||
| 		// Go through the list and check it there is a secondary measure for us | ||||
| 		std::list<CMeasure*>::iterator i = measures.begin(); | ||||
| 		for( ; i != measures.end(); i++) | ||||
| 		std::list<CMeasure*>::const_iterator i = measures.begin(); | ||||
| 		for( ; i != measures.end(); ++i) | ||||
| 		{ | ||||
| 			if(_wcsicmp((*i)->GetName(), (*j).c_str()) == 0) | ||||
| 			{ | ||||
|   | ||||
| @@ -111,7 +111,7 @@ void CMeterString::Initialize() | ||||
| 	CMeter::Initialize(); | ||||
|  | ||||
| 	// Check if the font family is in the cache and use it | ||||
| 	std::map<std::wstring, Gdiplus::FontFamily*>::iterator iter = c_FontFamilies.find(m_FontFace); | ||||
| 	std::map<std::wstring, Gdiplus::FontFamily*>::const_iterator iter = c_FontFamilies.find(m_FontFace); | ||||
| 	if (iter != c_FontFamilies.end()) | ||||
| 	{ | ||||
| 		m_FontFamily = (*iter).second; | ||||
| @@ -173,7 +173,7 @@ void CMeterString::Initialize() | ||||
| 	REAL size = (REAL)m_FontSize * (96.0f / (REAL)dpi); | ||||
|  | ||||
| 	std::wstring properties = FontPropertiesToString(m_FontFamily, size, style); | ||||
| 	std::map<std::wstring, Gdiplus::Font*>::iterator iter2 = c_Fonts.find(properties); | ||||
| 	std::map<std::wstring, Gdiplus::Font*>::const_iterator iter2 = c_Fonts.find(properties); | ||||
| 	if (iter2 != c_Fonts.end()) | ||||
| 	{ | ||||
| 		m_Font = (*iter2).second; | ||||
| @@ -244,7 +244,7 @@ void CMeterString::ReadConfig(const WCHAR* section) | ||||
| 		{ | ||||
| 			loop = false; | ||||
| 		} | ||||
| 		i++; | ||||
| 		++i; | ||||
| 	} while(loop); | ||||
|  | ||||
| 	m_Color = parser.ReadColor(section, L"FontColor", Color::Black); | ||||
| @@ -402,7 +402,7 @@ bool CMeterString::Update() | ||||
| 		if (m_Measure) stringValues.push_back(m_Measure->GetStringValue(m_AutoScale, m_Scale, decimals, m_Percentual)); | ||||
|  | ||||
| 		// Get the values for the other measures | ||||
| 		for (size_t i = 0; i < m_Measures.size(); i++) | ||||
| 		for (size_t i = 0; i < m_Measures.size(); ++i) | ||||
| 		{ | ||||
| 			stringValues.push_back(m_Measures[i]->GetStringValue(m_AutoScale, m_Scale, decimals, m_Percentual)); | ||||
| 		} | ||||
| @@ -422,7 +422,7 @@ bool CMeterString::Update() | ||||
| 			// Create the actual text (i.e. replace %1, %2, .. with the measure texts) | ||||
| 			std::wstring tmpText = m_Text; | ||||
|  | ||||
| 			for (size_t i = 0; i < stringValues.size(); i++) | ||||
| 			for (size_t i = 0; i < stringValues.size(); ++i) | ||||
| 			{ | ||||
| 				wsprintf(buffer, L"%%%i", i + 1); | ||||
|  | ||||
| @@ -598,12 +598,12 @@ void CMeterString::BindMeasure(std::list<CMeasure*>& measures) | ||||
|  | ||||
| 	CMeter::BindMeasure(measures); | ||||
|  | ||||
| 	std::vector<std::wstring>::iterator j = m_MeasureNames.begin(); | ||||
| 	for (; j != m_MeasureNames.end(); j++) | ||||
| 	std::vector<std::wstring>::const_iterator j = m_MeasureNames.begin(); | ||||
| 	for (; j != m_MeasureNames.end(); ++j) | ||||
| 	{ | ||||
| 		// Go through the list and check it there is a secondary measures for us | ||||
| 		std::list<CMeasure*>::iterator i = measures.begin(); | ||||
| 		for( ; i != measures.end(); i++) | ||||
| 		std::list<CMeasure*>::const_iterator i = measures.begin(); | ||||
| 		for( ; i != measures.end(); ++i) | ||||
| 		{ | ||||
| 			if(_wcsicmp((*i)->GetName(), (*j).c_str()) == 0) | ||||
| 			{ | ||||
| @@ -628,14 +628,14 @@ void CMeterString::BindMeasure(std::list<CMeasure*>& measures) | ||||
| void CMeterString::FreeFontCache() | ||||
| { | ||||
| 	std::map<std::wstring, Gdiplus::FontFamily*>::iterator iter = c_FontFamilies.begin(); | ||||
| 	for ( ; iter != c_FontFamilies.end(); iter++) | ||||
| 	for ( ; iter != c_FontFamilies.end(); ++iter) | ||||
| 	{ | ||||
| 		delete (*iter).second; | ||||
| 	} | ||||
| 	c_FontFamilies.clear(); | ||||
|  | ||||
| 	std::map<std::wstring, Gdiplus::Font*>::iterator iter2 = c_Fonts.begin(); | ||||
| 	for ( ; iter2 != c_Fonts.end(); iter2++) | ||||
| 	for ( ; iter2 != c_Fonts.end(); ++iter2) | ||||
| 	{ | ||||
| 		delete (*iter2).second; | ||||
| 	} | ||||
| @@ -673,7 +673,7 @@ std::wstring CMeterString::FontPropertiesToString(FontFamily* fontFamily, REAL s | ||||
| std::wstring StringToUpper(std::wstring str) | ||||
| { | ||||
| 	//change each element of the string to upper case | ||||
| 	for(unsigned int i = 0; i < str.length(); i++) | ||||
| 	for(unsigned int i = 0; i < str.length(); ++i) | ||||
| 	{ | ||||
| 		str[i] = toupper( str[i] ); | ||||
| 	} | ||||
| @@ -684,7 +684,7 @@ std::wstring StringToUpper(std::wstring str) | ||||
| std::wstring StringToLower(std::wstring str) | ||||
| { | ||||
| 	//change each element of the string to lower case | ||||
| 	for(unsigned int i = 0; i < str.length(); i++) | ||||
| 	for(unsigned int i = 0; i < str.length(); ++i) | ||||
| 	{ | ||||
| 		str[i] = tolower(str[i]); | ||||
| 	} | ||||
| @@ -695,7 +695,7 @@ std::wstring StringToLower(std::wstring str) | ||||
| std::wstring StringToProper(std::wstring str) | ||||
| { | ||||
| 	//change each element of the string to lower case | ||||
| 	for(unsigned int i = 0; i < str.length(); i++) | ||||
| 	for(unsigned int i = 0; i < str.length(); ++i) | ||||
| 	{ | ||||
| 		if(i == 0) | ||||
| 		{ | ||||
| @@ -740,7 +740,7 @@ void CMeterString::EnumerateInstalledFontFamilies() | ||||
| 			if (Ok == fontCollection.GetFamilies(fontCount, fontFamilies, &fontFound)) | ||||
| 			{ | ||||
| 				std::wstring fonts; | ||||
| 				for (INT i = 0; i < fontCount; i++) | ||||
| 				for (INT i = 0; i < fontCount; ++i) | ||||
| 				{ | ||||
| 					WCHAR familyName[LF_FACESIZE]; | ||||
| 					if (Ok == fontFamilies[i].GetFamilyName(familyName)) | ||||
|   | ||||
| @@ -136,7 +136,7 @@ CMeterWindow::CMeterWindow(std::wstring& path, std::wstring& config, std::wstrin | ||||
| 	m_UpdateCounter = 0; | ||||
| 	m_FontCollection = NULL; | ||||
|  | ||||
| 	c_InstanceCount++; | ||||
| 	++c_InstanceCount; | ||||
| } | ||||
|  | ||||
| /*  | ||||
| @@ -151,14 +151,14 @@ CMeterWindow::~CMeterWindow() | ||||
|  | ||||
| 	// Destroy the meters | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		delete (*j); | ||||
| 	} | ||||
|  | ||||
| 	// Destroy the measures | ||||
| 	std::list<CMeasure*>::iterator i = m_Measures.begin(); | ||||
| 	for( ; i != m_Measures.end(); i++) | ||||
| 	for( ; i != m_Measures.end(); ++i) | ||||
| 	{ | ||||
| 		delete (*i); | ||||
| 	} | ||||
| @@ -172,7 +172,7 @@ CMeterWindow::~CMeterWindow() | ||||
|  | ||||
| 	FreeLibrary(m_User32Library); | ||||
|  | ||||
| 	c_InstanceCount--; | ||||
| 	--c_InstanceCount; | ||||
|  | ||||
| 	if (c_InstanceCount == 0) | ||||
| 	{ | ||||
| @@ -182,7 +182,7 @@ CMeterWindow::~CMeterWindow() | ||||
| 			// Wait for the window to die | ||||
| 			Result = UnregisterClass(L"RainmeterMeterWindow", m_Rainmeter->GetInstance()); | ||||
| 			Sleep(100); | ||||
| 			counter += 1; | ||||
| 			++counter; | ||||
| 		} while(!Result && counter < 10); | ||||
| 	} | ||||
| } | ||||
| @@ -318,14 +318,14 @@ void CMeterWindow::Refresh(bool init, bool all) | ||||
| 		KillTimer(m_Window, FADETIMER);	// Kill the timer | ||||
|  | ||||
| 		std::list<CMeasure*>::iterator i = m_Measures.begin(); | ||||
| 		for( ; i != m_Measures.end(); i++) | ||||
| 		for( ; i != m_Measures.end(); ++i) | ||||
| 		{ | ||||
| 			delete (*i); | ||||
| 		} | ||||
| 		m_Measures.clear(); | ||||
|  | ||||
| 		std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 		for( ; j != m_Meters.end(); j++) | ||||
| 		for( ; j != m_Meters.end(); ++j) | ||||
| 		{ | ||||
| 			delete (*j); | ||||
| 		} | ||||
| @@ -408,7 +408,7 @@ void CMeterWindow::MapCoordsToScreen(int& x, int& y, int w, int h) | ||||
| 	MONITORINFO mi; | ||||
|  | ||||
| 	POINT pt = {x, y}; | ||||
| 	for (int i = 0; i < 5; i++)  | ||||
| 	for (int i = 0; i < 5; ++i)  | ||||
| 	{ | ||||
| 		switch(i)  | ||||
| 		{ | ||||
| @@ -767,8 +767,8 @@ void CMeterWindow::RunBang(BANGCOMMAND bang, const WCHAR* arg) | ||||
|  | ||||
| 			if (!measure.empty()) | ||||
| 			{ | ||||
| 				std::list<CMeasure*>::iterator iter = m_Measures.begin(); | ||||
| 				for( ; iter != m_Measures.end(); iter++) | ||||
| 				std::list<CMeasure*>::const_iterator iter = m_Measures.begin(); | ||||
| 				for( ; iter != m_Measures.end(); ++iter) | ||||
| 				{ | ||||
| 					if (wcsicmp((*iter)->GetName(), measure.c_str()) == 0) | ||||
| 					{ | ||||
| @@ -833,8 +833,8 @@ void CMeterWindow::ShowMeter(const WCHAR* name) | ||||
| { | ||||
| 	if (name == NULL || wcslen(name) == 0) return; | ||||
|  | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		if (wcsicmp((*j)->GetName(), name) == 0) | ||||
| 		{ | ||||
| @@ -857,8 +857,8 @@ void CMeterWindow::HideMeter(const WCHAR* name) | ||||
| { | ||||
| 	if (name == NULL || wcslen(name) == 0) return; | ||||
|  | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		if (wcsicmp((*j)->GetName(), name) == 0) | ||||
| 		{ | ||||
| @@ -881,8 +881,8 @@ void CMeterWindow::ToggleMeter(const WCHAR* name) | ||||
| { | ||||
| 	if (name == NULL || wcslen(name) == 0) return; | ||||
|  | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		if (wcsicmp((*j)->GetName(), name) == 0) | ||||
| 		{ | ||||
| @@ -912,8 +912,8 @@ void CMeterWindow::MoveMeter(int x, int y, const WCHAR* name) | ||||
| { | ||||
| 	if (name == NULL || wcslen(name) == 0) return; | ||||
|  | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		if (wcsicmp((*j)->GetName(), name) == 0) | ||||
| 		{ | ||||
| @@ -936,8 +936,8 @@ void CMeterWindow::EnableMeasure(const WCHAR* name) | ||||
| { | ||||
| 	if (name == NULL || wcslen(name) == 0) return; | ||||
|  | ||||
| 	std::list<CMeasure*>::iterator i = m_Measures.begin(); | ||||
| 	for( ; i != m_Measures.end(); i++) | ||||
| 	std::list<CMeasure*>::const_iterator i = m_Measures.begin(); | ||||
| 	for( ; i != m_Measures.end(); ++i) | ||||
| 	{ | ||||
| 		if (wcsicmp((*i)->GetName(), name) == 0) | ||||
| 		{ | ||||
| @@ -960,8 +960,8 @@ void CMeterWindow::DisableMeasure(const WCHAR* name) | ||||
| { | ||||
| 	if (name == NULL || wcslen(name) == 0) return; | ||||
|  | ||||
| 	std::list<CMeasure*>::iterator i = m_Measures.begin(); | ||||
| 	for( ; i != m_Measures.end(); i++) | ||||
| 	std::list<CMeasure*>::const_iterator i = m_Measures.begin(); | ||||
| 	for( ; i != m_Measures.end(); ++i) | ||||
| 	{ | ||||
| 		if (wcsicmp((*i)->GetName(), name) == 0) | ||||
| 		{ | ||||
| @@ -984,8 +984,8 @@ void CMeterWindow::ToggleMeasure(const WCHAR* name) | ||||
| { | ||||
| 	if (name == NULL || wcslen(name) == 0) return; | ||||
|  | ||||
| 	std::list<CMeasure*>::iterator i = m_Measures.begin(); | ||||
| 	for( ; i != m_Measures.end(); i++) | ||||
| 	std::list<CMeasure*>::const_iterator i = m_Measures.begin(); | ||||
| 	for( ; i != m_Measures.end(); ++i) | ||||
| 	{ | ||||
| 		if (wcsicmp((*i)->GetName(), name) == 0) | ||||
| 		{ | ||||
| @@ -1251,7 +1251,7 @@ void CMeterWindow::ScreenToWindow() | ||||
|  | ||||
| 		if (hMonitor != NULL) | ||||
| 		{ | ||||
| 			for (size_t i = 0; i < monitors.size(); i++) | ||||
| 			for (size_t i = 0; i < monitors.size(); ++i) | ||||
| 			{ | ||||
| 				if (monitors[i].active && monitors[i].handle == hMonitor) | ||||
| 				{ | ||||
| @@ -1371,7 +1371,7 @@ void CMeterWindow::ReadConfig() | ||||
| 	CConfigParser parser; | ||||
| 	parser.Initialize(iniFile.c_str(), m_Rainmeter); | ||||
|  | ||||
| 	for (int i = 0; i < 2; i++) | ||||
| 	for (int i = 0; i < 2; ++i) | ||||
| 	{ | ||||
| 		m_WindowX = parser.ReadString(section, _T("WindowX"), m_WindowX.c_str()); | ||||
| 		m_WindowY = parser.ReadString(section, _T("WindowY"), m_WindowY.c_str()); | ||||
| @@ -1599,9 +1599,9 @@ void CMeterWindow::ReadSkin() | ||||
| 	m_MouseActionCursor = 0 != m_Parser.ReadInt(L"Rainmeter", L"MouseActionCursor", 1); | ||||
|  | ||||
| 	// Checking for localfonts | ||||
| 	std::wstring localFont1 = m_Parser.ReadString(L"Rainmeter", L"LocalFont", L""); | ||||
| 	std::wstring localFont = m_Parser.ReadString(L"Rainmeter", L"LocalFont", L""); | ||||
| 	// If there is a local font we want to load it | ||||
| 	if(!localFont1.empty()) | ||||
| 	if(!localFont.empty()) | ||||
| 	{ | ||||
| 		// We want to check the fonts folder first | ||||
| 		// !!!!!!! - We may want to fix the method in which I get the path to | ||||
| @@ -1609,8 +1609,8 @@ void CMeterWindow::ReadSkin() | ||||
| 		std::wstring szFontFile = m_Rainmeter->GetPath().c_str(); | ||||
| 		 | ||||
| 		m_FontCollection = new Gdiplus::PrivateFontCollection(); | ||||
| 		int nResults = 0; | ||||
| 		nResults = m_FontCollection->AddFontFile(szFontFile.c_str()); | ||||
|  | ||||
| 		Status nResults = m_FontCollection->AddFontFile(szFontFile.c_str()); | ||||
| 		 | ||||
| 		// It wasn't found in the fonts folder, check the local folder | ||||
| 		if(nResults != Ok) | ||||
| @@ -1618,19 +1618,19 @@ void CMeterWindow::ReadSkin() | ||||
| 			szFontFile = m_SkinPath; // Get the local path	 | ||||
| 			szFontFile += m_SkinName; | ||||
| 			szFontFile += L"\\"; | ||||
| 			szFontFile += localFont1; | ||||
| 			szFontFile += localFont; | ||||
|  | ||||
| 			nResults = m_FontCollection->AddFontFile(szFontFile.c_str()); | ||||
| 			 | ||||
| 			// The font wasn't found, check full path. | ||||
| 			if(nResults != Ok) | ||||
| 			{ | ||||
| 				szFontFile = localFont1.c_str(); | ||||
| 				szFontFile = localFont.c_str(); | ||||
| 				nResults = m_FontCollection->AddFontFile(szFontFile.c_str()); | ||||
| 				if(nResults != Ok) | ||||
| 				{ | ||||
| 					std::wstring error = L"Error: Couldn't load font file: "; | ||||
| 					error += localFont1; | ||||
| 					error += localFont; | ||||
| 					DebugLog(error.c_str()); | ||||
| 				} | ||||
| 			} | ||||
| @@ -1644,18 +1644,17 @@ void CMeterWindow::ReadSkin() | ||||
| 		do  | ||||
| 		{ | ||||
| 			swprintf(tmpName, L"LocalFont%i", i); | ||||
| 			std::wstring LocalFont = m_Parser.ReadString(L"Rainmeter", tmpName, L""); | ||||
| 			localFont = m_Parser.ReadString(L"Rainmeter", tmpName, L""); | ||||
| 			// There is a key called LocalFont%i | ||||
| 			if (!LocalFont.empty()) | ||||
| 			if (!localFont.empty()) | ||||
| 			{ | ||||
| 				// We want to check the fonts folder first | ||||
| 				// !!!!!!! - We may want to fix the method in which I get the path to | ||||
| 				// Rainmeter/fonts | ||||
| 				std::wstring szFontFile = m_Rainmeter->GetPath().c_str(); | ||||
| 				szFontFile  += L"Fonts\\"; | ||||
| 				szFontFile  += LocalFont; | ||||
| 				szFontFile  += localFont; | ||||
| 				 | ||||
| 				int nResults = 0; | ||||
| 				nResults = m_FontCollection->AddFontFile(szFontFile.c_str()); | ||||
| 				 | ||||
| 				// It wasn't found in the fonts folder, check the local folder | ||||
| @@ -1663,19 +1662,19 @@ void CMeterWindow::ReadSkin() | ||||
| 				{ | ||||
| 					szFontFile = m_SkinPath; // Get the local path | ||||
| 					szFontFile += m_SkinName; | ||||
| 					szFontFile += LocalFont; | ||||
| 					szFontFile += localFont; | ||||
| 					nResults = m_FontCollection->AddFontFile(szFontFile.c_str()); | ||||
| 					 | ||||
| 					// The font wasn't found, check full path. | ||||
| 					if(nResults != Ok) | ||||
| 					{ | ||||
| 						szFontFile = LocalFont.c_str(); | ||||
| 						szFontFile = localFont.c_str(); | ||||
| 						nResults = m_FontCollection->AddFontFile(szFontFile.c_str()); | ||||
| 						// The font file wasn't found anywhere, log the error | ||||
| 						if(nResults != Ok) | ||||
| 						{ | ||||
| 							std::wstring error = L"Error: Couldn't load font file: "; | ||||
| 							error += LocalFont; | ||||
| 							error += localFont; | ||||
| 							DebugLog(error.c_str()); | ||||
| 						} | ||||
| 					}  | ||||
| @@ -1686,7 +1685,7 @@ void CMeterWindow::ReadSkin() | ||||
| 			{ | ||||
| 				loop = false; | ||||
| 			} | ||||
| 			i++; | ||||
| 			++i; | ||||
| 		} while(loop); | ||||
| 	} | ||||
|  | ||||
| @@ -1697,7 +1696,7 @@ void CMeterWindow::ReadSkin() | ||||
| 	// Get all the sections (i.e. different meters, measures and the other stuff) | ||||
| 	std::vector<std::wstring> arraySections = m_Parser.GetSections(); | ||||
|  | ||||
| 	for (size_t i = 0; i < arraySections.size(); i++) | ||||
| 	for (size_t i = 0; i < arraySections.size(); ++i) | ||||
| 	{ | ||||
| 		std::wstring strSection = arraySections[i]; | ||||
|  | ||||
| @@ -1770,8 +1769,8 @@ void CMeterWindow::ReadSkin() | ||||
| 	else | ||||
| 	{ | ||||
| 		// Bind the meters to the measures | ||||
| 		std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 		for( ; j != m_Meters.end(); j++) | ||||
| 		std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 		for( ; j != m_Meters.end(); ++j) | ||||
| 		{ | ||||
| 			try | ||||
| 			{ | ||||
| @@ -1794,8 +1793,8 @@ void CMeterWindow::ReadSkin() | ||||
| void CMeterWindow::InitializeMeters() | ||||
| { | ||||
| 	// Initalize all meters | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		try | ||||
| 		{ | ||||
| @@ -1822,8 +1821,8 @@ bool CMeterWindow::ResizeWindow(bool reset) | ||||
| 	int h = m_BackgroundMargins.GetTop(); | ||||
|  | ||||
| 	// Get the largest meter point | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		w = max(w, (*j)->GetX() + (*j)->GetW()); | ||||
| 		h = max(h, (*j)->GetY() + (*j)->GetH()); | ||||
| @@ -2093,8 +2092,8 @@ void CMeterWindow::Redraw() | ||||
| 	} | ||||
|  | ||||
| 	// Draw the meters | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		try | ||||
| 		{ | ||||
| @@ -2138,16 +2137,16 @@ void CMeterWindow::Redraw() | ||||
| */ | ||||
| void CMeterWindow::Update(bool nodraw) | ||||
| { | ||||
| 	m_UpdateCounter++; | ||||
| 	++m_UpdateCounter; | ||||
|  | ||||
| 	// Pre-updates | ||||
| 	if (m_HasNetMeasures) CMeasureNet::UpdateIFTable(); | ||||
| 	CMeasureCalc::UpdateVariableMap(*this); | ||||
|  | ||||
| 	// Update all measures | ||||
| 	std::list<CMeasure*>::iterator i = m_Measures.begin(); | ||||
| 	std::list<CMeasure*>::const_iterator i = m_Measures.begin(); | ||||
|  | ||||
| 	for( ; i != m_Measures.end(); i++) | ||||
| 	for( ; i != m_Measures.end(); ++i) | ||||
| 	{ | ||||
| 		try | ||||
| 		{ | ||||
| @@ -2164,8 +2163,8 @@ void CMeterWindow::Update(bool nodraw) | ||||
| 	} | ||||
|  | ||||
| 	// Update the meters | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		try | ||||
| 		{ | ||||
| @@ -2195,7 +2194,7 @@ void CMeterWindow::Update(bool nodraw) | ||||
| 	// Check for transitions and start the timer if necessary | ||||
| 	bool bActiveTransition = false; | ||||
| 	j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		if ((*j)->HasActiveTransition()) | ||||
| 		{ | ||||
| @@ -2330,8 +2329,8 @@ LRESULT CMeterWindow::OnTimer(WPARAM wParam, LPARAM lParam) | ||||
| 	{ | ||||
| 		// Redraw only if there is active transition still going | ||||
| 		bool bActiveTransition = false; | ||||
| 		std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 		for( ; j != m_Meters.end(); j++) | ||||
| 		std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 		for( ; j != m_Meters.end(); ++j) | ||||
| 		{ | ||||
| 			if ((*j)->HasActiveTransition()) | ||||
| 			{ | ||||
| @@ -2366,8 +2365,8 @@ LRESULT CMeterWindow::OnTimer(WPARAM wParam, LPARAM lParam) | ||||
|  | ||||
| 		// Handle buttons | ||||
| 		bool redraw = false; | ||||
| 		std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 		for( ; j != m_Meters.end(); j++) | ||||
| 		std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 		for( ; j != m_Meters.end(); ++j) | ||||
| 		{ | ||||
| 			// Hidden meters are ignored | ||||
| 			if ((*j)->IsHidden()) continue; | ||||
| @@ -2631,8 +2630,8 @@ LRESULT CMeterWindow::OnMouseMove(WPARAM wParam, LPARAM lParam) | ||||
| 	// Handle buttons | ||||
| 	bool redraw = false; | ||||
| 	bool drawCursor = false; | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		// Hidden meters are ignored | ||||
| 		if ((*j)->IsHidden()) continue; | ||||
| @@ -2835,7 +2834,7 @@ LRESULT CMeterWindow::OnCommand(WPARAM wParam, LPARAM lParam) | ||||
| 		{ | ||||
| 			const std::vector<CRainmeter::CONFIG>& configs = m_Rainmeter->GetAllConfigs(); | ||||
|  | ||||
| 			for (size_t i = 0; i < configs.size(); i++) | ||||
| 			for (size_t i = 0; i < configs.size(); ++i) | ||||
| 			{ | ||||
| 				if (configs[i].config == m_SkinName) | ||||
| 				{ | ||||
| @@ -3112,8 +3111,8 @@ LRESULT CMeterWindow::OnWindowPosChanging(WPARAM wParam, LPARAM lParam) | ||||
|  | ||||
| 				// Snap to other windows | ||||
| 				std::map<std::wstring, CMeterWindow*>& windows = Rainmeter->GetAllMeterWindows(); | ||||
| 				std::map<std::wstring, CMeterWindow*>::iterator iter = windows.begin(); | ||||
| 				for( ; iter != windows.end(); iter++) | ||||
| 				std::map<std::wstring, CMeterWindow*>::const_iterator iter = windows.begin(); | ||||
| 				for( ; iter != windows.end(); ++iter) | ||||
| 				{ | ||||
| 					if ((*iter).second != this) | ||||
| 					{ | ||||
| @@ -3224,8 +3223,8 @@ LRESULT CMeterWindow::OnLeftButtonDown(WPARAM wParam, LPARAM lParam) | ||||
|  | ||||
| 	// Handle buttons | ||||
| 	bool redraw = false; | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		// Hidden meters are ignored | ||||
| 		if ((*j)->IsHidden()) continue; | ||||
| @@ -3273,8 +3272,8 @@ LRESULT CMeterWindow::OnLeftButtonUp(WPARAM wParam, LPARAM lParam) | ||||
|  | ||||
| 	// Handle buttons | ||||
| 	bool redraw = false; | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		// Hidden meters are ignored | ||||
| 		if ((*j)->IsHidden()) continue; | ||||
| @@ -3319,7 +3318,7 @@ LRESULT CMeterWindow::OnLeftButtonDoubleClick(WPARAM wParam, LPARAM lParam) | ||||
| 	// Handle buttons | ||||
| 	bool redraw = false; | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		// Hidden meters are ignored | ||||
| 		if ((*j)->IsHidden()) continue; | ||||
| @@ -3539,8 +3538,8 @@ LRESULT CMeterWindow::OnContextMenu(WPARAM wParam, LPARAM lParam) | ||||
| bool CMeterWindow::DoAction(int x, int y, MOUSE mouse, bool test)  | ||||
| { | ||||
| 	// Check if the hitpoint was over some meter | ||||
| 	std::list<CMeter*>::iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); j++) | ||||
| 	std::list<CMeter*>::const_iterator j = m_Meters.begin(); | ||||
| 	for( ; j != m_Meters.end(); ++j) | ||||
| 	{ | ||||
| 		// Hidden meters are ignored | ||||
| 		if ((*j)->IsHidden()) continue; | ||||
| @@ -3978,9 +3977,9 @@ LRESULT CMeterWindow::OnCopyData(WPARAM wParam, LPARAM lParam) | ||||
| 		// Check that we're still alive | ||||
| 		bool found = false; | ||||
| 		std::map<std::wstring, CMeterWindow*>& meters = Rainmeter->GetAllMeterWindows(); | ||||
| 		std::map<std::wstring, CMeterWindow*>::iterator iter = meters.begin(); | ||||
| 		std::map<std::wstring, CMeterWindow*>::const_iterator iter = meters.begin(); | ||||
|  | ||||
| 		for ( ; iter != meters.end(); iter++) | ||||
| 		for ( ; iter != meters.end(); ++iter) | ||||
| 		{ | ||||
| 			if ((*iter).second == this) | ||||
| 			{ | ||||
|   | ||||
| @@ -97,7 +97,7 @@ std::vector<std::wstring> ParseString(LPCTSTR str) | ||||
| 		} | ||||
|  | ||||
| 		// Strip the quotes from all strings | ||||
| 		for (size_t i = 0; i < result.size(); i++) | ||||
| 		for (size_t i = 0; i < result.size(); ++i) | ||||
| 		{ | ||||
| 			size_t pos = result[i].find(L"\""); | ||||
| 			while (pos != std::wstring::npos) | ||||
| @@ -202,7 +202,7 @@ void BangWithArgs(BANGCOMMAND bang, const WCHAR* arg, size_t numOfArgs) | ||||
| 		std::wstring argument; | ||||
|  | ||||
| 		// Don't include the config name from the arg if there is one | ||||
| 		for (size_t i = 0; i < numOfArgs; i++) | ||||
| 		for (size_t i = 0; i < numOfArgs; ++i) | ||||
| 		{ | ||||
| 			if (i != 0) argument += L" "; | ||||
| 			if (i < subStrings.size()) | ||||
| @@ -245,9 +245,9 @@ void BangWithArgs(BANGCOMMAND bang, const WCHAR* arg, size_t numOfArgs) | ||||
| 			else | ||||
| 			{ | ||||
| 				// No config defined -> apply to all. | ||||
| 				std::map<std::wstring, CMeterWindow*>::iterator iter = Rainmeter->GetAllMeterWindows().begin(); | ||||
| 				std::map<std::wstring, CMeterWindow*>::const_iterator iter = Rainmeter->GetAllMeterWindows().begin(); | ||||
|  | ||||
| 				for (; iter != Rainmeter->GetAllMeterWindows().end(); iter++) | ||||
| 				for (; iter != Rainmeter->GetAllMeterWindows().end(); ++iter) | ||||
| 				{ | ||||
| 					((*iter).second)->RunBang(bang, argument.c_str()); | ||||
| 				} | ||||
| @@ -446,11 +446,11 @@ void RainmeterActivateConfig(HWND, const char* arg) | ||||
| 		{ | ||||
| 			const std::vector<CRainmeter::CONFIG>& configs = Rainmeter->GetAllConfigs(); | ||||
|  | ||||
| 			for (size_t i = 0; i < configs.size(); i++) | ||||
| 			for (size_t i = 0; i < configs.size(); ++i) | ||||
| 			{ | ||||
| 				if (wcsnicmp(configs[i].config.c_str(), subStrings[0].c_str(), configs[i].config.length()) == 0) | ||||
| 				{ | ||||
| 					for (size_t j = 0; j < configs[i].iniFiles.size(); j++) | ||||
| 					for (size_t j = 0; j < configs[i].iniFiles.size(); ++j) | ||||
| 					{ | ||||
| 						if (wcsnicmp(configs[i].iniFiles[j].c_str(), subStrings[1].c_str(), configs[i].iniFiles[j].length()) == 0) | ||||
| 						{ | ||||
| @@ -484,8 +484,8 @@ void RainmeterDeactivateConfig(HWND, const char* arg) | ||||
|  | ||||
| 		if (subStrings.size() > 0) | ||||
| 		{ | ||||
| 			std::map<std::wstring, CMeterWindow*>::iterator iter = Rainmeter->GetAllMeterWindows().begin(); | ||||
| 			for (; iter != Rainmeter->GetAllMeterWindows().end(); iter++) | ||||
| 			std::map<std::wstring, CMeterWindow*>::const_iterator iter = Rainmeter->GetAllMeterWindows().begin(); | ||||
| 			for (; iter != Rainmeter->GetAllMeterWindows().end(); ++iter) | ||||
| 			{ | ||||
| 				CMeterWindow* mw = ((*iter).second); | ||||
| 				if (wcsicmp(subStrings[0].c_str(), mw->GetSkinName().c_str()) == 0) | ||||
| @@ -517,8 +517,8 @@ void RainmeterToggleConfig(HWND, const char* arg) | ||||
|  | ||||
| 		if (subStrings.size() >= 2) | ||||
| 		{ | ||||
| 			std::map<std::wstring, CMeterWindow*>::iterator iter = Rainmeter->GetAllMeterWindows().begin(); | ||||
| 			for (; iter != Rainmeter->GetAllMeterWindows().end(); iter++) | ||||
| 			std::map<std::wstring, CMeterWindow*>::const_iterator iter = Rainmeter->GetAllMeterWindows().begin(); | ||||
| 			for (; iter != Rainmeter->GetAllMeterWindows().end(); ++iter) | ||||
| 			{ | ||||
| 				CMeterWindow* mw = ((*iter).second); | ||||
| 				if (wcsicmp(subStrings[0].c_str(), mw->GetSkinName().c_str()) == 0) | ||||
| @@ -1016,7 +1016,7 @@ int CRainmeter::Initialize(HWND Parent, HINSTANCE Instance, LPCSTR szPath) | ||||
|  | ||||
| 	// Create meter windows for active configs | ||||
| 	std::multimap<int, CONFIGORDER>::const_iterator iter = m_ConfigOrders.begin(); | ||||
| 	for ( ; iter != m_ConfigOrders.end(); iter++) | ||||
| 	for ( ; iter != m_ConfigOrders.end(); ++iter) | ||||
| 	{ | ||||
| 		ActivateConfig((*iter).second.id, (*iter).second.active - 1); | ||||
| 	} | ||||
| @@ -1040,7 +1040,7 @@ void CRainmeter::CheckSkinVersions() | ||||
| 	std::vector<CONFIGMENU> menu; | ||||
| 	ScanForConfigsRecursive(strMainSkinsPath, L"", 0, menu, true); | ||||
|  | ||||
| 	for (size_t i = 0; i < menu.size(); i++) | ||||
| 	for (size_t i = 0; i < menu.size(); ++i) | ||||
| 	{ | ||||
| 		// DebugLog(L"%s", menu[i].name.c_str()); | ||||
|  | ||||
| @@ -1164,7 +1164,7 @@ int CRainmeter::CompareVersions(std::wstring strA, std::wstring strB) | ||||
| 	std::vector<std::wstring> arrayB = CConfigParser::Tokenize(strB, L"."); | ||||
| 	 | ||||
| 	size_t len = max(arrayA.size(), arrayB.size()); | ||||
| 	for (size_t i = 0; i < len; i++) | ||||
| 	for (size_t i = 0; i < len; ++i) | ||||
| 	{ | ||||
| 		int a = 0; | ||||
| 		int b = 0; | ||||
| @@ -1263,7 +1263,7 @@ void CRainmeter::ActivateConfig(int configIndex, int iniIndex) | ||||
| 		std::wstring skinPath = m_ConfigStrings[configIndex].path; | ||||
|  | ||||
| 		// Verify that the config is not already active | ||||
| 		std::map<std::wstring, CMeterWindow*>::iterator iter = m_Meters.find(skinConfig); | ||||
| 		std::map<std::wstring, CMeterWindow*>::const_iterator iter = m_Meters.find(skinConfig); | ||||
| 		if (iter != m_Meters.end()) | ||||
| 		{ | ||||
| 			if (((*iter).second)->GetSkinIniFile() == skinIniFile) | ||||
| @@ -1303,7 +1303,7 @@ bool CRainmeter::DeactivateConfig(CMeterWindow* meterWindow, int configIndex) | ||||
| 	else | ||||
| 	{ | ||||
| 		// Deactive all | ||||
| 		for(size_t i = 0; i < m_ConfigStrings.size(); i++) | ||||
| 		for(size_t i = 0; i < m_ConfigStrings.size(); ++i) | ||||
| 		{ | ||||
| 			m_ConfigStrings[i].active = 0; | ||||
| 		} | ||||
| @@ -1342,7 +1342,7 @@ void CRainmeter::ClearDeleteLaterList() | ||||
|  | ||||
| 		// Remove from the meter window list if it is still there | ||||
| 		std::map<std::wstring, CMeterWindow*>::iterator iter = m_Meters.begin(); | ||||
| 		for (; iter != m_Meters.end(); iter++) | ||||
| 		for (; iter != m_Meters.end(); ++iter) | ||||
| 		{ | ||||
| 			if ((*iter).second == meterWindow) | ||||
| 			{ | ||||
| @@ -1367,7 +1367,7 @@ bool CRainmeter::DeleteMeterWindow(CMeterWindow* meterWindow, bool bLater) | ||||
|  | ||||
| 		std::map<std::wstring, CMeterWindow*>::iterator iter = m_Meters.begin(); | ||||
|  | ||||
| 		for (; iter != m_Meters.end(); iter++) | ||||
| 		for (; iter != m_Meters.end(); ++iter) | ||||
| 		{ | ||||
| 			if (meterWindow == NULL) | ||||
| 			{ | ||||
| @@ -1393,9 +1393,9 @@ bool CRainmeter::DeleteMeterWindow(CMeterWindow* meterWindow, bool bLater) | ||||
|  | ||||
| CMeterWindow* CRainmeter::GetMeterWindow(const std::wstring& config) | ||||
| { | ||||
| 	std::map<std::wstring, CMeterWindow*>::iterator iter = m_Meters.begin(); | ||||
| 	std::map<std::wstring, CMeterWindow*>::const_iterator iter = m_Meters.begin(); | ||||
|  | ||||
| 	for (; iter != m_Meters.end(); iter++) | ||||
| 	for (; iter != m_Meters.end(); ++iter) | ||||
| 	{ | ||||
| 		if ((*iter).first == config) | ||||
| 		{ | ||||
| @@ -1408,9 +1408,9 @@ CMeterWindow* CRainmeter::GetMeterWindow(const std::wstring& config) | ||||
|  | ||||
| CMeterWindow* CRainmeter::GetMeterWindow(HWND hwnd) | ||||
| { | ||||
| 	std::map<std::wstring, CMeterWindow*>::iterator iter = m_Meters.begin(); | ||||
| 	std::map<std::wstring, CMeterWindow*>::const_iterator iter = m_Meters.begin(); | ||||
|  | ||||
| 	for (; iter != m_Meters.end(); iter++) | ||||
| 	for (; iter != m_Meters.end(); ++iter) | ||||
| 	{ | ||||
| 		if ((*iter).second->GetWindow() == hwnd) | ||||
| 		{ | ||||
| @@ -1448,7 +1448,7 @@ void CRainmeter::SetConfigOrder(const std::wstring& config, int index, int activ | ||||
| 	} | ||||
|  | ||||
| 	std::multimap<int, CONFIGORDER>::iterator iter = m_ConfigOrders.begin(); | ||||
| 	for ( ; iter != m_ConfigOrders.end(); iter++) | ||||
| 	for ( ; iter != m_ConfigOrders.end(); ++iter) | ||||
| 	{ | ||||
| 		if ((*iter).second.config == config)  // already exists | ||||
| 		{ | ||||
| @@ -1476,7 +1476,7 @@ void CRainmeter::SetConfigOrder(const std::wstring& config, int index, int activ | ||||
| int CRainmeter::GetLoadOrder(const std::wstring& config) | ||||
| { | ||||
| 	std::multimap<int, CONFIGORDER>::const_iterator iter = m_ConfigOrders.begin(); | ||||
| 	for ( ; iter != m_ConfigOrders.end(); iter++) | ||||
| 	for ( ; iter != m_ConfigOrders.end(); ++iter) | ||||
| 	{ | ||||
| 		if ((*iter).second.config == config) | ||||
| 		{ | ||||
| @@ -1782,7 +1782,7 @@ BOOL CRainmeter::ExecuteBang(const std::wstring& bang, const std::wstring& arg, | ||||
| 		std::wstring::size_type start = std::wstring::npos; | ||||
| 		std::wstring::size_type end = std::wstring::npos; | ||||
| 		int count = 0; | ||||
| 		for (size_t i = 0; i < arg.size(); i++) | ||||
| 		for (size_t i = 0; i < arg.size(); ++i) | ||||
| 		{ | ||||
| 			if (arg[i] == L'[') | ||||
| 			{ | ||||
| @@ -1790,11 +1790,11 @@ BOOL CRainmeter::ExecuteBang(const std::wstring& bang, const std::wstring& arg, | ||||
| 				{ | ||||
| 					start = i; | ||||
| 				} | ||||
| 				count++; | ||||
| 				++count; | ||||
| 			} | ||||
| 			else if (arg[i] == L']') | ||||
| 			{ | ||||
| 				count--; | ||||
| 				--count; | ||||
|  | ||||
| 				if (count == 0 && start != std::wstring::npos) | ||||
| 				{ | ||||
| @@ -1858,8 +1858,8 @@ std::wstring CRainmeter::ParseCommand(const WCHAR* command, CMeterWindow* meterW | ||||
| 					{ | ||||
| 						if (meterWindow)  | ||||
| 						{ | ||||
| 							std::list<CMeasure*>::iterator iter = meterWindow->GetMeasures().begin(); | ||||
| 							for( ; iter != meterWindow->GetMeasures().end(); iter++) | ||||
| 							std::list<CMeasure*>::const_iterator iter = meterWindow->GetMeasures().begin(); | ||||
| 							for( ; iter != meterWindow->GetMeasures().end(); ++iter) | ||||
| 							{ | ||||
| 								if (wcsicmp((*iter)->GetName(), measureName.c_str()) == 0) | ||||
| 								{ | ||||
| @@ -2025,7 +2025,7 @@ void CRainmeter::ReadGeneralSettings(std::wstring& iniFile) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	for (size_t i = 0; i < m_ConfigStrings.size(); i++) | ||||
| 	for (size_t i = 0; i < m_ConfigStrings.size(); ++i) | ||||
| 	{ | ||||
| 		int active  = parser.ReadInt(m_ConfigStrings[i].config.c_str(), L"Active", 0); | ||||
|  | ||||
| @@ -2046,13 +2046,13 @@ void CRainmeter::ReadGeneralSettings(std::wstring& iniFile) | ||||
| */ | ||||
| bool CRainmeter::SetActiveConfig(std::wstring& skinName, std::wstring& skinIni) | ||||
| { | ||||
| 	for (size_t i = 0; i < m_ConfigStrings.size(); i++) | ||||
| 	for (size_t i = 0; i < m_ConfigStrings.size(); ++i) | ||||
| 	{ | ||||
| 		m_ConfigStrings[i].active = 0;	// Disable all other configs | ||||
|  | ||||
| 		if (skinName == m_ConfigStrings[i].config) | ||||
| 		{ | ||||
| 			for (size_t j = 0; j < m_ConfigStrings[i].iniFiles.size(); j++) | ||||
| 			for (size_t j = 0; j < m_ConfigStrings[i].iniFiles.size(); ++j) | ||||
| 			{ | ||||
| 				if (skinIni == m_ConfigStrings[i].iniFiles[j]) | ||||
| 				{ | ||||
| @@ -2081,8 +2081,8 @@ void CRainmeter::RefreshAll() | ||||
| 	// Make the sending order by using LoadOrder | ||||
| 	std::multimap<int, CMeterWindow*> windows; | ||||
|  | ||||
| 	std::map<std::wstring, CMeterWindow*>::iterator iter = m_Meters.begin(); | ||||
| 	for (; iter != m_Meters.end(); iter++) | ||||
| 	std::map<std::wstring, CMeterWindow*>::const_iterator iter = m_Meters.begin(); | ||||
| 	for (; iter != m_Meters.end(); ++iter) | ||||
| 	{ | ||||
| 		if ((*iter).second) | ||||
| 		{ | ||||
| @@ -2095,7 +2095,7 @@ void CRainmeter::RefreshAll() | ||||
|  | ||||
| 	// Refresh all | ||||
| 	std::multimap<int, CMeterWindow*>::const_iterator iter2 = windows.begin(); | ||||
| 	for ( ; iter2 != windows.end(); iter2++) | ||||
| 	for ( ; iter2 != windows.end(); ++iter2) | ||||
| 	{ | ||||
| 		if ((*iter2).second) | ||||
| 		{ | ||||
| @@ -2259,15 +2259,15 @@ void CRainmeter::ShowContextMenu(POINT pos, CMeterWindow* meterWindow) | ||||
| 			else | ||||
| 			{ | ||||
| 				// Create a menu for all active configs | ||||
| 				std::map<std::wstring, CMeterWindow*>::iterator iter = Rainmeter->GetAllMeterWindows().begin(); | ||||
| 				std::map<std::wstring, CMeterWindow*>::const_iterator iter = Rainmeter->GetAllMeterWindows().begin(); | ||||
|  | ||||
| 				int index = 0; | ||||
| 				for (; iter != Rainmeter->GetAllMeterWindows().end(); iter++) | ||||
| 				for (; iter != Rainmeter->GetAllMeterWindows().end(); ++iter) | ||||
| 				{ | ||||
| 					CMeterWindow* mw = ((*iter).second); | ||||
| 					HMENU skinMenu = CreateSkinMenu(mw, index); | ||||
| 					InsertMenu(subMenu, 10, MF_BYPOSITION | MF_POPUP, (UINT_PTR)skinMenu, mw->GetSkinName().c_str()); | ||||
| 					index++; | ||||
| 					++index; | ||||
| 				} | ||||
| 			} | ||||
|  | ||||
| @@ -2296,7 +2296,7 @@ HMENU CRainmeter::CreateConfigMenu(std::vector<CONFIGMENU>& configMenuData) | ||||
| 	{ | ||||
| 		configMenu = CreatePopupMenu(); | ||||
|  | ||||
| 		for (size_t i = 0; i < configMenuData.size(); i++) | ||||
| 		for (size_t i = 0; i < configMenuData.size(); ++i) | ||||
| 		{ | ||||
| 			if (configMenuData[i].index == -1) | ||||
| 			{ | ||||
| @@ -2325,7 +2325,7 @@ HMENU CRainmeter::CreateThemeMenu() | ||||
| { | ||||
| 	HMENU themeMenu = CreatePopupMenu(); | ||||
|  | ||||
| 	for (size_t i = 0; i < m_Themes.size(); i++) | ||||
| 	for (size_t i = 0; i < m_Themes.size(); ++i) | ||||
| 	{ | ||||
| 		AppendMenu(themeMenu, 0, ID_THEME_FIRST + i, m_Themes[i].c_str()); | ||||
| 	} | ||||
| @@ -2514,7 +2514,7 @@ HMENU CRainmeter::CreateMonitorMenu(CMeterWindow* meterWindow) | ||||
| 		const MULTIMONITOR_INFO& multimonInfo = CSystem::GetMultiMonitorInfo(); | ||||
| 		const std::vector<MONITOR_INFO>& monitors = multimonInfo.monitors; | ||||
|  | ||||
| 		for (size_t i = 0; i < monitors.size(); i++) | ||||
| 		for (size_t i = 0; i < monitors.size(); ++i) | ||||
| 		{ | ||||
| 			wsprintf(buffer, L"@%i: ", i + 1); | ||||
| 			item = buffer; | ||||
| @@ -2561,7 +2561,7 @@ void CRainmeter::ChangeSkinIndex(HMENU menu, int index) | ||||
| { | ||||
| 	int count = GetMenuItemCount(menu); | ||||
|  | ||||
| 	for (int i = 0; i < count; i++) | ||||
| 	for (int i = 0; i < count; ++i) | ||||
| 	{ | ||||
| 		HMENU subMenu = GetSubMenu(menu, i); | ||||
| 		if (subMenu) | ||||
|   | ||||
| @@ -165,7 +165,7 @@ BOOL CALLBACK MyInfoEnumProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonit | ||||
|  | ||||
| 	if (m->useEnumDisplayDevices) | ||||
| 	{ | ||||
| 		for (size_t i = 0; i < m->monitors.size(); i++) | ||||
| 		for (size_t i = 0; i < m->monitors.size(); ++i) | ||||
| 		{ | ||||
| 			if (m->monitors[i].handle == NULL && _wcsnicmp(info.szDevice, m->monitors[i].deviceName, 32) == 0) | ||||
| 			{ | ||||
| @@ -401,7 +401,7 @@ void CSystem::SetMultiMonitorInfo() | ||||
| 					DebugLog(L"  Flags    : %s(0x%08X)", msg.c_str(), dd.StateFlags); | ||||
| 				} | ||||
| 			} | ||||
| 			dwDevice++; | ||||
| 			++dwDevice; | ||||
| 		} while (EnumDisplayDevices(NULL, dwDevice, &dd, 0)); | ||||
| 	} | ||||
|  | ||||
| @@ -473,7 +473,7 @@ void CSystem::SetMultiMonitorInfo() | ||||
| 			c_Monitors.vsL, c_Monitors.vsT, c_Monitors.vsL + c_Monitors.vsW, c_Monitors.vsT + c_Monitors.vsH, | ||||
| 			c_Monitors.vsW, c_Monitors.vsH); | ||||
|  | ||||
| 		for (size_t i = 0; i < monitors.size(); i++) | ||||
| 		for (size_t i = 0; i < monitors.size(); ++i) | ||||
| 		{ | ||||
| 			if (monitors[i].active) | ||||
| 			{ | ||||
| @@ -506,7 +506,7 @@ void CSystem::UpdateWorkareaInfo() | ||||
| 		return; | ||||
| 	} | ||||
|  | ||||
| 	for (size_t i = 0; i < monitors.size(); i++) | ||||
| 	for (size_t i = 0; i < monitors.size(); ++i) | ||||
| 	{ | ||||
| 		if (monitors[i].active && monitors[i].handle != NULL) | ||||
| 		{ | ||||
| @@ -703,7 +703,7 @@ void CSystem::ChangeZPosInOrder() | ||||
| 		EnumWindows(MyEnumWindowsProc, (LPARAM)(&windowsInZOrder)); | ||||
|  | ||||
| 		// Reset ZPos in Z-order | ||||
| 		for (size_t i = 0; i < windowsInZOrder.size(); i++) | ||||
| 		for (size_t i = 0; i < windowsInZOrder.size(); ++i) | ||||
| 		{ | ||||
| 			windowsInZOrder[i]->ChangeZPos(windowsInZOrder[i]->GetWindowZPosition());  // reset | ||||
| 		} | ||||
| @@ -886,7 +886,7 @@ LRESULT CALLBACK CSystem::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP | ||||
| 				} | ||||
| 				else | ||||
| 				{ | ||||
| 					DesktopCompositionCheckCount++; | ||||
| 					++DesktopCompositionCheckCount; | ||||
| 				} | ||||
| 			} | ||||
| 			return 0; | ||||
| @@ -940,7 +940,7 @@ LRESULT CALLBACK CSystem::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP | ||||
| 				// Deliver WM_DISPLAYCHANGE / WM_SETTINGCHANGE message to all meter windows | ||||
| 				std::map<std::wstring, CMeterWindow*>& windows = Rainmeter->GetAllMeterWindows(); | ||||
| 				std::map<std::wstring, CMeterWindow*>::const_iterator iter = windows.begin(); | ||||
| 				for( ; iter != windows.end(); iter++) | ||||
| 				for( ; iter != windows.end(); ++iter) | ||||
| 				{ | ||||
| 					PostMessage((*iter).second->GetWindow(), WM_DELAYED_MOVE, (WPARAM)uMsg, (LPARAM)0); | ||||
| 				} | ||||
|   | ||||
| @@ -91,7 +91,7 @@ CTrayWindow::~CTrayWindow() | ||||
| 	if (m_Bitmap) delete m_Bitmap; | ||||
| 	if (m_Measure) delete m_Measure; | ||||
|  | ||||
| 	for (size_t i = 0; i < m_TrayIcons.size(); i++)  | ||||
| 	for (size_t i = 0; i < m_TrayIcons.size(); ++i)  | ||||
| 	{ | ||||
| 		DestroyIcon(m_TrayIcons[i]); | ||||
| 	} | ||||
| @@ -214,7 +214,7 @@ HICON CTrayWindow::CreateTrayIcon(double value) | ||||
| 			points[TRAYICON_SIZE + 1].X = TRAYICON_SIZE - 1; | ||||
| 			points[TRAYICON_SIZE + 1].Y = TRAYICON_SIZE; | ||||
|  | ||||
| 			for (int i = 0; i < TRAYICON_SIZE; i++) | ||||
| 			for (int i = 0; i < TRAYICON_SIZE; ++i) | ||||
| 			{ | ||||
| 				points[i + 1].X = i; | ||||
| 				points[i + 1].Y = (int)(TRAYICON_SIZE * (1.0 - m_TrayValues[(m_TrayPos + i) % TRAYICON_SIZE])); | ||||
| @@ -294,7 +294,7 @@ HICON CTrayWindow::CreateTrayIcon(double value) | ||||
|  | ||||
| void CTrayWindow::ReadConfig(CConfigParser& parser) | ||||
| { | ||||
| 	for (size_t i = 0; i < m_TrayIcons.size(); i++)  | ||||
| 	for (size_t i = 0; i < m_TrayIcons.size(); ++i)  | ||||
| 	{ | ||||
| 		DestroyIcon(m_TrayIcons[i]); | ||||
| 	} | ||||
| @@ -507,9 +507,9 @@ LRESULT CALLBACK CTrayWindow::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA | ||||
| 				// Check which config was selected | ||||
| 				const std::vector<CRainmeter::CONFIG>& configs = Rainmeter->GetAllConfigs(); | ||||
|  | ||||
| 				for (size_t i = 0; i < configs.size(); i++) | ||||
| 				for (size_t i = 0; i < configs.size(); ++i) | ||||
| 				{ | ||||
| 					for (size_t j = 0; j < configs[i].commands.size(); j++) | ||||
| 					for (size_t j = 0; j < configs[i].commands.size(); ++j) | ||||
| 					{ | ||||
| 						if (configs[i].commands[j] == wParam) | ||||
| 						{ | ||||
| @@ -543,10 +543,10 @@ LRESULT CALLBACK CTrayWindow::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA | ||||
|  | ||||
| 				if (index < (int)windows.size()) | ||||
| 				{ | ||||
| 					std::map<std::wstring, CMeterWindow*>::iterator iter = windows.begin(); | ||||
| 					for( ; iter != windows.end(); iter++) | ||||
| 					std::map<std::wstring, CMeterWindow*>::const_iterator iter = windows.begin(); | ||||
| 					for( ; iter != windows.end(); ++iter) | ||||
| 					{ | ||||
| 						index--; | ||||
| 						--index; | ||||
| 						if (index < 0) | ||||
| 						{ | ||||
| 							CMeterWindow* meterWindow = (*iter).second; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 spx
					spx