лучше написать 
if (direction.x() == 0 && direction.y() == 0){
    return;
}
...
позволяет отступ сэкономить для последующего кода