You can disconnect() the same way you connect().
You can check the slot argument and return if it is not the one you want to handle in a given slot.
You can connect to the QNetworkReply's finished() signal and only get your slot invoked when that particular request finished.
You don't need global variables, just put the manager into a member of the class that has these methods or access the manager from the QNetworkReply object
Cheers,
_
Bookmarks