Use Qt signals/slots to communicate changes across objects
Signals can be connected at setup time and will be automatically
disconnected
when the object is destroyed guaranteeing they will never be fired unless
the
object is valid. This also moves object specific code out of KDiff3App.