mirror of
				https://github.com/chibicitiberiu/rainmeter-studio.git
				synced 2024-02-24 04:33:31 +00:00 
			
		
		
		
	Add !PauseMeasure, !UnpauseMeasure, and !TogglePauseMeasure bangs. This is similar to a disabled measure, only it retains its value instead of changing to 0.
Also, group bangs !PauseMeasureGroup, !UnpauseMeasureGroup, and !TogglePauseMeasureGroup bangs have been added.
This commit is contained in:
		| @@ -790,6 +790,18 @@ void MeterWindow::DoBang(Bang bang, const std::vector<std::wstring>& args) | ||||
| 		DisableMeasure(args[0]); | ||||
| 		break; | ||||
|  | ||||
| 	case Bang::PauseMeasure: | ||||
| 		PauseMeasure(args[0]); | ||||
| 		break; | ||||
|  | ||||
| 	case Bang::UnpauseMeasure: | ||||
| 		UnpauseMeasure(args[0]); | ||||
| 		break; | ||||
|  | ||||
| 	case Bang::TogglePauseMeasure: | ||||
| 		TogglePauseMeasure(args[0]); | ||||
| 		break; | ||||
|  | ||||
| 	case Bang::UpdateMeasure: | ||||
| 		UpdateMeasure(args[0]); | ||||
| 		DialogAbout::UpdateMeasures(this); | ||||
| @@ -807,6 +819,18 @@ void MeterWindow::DoBang(Bang bang, const std::vector<std::wstring>& args) | ||||
| 		EnableMeasure(args[0], true); | ||||
| 		break; | ||||
|  | ||||
| 	case Bang::PauseMeasureGroup: | ||||
| 		PauseMeasure(args[0], true); | ||||
| 		break; | ||||
|  | ||||
| 	case Bang::UnpauseMeasureGroup: | ||||
| 		UnpauseMeasure(args[0], true); | ||||
| 		break; | ||||
|  | ||||
| 	case Bang::TogglePauseMeasureGroup: | ||||
| 		TogglePauseMeasure(args[0], true); | ||||
| 		break; | ||||
|  | ||||
| 	case Bang::UpdateMeasureGroup: | ||||
| 		UpdateMeasure(args[0], true); | ||||
| 		DialogAbout::UpdateMeasures(this); | ||||
| @@ -1320,6 +1344,76 @@ void MeterWindow::ToggleMeasure(const std::wstring& name, bool group) | ||||
| 	if (!group) LogErrorF(this, L"!ToggleMeasure: [%s] not found", measure); | ||||
| } | ||||
|  | ||||
| /* | ||||
| ** Pauses the given measure | ||||
| ** | ||||
| */ | ||||
| void MeterWindow::PauseMeasure(const std::wstring& name, bool group) | ||||
| { | ||||
| 	const WCHAR* measure = name.c_str(); | ||||
|  | ||||
| 	std::vector<Measure*>::const_iterator i = m_Measures.begin(); | ||||
| 	for ( ; i != m_Measures.end(); ++i) | ||||
| 	{ | ||||
| 		if (CompareName((*i), measure, group)) | ||||
| 		{ | ||||
| 			(*i)->Pause(); | ||||
| 			if (!group) return; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if (!group) LogErrorF(this, L"!PauseMeasure: [%s] not found", measure); | ||||
| } | ||||
|  | ||||
| /* | ||||
| ** Unpauses the given measure | ||||
| ** | ||||
| */ | ||||
| void MeterWindow::UnpauseMeasure(const std::wstring& name, bool group) | ||||
| { | ||||
| 	const WCHAR* measure = name.c_str(); | ||||
|  | ||||
| 	std::vector<Measure*>::const_iterator i = m_Measures.begin(); | ||||
| 	for ( ; i != m_Measures.end(); ++i) | ||||
| 	{ | ||||
| 		if (CompareName((*i), measure, group)) | ||||
| 		{ | ||||
| 			(*i)->Unpause(); | ||||
| 			if (!group) return; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if (!group) LogErrorF(this, L"!UnpauseMeasure: [%s] not found", measure); | ||||
| } | ||||
|  | ||||
| /* | ||||
| ** Toggles the pause state of the given measure | ||||
| ** | ||||
| */ | ||||
| void MeterWindow::TogglePauseMeasure(const std::wstring& name, bool group) | ||||
| { | ||||
| 	const WCHAR* measure = name.c_str(); | ||||
|  | ||||
| 	std::vector<Measure*>::const_iterator i = m_Measures.begin(); | ||||
| 	for ( ; i != m_Measures.end(); ++i) | ||||
| 	{ | ||||
| 		if (CompareName((*i), measure, group)) | ||||
| 		{ | ||||
| 			if ((*i)->IsPaused()) | ||||
| 			{ | ||||
| 				(*i)->Unpause(); | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				(*i)->Pause(); | ||||
| 			} | ||||
| 			if (!group) return; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if (!group) LogErrorF(this, L"!TogglePauseMeasure: [%s] not found", measure); | ||||
| } | ||||
|  | ||||
| /* | ||||
| ** Updates the given measure | ||||
| ** | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Brian Ferguson
					Brian Ferguson