For the first, "disconnect(sPI, sWID)", just do:
connect(x, SIGNAL(removed(int,int,int,int)), y, SLOT(disconnect(int,int)));
The third and forth argument will just be ignored and disconnect will be called with the first two.
The second connect, "disconnect(ePI, eWID)" is not possible. You'd need an intermediate slot connected to removed():
Declaration:
Q_SLOTS:
void somethingRemoved(int, int, int, int);
Definition:
void Foobar::somethingRemoved(int sPI, int sWID, int ePI, int eWID) {
disconnect(sPI, sWID);
disconnect(ePI, eWID);
}
Connect:
connect(x, SIGNAL(removed(int,int,int,int)), foobar, SLOT(somethingRemoved(int,int,int,int)));