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

0001 #!/usr/bin/perl -w
0002 
0003 # Laurent Montel <montel@kde.org> (2014)
0004 # KAction -> QAction
0005 # find -iname "*.cpp" -o -iname "*.h"|xargs kde-dev-scripts/kf5/convert-kaction.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 %headersToAdd = ();
0015     my $modified;
0016     open(my $FILE, "<", $file) or warn "We can't open file $file:$!\n";
0017     my @l = map {
0018         my $orig = $_;
0019         s/\bnew KAction\b/new QAction/;
0020         s/\bKAction\s*\*/QAction \*/;
0021         s!KDE/KAction\b!QAction!;
0022         s!#include \<KAction\>!#include \<QAction\>!;
0023         s!#include \<kaction.h\>!#include \<QAction\>!;
0024         s!class KAction;!class QAction;!;
0025         if (/setHelpText\b/) {
0026            warn "$file: QAction doesn't support setHelpText, just reimplement it in your code see kaction.cpp\n";
0027         }
0028         if (/setShortcutConfigurable/) {
0029            warn "$file: QAction doesn't support directly setShortcutConfigurable, use KActionCollection::setShortcutsConfigurable(QAction *action, bool configurable)\n";
0030         }
0031         s/\bKAction\b/QAction/g;
0032 
0033         # While we're here...
0034         if (s/KAuthorized::authorizeUrlAction/KUrlAuthorized::authorizeUrlAction/g) {
0035             $headersToAdd{'kurlauthorized.h'} = 1;
0036         }
0037 
0038         $modified ||= $orig ne $_;
0039         $_;
0040     } <$FILE>;
0041 
0042     if ($modified) {
0043         open (my $OUT, ">", $file);
0044         print $OUT @l;
0045         close ($OUT);
0046         foreach my $include (keys %headersToAdd) {
0047             functionUtilkde::addIncludeInFile($file, $include);
0048         }
0049     }
0050 }
0051 
0052 functionUtilkde::diffFile( "@ARGV" );