Looks good except that m_detectingNetworkConnection needs to be set to false here, otherwise the timeout timer will still fire and emit the unavailable signal after 5 minutes.

The timer could just be stopped instead.