I built commit a75c67364d3484147c0643baf535845ce72a50cc (on the master branch), dated Mon Oct 5 13:41:27 2015 +0200.
When I run bitcoind, I can specify -connect=127.0.0.1 and it turns off the -listen option automatically.
If I try the same with bitcoin-qt it doesn't.
qt/optionsmodel.cpp is running the following code to set -listen to its default value before any of the logic about -connect implying -listen=0 runs:
if (!SoftSetBoolArg("-listen", settings.value("fListen").toBool()))
addOverriddenOption("-listen");
Later, init.cpp runs:
if (SoftSetBoolArg("-listen", false))
LogPrintf("%s: parameter interaction: -connect set -> setting -listen=0\n", __func__);
but it's too late. SoftSetBoolArg will only change the value of the setting once, and optionsmodel.cpp has already set it.