mirror of
https://github.com/reactos/reactos.git
synced 2025-04-27 09:00:27 +00:00
[EXPLORER] trayclock: Better handle timers, especially when it is hidden
This commit is contained in:
parent
e45b15aca2
commit
e68bee7518
1 changed files with 32 additions and 11 deletions
|
@ -452,8 +452,7 @@ BOOL CTrayClockWnd::ResetTime()
|
||||||
KillTimer(ID_TRAYCLOCK_TIMER);
|
KillTimer(ID_TRAYCLOCK_TIMER);
|
||||||
IsTimerEnabled = FALSE;
|
IsTimerEnabled = FALSE;
|
||||||
}
|
}
|
||||||
|
else if (IsInitTimerEnabled)
|
||||||
if (IsInitTimerEnabled)
|
|
||||||
{
|
{
|
||||||
KillTimer(ID_TRAYCLOCK_TIMER_INIT);
|
KillTimer(ID_TRAYCLOCK_TIMER_INIT);
|
||||||
}
|
}
|
||||||
|
@ -464,9 +463,6 @@ BOOL CTrayClockWnd::ResetTime()
|
||||||
Ret = SetTimer(ID_TRAYCLOCK_TIMER_INIT, uiDueTime, NULL) != 0;
|
Ret = SetTimer(ID_TRAYCLOCK_TIMER_INIT, uiDueTime, NULL) != 0;
|
||||||
IsInitTimerEnabled = Ret;
|
IsInitTimerEnabled = Ret;
|
||||||
|
|
||||||
/* Update the time */
|
|
||||||
Update();
|
|
||||||
|
|
||||||
return Ret;
|
return Ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -500,9 +496,6 @@ VOID CTrayClockWnd::CalibrateTimer()
|
||||||
uiWait2. */
|
uiWait2. */
|
||||||
Ret = SetTimer(ID_TRAYCLOCK_TIMER, uiWait2, NULL) != 0;
|
Ret = SetTimer(ID_TRAYCLOCK_TIMER, uiWait2, NULL) != 0;
|
||||||
IsTimerEnabled = Ret;
|
IsTimerEnabled = Ret;
|
||||||
|
|
||||||
/* Update the time */
|
|
||||||
Update();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -510,6 +503,9 @@ VOID CTrayClockWnd::CalibrateTimer()
|
||||||
minute/second ends. */
|
minute/second ends. */
|
||||||
ResetTime();
|
ResetTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Update the time */
|
||||||
|
Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
LRESULT CTrayClockWnd::OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
LRESULT CTrayClockWnd::OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||||||
|
@ -519,8 +515,7 @@ LRESULT CTrayClockWnd::OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&
|
||||||
{
|
{
|
||||||
KillTimer(ID_TRAYCLOCK_TIMER);
|
KillTimer(ID_TRAYCLOCK_TIMER);
|
||||||
}
|
}
|
||||||
|
else if (IsInitTimerEnabled)
|
||||||
if (IsInitTimerEnabled)
|
|
||||||
{
|
{
|
||||||
KillTimer(ID_TRAYCLOCK_TIMER_INIT);
|
KillTimer(ID_TRAYCLOCK_TIMER_INIT);
|
||||||
}
|
}
|
||||||
|
@ -668,7 +663,14 @@ LRESULT CTrayClockWnd::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& b
|
||||||
|
|
||||||
m_tooltip.AddTool(&ti);
|
m_tooltip.AddTool(&ti);
|
||||||
|
|
||||||
ResetTime();
|
if (!g_TaskbarSettings.sr.HideClock)
|
||||||
|
{
|
||||||
|
ResetTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Update the time */
|
||||||
|
Update();
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -702,6 +704,25 @@ LRESULT CTrayClockWnd::OnTaskbarSettingsChanged(UINT uMsg, WPARAM wParam, LPARAM
|
||||||
g_TaskbarSettings.sr.HideClock = newSettings->sr.HideClock;
|
g_TaskbarSettings.sr.HideClock = newSettings->sr.HideClock;
|
||||||
ShowWindow(g_TaskbarSettings.sr.HideClock ? SW_HIDE : SW_SHOW);
|
ShowWindow(g_TaskbarSettings.sr.HideClock ? SW_HIDE : SW_SHOW);
|
||||||
bRealign = TRUE;
|
bRealign = TRUE;
|
||||||
|
|
||||||
|
if (g_TaskbarSettings.sr.HideClock)
|
||||||
|
{
|
||||||
|
/* Disable all timers */
|
||||||
|
if (IsTimerEnabled)
|
||||||
|
{
|
||||||
|
KillTimer(ID_TRAYCLOCK_TIMER);
|
||||||
|
IsTimerEnabled = FALSE;
|
||||||
|
}
|
||||||
|
else if (IsInitTimerEnabled)
|
||||||
|
{
|
||||||
|
KillTimer(ID_TRAYCLOCK_TIMER_INIT);
|
||||||
|
IsInitTimerEnabled = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ResetTime();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bRealign)
|
if (bRealign)
|
||||||
|
|
Loading…
Reference in a new issue