You said you're using QActions - just reconnect them to other slots depending on your current state.