Could you split this slot into 3 different slots?  Ideally the signals would be more explicit about what's going on:

"requestAddDirectory", "requestRemoveDirectory", "requestRelocateDirectory"

That naming would be better because otherwise the signal suggests the action has already happened "dirsChanged". 

Also, you wouldn't have to use a separator character to join the paths together in the requestRelocateDirectory signal. You could just give it 2 arguments (source, dest).