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

0001 #!/usr/bin/perl
0002 
0003 # laurent Montel <montel@kde.org> 2005,2006,2007 GPL
0004 # This function allows to adapt file to new KDE4 API
0005 
0006 use File::Basename;
0007 use lib dirname( $0 );
0008 use functionUtilkde;
0009 use strict;
0010 
0011 open(my $F, "-|", qw(find . -type f));
0012 my $file;
0013 my $warning;
0014 while ($file = <$F>) {
0015     chomp $file;
0016     next if functionUtilkde::excludeFile( $file);
0017 
0018     my $modified;
0019     my @necessaryIncludes = ();
0020     open(my $FILE, $file) or warn "We can't open file $file:$!\n";
0021     my @l = map {
0022     my $orig = $_;
0023     if (my ($prefix, $suite, $end) = /(.*)(addPage.*)\s*$/) {
0024         my $changes = $prefix;
0025         $changes =~ s!Q3Frame!QFrame!;
0026         $_ = $changes . $suite . $end . "\n";
0027     }
0028     if (my ($prefix, $suite, $end) = /(.*)(makeMainWidget.*)\s*$/) {
0029         my $changes = $prefix;
0030         $changes =~ s!Q3Frame!QFrame!;
0031         $_ = $changes . $suite . $end . "\n";
0032     }
0033     if (my ($prefix, $suite, $end) = /(.*)(plainPage.*)\s*$/) {
0034         my $changes = $prefix;
0035         $changes =~ s!Q3Frame!QFrame!;
0036         $_ = $changes . $suite . $end . "\n";
0037     }
0038     if (my ($prefix, $suite, $end) = /(.*)(KWin::info.*)\s*$/) {
0039         my $changes = $prefix;
0040         $changes =~ s!KWin::info!KWin::windowInfo!;
0041         $_ = $changes . $suite . $end . "\n";
0042     }
0043     if (my ($prefix, $suite, $end) = /(.*)(addVBoxPage.*)\s*$/) {
0044         my $changes = $prefix;
0045         $changes =~ s!Q3Frame!KVBox!;
0046         $changes =~ s!Q3VBox!KVBox!;
0047         $_ = $changes . $suite . $end . "\n";
0048     }
0049     if (my ($prefix, $suite, $end) = /(.*)(addHBoxPage.*)\s*$/) {
0050         my $changes = $prefix;
0051         $changes =~ s!Q3Frame!KHBox!;
0052         $changes =~ s!Q3HBox!KHBox!;
0053         $changes =~ s!QHBox!KHBox!;
0054         $_ = $changes . $suite . $end . "\n";
0055     }
0056     if (my ($prefix, $suite, $end) = /(.*)(makeVBoxMainWidget.*)\s*$/) {
0057         my $changes = $prefix;
0058         $changes =~ s!Q3Frame!KVBox!;
0059         $changes =~ s!Q3VBox!KVBox!;
0060         $changes =~ s!QVBox!KVBox!;
0061         $_ = $changes . $suite . $end . "\n";
0062     }
0063     if (my ($prefix, $suite, $end) = /(.*)(makeHBoxMainWidget.*)\s*$/) {
0064         my $changes = $prefix;
0065         $changes =~ s!Q3Frame!KHBox!;
0066         $changes =~ s!Q3HBox!KHBox!;
0067         $changes =~ s!QHBox!KHBox!;
0068         $_ = $changes . $suite . $end . "\n";
0069     }
0070     s!#include <kaccelmanager.h>!#include <kacceleratormanager.h>!;
0071     s!KStringHandler::matchFilename!KStringHandler::matchFileName!;
0072     if ( $_ =~ /KApplication::random/ ) {
0073         s!KApplication::random!KRandom::random!;
0074         push(@necessaryIncludes, "krandom.h");
0075     }
0076     if ( $_ =~ /kapp->random/ ) {
0077         s!kapp->random!KRandom::random!;
0078         push(@necessaryIncludes, "krandom.h");
0079     }
0080     if ( $_ =~ /\b(\w+(?:\.|->))htmlURL\(\)/ ) { # KUrl::htmlURL() had to disappear
0081         #$var=$1;
0082         #s/${var}htmlURL\(\)/Qt::escape(${var}prettyURL())/;
0083         #push(@necessaryIncludes, "QTextDocument");
0084     }
0085 
0086     if ( $_ =~ /Q3StyleSheet::mightBeRichText/ ) {
0087         s!Q3StyleSheet::mightBeRichText!Qt::mightBeRichText!;
0088         push(@necessaryIncludes, "QTextDocument")
0089     }
0090 
0091 
0092     if ( $_ =~ /KApplication::randomString/ ) {
0093         s!KApplication::randomString!KRandom::randomString!;
0094         push(@necessaryIncludes, "krandom.h");
0095     }
0096     if ( $_ =~ /kapp->randomString/ ) {
0097         s!kapp->randomString!KRandom::randomString!;
0098         push(@necessaryIncludes, "krandom.h");
0099     }
0100     s!kapp->propagateSessionManager!KWorkSpace::propagateSessionManager!;
0101     s!kapp->requestShutDown!KWorkSpace::requestShutDown!;
0102     s!KFindDialog::WholeWordsOnly!KFind::WholeWordsOnly!;
0103     s!KFindDialog::FromCursor!KFind::FromCursor!;
0104     s!KFindDialog::SelectedText!KFind::SelectedText!;
0105     s!KFindDialog::CaseSensitive!KFind::CaseSensitive!;
0106     s!KFindDialog::FindBackwards!KFind::FindBackwards!;
0107     s!KFindDialog::RegularExpression!KFind::RegularExpression!;
0108     s!KFindDialog::FindIncremental!KFind::FindIncremental!;
0109     s!KFindDialog::MinimumUserOption!KFind::MinimumUserOption!;
0110     s!kdatetbl.h!kdatetable.h!;
0111     s!KPopupMenu!KMenu!g;
0112     s!\benableButtonOK\b!enableButtonOk!g;
0113     s!\benableButtonSeparator\b!showButtonSeparator!;
0114     #TODO test it, perhaps remove all before isRestored (for example if( kapp-> isRestored())
0115     s!kapp->isRestored!kapp->isSessionRestored!;
0116     #add some standard version :)
0117     s!kapp.isRestored!kapp.isSessionRestored!;
0118     s!app.isRestored!app.isSessionRestored!;
0119     s!a.isRestored!a.isSessionRestored!;
0120 
0121     s!KCursor::arrowCursor\(\)!Qt::ArrowCursor!;
0122     s!KCursor::workingCursor\(\)!Qt::BusyCursor!;
0123     s!KCursor::waitCursor\(\)!Qt::WaitCursor!;
0124     s!KCursor::crossCursor\(\)!Qt::CrossCursor!;
0125     s!KCursor::handCursor\(\)!Qt::PointingHandCursor!;
0126     s!KCursor::blankCursor\(\)!Qt::BlankCursor!;
0127     s!KCursor::sizeVerCursor\(\)!Qt::SizeVerCursor!;
0128     s!KCursor::sizeHorCursor\(\)!Qt::SizeHorCursor!;
0129     s!KCursor::sizeBDiagCursor\(\)!Qt::SizeBDiagCursor!;
0130     s!KCursor::sizeFDiagCursor\(\)!Qt::SizeFDiagCursor!;
0131     s!KCursor::sizeAllCursor\(\)!Qt::SizeAllCursor!;
0132 
0133     s!#include <kuniqueapp.h>!#include <kuniqueapplication.h>!;
0134     s!#include <kapp.h>!#include <kapplication.h>!;
0135     s!#include <kstddirs.h>!#include <kstandarddirs.h>!;
0136     s!#include <kcodecs.h>!#include <kcodecs.h>!;
0137 
0138     s!#include <kwin.h>!#include <kwindowsystem.h>!;
0139     s!#include <kwinmodule.h>!#include <kwindowsystem.h>!;
0140     s!\bKWin\b!KWindowSystem!g;
0141     s!\bKWinModule\b!KWindowSystem!g;
0142 
0143     s!#include <ktempfile.h>!#include <ktemporaryfile.h>!;
0144     s!\bKTempFile\b!KTemporaryFile!g;
0145 
0146     s!kinstance.h!kcomponentdata.h!;
0147 
0148     #Remove this include
0149     s!#include <dcopobject.h>!!;
0150     s!#include <kactionclasses.h>!!;
0151     # kde3support
0152     s!#include <kstreamsocket.h>!#include <k3streamsocket.h>!;
0153     s!#include <ksocketbase.h>!#include <k3socketbase.h>!;
0154     s!#include <ksocketdevice.h>!#include <k3socketdevice.h>!;
0155     s!#include <ksocketaddress.h>!#include <k3socketaddress.h>!;
0156     s!#include <kactivelabel.h>!#include <k3activelabel.h>!;
0157     s!#include <kdockwidget.h>!#include <k3dockwidget.h>!;
0158     s!#include <kmdichildarea.h>!#include <k3mdichildarea.h>!;
0159     s!#include <kmdichildfrmcaption.h>!#include <k3mdichildfrmcaption.h>!;
0160     s!#include <kmdichildfrm.h>!#include <k3mdichildfrm.h>!;
0161     s!#include <kmdichildview.h>!#include <k3mdichildview.h>!;
0162     s!#include <kmdidefines.h>!#include <k3mdidefines.h>!;
0163     s!#include <kmdidockcontainer.h>!#include <k3mdidockcontainer.h>!;
0164     s!#include <kmdidocumentviewtabwidget.h>!#include <k3mdidocumentviewtabwidget.h>!;
0165     s!#include <kmdifocuslist.h>!#include <k3mdifocuslist.h>!;
0166     s!#include <kmdiguiclient.h>!#include <k3mdiguiclient.h>!;
0167     s!#include <kmdiiterator.h>!#include <k3mdiiterator.h>!;
0168     s!#include <kmdilistiterator.h>!#include <k3mdilistiterator.h>!;
0169     s!#include <kmdimainfrm.h>!#include <k3mdimainfrm.h>!;
0170     s!#include <kmdinulliterator.h>!#include <k3mdinulliterator.h>!;
0171     s!#include <kmditaskbar.h>!#include <k3mditaskbar.h>!;
0172     s!#include <kmditoolviewaccessor.h>!#include <k3mditoolviewaccessor.h>!;
0173     s!#include <kmdcodec.h>!#include <kcodecs.h>!;
0174     s!#include <kresolver.h>!#include <k3resolver.h>!;
0175     s!#include <ksocks.h>!#include <k3socks.h>!;
0176     s!#include <kbufferedsocket.h>!#include <k3bufferedsocket.h>!;
0177     s!#include <kserversocket.h>!include <k3serversocket.h>!;
0178     s!#include <kcommand.h>!#include <k3command.h>!;
0179     s!\bKCommand\b!K3Command!g;
0180     s!\bKNamedCommand\b!K3NamedCommand!g;
0181     s!\bKMacroCommand\b!K3MacroCommand!g;
0182     s!\bKCommandHistory\b!K3CommandHistory!g;
0183     s!\bKUndoRedoAction\b!K3UndoRedoAction!g;
0184     s!#include <kiconview.h>!#include <k3iconview.h>!;
0185     s!\bKIconViewItem\b!K3IconViewItem!g;
0186     s!\bKIconView\b!K3IconView!g;
0187     s!#include <klistview.h>!#include <k3listview.h>!;
0188     s!#include <klistviewsearchline.h>!#include <k3listviewsearchline.h>!;
0189     s!\bKListView\b!K3ListView!g;
0190     s!\bKListViewSearchLine\b!K3ListViewSearchLine!g;
0191     s!\bKListViewSearchLineWidget\b!K3ListViewSearchLineWidget!g;
0192     s!\bKListViewItem\b!K3ListViewItem!g;
0193     s!#include <kaboutapplication.h>!#include <k3aboutapplication.h>!;
0194     s!\bKAboutApplication\b!K3AboutApplication!g;
0195 
0196     s!\bKDockMainWindow\b!K3DockMainWindow!g;
0197     s!\bKDockWidget\b!K3DockWidget!g;
0198 
0199     s!KInstance::makeStandardCaption!KDialog::makeStandardCaption!g;
0200 
0201     s!\bDockMainWindow\b!DockMainWindow3!g;
0202 
0203     s!\bKStaticDeleter\b!K3StaticDeleter!g;
0204     s!#include <kstaticdeleter.h>!#include <k3staticdeleter.h>!;
0205 
0206     if ( /KColorDrag/ ) {
0207         s!#include <kcolordrag.h>!#include <k3colordrag.h>!;
0208         s!KColorDrag!K3ColorDrag!g;
0209         $warning = $warning . "K3ColorDrag used, might need to add \${KDE4_KDE3SUPPORT_LIBRARY} in target that contains $file\n";
0210     }
0211 
0212     if( /KURLDrag/ ) {
0213        s!#include <kurldrag.h>!#include <k3urldrag.h>!;
0214        s!KURLDrag!K3URLDrag!g;
0215        $warning = $warning . "K3URLDrag used, might need to add \${KDE4_KDE3SUPPORT_LIBRARY} in target that contains $file\n";
0216     }
0217     s!#include <kpassdlg.h>!#include <kpassworddialog.h>!;
0218 
0219     #If there is more than one argument add KGuiItem now I think that it will easy to fix it.
0220     s!setButtonOKText!setButtonOK!;
0221     s!setButtonApplyText!setButtonApply!;
0222     s!setButtonCancelText!setButtonCancel!;
0223 
0224     # remove deprecated header
0225     s!#include <kanimwidget.h>!#include <kanimatedbutton.h>!;
0226     s!#include <kcolordlg.h>!#include <kcolordialog.h>!;
0227     s!#include <kcolorbtn.h>!#include <kcolorbutton.h>!;
0228     s!#include <kdatepik.h>!#include <kdatepicker.h>!;
0229     s!#include <kdualcolorbtn.h>!#include <kdualcolorbutton.h>!;
0230     s!#include <kxmlgui.h>!#include <kxmlguifactory.h>!;
0231     s!#include <kstdaction.h>!#include <kstandardaction.h>!;
0232 
0233     # KUrl -> KUrl in all class names [but not in env vars, ifdefs, include guards etc.]
0234     s!KURLCompletion!KUrlCompletion!g;
0235     s!KURLCombo!KUrlCombo!g;
0236     s!KURLRequester!KUrlRequester!g;
0237     s!KURLPixmapProvider!KUrlPixmapProvider!g;
0238     s!KURLLabel!KUrlLabel!g;
0239     s!leftClickedURL!leftClickedUrl!;
0240     s!rightClickedURL!rightClickedUrl!;
0241     s!middleClickedURL!middleClickedUrl!;
0242     s!setKURL!setUrl!;
0243 
0244     #KUrl renames
0245     s!\bKURL\b!KUrl!g;
0246     s!\bhasSubURL\b!hasSubUrl!g;
0247     s!\bprettyURL\b!prettyUrl!g;
0248     s!\bpathOrURL\b!pathOrUrl!g;
0249     s!\bupURL\b!upUrl!g;
0250     s!\bfromPathOrURL\b!fromPathOrUrl!g;
0251     s!\bisRelativeURL\b!isRelativeUrl!g;
0252     s!\brelativeURL\b!relativeUrl!g;
0253 
0254     #KKeyNative
0255     s!KKeyNative::modX\(\s*KKey::SHIFT\s*\)!KKeyNative::modXShift\(\)!;
0256     s!KKeyNative::modX\(\s*KKey::CTRL\s*\)!KKeyNative::modXCtrl\(\)!;
0257     s!KKeyNative::modX\(\s*KKey::ALT\s*\)!KKeyNative::modXAlt\(\)!;
0258     s!KKeyNative::modX\(\s*KKey::ALT\s*\)!KKeyNative::modXAlt\(\)!;
0259     s!KKeyNative::modX\(\s*KKey::META\s*\)!KKeyNative::modXMeta\(\)!;
0260     s!KKeyNative::modX\(\s*KKey::WIN\s*\)!KKeyNative::modXWin\(\)!;
0261 
0262     # plasma changes:
0263     s!KPanelApplet::Normal!Plasma::Normal!;
0264     s!KPanelApplet::About!Plasma::About!;
0265     s!KPanelApplet::Help!Plasma::Help!;
0266     s!KPanelApplet::Preferences!Plasma::Preferences!;
0267     s!KPanelApplet::Stretch!Plasma::Stretch!;
0268     #s!include <kpanelapplet.h>!include <plasma/kpanelapplet.h>!;
0269     s!KPanelApplet::pLeft!Plasma::Left!;
0270     s!KPanelApplet::pRight!Plasma::Right!;
0271     s!KPanelApplet::pTop!Plasma::Top!;
0272     s!KPanelApplet::pBottom!Plasma::Bottom!;
0273     s!KPanelApplet::ReportBug!Plasma::ReportBug!;
0274 
0275 
0276     s!#include <kselect.h>!#include <kselector.h>!;
0277     s!#include "kselect.h"!#include "kselector.h"!;
0278 
0279     s!Q3ValueList\s*<\s*KMimeType::Ptr\s*>!KMimeType::List!;
0280     s!Q3ValueListIterator\s*<\s*KMimeType::Ptr\s*>!KMimeType::List::const_iterator!;
0281     s!Q3ValueList\s*<\s*KService::Ptr\s*>!KService::List!;
0282     s!Q3ValueListIterator\s*<\s*KService::Ptr\s*>!KService::List::const_iterator!;
0283 
0284     s!KStartupInfo::appStarted!KStartupInfo::appStarted!;
0285     s!KInputDialog::getText!KInputDialog::getText!;
0286     s!#include <kde_file.h>!#include <kde_file.h>!;
0287     s!#include <kpopupmenu.h>!#include <kmenu.h>!;
0288     #s!cancelPressed!cancelPressed!;
0289     #s!suggestNewNamePressed!suggestNewNamePressed!;
0290     #s!renamePressed!renamePressed!;
0291     #s!skipPressed!skipPressed!;
0292     #s!autoSkipPressed!autoSkipPressed!;
0293     #s!overwritePressed!overwritePressed!;
0294     #s!overwriteAllPressed!overwriteAllPressed!;
0295     #s!resumePressed!resumePressed!;
0296     #s!resumeAllPressed!resumeAllPressed!;
0297     s!KLocale::setMainCatalogue!KLocale::setMainCatalog!;
0298     s!KGlobal::locale\(\)->insertCatalogue!KGlobal::locale\(\)->insertCatalog!;
0299     s!KGlobal::locale\(\)->setMainCatalogue!KGlobal::locale\(\)->setMainCatalog!;
0300 
0301     s!KLocale::removeCatalogue!KLocale::removeCatalog!;
0302     s!KGlobal::locale\(\)->removeCatalogue!KGlobal::locale\(\)->removeCatalog!;
0303     s!KGlobal::locale\(\)->removeCatalogue!KGlobal::locale\(\)->removeCatalog!;
0304 
0305     s!KLocale::setActiveCatalogue!KLocale::setActiveCatalog!;
0306     s!KGlobal::locale\(\)->setActiveCatalogue!KGlobal::locale\(\)->setActiveCatalog!;
0307     s!KGlobal::iconLoader!KIconLoader::global!;
0308     s!KGlobal::instance\(\)->iconLoader!KIconLoader::global!;
0309     s!KIconLoader::global\s*\(\)->loadIconSet\s*\(\s*"(.+?)"\s*,\s*KIcon::Small\s*\)!KIcon("$1")!;
0310 
0311     s!locateLocal!KStandardDirs::locateLocal! unless (/KStandardDirs::locateLocal/);
0312 
0313     s!KIcon::NoGroup!KIconLoader::NoGroup!g;
0314     s!KIcon::DefaultState!KIconLoader::DefaultState!g;
0315 
0316     s!KIcon::Desktop!KIconLoader::Desktop!g;
0317     s!KIcon::Toolbar!KIconLoader::Toolbar!g;
0318     s!KIcon::Panel!KIconLoader::Panel!g;
0319     s!KIcon::Dialog!KIconLoader::Dialog!g;
0320 
0321     s!KIcon::SizeMedium!KIconLoader::SizeMedium!g;
0322     s!KIcon::SizeSmall!KIconLoader::SizeSmall!g;
0323     s!KIcon::SizeLarge!KIconLoader::SizeLarge!g;
0324     s!KIcon::SizeSmallMedium!KIconLoader::SizeSmallMedium!g;
0325     s!KIcon::SizeHuge!KIconLoader::SizeHuge!g;
0326     s!KIcon::SizeEnormous!KIconLoader::SizeEnormous!g;
0327 
0328 
0329     if ( /KApplication::ShutdownType|KApplication::ShutdownTypeHalt|KApplication::ShutdownMode|KApplication::ShutdownTypeReboot|KApplication::ShutdownTypeNone/ ) {
0330         push(@necessaryIncludes, "kworkspace.h");
0331     }
0332     s!KApplication::ShutdownTypeHalt!KWorkSpace::ShutdownTypeHalt!;
0333     s!KApplication::ShutdownTypeReboot!KWorkSpace::ShutdownTypeReboot!;
0334     s!KApplication::ShutdownTypeNone!KWorkSpace::ShutdownTypeNone!;
0335     s!KApplication::ShutdownType!KWorkSpace::ShutdownType!;
0336     s!KApplication::ShutdownMode!KWorkSpace::ShutdownMode!;
0337     s!([, (])KMAX\(!\1qMax\(!g;
0338     s!([, (])KMIN\(!\1qMin\(!g;
0339     s!([, (])kMin\(!\1qMin\(!g;
0340     s!([, (])kMax\(!\1qMax\(!g;
0341     s!([, (])kAbs\(!\1qAbs\(!g;
0342     # never add kClamp here! it's no easy search & replace there
0343 
0344     s!KApplication::addCmdLineOptions!KCmdLineArgs::addStdCmdLineOptions!;
0345 
0346     if (/kdDebug/ || /kdWarning/ || /kdError/ || /kdFatal/) {
0347         s!kdDebug!kDebug!g;
0348         s!kdWarning!kWarning!g;
0349         s!kdError!kError!g;
0350         s!kdFatal!kFatal!g;
0351         s/\s*<< endl//;
0352     }
0353     s!kdBacktrace!kBacktrace!g;
0354     s!kdClearDebugConfig!kClearDebugConfig!g;
0355     s!kndDebug!kDebugDevNull!g;
0356 
0357     s!\bKStdAction\b!KStandardAction!g;
0358     s!\bKStdGuiItem\b!KStandardGuiItem!g;
0359     s!\bKStandardGuiItem::StdItem\b!KStandardGuiItem::StandardItem!g;
0360     s!\bKStdAccel\b!KStandardShortcut!g;
0361     s!\bKStandardShortcut::StdAccel\b!KStandardShortcut::StandardShortcut!g;
0362     s!\bKStandardShortcut::findStdAccel\b!KStandardShortcut::findStandardShortcut!g;
0363     s!\bKTimezone\b!KTimeZone!g;
0364 
0365     s!\bKTimezones\b!KTimeZones!g;
0366 
0367     s!\bKTimezoneData\b!KTimeZoneData!g;
0368 
0369     s!\bKTimezoneSource\b!KTimeZoneSource!g;
0370 
0371     s!\bKActiveLabel\b!K3ActiveLabel!g;
0372     s!\bKWidgetAction\b!K3WidgetAction!g;
0373     s!\bKEditToolbar\b!KEditToolBar!g;
0374     s!\bKEditToolbarWidget\b!KEditToolBarWidget!g;
0375 
0376     s!\bKListBox\b!K3ListBox!g;
0377     s!klistbox.h!k3listbox.h!;
0378 
0379     s!KImageIO::registerFormats\s*\(\s*\);!!;
0380 
0381     s!#include <kpixmapeffect.h>!!;
0382     
0383     s!#include <ktoolbarbutton.h>!!g;
0384     s!\baddURL\b!addUrl!g;
0385 
0386     s!kapp->makeStdCaption!KInstance::makeStandardCaption!;
0387     s!kapp->caption!KInstance::caption!;
0388 
0389     s!\bsetEnableSounds\b!setSoundsEnabled!;
0390     s!\bisSoundsEnabled\b!soundsEnabled!;
0391     s!\bsetEnableSqueezedText\b!setSqueezedTextEnabled!;
0392     s!\bisSqueezedTextEnabled\b!squeezedTextEnabled!;
0393     s!\bsetEnableContextMenu\b!setContextMenuEnabled!;
0394 
0395     s!\bKProcess\b!K3Process!g;
0396     s!\bKProcIO\b!K3ProcIO!g;
0397     s!\bKShellProcess\b!K3ShellProcess!g;
0398     s!#include <kprocio.h>!#include <k3procio.h>!;
0399     s!#include <kprocess.h>!#include <k3process.h>!;
0400 
0401     s!#include <kfiletreeview.h>!#include <k3filetreeview.h>!;
0402     s!#include "kfiletreeview.h"!#include "k3filetreeview.h"!;
0403     s!KFileTreeView!K3FileTreeView!g;
0404     s!#include <kfileiconview.h>!#include <k3fileiconview.h>!;
0405     s!#include "kfileiconview.h"!#include "k3fileiconview.h"!;
0406     s!KFileIconViewItem!K3FileIconViewItem!g;
0407     s!KFileIconView!K3FileIconView!g;
0408 
0409 #    s!#include <kfiledetailview.h>!#include <k3filedetailview.h>!;
0410 #    s!#include "kfiledetailview.h"!#include "k3filedetailview.h"!;
0411 
0412     s!KFileListViewItem!K3FileListViewItem!g;
0413     s!KFileDetailView!K3FileDetailView!g;
0414     s!#include <kfiletreeview.h>!#include <k3filetreeview.h>!;
0415     s!#include "kfiletreeview.h"!#include "k3filetreeview.h"!;
0416     s!KFileTreeView!K3FileTreeView!g;
0417     s!#include <klistbox.h>!#include <k3listbox.h>!;
0418     s!#include "klistbox.h"!#include "k3listbox.h"!;
0419     s!KListBox!K3ListBox!g;
0420     s!#include <kcompletionbox.h>!#include <k3completionbox.h>!;
0421     s!#include "kcompletionbox.h"!#include "k3completionbox.h"!;
0422     s!KCompletionBox!K3CompletionBox!g;
0423     s!#include <kfiletreeviewitem.h>!#include <k3filetreeviewitem.h>!;
0424     s!#include "kfiletreeviewitem.h"!#include "k3filetreeviewitem.h"!;
0425     s!currentK3FileTreeViewItem!currentKFileTreeViewItem!g;
0426 
0427 
0428     s!\bKHistoryCombo\b!KHistoryComboBox!g;
0429 
0430     s!\bKButtonBox\b!K3ButtonBox!g;
0431     s!#include <kbuttonbox.h>!#include <k3buttonbox.h>!;
0432     
0433     s!\bKDiskFreeSp\b!KDiskFreeSpace!g;
0434     s!#include <kdiskfreesp.h>!#include <kdiskfreespace.h>!;
0435 
0436     s!\btwoAlphaToLanguageName\b!languageCodeToName!;
0437 
0438     s!#include <kprogress.h>!#include <kprogressdialog.h>!;
0439 
0440     s!#include <klineeditdlg.h>\n!!;
0441 
0442     if ( /K3Process::quote/ ) {
0443        s!\bK3Process::quote\b!KShell::quoteArg!g;
0444        push(@necessaryIncludes, "kshell.h");
0445     }
0446     if ( /KKeyDialog::configure/ ) {
0447         s!\bKKeyDialog::configure\b!KShortcutsDialog::configure!;
0448     push(@necessaryIncludes, "KShortcutsDialog");
0449     }
0450     if ( /kapp->authorizeKAction/ ) {
0451         s!kapp->authorizeKAction!KAuthorized::authorizeKAction!;
0452         push(@necessaryIncludes, "kauthorized.h");
0453     }
0454     if ( /kapp->authorize/ ) {
0455         s!kapp->authorize!KAuthorized::authorizeKAction!;
0456         push(@necessaryIncludes, "kauthorized.h");
0457     }
0458     if ( /KApplication::startServiceByDesktopName/ ) {
0459         s!KApplication::startServiceByDesktopName!KToolInvocation::startServiceByDesktopName!;
0460         push(@necessaryIncludes, "ktoolinvocation.h");
0461     }
0462     if ( /kapp->startServiceByDesktopName/ ) {
0463         s!kapp->startServiceByDesktopName!KToolInvocation::startServiceByDesktopName!;
0464         push(@necessaryIncludes, "ktoolinvocation.h");
0465     }
0466     if ( /kapp->startServiceByDesktopPath/ ) {
0467         s!kapp->startServiceByDesktopPath!KToolInvocation::startServiceByDesktopPath!;
0468         push(@necessaryIncludes, "ktoolinvocation.h");
0469     }
0470     if ( /KApplication::startServiceByDesktopPath/ ) {
0471         s!KApplication::startServiceByDesktopPath!KToolInvocation::startServiceByDesktopPath!;
0472         push(@necessaryIncludes, "ktoolinvocation.h");
0473     }
0474 
0475     if ( /kapp->kdeinitExec/ ) {
0476         s!kapp->kdeinitExec!KToolInvocation::kdeinitExec!;
0477         push(@necessaryIncludes, "ktoolinvocation.h");
0478     }
0479     if ( /KApplication::kdeinitExec/ ) {
0480         s!KApplication::kdeinitExec!KToolInvocation::kdeinitExec!;
0481         push(@necessaryIncludes, "ktoolinvocation.h");
0482     }
0483     if ( /kapp->invokeHelp/ ) {
0484         s!kapp->invokeHelp!KToolInvocation::invokeHelp!;
0485         push(@necessaryIncludes, "ktoolinvocation.h");
0486     }
0487     if ( /KApplication::kApplication\s*\(\s*\)->invokeHelp/ ) {
0488         s!KApplication::kApplication\s*\(\s*\)->invokeHelp!KToolInvocation::invokeHelp!;
0489         push(@necessaryIncludes, "ktoolinvocation.h");
0490     }
0491     if ( /KApplication::kApplication\s*\(\s*\)->invokeMailer/ ) {
0492         s!KApplication::kApplication\s*\(\s*\)->invokeMailer!KToolInvocation::invokeMailer!;
0493         push(@necessaryIncludes, "ktoolinvocation.h");
0494     }
0495     if ( /kapp->invokeMailer/ ) {
0496         s!kapp->invokeMailer!KToolInvocation::invokeMailer!;
0497         push(@necessaryIncludes, "ktoolinvocation.h");
0498     }
0499     if ( /kapp->invokeBrowser/ ) {
0500         s!kapp->invokeBrowser!KToolInvocation::invokeBrowser!;
0501         push(@necessaryIncludes, "ktoolinvocation.h");
0502     }
0503     if ( /kapp->kdeinitExecWait/ ) {
0504         s!kapp->kdeinitExecWait!KToolInvocation::kdeinitExecWait!;
0505         push(@necessaryIncludes, "ktoolinvocation.h");
0506     }
0507     if ( /KApplication::startServiceByDesktopPath/ ) {
0508         s!KApplication::startServiceByDesktopPath!KToolInvocation::startServiceByDesktopPath!;
0509         push(@necessaryIncludes, "ktoolinvocation.h");
0510     }
0511     if ( /KApplication::startServiceByName/ ) {
0512         s!KApplication::startServiceByName!KToolInvocation::startServiceByName!;
0513         push(@necessaryIncludes, "ktoolinvocation.h");
0514     }
0515     if ( /kapp->startServiceByName/ ) {
0516         s!kapp->startServiceByName!KToolInvocation::startServiceByName!;
0517         push(@necessaryIncludes, "ktoolinvocation.h");
0518     }
0519     if ( /kapp->config/ ) {
0520         s!kapp->config!KGlobal::config!;
0521         push(@necessaryIncludes, "kglobal.h");
0522     }
0523     if ( /kapp->miniIcon/ ) {
0524         s!kapp->miniIcon\s*\(\s*\)!qApp->windowIcon().pixmap(IconSize(KIconLoader::Small),IconSize(KIconLoader::Small))!;
0525         push(@necessaryIncludes, "kiconloader.h");
0526     }
0527 
0528     if ( /kapp->icon/ ) {
0529     s!kapp->icon\s*\(\s*\)!qApp->windowIcon().pixmap(IconSize(KIconLoader::Desktop),IconSize(KIconLoader::Desktop))!;
0530     push(@necessaryIncludes, "kiconloader.h");
0531     }
0532     if ( /app.icon/ ) {
0533     s!app.icon\s*\(\s*\)!qApp.windowIcon().pixmap(IconSize(KIconLoader::Desktop),IconSize(KIconLoader::Desktop))!;
0534     push(@necessaryIncludes, "kiconloader.h");
0535     }
0536 
0537     if ( /new KRun/ ) {
0538         $warning = $warning . "new KRun in $file - might need to add parent argument\n";
0539     }
0540     s!KParts::ComponentFactory::createInstanceFromLibrary!KLibLoader::createInstance!;
0541     if ( /kapp->getDisplay/ ) {
0542         s!kapp->getDisplay\s*\(\s*\)!QX11Info::display()!;
0543         push(@necessaryIncludes, "QX11Info");
0544     }
0545     if ( /enableSounds/ ) {
0546         s!enableSounds\(\)!setEnableSounds\(true\)!;
0547     }
0548     if ( /disableSounds/ ) {
0549         s!disableSounds\(\)!setEnableSounds\(false\)!;
0550     }
0551     if ( /KSeparator/ ) {
0552         s!KSeparator::HLine!Qt::Horizontal!;
0553         s!KSeparator::VLine!Qt::Vertical!;
0554         s!Q3Frame::HLine!Qt::Horizontal!;
0555         s!Q3Frame::VLine!Qt::Vertical!;
0556     }
0557 
0558     my $valuereturn = functionUtilkde::removeObjectNameTwoArgument( $_, "KColorButton");
0559     if ( $valuereturn ) {
0560         $_ = $valuereturn;
0561     }
0562     my $valuereturn = functionUtilkde::removeObjectNameTwoArgument( $_, "KListView");
0563     if ( $valuereturn ) {
0564         $_ = $valuereturn;
0565     }
0566 
0567     my $valuereturn = functionUtilkde::removeObjectNameThreeArgument( $_, "KPushButton");
0568     if ( $valuereturn ) {
0569         $_ = $valuereturn;
0570 
0571     }
0572     my $valuereturn = functionUtilkde::removeObjectNameThreeArgument( $_, "KComboBox");
0573     if ( $valuereturn ) {
0574         $_ = $valuereturn;
0575 
0576     }
0577     my $valuereturn = functionUtilkde::removeObjectNameThreeArgument( $_, "KLineEdit");
0578     if ( $valuereturn ) {
0579         $_ = $valuereturn;
0580     }
0581 
0582 
0583     #if( /setStatusText/ ) {
0584     #   s!setStatusText!setToolTip!;
0585     #}
0586     if ( /kapp->geometryArgument/ ) {
0587         s!kapp->geometryArgument\s*\(\s*\);!QString geometry;\nKCmdLineArgs *args = KCmdLineArgs::parsedArgs("kde");\nif (args && args->isSet("geometry"))\ngeometry = args->getOption("geometry");\n!;
0588     }
0589     s!KFileDialog::getExistingUrl!KFileDialog::getExistingDirectoryUrl!;
0590     s!KFileMetaInfo::KiloBytes!KFileMimeTypeInfo::KibiBytes!;
0591     s!\bKFileDialog::getOpenURLs\b!KFileDialog::getOpenUrls!;
0592     s!\bKFileDialog::getOpenURL\b!KFileDialog::getOpenUrl!;
0593     s!KFileDialog::getImageOpenURL!KFileDialog::getImageOpenUrl!;
0594     s!KFileDialog::getSaveURL!KFileDialog::getSaveUrl!;
0595     s!KFileDialog::getExistingURL!KFileDialog::getExistingUrl!;
0596     s!KIO::convertSizeFromKB!KIO::convertSizeFromKiB!;
0597     s!KMimeType::iconForURL!KMimeType::iconNameForUrl!;
0598     s!KMimeType::findByURL!KMimeType::findByUrl!;
0599     s!const\s+KFileItem\s\*\s*!const KFileItem& !g if (/gotPreview/ || /slotGotPreview/ || /slotPreview/); # KIO::PreviewJob
0600 
0601     # KIO Job API changes
0602     s/, ?false, ?false/, KIO::HideProgressInfo/ if (/KIO::del/);
0603     s/, ?false, ?false/, KIO::NoReload, KIO::HideProgressInfo/ if (/KIO::get/ || /KIO::storedGet/);
0604     s/, ?true, ?false/, KIO::Reload, KIO::HideProgressInfo/ if (/KIO::get/ || /KIO::storedGet/);
0605     s/, ?false, ?true// if (/KIO::get/ || /KIO::storedGet/);
0606     s/, ?false/, KIO::HideProgressInfo/ if (/KIO::file_delete/ || /KIO::stat/);
0607     s/, ?false/, KIO::HideProgressInfo/ if (/KIO::special/ || /KIO::http_post/ || /KIO::rename/ || /KIO::move/);
0608     s/, ?true// if (/KIO::special/);
0609     s/, ?false, ?false/, KIO::HideProgressInfo, false/ if (/KIO::listDir/);
0610     s/, ?false, ?true/, KIO::HideProgressInfo, true/ if (/KIO::listDir/);
0611     s/, ?false, ?false, ?false/, KIO::HideProgressInfo/ if (/KIO::storedPut/);
0612     s/, ?true, ?false, ?false/, KIO::Overwrite | KIO::HideProgressInfo/ if (/KIO::file_copy/ || /KIO::file_move/);
0613     s/, ?true, ?false, ?true/, KIO::Overwrite/ if (/KIO::file_copy/ || /KIO::file_move/);
0614     s/, ?false, ?false, ?false/, KIO::HideProgressInfo/ if (/KIO::file_copy/ || /KIO::file_move/);
0615 
0616     $_="" if (/include <kipc.h>/);
0617     s/KIPC::sendMessageAll/KGlobalSettings::self()->emitChange/;
0618     s/KIPC::/KGlobalSettings::/;
0619     s/KApplication::SETTINGS_/KGlobalSettings::SETTINGS_/;
0620     s/KApplication::createApplicationPalette/KGlobalSettings::createApplicationPalette/;
0621 
0622     #KConfig changes
0623     s/\bentryIsImmutable\b/isEntryImmutable/g;
0624     s/\bgroupIsImmutable\b/isGroupImmutable/g;
0625     s/\bgetConfigState\b/accessMode/g;
0626     s/\bConfigState\b/AccessMode/g;
0627     s/\b(KConfigGroup|KConfig|KConfigBase)::NLS\b/\1::Localized/g;
0628     s/\bKConfig::OnlyLocal\b/KConfig::SimpleConfig/g;
0629     s/\breadPathEntry(\s*)\(([^,)]+?)(\s*)\)/readPathEntry\1(\2, QString()\3)/g;
0630     s/\breadPathListEntry(\s*)\(([^,)]+,[^,)]+)\)/readPathEntry\1(\2)/g;
0631     s/\breadPathListEntry(\s*)\(([^,)]+?)(\s*)\)/readPathEntry\1(\2, QStringList()\3)/g;
0632 
0633     #KNotify changes
0634     s!#include <knotifyclient.h>!#include <knotification.h>!;
0635     s!#include <knotifydialog.h>!#include <knotifyconfigwidget.h>!;
0636     s!KNotifyClient::event\((\s*winId\s*\(\s*\)\s*?)\,\s*\"(.*?)\"\s*\,\s*(.*?)\s*\);!KNotification::event\(QString::fromLatin1\(\"$2\"\), $3, QPixmap(), this\);!;
0637     s!KNotifyClient::event\(\s*([a-zA-Z0-9_]+?)\s*\->\s*winId\s*\(\s*\)\s*\,\s*\"(.*?)\"\s*\,\s*(.*?)\s*\);!KNotification::event\(QString::fromLatin1\(\"$2\"\), $3, QPixmap(), $1\);!;
0638     s!KNotifyClient::event!KNotification::event!;
0639     s!KNotifyDialog::configure!KNotifyConfigWidget::configure!;
0640 
0641     $modified ||= $orig ne $_;
0642     $_;
0643     } <$FILE>;
0644 
0645     if ($modified) {
0646         open (my $OUT, ">", $file);
0647         print $OUT @l;
0648     }
0649 
0650     my %alreadyadded = {};
0651     foreach my $inc (@necessaryIncludes) {
0652         next if (defined $alreadyadded{$inc});
0653         $alreadyadded{$inc} = 1;
0654         functionUtilkde::addIncludeInFile( $file, $inc );
0655     }
0656 }
0657 functionUtilkde::diffFile( <$F> );
0658 warn "Warning: $warning\n" if ($warning != "");