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