File indexing completed on 2025-02-16 05:14:04
0001 #!/usr/bin/perl 0002 0003 # laurent Montel <montel@kde.org> 0004 # This function allows to adapt file to new kdelibs API 0005 0006 use File::Basename; 0007 use lib dirname( $0 ); 0008 use functionUtilkde; 0009 use strict; 0010 0011 0012 open(my $F, "-|", qw(find . -type f)); 0013 my $file; 0014 while ($file = <$F>) { 0015 chomp $file; 0016 next if functionUtilkde::excludeFile( $file); 0017 0018 my $modified; 0019 my $necessaryToAddInclude; 0020 my %convertHash = (); 0021 open(my $FILE, $file) or warn "We can't open file $$!\n"; 0022 my @l = map { 0023 my $orig = $_; 0024 if (my ($blank, $variable, $contenu) = m!^(\s*.*)(KConfigGroupSaver.*?\()(.*)\s*\);$!) { 0025 #warn "initial value for variable: '$variable'\n"; 0026 $variable =~ s!KConfigGroupSaver!!; 0027 $variable =~ s! !!g; 0028 $variable =~ s!\(!!; 0029 my $saver = $variable; 0030 $variable =~ s!groupSaver!configGroup!; 0031 $variable =~ s!saver!group!; 0032 $variable =~ s!Saver!Group!; 0033 $variable =~ s!cgs!configGroup!; 0034 0035 if( my ($firstelement, $groupname) = m!.*?\(\s*(.*),\s*(.*)\);\s*$!) { 0036 $_ =~ s!KConfigGroupSaver!KConfigGroup!g; 0037 $_ =~ s!$saver!$variable!; 0038 0039 # Two cases: 0040 # Value-based: KConfigGroupSaver(&config) and config.readEntry 0041 # Pointer-based: KConfigGroupSaver(config) and config->readEntry 0042 my $valueBased = 0; 0043 $valueBased = 1 if ( $firstelement =~ s!^\&!! ); 0044 0045 my $config = ($valueBased) ? "$firstelement\." : "$firstelement\->"; 0046 my $group = "$variable\."; 0047 0048 print "variable='$variable firstelement=$firstelement groupname=$groupname valueBased=$valueBased group=$group'\n"; 0049 0050 #create tab for function entry 0051 $convertHash{$config.'readEntry'} = $group.'readEntry'; 0052 $convertHash{$config.'writeEntry'} = $group.'writeEntry'; 0053 $convertHash{$config.'writePathEntry'} = $group.'writePathEntry'; 0054 $convertHash{$config.'deleteEntry'} = $group.'deleteEntry'; 0055 $convertHash{$config.'readBoolEntry'} = $group.'readBoolEntry'; 0056 $convertHash{$config.'readFontEntry'} = $group.'readFontEntry'; 0057 $convertHash{$config.'readRectEntry'} = $group.'readRectEntry'; 0058 $convertHash{$config.'readPointEntry'} = $group.'readPointEntry'; 0059 $convertHash{$config.'readListEntry'} = $group.'readListEntry'; 0060 $convertHash{$config.'readPathEntry'} = $group.'readPathEntry'; 0061 $convertHash{$config.'readPathListEntry'} = $group.'readPathListEntry'; 0062 $convertHash{$config.'readNumEntry'} = $group.'readNumEntry'; 0063 $convertHash{$config.'readSizeEntry'} = $group.'readSizeEntry'; 0064 $convertHash{$config.'readColorEntry'} = $group.'readColorEntry'; 0065 $convertHash{$config.'readDoubleNumEntry'} = $group.'readDoubleNumEntry'; 0066 $convertHash{$config.'readUnsignedNum64Entry'} = $group.'readUnsignedNum64Entry'; 0067 $convertHash{$config.'readLongNumEntry'} = $group.'readLongNumEntry'; 0068 $convertHash{$config.'readDateTimeEntry'} = $group.'readDateTimeEntry'; 0069 $convertHash{$config.'readEntryUntranslated'} = $group.'readEntryUntranslated'; 0070 $convertHash{$config.'entryIsImmutable'} = $group.'entryIsImmutable'; 0071 $convertHash{$config.'readUnsignedNumEntry'} = $group.'readUnsignedNumEntry'; 0072 $convertHash{$config.'hasKey'} = $group.'hasKey'; 0073 } 0074 0075 } 0076 $modified ||= $orig ne $_; 0077 $_; 0078 } <$FILE>; 0079 0080 if ($modified) { 0081 open (my $OUT, ">", $file); 0082 print $OUT @l; 0083 } 0084 if ($modified ) 0085 { 0086 local *F; 0087 open F, "+<", $file or do { print STDOUT "open($file) failed : \"$!\"\n"; next }; 0088 my $str = join '', <F>; 0089 0090 while ( my ($search, $replace) = each(%convertHash) ) 0091 { 0092 #warn "$search -> $replace\n"; 0093 $str =~ s!$search!$replace!g; 0094 } 0095 seek F, 0, 0; 0096 print F $str; 0097 truncate F, tell(F); 0098 close F; 0099 } 0100 } 0101 functionUtilkde::diffFile( <$F> );