File: convert-qlayoutparent.pl

package info (click to toggle)
kde-dev-scripts 4%3A18.08.0-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,496 kB
  • sloc: perl: 15,466; lisp: 5,627; sh: 4,157; python: 3,892; ruby: 2,158; makefile: 16; sed: 9
file content (39 lines) | stat: -rwxr-xr-x 1,234 bytes parent folder | download | duplicates (8)
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
#!/usr/bin/perl

# laurent Montel <montel@kde.org> 2006 GPL
# Reinhold Kainhofer <reinhold@kainhofer.com> 2006 GPL
#
# Call with a file and a line number to change (by grepping compile logs)

# NOTE: This script assumes that the QGridLayout and Q[HV]BoxLayout constructors
#       are already converted to the new API, except for the possible
#       QLayout*parent first argument. Use the convert-qgridlayout.pl and
#       convert-qboxlayout.pl scripts for this.

use File::Basename;
use lib dirname( $0 );
use functionUtilkde;
use strict;

my $file = $ARGV[0];
my $cline = $ARGV[1];

my $line = 0;

my $modified;
open(FILE, $file) or warn "We can't open file $file:$!\n";
while ( <FILE> )
{
   $line = $line + 1;
   if ($line == $cline) {
           my ($spaces, $trailer, $object, $call, $ws, $parent );
           if ( ($spaces, $trailer, $object, $call, $ws, $parent ) = m!^(\s*)(.*[\s\*]|)([a-zA-Z0-9]+)(\s*=\s*new Q[a-zA-Z0-9]*Layout[^(]*)\((\s*)(.*[^\s])\s*\);$! ) {
#print "Spaces: '$spaces', Trailer: '$trailer', Object: '$object', Call: '$call', WS: '$ws', Parent: '$parent'\n";
          $_  = "$spaces$trailer$object$call();\n";
          $_ .= "$spaces$parent->addItem($ws$object$ws);\n";
      }

   }
   print $_;
}