mirror of
				https://github.com/chibicitiberiu/rainmeter-studio.git
				synced 2024-02-24 04:33:31 +00:00 
			
		
		
		
	Additional changes to c3982da
				
					
				
			This commit is contained in:
		@@ -69,7 +69,7 @@ extern CRainmeter* Rainmeter;
 | 
			
		||||
** The constructor
 | 
			
		||||
**
 | 
			
		||||
*/
 | 
			
		||||
CMeasure::CMeasure(CMeterWindow* meterWindow, const WCHAR* name) : CSection(name), m_MeterWindow(meterWindow),
 | 
			
		||||
CMeasure::CMeasure(CMeterWindow* meterWindow, const WCHAR* name) : CSection(meterWindow, name),
 | 
			
		||||
	m_Invert(false),
 | 
			
		||||
	m_LogMaxValue(false),
 | 
			
		||||
	m_MinValue(),
 | 
			
		||||
@@ -87,8 +87,8 @@ CMeasure::CMeasure(CMeterWindow* meterWindow, const WCHAR* name) : CSection(name
 | 
			
		||||
	m_IfBelowCommitted(false),
 | 
			
		||||
	m_Disabled(false),
 | 
			
		||||
	m_Initialized(false),
 | 
			
		||||
	m_OldValue(0.0),
 | 
			
		||||
	m_OldStringValue(L"")
 | 
			
		||||
	m_OldValue(),
 | 
			
		||||
	m_OldValueInitialized(false)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -728,6 +728,36 @@ void CMeasure::RemoveTrailingZero(WCHAR* str, int strLen)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
** Execute OnChangeAction if action is set
 | 
			
		||||
**
 | 
			
		||||
*/
 | 
			
		||||
void CMeasure::DoChangeAction()
 | 
			
		||||
{
 | 
			
		||||
	if (!m_OldValueInitialized)
 | 
			
		||||
	{
 | 
			
		||||
		double newValue = GetValue();
 | 
			
		||||
		const WCHAR* newStringValue = GetStringValue(AUTOSCALE_OFF, 1, -1, false);
 | 
			
		||||
 | 
			
		||||
		m_OldValue = newValue;
 | 
			
		||||
		m_OldStringValue = newStringValue;
 | 
			
		||||
		m_OldValueInitialized = true;
 | 
			
		||||
	}
 | 
			
		||||
	else if (!m_OnChangeAction.empty())
 | 
			
		||||
	{
 | 
			
		||||
		double newValue = GetValue();
 | 
			
		||||
		const WCHAR* newStringValue = GetStringValue(AUTOSCALE_OFF, 1, -1, false);
 | 
			
		||||
 | 
			
		||||
		if (m_OldValue != newValue || wcscmp(m_OldStringValue.c_str(), newStringValue) != 0)
 | 
			
		||||
		{
 | 
			
		||||
			m_OldValue = newValue;
 | 
			
		||||
			m_OldStringValue = newStringValue;
 | 
			
		||||
 | 
			
		||||
			Rainmeter->ExecuteCommand(m_OnChangeAction.c_str(), m_MeterWindow);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
** Creates the given measure. This is the factory method for the measures.
 | 
			
		||||
** If new measures are implemented this method needs to be updated.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user