Yeah, brains are active here
Maybe a stupidity, but why not let the C::B user to indicate the base directory for headers and the one for implementations. For example, in wxWidgets, it could be :
"[wxWidgets-base]\include" for .h
"[wxWidgets-base]\src" for .cpp
Then search recursively from the appropriated base and show dialog-box (for the user to choose) if there're several files with same filename. Of course, recursive search can be long, but only for big trees (so, big projects and/or libs).
-
EDIT : also, this recursive searching would be engaged only if .h and .cpp are not in the same directory (this to not slow down current behavior).