Freeing disk space on Ubuntu to use in Windows

view story

http://askubuntu.com – I have 250Gb drive on a laptop, which has Windows 7 on a 122Gb ntfs partition (which has a "boot" flag on it) and Ubuntu 12.04.1 on a 110Gb extended partition, of which the root ext4 partition is 108Gb and the swap is 1.74Gb. You can see everything in the screenshot below. My question is: I want to diminish the size of the linux root partition and then use that space to increase the windows partition. How do I do that? Also, is it possible to increase the size of the swap partition and not do any damage? If so, how? I'm using GParted, and i'd say i'm pretty confident with it. Sc (HowTos)