Warning, file /sdk/kde-dev-scripts/kf5/convert-ktemporaryfile.pl was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 #!/usr/bin/perl -w 0002 0003 # Laurent Montel <montel@kde.org> (2014) 0004 # KTemporaryFile->QTemporaryFile 0005 # find -iname "*.cpp" -o -iname "*.h" |xargs kde-dev-scripts/kf5/convert-ktemporaryfile.pl 0006 0007 use strict; 0008 use File::Basename; 0009 use lib dirname($0); 0010 use functionUtilkde; 0011 0012 foreach my $file (@ARGV) { 0013 0014 my $modified; 0015 open(my $FILE, "<", $file) or warn "We can't open file $file:$!\n"; 0016 my %varname = (); 0017 my %finalized_called = (); 0018 my @l = map { 0019 my $orig = $_; 0020 0021 my $regexpKMenuLocal = qr/ 0022 ^(\s*) # (1) Indentation 0023 KTemporaryFile\s+ 0024 (\w+) # (2) variable name 0025 /x; # /x Enables extended whitespace mode 0026 if (my ($left, $var) = $_ =~ $regexpKMenuLocal) { 0027 $varname{$var} = 1; 0028 s/\bKTemporaryFile\b/QTemporaryFile/; 0029 } 0030 0031 my $regexp = qr/ 0032 ^(\s*) # (1) Indentation, possibly "Classname *" (the ? means non-greedy) 0033 (.*?) # (2) Possibly "Classname *" (the ? means non-greedy) 0034 (\w+) # (3) variable name 0035 \s*=\s* # assignment 0036 new\s+KTemporaryFile\s*\((.*)\) # (4) new KTemporaryFile(...,...,...,...); 0037 (.*)$ # (5) afterreg 0038 /x; # /x Enables extended whitespace mode 0039 if (my ($indent, $left, $var, $argument, $afterreg) = $_ =~ $regexp) { 0040 #warn "KTemporaryFile found \'$var\' \'$argument\'\n"; 0041 $varname{$var} = 1; 0042 s/\bKTemporaryFile\b/QTemporaryFile/; 0043 } 0044 0045 my $regexpKMenuFunction = qr/ 0046 (.*?) 0047 KTemporaryFile\s*\* 0048 (\w+) # (2) variable name 0049 /x; # /x Enables extended whitespace mode 0050 if (my ($left, $var) = $_ =~ $regexpKMenuFunction) { 0051 #warn "Found KTemporaryFile in function!!!! $var\n"; 0052 $varname{$var} = 1; 0053 s/\bKTemporaryFile\b/QTemporaryFile/; 0054 } 0055 0056 if (/(\w+)\.setPrefix\s*\((.*)\)/) { 0057 my $var = $1; 0058 if ( defined $varname{$var} ) { 0059 my $newContructor= $2 . "QLatin1String(\"/myapp_XXXXXX.txt\")"; 0060 warn "$file : KTemporaryFile uses setPrefix add '$newContructor'\n"; 0061 0062 $_ = "//code was $_"; 0063 $_ .= "//Add to constructor and adapt if necessary: $newContructor \n"; 0064 0065 } 0066 } 0067 0068 if (/(\w+)\->setPrefix\s*\((.*)\)/) { 0069 my $var = $1; 0070 if ( defined $varname{$var} ) { 0071 my $newContructor= $2 . "QLatin1String(\"/myapp_XXXXXX.txt\")"; 0072 warn "$file : KTemporaryFile uses setPrefix add '$newContructor'\n"; 0073 $_ = "//code was $_"; 0074 $_ .= "//Add to constructor and adapt if necessary: $newContructor \n"; 0075 } 0076 } 0077 if (/(\w+)\.setSuffix\s*\((.*)\)/) { 0078 my $var = $1; 0079 if ( defined $varname{$var} ) { 0080 my $newContructor= "QDir::tempPath() + QLatin1String(\"/myapp_XXXXXX\") + QLatin1String($2)"; 0081 warn "$file : KTemporaryFile uses setPrefix add '$newContructor'\n"; 0082 $_ = "//code was $_"; 0083 $_ .= "//Add to constructor and adapt if necessary: $newContructor \n"; 0084 } 0085 } 0086 0087 if (/(\w+)\->setSuffix\s*\((.*)\)/) { 0088 my $var = $1; 0089 if ( defined $varname{$var} ) { 0090 my $newContructor= "QDir::tempPath() + QLatin1String(\"/myapp_XXXXXX\") + QLatin1String($2)"; 0091 warn "$file :KTemporaryFile uses setPrefix add '$newContructor'\n"; 0092 $_ = "//code was $_"; 0093 $_ .= "//Add to constructor and adapt if necessary: $newContructor \n"; 0094 } 0095 } 0096 0097 0098 s/\bKTemporaryFile\b/QTemporaryFile/g; 0099 s/\<KTemporaryFile\b\>/\<QTemporaryFile>/ if (/#include/); 0100 s/\<ktemporaryfile.h\>/\<QTemporaryFile>/ if (/#include/); 0101 $modified ||= $orig ne $_; 0102 $_; 0103 } <$FILE>; 0104 0105 if ($modified) { 0106 open (my $OUT, ">", $file); 0107 print $OUT @l; 0108 close ($OUT); 0109 } 0110 } 0111 0112 functionUtilkde::diffFile( "@ARGV" );