bool Window::eventFilter(QObject *obj, QEvent *evt) { QEvent::Type t = evt->type(); if (t == QEvent::MouseButtonPress || t == QEvent::KeyPress || t == QEvent::TouchBegin) { psUserActionDone(); } else if (t == QEvent::MouseMove) { if (main && main->isIdle()) { psUserActionDone(); main->checkIdleFinish(); } } if (obj == App::app()) { if (t == QEvent::ApplicationActivate) { psUserActionDone(); QTimer::singleShot(1, this, SLOT(checkHistoryActivation())); } else if (t == QEvent::FileOpen) { QString url = static_cast<QFileOpenEvent*>(evt)->url().toEncoded(); if (!url.trimmed().midRef(0, 5).compare(qsl("tg://"), Qt::CaseInsensitive)) { cSetStartUrl(url); if (!cStartUrl().isEmpty() && App::main() && App::self()) { App::main()->openLocalUrl(cStartUrl()); cSetStartUrl(QString()); } } activate(); } } else if (obj == this) { if (t == QEvent::WindowStateChange) { Qt::WindowState state = (windowState() & Qt::WindowMinimized) ? Qt::WindowMinimized : ((windowState() & Qt::WindowMaximized) ? Qt::WindowMaximized : ((windowState() & Qt::WindowFullScreen) ? Qt::WindowFullScreen : Qt::WindowNoState)); stateChanged(state); } else if (t == QEvent::Move || t == QEvent::Resize) { psUpdatedPosition(); } } return PsMainWindow::eventFilter(obj, evt); }
void MainWindow::handleStateChanged(Qt::WindowState state) { stateChangedHook(state); updateIsActive((state == Qt::WindowMinimized) ? Global::OfflineBlurTimeout() : Global::OnlineFocusTimeout()); psUserActionDone(); if (state == Qt::WindowMinimized && Global::WorkMode().value() == dbiwmTrayOnly) { minimizeToTray(); } savePosition(state); }
void Window::stateChanged(Qt::WindowState state) { psUserActionDone(); updateIsActive((state == Qt::WindowMinimized) ? cOfflineBlurTimeout() : cOnlineFocusTimeout()); psUpdateSysMenu(state); if (state == Qt::WindowMinimized && cWorkMode() == dbiwmTrayOnly) { App::wnd()->minimizeToTray(); } psSavePosition(state); }