#!/bin/bash

find ./ -type f -iname "*.c*" -exec sed -i 's/^Q\([ABCDEFGHIJKLMNOPQRSTUVWXYZ]\)\([_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]\)/TQ\1\2/g' {} \;
find ./ -type f -iname "*.h*" -exec sed -i 's/^Q\([ABCDEFGHIJKLMNOPQRSTUVWXYZ]\)\([_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]\)/TQ\1\2/g' {} \;
find ./ -type f -iname "*.ui*" -exec sed -i 's/^Q\([ABCDEFGHIJKLMNOPQRSTUVWXYZ]\)\([_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]\)/TQ\1\2/g' {} \;

find ./ -type f -iname "*.c*" -exec sed -i 's/\([^_]\)Q\([ABCDEFGHIJKLMNOPQRSTUVWXYZ]\)\([_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]\)/\1TQ\2\3/g' {} \;
find ./ -type f -iname "*.h*" -exec sed -i 's/\([^_]\)Q\([ABCDEFGHIJKLMNOPQRSTUVWXYZ]\)\([_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]\)/\1TQ\2\3/g' {} \;
find ./ -type f -iname "*.ui*" -exec sed -i 's/\([^_]\)Q\([ABCDEFGHIJKLMNOPQRSTUVWXYZ]\)\([_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]\)/\1TQ\2\3/g' {} \;

find ./ -type f -iname "*.c*" -exec sed -i 's/Qt/TQt/g' {} \;
find ./ -type f -iname "*.h*" -exec sed -i 's/Qt/TQt/g' {} \;
find ./ -type f -iname "*.ui*" -exec sed -i 's/Qt/TQt/g' {} \;

find ./ -type f -iname "*.h*" -exec sed -i 's/TTQ/TQ/g' {} \;
find ./ -type f -iname "*.h*" -exec sed -i 's/TTQ/TQ/g' {} \;
find ./ -type f -iname "*.h*" -exec sed -i 's/TTQ/TQ/g' {} \;
find ./ -type f -iname "*.h*" -exec sed -i 's/TTQ/TQ/g' {} \;
find ./ -type f -iname "*.c*" -exec sed -i 's/TTQ/TQ/g' {} \;
find ./ -type f -iname "*.c*" -exec sed -i 's/TTQ/TQ/g' {} \;
find ./ -type f -iname "*.c*" -exec sed -i 's/TTQ/TQ/g' {} \;
find ./ -type f -iname "*.c*" -exec sed -i 's/TTQ/TQ/g' {} \;
find ./ -type f -iname "*.ui*" -exec sed -i 's/TTQ/TQ/g' {} \;
find ./ -type f -iname "*.ui*" -exec sed -i 's/TTQ/TQ/g' {} \;
find ./ -type f -iname "*.ui*" -exec sed -i 's/TTQ/TQ/g' {} \;
find ./ -type f -iname "*.ui*" -exec sed -i 's/TTQ/TQ/g' {} \;

sed -i 's/^Q\([ABCDEFGHIJKLMNOPQRSTUVWXYZ]\)\([_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]\)/TQ\1\2/g' src/moc/moc.l
sed -i 's/^Q\([ABCDEFGHIJKLMNOPQRSTUVWXYZ]\)\([_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]\)/TQ\1\2/g' src/moc/moc.y
sed -i 's/\([^_]\)Q\([ABCDEFGHIJKLMNOPQRSTUVWXYZ]\)\([_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]\)/\1TQ\2\3/g' src/moc/moc.l
sed -i 's/\([^_]\)Q\([ABCDEFGHIJKLMNOPQRSTUVWXYZ]\)\([_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]\)/\1TQ\2\3/g' src/moc/moc.y
sed -i 's/Qt/TQt/g' src/moc/moc.l
sed -i 's/Qt/TQt/g' src/moc/moc.y
sed -i 's/TTQ/TQ/g' src/moc/moc.l
sed -i 's/TTQ/TQ/g' src/moc/moc.y
sed -i 's/TTQ/TQ/g' src/moc/moc.l
sed -i 's/TTQ/TQ/g' src/moc/moc.y
sed -i 's/TTQ/TQ/g' src/moc/moc.l
sed -i 's/TTQ/TQ/g' src/moc/moc.y
sed -i 's/TTQ/TQ/g' src/moc/moc.l
sed -i 's/TTQ/TQ/g' src/moc/moc.y

# Back out changes we did not want to make
find ./ -type f -iname "*" -exec sed -i 's/TQT_/QT_/g' {} \;
find ./ -type f -iname "*" -exec sed -i 's/TQMAKE/QMAKE/g' {} \;
find ./ -type f -iname "*" -exec sed -i 's/TQTDIR/QTDIR/g' {} \;
find ./ -type f -iname "*" -exec sed -i 's/OBLITQUE/OBLIQUE/g' {} \;
find ./ -type f -iname "*" -exec sed -i 's/ATQUA/AQUA/g' {} \;

find ./ -type f -iname "*" -exec sed -i 's/QUType_Q/QUType_TQ/g' {} \;
find ./ -type f -iname "*" -exec sed -i 's/\([ (]\)Q\#\#/\1TQ\#\#/g' {} \;
find ./ -type f -iname "*" -exec sed -i 's/STQL/SQL/g' {} \;

# Apply patches
patch -p0 < ../tqt3_fixups.diff

exit 0
