コード例 #1
0
ファイル: devicelock.cpp プロジェクト: kvahlman/lipstick
void DeviceLock::checkDisplayState(MeeGo::QmDisplayState::DisplayState state)
{
    int lockingDelay = lockingGConfItem->value(-1).toInt();
    if (lockingDelay == 0 && state == MeeGo::QmDisplayState::DisplayState::Off && qmLocks->getState(MeeGo::QmLocks::TouchAndKeyboard) == MeeGo::QmLocks::Locked) {
        // Immediate locking enabled and the display is off: lock
        setState(Locked);
    } else if (state == MeeGo::QmDisplayState::DisplayState::Off) {
        setStateAndSetupLockTimer();
    } else if (monoTime.tv_sec) {
        struct timeval compareTime;
        tv_get_monotime(&compareTime);
        if (lockingDelay*60 < tv_diff_in_s(&compareTime, &monoTime)) {
            setState(Locked);
        }
    }
}
コード例 #2
0
ファイル: devicelock.cpp プロジェクト: martyone/lipstick
void DeviceLock::handleDisplayStateChanged(MeeGo::QmDisplayState::DisplayState state)
{
    if (state == m_displayState)
        return;

    m_displayState = state;

    if (lockingDelay == 0 && state == MeeGo::QmDisplayState::DisplayState::Off
            && !isCallActive) {
        // Immediate locking enabled and the display is off and not in call: lock
        setState(Locked);
    } else if (state == MeeGo::QmDisplayState::DisplayState::Off) {
        setStateAndSetupLockTimer();
    } else if (monoTime.tv_sec && lockingDelay > 0) {
        struct timeval compareTime;
        tv_get_monotime(&compareTime);
        if (lockingDelay*60 < tv_diff_in_s(&compareTime, &monoTime)) {
            setState(Locked);
        }
        setupLockTimer();
    }
}