2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-09-04 08:25:38 +00:00

fixed online display, fixed reading messages on idle

This commit is contained in:
John Preston
2014-06-20 11:06:21 +04:00
parent d68aeb1b49
commit e0a364dd0f
14 changed files with 77 additions and 31 deletions

View File

@@ -872,6 +872,15 @@ PsMainWindow::PsMainWindow(QWidget *parent) : QMainWindow(parent), ps_hWnd(0), p
notifyWaitTimer.setSingleShot(true);
}
void PsMainWindow::psNotIdle() const {
psIdleTimer.stop();
if (psIdle) {
psIdle = false;
if (App::main()) App::main()->setOnline();
if (App::wnd()) App::wnd()->checkHistoryActivation();
}
}
void PsMainWindow::psIdleTimeout() {
LASTINPUTINFO lii;
lii.cbSize = sizeof(LASTINPUTINFO);
@@ -879,15 +888,15 @@ void PsMainWindow::psIdleTimeout() {
if (res) {
uint64 ticks = GetTickCount();
if (lii.dwTime >= ticks - IdleMsecs) {
psIdle = false;
psIdleTimer.stop();
if (App::main()) App::main()->setOnline();
psNotIdle();
}
} else { // error {
psNotIdle();
}
}
bool PsMainWindow::psIsActive() const {
return isActiveWindow() && isVisible() && !(windowState() & Qt::WindowMinimized);
return isActiveWindow() && isVisible() && !(windowState() & Qt::WindowMinimized) && !psIdle;
}
bool PsMainWindow::psIsOnline(int windowState) const {
@@ -909,9 +918,10 @@ bool PsMainWindow::psIsOnline(int windowState) const {
}
return false;
} else {
psIdle = false;
psIdleTimer.stop();
psNotIdle();
}
} else { // error
psNotIdle();
}
return true;
}