1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
#!/usr/bin/perl
# Laurent Montel <montel@kde.org> 2006 GPL
# Reinhold Kainhofer <reinhold@kainhofer.com> 2006 GPL
#
# Port the QT3_SUPPORT QLabel constructors to the Qt3 constructors.
#
use File::Basename;
use lib dirname( $0 );
use functionUtilkde;
use strict;
open(my $F, "-|", qw(find [ac-z]* -type f));
my $file;
while ($file = <$F>) {
next if $file =~ /\.svn/;
chomp $file;
next if functionUtilkde::excludeFile( $file);
my $modified;
my @necessaryIncludes = ();
open(my $FILE, "<", $file) or warn "We can't open file $file:$!\n";
my @l = map {
my $orig = $_;
my ($spaces, $trailer, $object, $call, $ws, $params );
if ( ($spaces, $trailer, $object, $call, $ws, $params ) = m!^(\s*)(.*[\s\*]|)([a-zA-Z0-9_]+)(\s*=\s*new QLabel\s*)\((\s*)(.*[^\s])\s*\);$! ) {
print "Spaces: '$spaces', Trailer: '$trailer', Object: '$object', Call: '$call', WS: '$ws', Params: '$params'\n";
my @parms = split( /,\s*/, $params );
my $pws = $ws;
my $buddy, my $text, my $parent, my $name, my $flags;
print "Case ";
if ( $parms[0] =~ m/i18n\(.*/ ) {
print "1";
$text=$parms[0];
$parent=$parms[1];
$name=$parms[2] if scalar(@parms)>2;
$flags=$parms[3] if scalar(@parms)>3;
$pws=' ';
} elsif ( scalar(@parms) == 5 ) {
($buddy, $text, $parent, $name, $flags) = @parms;
print "2";
} elsif (scalar(@parms) == 4 ) {
if ( $parms[3]=~m/Qt::/ ){
($text, $parent, $name, $flags) = @parms;
} else {
($buddy, $text, $parent, $name) = @parms;
}
print "3";
} elsif (scalar(@parms) == 3) {
if ( $parms[2]=~m/Qt::/ ){
($parent, $name, $flags) = @parms;
} elsif ( $parms[2]=~m/^".*"$/ ) {
($text, $parent, $name) = @parms;
} else {
($buddy, $text, $parent) = @parms;
}
print "4";
} elsif (scalar(@parms) == 2) {
if ( $parms[1] =~ m/this/ ) {
($text, $parent) = @parms;
} elsif ( $parms[1] =~ m/^".*"$/ ) {
($parent, $name) = @parms;
} else {
($buddy, $text) = @parms;
}
print "5";
} elsif ( scalar(@parms) == 1 ) {
$parent = $parms[0];
print "6";
}
print "\n";
$_ = "$spaces$trailer$object$call(";
my $p="";
$p.= "$text" if ( defined($text) );
if ( defined($parent) ) {
$p.= ",$pws" if ( defined($text) );
$p.= "$parent";
if ( defined($flags) ) {
$p.=",$ws$flags";
}
}
if (defined($p)) { $_.="$ws$p$ws"; }
$_.=");\n";
if ( defined($name) ) {
$_.="$spaces$object->setObjectName($ws$name$ws);\n";
}
if ( defined($buddy) ) {
$_.="$spaces$object->setBuddy($ws$buddy$ws);\n";
}
print "ORIG: $orig";
print "NEW: $_";
# print "Original call: $call($ws$params$ws)\n";
print "Buddy: $buddy, Text: $text, Parent: $parent, Name: $name, Flags: $flags\n";
# QT4 API:
# QLabel ( QWidget * parent = 0, Qt::WFlags f = 0 )
# QLabel ( const QString & text, QWidget * parent = 0, Qt::WFlags f = 0 )
#
#
# DEPRECATED:
# QLabel ( QWidget * parent, const char * name, Qt::WFlags f = 0 )
# QLabel ( const QString & text, QWidget * parent, const char * name, Qt::WFlags f = 0 )
# QLabel ( QWidget * buddy, const QString & text, QWidget * parent = 0, const char * name = 0, Qt::WFlags f = 0 )
}
$modified ||= $orig ne $_;
$_;
} <$FILE>;
if ($modified) {
print "Modified: $file\n";
open (my $OUT, ">", $file);
print $OUT @l;
close $OUT;
}
}
functionUtilkde::diffFile( <$F> );
|