File indexing completed on 2024-04-21 05:41:54

0001 #!/usr/bin/perl -w
0002 
0003 # Laurent Montel <montel@kde.org> (2014)
0004 # adapt KJob:: class
0005 # find -iname "*.cpp" -o -iname "*.h"|xargs kde-dev-scripts/kf5/convert-kjob.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 @l = map {
0017         my $orig = $_;
0018 #-    job->ui()->setWindow(mParent);
0019 #+    KJobWidgets::setWindow(job, mParent);
0020         my $regexp = qr/
0021                       ^(\s*)                  # (1) Indentation
0022                       (.*?)                   # (2) variable name
0023                       \->ui\(\)->setWindow\s*\( 
0024                       (.*[^\)])               # (3) arguments
0025                       (.*)$                   # (4) end
0026                       /x; # /x Enables extended whitespace mode
0027         if (my ($indent, $variable, $argument, $end) = $_ =~ $regexp) {
0028             $_ = $indent . "KJobWidgets::setWindow($2, $3" . $end;
0029         }
0030 
0031         $modified ||= $orig ne $_;
0032         $_;
0033     } <$FILE>;
0034 
0035     if ($modified) {
0036         open (my $OUT, ">", $file);
0037         print $OUT @l;
0038         close ($OUT);
0039         functionUtilkde::addIncludeInFile($file, "KJobWidgets/KJobWidgets");
0040     }
0041 }
0042 
0043 functionUtilkde::diffFile( "@ARGV" );