Issue #24237:disconnect warehouse signals during clear()

This doesn't look right. It's a response to https://github.com/garyhgohoos/qt-client/commit/fed0fa58c6601c9eb25b6395b445ae829e48b3ce#diff-547a0365f831e31f6cb81d510984a0f8R1850 for issue 23666 ( #358 ). The code might be less fragile with guards in these three slots rather than non-colocated `connect`/`disconnect` calls.