Codeblocks in a small way encourages bad project layout habits by its project tree layout, at least from the way I see. I think it is very sloppy to have the header and source in the same directory, you should have parallel trees for header and source files. If you go one step better you should have a third parallel directory that is just tests for each of your packages.
In short if you structure you source like below:
project_root/includes/package1/
project_root/includes/package2/
project_root/source/package1/
project_root/source/package2/
You will have a double deep directory in your project tree, Source->source->package1 and Headers->includes->package1. This has been talked about many times, but until someone sits down and rewrites the 4000 line project tree management code we aren't getting virtual directories.