[DRE-commits] r2655 - in packages/libqt4-ruby/trunk/debian: . patches

fourmond at alioth.debian.org fourmond at alioth.debian.org
Mon Apr 14 23:21:35 UTC 2008


Author: fourmond
Date: 2008-04-14 23:21:34 +0000 (Mon, 14 Apr 2008)
New Revision: 2655

Removed:
   packages/libqt4-ruby/trunk/debian/dirs
Modified:
   packages/libqt4-ruby/trunk/debian/changelog
   packages/libqt4-ruby/trunk/debian/patches/05-kalyptus.dpatch
Log:
[libqt4-ruby] Pulling newer kalyptus from upstream SVN to fix FTBS with Qt 4.4

Modified: packages/libqt4-ruby/trunk/debian/changelog
===================================================================
--- packages/libqt4-ruby/trunk/debian/changelog	2008-04-09 19:56:52 UTC (rev 2654)
+++ packages/libqt4-ruby/trunk/debian/changelog	2008-04-14 23:21:34 UTC (rev 2655)
@@ -1,8 +1,12 @@
-libqt4-ruby (1.4.9-10) UNRELEASED; urgency=low
+libqt4-ruby (1.4.9-10) unstable; urgency=medium
 
-  * NOT RELEASED YET
+  * Pulling newer kalyptus/kalyptusCxxToSmoke.pm, thereby fixing
+    the include problem for qsslconfiguration.h (Closes: 475986)
+    (05-kalyptus updated)
+  * Remove debian/dirs to make lintian happier
+  * Urgency medium to fix RC bug in testing
 
- -- Paul van Tilburg <paulvt at debian.org>  Sat, 05 Apr 2008 22:27:17 +0200
+ -- Vincent Fourmond <fourmond at debian.org>  Tue, 15 Apr 2008 01:10:41 +0200
 
 libqt4-ruby (1.4.9-9) unstable; urgency=medium
 

Deleted: packages/libqt4-ruby/trunk/debian/dirs
===================================================================
--- packages/libqt4-ruby/trunk/debian/dirs	2008-04-09 19:56:52 UTC (rev 2654)
+++ packages/libqt4-ruby/trunk/debian/dirs	2008-04-14 23:21:34 UTC (rev 2655)
@@ -1,2 +0,0 @@
-usr/bin
-usr/sbin

Modified: packages/libqt4-ruby/trunk/debian/patches/05-kalyptus.dpatch
===================================================================
--- packages/libqt4-ruby/trunk/debian/patches/05-kalyptus.dpatch	2008-04-09 19:56:52 UTC (rev 2654)
+++ packages/libqt4-ruby/trunk/debian/patches/05-kalyptus.dpatch	2008-04-14 23:21:34 UTC (rev 2655)
@@ -6,7 +6,7 @@
 @DPATCH@
 diff -urNad libqt4-ruby-1.4.9~/kalyptus/kalyptus libqt4-ruby-1.4.9/kalyptus/kalyptus
 --- libqt4-ruby-1.4.9~/kalyptus/kalyptus	2007-06-02 19:15:00.000000000 +0200
-+++ libqt4-ruby-1.4.9/kalyptus/kalyptus	2008-03-10 21:26:59.000000000 +0100
++++ libqt4-ruby-1.4.9/kalyptus/kalyptus	2008-04-15 00:51:05.000000000 +0200
 @@ -2,7 +2,7 @@
  
  # KDOC -- C++ and CORBA IDL interface documentation tool.
@@ -165,8 +165,19 @@
  		if ( $cNode->{astNodeName} eq "--" ) {
  			# structure typedefs should have no name preassigned.
  			# If they do, then the name in 
-@@ -1675,7 +1687,7 @@
+@@ -1180,9 +1192,8 @@
+ 	my( $name, $end, $params ) = @_;
  
+ 	($name = $end) if $name eq "" && $end ne "";
+-
+ 	$params =~ s#\s+# #sg; # no newlines
+-	$params =~ s#\s*/\*([^\*]/|\*[^/]|[^\*/])*\*/##g; # strip out comments
++	$params =~ s#\s*/\*\*?([^\*]/|\*[^/]|[^\*/])*\*?\*/##g; # strip out comments
+ 	$params = $1 if $params =~ /^\s*{?(.*)}/;
+ 	$params =~ s/,\s*$/ /;
+ 	print "$name params: [$params]\n" if $debug;
+@@ -1675,7 +1686,7 @@
+ 
  		# The RE below reads as: = ( string constant or char or cast to numeric literal
  		# or some word/number, with optional bitwise shifts, OR'ed or +'ed flags, and/or function call ).
 -		if ( $arg =~ s/\s*=\s*(("[^\"]*")|\([^)]*\)\s*[\+-]?\s*[0-9]+|(\'.\')|(([-\w:~]*)\s*([<>\|\+-]*\s*[\w:._]*\s*)*(\([^(]*\))?))// ) {
@@ -174,7 +185,7 @@
  			$defaultparam = $1;
  		}
  		
-@@ -1784,7 +1796,7 @@
+@@ -1784,7 +1795,7 @@
      $property =~ s/^\s+|\s+$//g;  
      $property =~ s/\(\s+/(/g;  
      $property =~ s/\s+\)/)/g;  
@@ -183,7 +194,7 @@
  
      do {
  	    my ( $node ) = Ast::New( "Q_PROPERTY_" . $items[1] );
-@@ -1806,6 +1818,36 @@
+@@ -1806,6 +1817,36 @@
      } if defined $items[1];
  }
  
@@ -220,3 +231,924 @@
  
  =head2 show_usage
  
+diff -urNad libqt4-ruby-1.4.9~/kalyptus/kalyptusCxxToSmoke.pm libqt4-ruby-1.4.9/kalyptus/kalyptusCxxToSmoke.pm
+--- libqt4-ruby-1.4.9~/kalyptus/kalyptusCxxToSmoke.pm	2007-06-04 00:44:16.000000000 +0200
++++ libqt4-ruby-1.4.9/kalyptus/kalyptusCxxToSmoke.pm	2008-04-15 00:54:50.000000000 +0200
+@@ -89,183 +89,83 @@
+      'qulonglong' => '$',
+      'WId' => '$',
+      'Q_PID' => '$',
++     'KMimeType::Ptr' => '#',
++     'KMimeType::Ptr&' => '#',
++     'KServiceGroup::Ptr' => '#',
++     'KServiceGroup::Ptr&' => '#',
++     'KService::Ptr' => '#',
++     'KService::Ptr&' => '#',
++     'KServiceType::Ptr' => '#',
++     'KServiceType::Ptr&' => '#',
++     'KSharedConfig::Ptr' => '#',
++     'KSharedConfig::Ptr&' => '#',
++     'KSharedConfigPtr' => '#',
++     'KSharedConfigPtr&' => '#',
++     'KSharedPtr<KConfigBackend>' => '#',
++     'KSharedPtr<KConfigBackend>&' => '#',
++     'KSycocaEntry::Ptr' => '#',
++     'KSycocaEntry::Ptr&' => '#',
++     'Plasma::PackageStructure::Ptr' => '#',
++     'Plasma::PackageStructure::Ptr&' => '#',
+ );
+ 
+ # Yes some of this is in kalyptusDataDict's ctypemap
+ # but that one would need to be separated (builtins vs normal classes)
+ %typedeflist =
+ (
+-   'signed char' => 'char',
+-   'unsigned char' => 'uchar',
+-   'signed short' => 'short',
+-   'unsigned short' => 'ushort',
+-   'signed' => 'int',
+-   'signed int' => 'int',
+-   'unsigned' => 'uint',
+-   'unsigned int' => 'uint',
+-   'signed long' => 'long',
+-   'unsigned long' => 'ulong',
+-
+-# Anything that is not known is mapped to void*, so no need for those here anymore
+-#   'QWSEvent*'  =>  'void*',
+-#   'QDiskFont*'  =>  'void*',
+-#   'XEvent*'  =>  'void*',
+-#   'QStyleHintReturn*'  =>  'void*',
+-#   'FILE*'  =>  'void*',
+-#   'QUnknownInterface*'  =>  'void*',
+-#   'GDHandle'  =>  'void*',
+-#   '_NPStream*'  =>  'void*',
+-#   'QTextFormat*'  =>  'void*',
+-#   'QTextDocument*'  =>  'void*',
+-#   'QTextCursor*'  =>  'void*',
+-#   'QTextParag**'  =>  'void*',
+-#   'QTextParag*'  =>  'void*',
+-#   'QRemoteInterface*'  =>  'void*',
+-#   'QSqlRecordPrivate*'  =>  'void*',
+-#   'QTSMFI'  =>  'void*', # QTextStream's QTSManip
+-#   'const GUID&'  =>  'void*',
+-#   'QWidgetMapper*'  =>  'void*',
+-   'MSG*'  =>  'void*',
+-#   'const QSqlFieldInfoList&'  =>  'void*', # QSqlRecordInfo - TODO (templates)
+-
+-   'QPtrCollection::Item'  =>  'void*', # to avoid a warning
+-
+-   'void(* )()'  =>  'void*',
+-   'void (*)(void* )'  =>  'void*',
+-   'mode_t'  =>  'long',
+-   'QProcess::PID'  =>  'long',
+-   'size_type'  =>  'int', # QSqlRecordInfo
+-   'Qt::ComparisonFlags'  =>  'uint',
+-   'Qt::ToolBarDock'  =>  'int', # compat thing, Qt shouldn't use it
+-   'QIODevice::Offset'  =>  'ulong',
+-   'WState'  =>  'int',
+-   'QRgb'  =>  'uint',
++   'GLenum' => 'int',
++   'GLint' => 'int',
++   'GLuint' => 'uint',
+    'ksocklen_t' => 'uint',
++   'mode_t'  =>  'long',
++   'MSG*'  =>  'void*',
++   'pid_t' => 'int',
+    'QCOORD'  =>  'int',
+-   'QTSMFI'  =>  'int',
+-   'Qt::WState'  =>  'int',
+-   'Qt::WFlags'  =>  'int',
+-   'Qt::HANDLE' => 'uint',
+-   'QEventLoop::ProcessEventsFlags' => 'uint',
+-   'QStyle::SCFlags' => 'int',
+-   'QStyle::SFlags' => 'int',
+-   'Q_INT16' => 'short',
++   'QImageReader::ImageReaderError' => 'int',
+    'qint16' => 'short',
+-   'Q_INT32' => 'int',
++   'Q_INT16' => 'short',
+    'qint32' => 'int',
+    'qint32&' => 'int&',
+-   'Q_INT8' => 'char',
++   'Q_INT32' => 'int',
+    'qint8' => 'char',
++   'Q_INT8' => 'char',
+    'Q_LONG' => 'long',
+-   'Q_UINT16' => 'ushort',
++   'qreal' => 'double',
++   'QRgb'  =>  'uint',
++   'Qt::HANDLE' => 'uint',
++   'QTSMFI'  =>  'int',
++   'Qt::WFlags'  =>  'uint',
++   'Qt::WState'  =>  'int',
+    'quint16' => 'ushort',
+-   'Q_UINT32' => 'uint',
++   'Q_UINT16' => 'ushort',
+    'quint32' => 'uint',
+-   'Q_UINT8' => 'uchar',
++   'Q_UINT32' => 'uint',
+    'quint8' => 'uchar',
++   'Q_UINT8' => 'uchar',
+    'Q_ULONG' => 'long',
+-   'qreal' => 'double',
+-   'pid_t' => 'int',
+-   'size_t' => 'int',
+-   'pid_t' => 'int',
+-   'time_t' => 'int',
+    'short int' => 'short',
++   'signed char' => 'char',
++   'signed' => 'int',
++   'signed int' => 'int',
+    'signed long int' => 'long',
++   'signed long' => 'long',
++   'signed short' => 'short',
++   'size_t' => 'int',
++   'size_type'  =>  'int', # QSqlRecordInfo
++   'time_t' => 'int',
++   'unsigned char' => 'uchar',
++   'unsigned int' => 'uint',
+    'unsigned long int' => 'ulong',
++   'unsigned long' => 'ulong',
+    'unsigned short int' => 'ushort',
+-   'Qt::Alignment' => 'int',
+-   'Qt::Orientations' => 'int',
+-   'Qt::DockWidgetAreas' => 'int',
+-   'Qt::DropActions' => 'int',
+-   'Qt::ImageConversionFlags' => 'int',
+-   'Qt::ItemFlags' => 'int',
+-   'Qt::KeyboardModifiers' => 'int',
+-   'Qt::MatchFlags' => 'int',
+-   'Qt::MouseButtons' => 'int',
+-   'Qt::ToolBarAreas' => 'int',
+-   'Qt::WindowFlags' => 'int',
+-   'Qt::WindowStates' => 'int',
+-   'AutoFormatting' => 'int',
+-   'DirtyFlags' => 'int',
+-   'EditTriggers' => 'int',
+-   'FindFlags' => 'int',
+-   'Flags' => 'int',
+-   'FormattingOptions' => 'int',
+-   'GLenum' => 'int',
+-   'GLint' => 'int',
+-   'GLuint' => 'uint',
+-   'LoadOperator' => 'int',
+-   'NumberFlags' => 'int',
+-   'OpenMode' => 'int',
+-   'Options' => 'int',
+-   'PaintEngineFeatures' => 'int',
+-   'Permissions' => 'int',
+-   'PrintDialogOptions' => 'int',
+-   'ProcessEventsFlags' => 'int',
+-   'QDir::Filters' => 'int',
+-   'QDir::SortFlags' => 'int',
+-   'QFile::Permissions' => 'int',
+-   'QGL::FormatOptions' => 'int',
+-   'QIODevice::OpenMode' => 'int',
+-   'QImageReader::ImageReaderError' => 'int',
+-   'QItemSelectionModel::SelectionFlags' => 'int',
+-   'QPaintEngine::DirtyFlags' => 'int',
+-   'QPainter::RenderHints' => 'int',
+-   'QSql::ParamType' => 'int',
+-   'QTextDocument::FindFlags' => 'int',
+-   'Qt::DropActions' => 'int',
+-   'Qt::ImageConversionFlags' => 'int',
+-   'Qt::ItemFlags' => 'int',
+-   'Qt::KeyboardModifiers' => 'int',
+-   'Qt::MatchFlags' => 'int',
+-   'Qt::MouseButtons' => 'int',
+-   'Qt::ToolBarAreas' => 'int',
+-   'Qt::WindowFlags' => 'int',
+-   'Qt::WindowStates' => 'int',
+-   'RenderFlags' => 'int',
+-   'RenderHints' => 'int',
+-   'SortFlags' => 'int',
+-   'StepEnabled' => 'int',
+-   'Sections' => 'int',
+-   'Filters' => 'int',
+-   'SortFlags' => 'int',
+-   'QDir::Filters' => 'int',
+-   'QDir::SortFlags' => 'int',
+-   'QStyle::State' => 'int',
+-   'QValidator::State' => 'int',
+-   'QAbstractSpinBox::StepEnabled' => 'int',
+-   'QDockWidget::DockWidgetFeatures' => 'int',
+-   'QStyle::SubControls' => 'int',
+-   'RegisterOptions' => 'int',
+-   'BindMode' => 'int',
+-   'ButtonFeatures' => 'int',
+-   'CacheMode' => 'int',
+-   'CheckType' => 'int',
+-   'CornerWidgets' => 'int',
+-   'DockWidgetFeatures' => 'int',
+-   'FileFlags' => 'int',
+-   'FontFilters' => 'int',
+-   'FrameFeatures' => 'int',
+-   'GraphicsItemFlags' => 'int',
+-   'InterfaceFlags' => 'int',
+-   'IteratorFlags' => 'int',
+-   'MenuItemType' => 'int',
+-   'NumberOptions' => 'int',
+-   'PageBreakFlags' => 'int',
+-   'Qt::TextInteractionFlags' => 'int',
+-   'Relation' => 'int',
+-   'SectionPosition' => 'int',
+-   'SelectedPosition' => 'int',
+-   'StandardButtons' => 'int',
+-   'State' => 'int',
+-   'TabPosition' => 'int',
+-   'ToolBarFeatures' => 'int',
+-   'ToolBarPosition' => 'int',
+-   'ToolButtonFeatures' => 'int',
+-   'ViewItemFeatures' => 'int',
++   'unsigned short' => 'ushort',
++   'unsigned' => 'uint',
++   'void(* )()'  =>  'void*',
++   'void (*)(void* )'  =>  'void*',
++   'WState'  =>  'int',
+ );
+ 
+-$headerSubdirectories = "kio/|phonon/ui/|kmediaplayer/|dnssd/|solid/|solid/ifaces/|phonon/|sonnet/|kdevelop/|kinterfacedesigner/|kontact/|kate/|kparts/|dom/|kabc/|ksettings/|kjs/|ktexteditor/|kdeprint/|kdesu/|knewstuff/|dbus-1.0/dbus/"
++$headerSubdirectories = "kio/|phonon/ui/|kmediaplayer/|dnssd/|solid/|solid/ifaces/|phonon/|sonnet/|kdevelop/|kinterfacedesigner/|kontact/|kate/|kparts/|dom/|kabc/|ksettings/|kjs/|ktexteditor/|kdeprint/|kdesu/|knewstuff/|plasma/|plasma/widgets/|kresources|soprano|nepomuk/"
+ 
+ }
+ 
+@@ -293,6 +193,9 @@
+ 	print STDERR "Preparsing...\n";
+ 
+ 	# Preparse everything, to prepare some additional data in the classes and methods
++	Iter::LocalCompounds( $rootnode, sub { preParseFlags( shift ); } );
++
++	# Preparse everything, to prepare some additional data in the classes and methods
+ 	Iter::LocalCompounds( $rootnode, sub { preParseClass( shift ); } );
+ 
+ 	# Have a look at each class again, to propagate CanBeCopied
+@@ -334,6 +237,33 @@
+ 	print STDERR "Done.\n";
+ }
+ 
++
++=head2 preParseFlags
++	Called for each class, looks for Q_DECLARE_FLAGS, and maps them to uints
++=cut
++sub preParseFlags
++{
++	my( $classNode ) = @_;
++	my $className = join( "::", kdocAstUtil::heritage($classNode) );
++
++    Iter::MembersByType ( $classNode, undef,
++			sub {	
++				my( $classNode, $m ) = @_;
++				
++				if ( $m->{NodeType} eq 'flags' ) {
++	    			my $fullFlagsName = $className."::".$m->{astNodeName};
++
++                    if (exists $typedeflist{$fullFlagsName}) {
++						print("typemap for $fullFlagsName exists\n");
++					}
++
++					$typedeflist{$fullFlagsName} = 'uint';
++	    			registerType( $fullFlagsName );
++				}
++			}, undef );
++
++}
++
+ =head2 preParseClass
+ 	Called for each class
+ =cut
+@@ -342,189 +272,98 @@
+ 	my( $classNode ) = @_;
+ 	my $className = join( "::", kdocAstUtil::heritage($classNode) );
+ 
+-	if( $#{$classNode->{Kids}} < 0 ||
+-	    $classNode->{Access} eq "private" ||
+-	    $classNode->{Access} eq "protected" || # e.g. QPixmap::QPixmapData
+-	    exists $classNode->{Tmpl} ||
+-	    # Don't generate standard bindings for QString, this class is handled as a native type
+-	    $className eq 'QString' ||
+-	    $className eq 'QStringData' ||
+-	    $className eq 'QLatin1String' ||
+-	    $className eq 'QTLWExtra' ||
+-	    $className eq 'QWExtra' ||
+-	    $className eq 'QBig5Codec' ||
+-	    $className eq 'QBig5hkscsCodec' ||
+-	    $className eq 'QPtrCollection' ||
+-	    $className eq 'QGCache' ||
+-	    $className eq 'QConstString' ||
+-	    $className eq 'QCString' ||
+-	    # Don't map classes which are really arrays
+-	    $className eq 'QStringList' ||
+-            $className eq 'QCanvasItemList' ||
+-            $className eq 'QWidgetList' ||
+-            $className eq 'QObjectList' ||
+-	    $className eq 'QStrList' ||
+-	    $className eq 'KCmdLineOptions' ||
+-	    # Those are template related
+-            $className eq 'QTSManip' || # cause compiler errors with several gcc versions
+-	    $className eq 'QGDict' ||
+-	    $className eq 'QGList' ||
+-	    $className eq 'QGArray' ||
+-	    $className eq 'QGVector' ||
+-	    $className eq 'QStrIList' ||
+-	    $className eq 'QStrIVec' ||
+-	    $className eq 'QMapData' ||
+-	    $className eq 'QMetaEnum::Item' ||
+-	    $className eq 'QWidgetContainerPlugin' ||
+-	    $className eq 'QGArray::array_data' ||
+-	    ($className eq 'QMenuItem' and $main::qt_embedded) ||
+-	    ($className eq 'QSignal' and $main::qt_embedded) ||
+-	    ($className eq 'QWSEvent' and $main::qt_embedded) ||
+-	    ($className eq 'QMetaObjectInit' and $main::qt_embedded) ||
+-	    ($className eq 'QKoi8Codec' and $main::qt_embedded) ||
+-	    $className eq 'KAccelGen' ||
+-	    ($className eq 'QAbstractUndoItem' and $main::qt4) ||
+-	    ($className eq 'QDebug' and $main::qt4) ||
+-	    ($className eq 'QNoDebug' and $main::qt4) ||
+-	    ($className eq 'QObjectData' and $main::qt4) ||
+-	    ($className eq 'QSysInfo' and $main::qt4) ||
+-	    ($className eq 'QPNGImageWriter' and $main::qt4) ||
+-	    ($className eq 'QPNGImagePacker' and $main::qt4) ||
+-	    ($className eq 'QSqlRelationalDelegate' and $main::qt4) ||
+-	    ($className eq 'QTextCodec::ConverterState' and $main::qt4) ||
+-	    ($className eq 'QTextLayout::Selection' and $main::qt4) ||
+-	    ($className eq 'QTextStreamManipulator' and $main::qt4) ||
+-	    $className eq 'DCOPArg' ||
+-	    $className eq 'DCOPReply' ||
+-	    $className eq 'KAboutContributor' ||
+-	    $className eq 'KBookmarkMenu::DynMenuInfo' ||
+-	    $className eq 'KDateTime::Spec' ||
+-	    $className eq 'KEncodingFileDialog::Result' ||
+-	    $className eq 'KDE' ||
+-	    $className eq 'KDEDesktopMimeType::Service' ||
+-	    $className eq 'KDialogButtonBox' ||
+-	    $className eq 'KEntry' ||
+-	    $className eq 'KEntryKey' ||
+-	    $className eq 'KGlobalSettings::KMouseSettings' ||
+-	    $className eq 'KMimeType::Format' ||
+-	    $className eq 'KNotifyClient::Instance' ||
+-	    $className eq 'KParts::ComponentFactory' ||
+-	    $className eq 'KParts::Plugin::PluginInfo' ||
+-	    $className eq 'KParts::MainWindow' ||
+-	    $className eq 'KProtocolInfo::ExtraField' ||
+-	    $className eq 'KXMLGUIClient::StateChange' ||
+-	    $className eq 'KIconTheme' ||
+-	    $className eq 'KEditListBox::CustomEditor' ||
+-		$className eq 'KIO::KBookmarkMenuNSImporter' ||
+-		$className eq 'KIO::NetRC' ||
+-	    $className eq 'KExtendedSocket' ||
+-	    $className eq 'KSettings::PluginPage' ||
+-	    $className eq 'KSocket' ||
+-	    $className eq 'KPerDomainSettings' ||
+-	    $className eq 'KApplicationPropsPlugin' ||
+-	    $className eq 'KOpenWithHandler' ||
+-	    $className eq 'KFileOpenWithHandler' ||
+-	    $className eq 'KBindingPropsPlugin' ||
+-	    $className eq 'KPropsDlgPlugin' ||
+-	    $className eq 'KFileSharePropsPlugin' ||
+-	    $className eq 'KBookmarkMenuNSImporter' ||
+-	    $className eq 'KDevicePropsPlugin' ||
+-	    $className eq 'KDEDModule' ||
+-	    $className eq 'KFileMetaInfoProvider' ||
+-	    $className eq 'KFileMimeTypeInfo' ||
+-	    $className eq 'KMimeTypeChooserDialog' ||
+-	    $className eq 'KExecPropsPlugin' ||
+-	    $className eq 'KFilePermissionsPropsPlugin' ||
+-	    $className eq 'KImageFilePreview' ||
+-	    $className eq 'KBookmarkManager' ||
+-	    $className eq 'KBookmarkNotifier' ||
+-	    $className eq 'KOCRDialogFactory' ||
+-	    $className eq 'KExtendedBookmarkOwner' ||
+-	    $className eq 'KSharedPixmap' ||
+-	    $className eq 'KLibrary' ||
+-	    $className eq 'KScanDialogFactory' ||
+-	    $className eq 'KTimeZone::Transition' ||
+-	    $className eq 'KTipDatabase' ||
+-	    $className eq 'KBufferedIO' ||
+-	    $className eq 'KDictSpellingHighlighter' ||
+-		$className eq 'KPropertiesDialog' ||
+-	    $className eq 'ProgressItem' ||
+-	    $className eq 'KIO::ChmodInfo' ||
+-	    $className eq 'KUrl::List' ||
+-	    $className eq 'khtml::DrawContentsEvent' || # the khtml:: classes build, but don't link
+-	    $className eq 'khtml::MouseDoubleClickEvent' ||
+-	    $className eq 'khtml::MouseMoveEvent' ||
+-	    $className eq 'khtml::MousePressEvent' ||
+-	    $className eq 'khtml::MouseReleaseEvent' ||
+-	    $className eq 'khtml::MouseEvent' ||
+-	    $className eq 'khtml' ||
+-	    $className eq 'KURL::List' ||
+-	    $className eq 'KWin::Info' ||
+-	    $className eq 'TerminalInterface' ||
+-	    $className eq 'QAccessibleBridgePlugin' || # Qt4
+-	    $className eq 'QForeachContainerBase' || # Qt4
+-	    $className eq 'QInputMethodEvent::Attribute' || # Qt4
+-	    $className eq 'QAbstractUndoItem' || # Qt4
+-	    $className eq 'QAbstractTextDocumentLayout::PaintContext' || # Qt4
+-	    $className eq 'QAbstractTextDocumentLayout::Selection' || # Qt4
+-	    $className eq 'QBrushData' || # Qt4
+-	    $className eq 'QDBusObjectPath' || # Qt4
+-	    $className eq 'QDBusSignature' || # Qt4
+-	    $className eq 'QDBusVariant' || # Qt4
+-	    $className eq 'QIPv6Address' || # Qt4
+-	    $className eq 'QImageTextKeyLang' || # Qt4
+-	    $className eq 'QMap' || # Qt4
+-	    $className eq 'QMap::const_iterator' || # Qt4
+-	    $className eq 'QMap::iterator' || # Qt4
+-	    $className eq 'QMapData' || # Qt4
+-	    $className eq 'QMapData::Node' || # Qt4
+-	    $className eq 'QObjectData' || # Qt4
+-	    $className eq 'QProxyModel' || # Obsolete Qt4
+-	    $className eq 'QSharedData' || # Qt4
+-	    $className eq 'QPainterPath::Element' || # Qt4
+-	    $className eq 'QThreadStorageData' || # Qt4
+-	    $className eq 'QVFbHeader' || # Qt4
+-	    $className eq 'QStyleOptionQ3DockWindow' || # Qt4
+-	    $className eq 'QStyleOptionQ3ListView' || # Qt4
+-	    $className eq 'QStyleOptionQ3ListViewItem' || # Qt4
+-	    $className eq 'QStyleOptionQ3ListView' || # Qt4
+-	    $className eq 'QUpdateLaterEvent' || # Qt4
+-	    $className eq 'QVFbKeyData' || # Qt4
+-	    $className eq 'QVariant::Handler' || # Qt4
+-	    $className eq 'QVariant::PrivateShared' || # Qt4
+-	    $className eq 'QVectorData' || # Qt4
+-	    $className eq 'QWidgetData' || # Qt4
+-	    $className eq 'QThread' || # Qt4
+-		$className eq 'QThreadStorage' || # Qt4
+-		$className eq 'QMutex' || # Qt4
+-		$className eq 'QMutexLocker' || # Qt4
+-		$className eq 'QSemaphore' || # Qt4
+-		$className eq 'QWaitCondition' || # Qt4
+-		$className eq 'QReadWriteLock' || # Qt4
+-		$className eq 'QReadLocker' || # Qt4
+-		$className eq 'QX11Info' || # Qt4
+-		$className eq 'QWriteLocker' || 
+-	    $className =~ /.*Private$/ || # Ignore any classes which aren't for public consumption
+-	    $className =~ /.*Impl$/ ||
+-	    $className =~ /.*Internal.*/ ||
+-	    $classNode->{Deprecated} ||
+-	    $classNode->{NodeType} eq 'union' || # Skip unions for now, e.g. QPDevCmdParam
+-	    $className eq 'KImportedBookmarkMenu' || # KDE4
+-	    $className eq 'KUndoRedoAction' || # KDE4
+-	    $className eq 'KTzfileTimeZoneData' || # KDE4
+-	    $className eq 'KUndoRedoAction' || # KDE4
+-	    $className eq 'KCombiView' || # KDE4
+-	    $className eq 'KDirOperator' || # KDE4
+-	    $className eq 'KDirSelectDialog' || # KDE4
+-	    $className eq 'KFileFilterCombo' || # KDE4
+-	    $className eq 'KFileMetaInfo' || # KDE4
+-	    $className eq 'KFileMetaInfoGroup' || # KDE4
+-	    $className eq 'KFilePreview' || # KDE4
+-	    $className eq 'KFileTreeBranch' || # KDE4
+-	    $className eq 'KFileView' || # KDE4
+-	    $className eq 'KFileViewSignaler' || # KDE4
+-	    $className eq 'KServiceTypeProfile' # KDE4
+-	  ) {
++	if (	$classNode->{Deprecated} 
++			|| $classNode->{NodeType} eq 'union' 
++			|| $#{$classNode->{Kids}} < 0
++			|| $classNode->{Access} eq "private"
++			|| $classNode->{Access} eq "protected"  # e.g. QPixmap::QPixmapData
++			|| $className =~ /.*Private$/  # Ignore any classes which aren't for public consumption
++			|| $className =~ /.*Impl$/ 
++			|| $className =~ /.*Internal.*/ 
++			|| exists $classNode->{Tmpl}
++			|| $className eq 'KAccelGen'
++			|| $className eq 'KDE'
++			|| $className eq 'KDEDModule'
++#			|| $className eq 'KDialogButtonBox'
++			|| $className eq 'KDirOperator'
++			|| $className eq 'KDirSelectDialog'
++			|| $className eq 'KEditListBox::CustomEditor'
++			|| $className eq 'KEncodingFileDialog::Result'
++			|| $className eq 'KFileFilterCombo'
++			|| $className eq 'KFileMetaInfo'
++			|| $className eq 'KFileMetaInfoGroup'
++			|| $className eq 'KFileTreeBranch'
++			|| $className eq 'KFileView'
++			|| $className eq 'KFileViewSignaler'
++			|| $className eq 'KGlobalSettings::KMouseSettings'
++			|| $className eq 'khtml'
++			|| $className eq 'khtml::DrawContentsEvent'
++			|| $className eq 'khtml::MouseDoubleClickEvent'
++			|| $className eq 'khtml::MouseEvent'
++			|| $className eq 'khtml::MouseMoveEvent'
++			|| $className eq 'khtml::MousePressEvent'
++			|| $className eq 'khtml::MouseReleaseEvent'
++			|| $className eq 'KIconTheme'
++			|| $className eq 'KIO::NetRC'
++			|| $className eq 'KMimeTypeChooserDialog'
++			|| $className eq 'KParts::ComponentFactory'
++			|| $className eq 'KParts::Plugin::PluginInfo'
++			|| $className eq 'KProtocolInfo::ExtraField'
++			|| $className eq 'KServiceTypeProfile'
++			|| $className eq 'KSettings::PluginPage'
++			|| $className eq 'KSettings::PluginPage'
++			|| $className eq 'KSystemTimeZoneData'
++			|| $className eq 'KTimeZone::Transition'
++			|| $className eq 'KTipDatabase'
++			|| $className eq 'KTzfileTimeZoneData'
++			|| $className eq 'KUrl::List'
++			|| $className eq 'KXMLGUIClient::StateChange'
++			|| $className eq 'Plasma::Containment::StyleOption'
++			|| $className eq 'QAbstractTextDocumentLayout::PaintContext'
++			|| $className eq 'QAbstractTextDocumentLayout::Selection'
++			|| $className eq 'QAbstractUndoItem'
++			|| $className eq 'QAccessibleBridgePlugin'
++			|| $className eq 'QBrushData'
++			|| $className eq 'QDBusObjectPath'
++			|| $className eq 'QDBusSignature'
++			|| $className eq 'QDBusVariant'
++			|| $className eq 'QDebug'
++			|| $className eq 'QImageTextKeyLang'
++			|| $className eq 'QInputMethodEvent::Attribute'
++			|| $className eq 'QIPv6Address'
++			|| $className eq 'QLatin1String'
++			|| $className eq 'QMap::const_iterator'
++			|| $className eq 'QMapData'
++			|| $className eq 'QMapData::Node'
++			|| $className eq 'QMap::iterator'
++			|| $className eq 'QMutex'
++			|| $className eq 'QMutexLocker'
++			|| $className eq 'QObjectData'
++			|| $className eq 'QPainterPath::Element'
++			|| $className eq 'QProxyModel'
++			|| $className eq 'QReadLocker'
++			|| $className eq 'QReadWriteLock'
++			|| $className eq 'QSemaphore'
++			|| $className eq 'QSharedData'
++			|| $className eq 'QString'
++			|| $className eq 'QStringList'
++			|| $className eq 'QStyleOptionQ3DockWindow'
++			|| $className eq 'QStyleOptionQ3ListView'
++			|| $className eq 'QStyleOptionQ3ListViewItem'
++			|| $className eq 'QSysInfo'
++			|| $className eq 'QTextCodec::ConverterState'
++			|| $className eq 'QTextStreamManipulator'
++			|| $className eq 'QThread'
++			|| $className eq 'QThreadStorageData'
++			|| $className eq 'QUpdateLaterEvent'
++			|| $className eq 'QVariant::Handler'
++			|| $className eq 'QVariant::PrivateShared'
++			|| $className eq 'QVectorData'
++			|| $className eq 'QWaitCondition'
++			|| $className eq 'QWidgetData'
++			|| $className eq 'QWriteLocker'
++			|| $className eq 'QX11Info' )
++	{
+ 	    print STDERR "Skipping $className\n" if ($debug);
+ 	    print STDERR "Skipping union $className\n" if ( $classNode->{NodeType} eq 'union');
+ 	    $skippedClasses{$className} = 1;
+@@ -552,6 +391,7 @@
+ 
+         my $doPrivate = $main::doPrivate;
+ 	$main::doPrivate = 1;
++
+ 	# Look at each class member (looking for methods and enums in particular)
+ 	Iter::MembersByType ( $classNode, undef,
+ 		sub {
+@@ -609,193 +449,47 @@
+ 	    next if ( $m->{Access} =~ /private/ );
+ 		# Don't generate code for deprecated methods, 
+ 		# or where the code won't compile/link for obscure reasons. Or even obvious reasons..
+-		if ( ($classNode->{astNodeName} eq 'KCharSelectTable' and $name eq 'paintCell')
+-			# KDE4
+-			|| ($name eq 'operator<<' and $m->{ParamList}[0]->{ArgType} =~ /QDataStream/ and $m->{ParamList}[1]->{ArgType} =~ /KDateTime::Spec/ )
+-			|| ($name eq 'operator>>' and $m->{ParamList}[0]->{ArgType} =~ /QDataStream/ and $m->{ParamList}[1]->{ArgType} =~ /KDateTime::Spec/ )
+-                        || ($name eq 'operator<<' and $m->{ParamList}[0]->{ArgType} =~ /QDataStream/ and $m->{ParamList}[1]->{ArgType} =~ /const KDateTime/ )
+-                        || ($name eq 'operator>>' and $m->{ParamList}[0]->{ArgType} =~ /QDataStream/ and $m->{ParamList}[1]->{ArgType} =~ /KDateTime/ )
++
++		if ( $m->{Deprecated} 
++			# Assume only Qt classes have tr() and trUtf8() in their Q_OBJECT macro
++			|| ($classNode->{astNodeName} !~ /^Q/ and $name eq 'tr')
++			|| ($classNode->{astNodeName} !~ /^Q/ and $name eq 'trUtf8')
++			|| $m->{ReturnType} =~ /template/ 
++			|| $m->{ReturnType} =~ /QT3_SUPPORT/ 
++			|| $name eq 'qt_metacast' 
++			|| $name eq 'virtual_hook' 
++			|| $name eq 'handle' 
++			|| $name eq 'qWarning' 
++			|| $name eq 'qCritical' 
++			|| $name eq 'qDebug' 
++			|| $name eq 'qFindString' 
++			|| $name eq 'qFindStringBoyerMoore' 
++            # qHash() gives problems with building the Qwt lib
++			|| $name eq 'qHash' 
++			|| ($#{$m->{ParamList}} > -1 && $m->{ParamList}[0]->{ArgType} =~ /Private/)
++			|| ($classNode->{astNodeName} eq 'QGraphicsLinearLayout' and $name eq 'dump')
+ 			|| ($classNode->{astNodeName} eq 'TextEvent' and $name eq 'data')
+-			|| ($classNode->{astNodeName} eq 'KApplication' and $name eq 'startKdeinit')
++			|| ($classNode->{astNodeName} eq 'KConfigGroup' and $name eq 'groupImpl')
+ 			|| ($classNode->{astNodeName} eq 'KConfigGroup' and $name eq 'setReadDefaults')
+-			|| ($classNode->{astNodeName} eq 'Slave' and $name eq 'Slave')
+-			|| ($classNode->{astNodeName} eq 'KIcon' and $name eq 'setOverlays')
+-			|| ($classNode->{astNodeName} eq 'KResolver' and $name eq 'setError')
+-			|| ($classNode->{astNodeName} eq 'Entry' and $name eq 'setCompatibility')
+-			|| ($classNode->{astNodeName} eq 'KTimeZone' and $name eq 'source')
+-			|| ($classNode->{astNodeName} eq 'KTzfileTimeZoneSource' and $name eq 'location')
+-			|| ($classNode->{astNodeName} eq 'Wallet' and $name eq 'Wallet')
+-			# end KDE4
+-			|| ($classNode->{astNodeName} eq 'KAnimWidget' and $name eq 'KAnimWidget' and @{$m->{ParamList}} == 2)
+-			|| ($classNode->{astNodeName} eq 'KCModuleLoader' and $name eq 'errorModule')
+-			|| ($classNode->{astNodeName} eq 'KDCOPActionProxy' and $name eq 'actions')
+-			|| ($classNode->{astNodeName} eq 'KEditToolbarWidget' and $name eq 'insertActive')
+-			|| ($classNode->{astNodeName} eq 'KEditToolbarWidget' and $name eq 'removeActive')
+-			|| ($classNode->{astNodeName} eq 'KEditToolbarWidget' and $name eq 'moveActive')
+-			|| ($classNode->{astNodeName} eq 'KFileDialog' and $name eq 'addDirEntry')
+-			|| ($classNode->{astNodeName} eq 'KFileDialog' and $name eq 'getDirEntry')
+-			|| ($classNode->{astNodeName} eq 'KFileItem' and $name eq 'extraData')
+-			|| ($classNode->{astNodeName} eq 'KFileView' and $name eq 'selectionMode')
+-			|| ($classNode->{astNodeName} eq 'KFind' and $name eq 'KFind' and @{$m->{ParamList}} == 4)
+-			|| ($classNode->{astNodeName} eq 'KGlobalAccel' and $name eq 'setEnabled')
+-			|| ($classNode->{astNodeName} eq 'KCharsets' and $name eq 'encodingsForLanguage')
+-			|| ($classNode->{astNodeName} eq 'KInputDialog' and $name eq 'getInteger')
+-			|| ($classNode->{astNodeName} eq 'SlaveBase' and $name eq 'checkCachedAuthentication')
+-			|| ($classNode->{astNodeName} eq 'SlaveBase' and $name eq 'cacheAuthentication')
++			|| ($classNode->{astNodeName} eq 'KConfigGroup' and $name eq 'KConfigGroup' && $#{$m->{ParamList}} == 1 && $m->{ParamList}[0]->{ArgType} =~ /const KConfigBase/)
++			|| ($name eq 'operator<<' and $m->{ParamList}[0]->{ArgType} =~ /QDebug/ )
++			|| ($name eq 'operator<<' and $m->{ParamList}[0]->{ArgType} =~ /QDataStream/ and $m->{ParamList}[1]->{ArgType} =~ /KDateTime::Spec/ )
++			|| ($name eq 'operator>>' and $m->{ParamList}[0]->{ArgType} =~ /QDataStream/ and $m->{ParamList}[1]->{ArgType} =~ /KDateTime::Spec/ )
++			|| ($name eq 'operator<<' and $m->{ParamList}[0]->{ArgType} =~ /QDataStream/ and $m->{ParamList}[1]->{ArgType} =~ /const KDateTime/ )
++			|| ($name eq 'operator>>' and $m->{ParamList}[0]->{ArgType} =~ /QDataStream/ and $m->{ParamList}[1]->{ArgType} =~ /KDateTime/ )
+ 			|| ($classNode->{astNodeName} eq 'KInputDialog' and $name eq 'getDouble')
+-			|| ($classNode->{astNodeName} eq 'KToolBar' and $name eq 'enable')
+-			|| ($classNode->{astNodeName} eq 'KToolBar' and $name eq 'changeEvent')
+-			|| ($classNode->{astNodeName} eq 'KAccel' and $name eq 'insert' and @{$m->{ParamList}} == 2)
+-			|| ($classNode->{astNodeName} eq 'KAccel' and $name eq 'autoupdate')
+-			|| ($classNode->{astNodeName} eq 'KAccel' and $name eq 'getAutoUpdate')
+-			|| ($classNode->{astNodeName} eq 'KAction' and $name eq 'activated')
+-			|| ($classNode->{astNodeName} eq 'KAction' and $name eq 'actionOfType')
+-			|| ($classNode->{astNodeName} eq 'KAction' and $name eq 'actionsOfType')
+-			|| ($classNode->{astNodeName} eq 'KActionCollection' and $name eq 'add')
+-			|| ($classNode->{astNodeName} eq 'KStdAccel' and $name eq 'insert')
+-			|| ($classNode->{astNodeName} eq 'KBookmarkMenu' and $name eq 'invalid')
+-			|| ($classNode->{astNodeName} eq 'KCharsets' and $name eq 'languages')
+-			|| ($classNode->{astNodeName} eq 'KCombiView' and $name eq 'setDropOptions')
+-			|| ($classNode->{astNodeName} eq 'KDialogButtonBox' and $name eq 'using')
+-			|| ($classNode->{astNodeName} eq 'KFileMetaInfoItem' and $name eq 'unit')
+-			|| ($classNode->{astNodeName} eq 'KInstance' and $name eq 'charsets')
+-			|| ($classNode->{astNodeName} eq 'KInstance' and $name eq 'KInstance' and $m->{Access} =~ /protected/)
+-			|| ($classNode->{astNodeName} eq 'KKey' and $name eq 'isValidQt')
+-			|| ($classNode->{astNodeName} eq 'KKey' and $name eq 'isValidNative')
+-			|| ($classNode->{astNodeName} eq 'KKeySequence' and $name eq 'init')
+-			|| ($classNode->{astNodeName} eq 'KKeySequence' and $name eq 'setTriggerOnRelease')
+-			|| ($classNode->{astNodeName} eq 'KEMailSettings' and $name eq 'getExtendedSetting')
+-			|| ($classNode->{astNodeName} eq 'KEMailSettings' and $name eq 'setExtendedSetting')
+-			|| ($classNode->{astNodeName} eq 'KProtocolManager' and $name eq 'defaultConnectTimeout')
+-			|| ($classNode->{astNodeName} eq 'KMD4' and $name eq 'transform')
+-			|| ($classNode->{astNodeName} eq 'KMD5' and $name eq 'transform')
+-			|| ($classNode->{astNodeName} eq 'KSSLCertificate' and $name eq 'operator!=')
+-			|| ($classNode->{astNodeName} eq 'KSSLPKCS7' and $name eq 'validate')
+-			|| ($classNode->{astNodeName} eq 'KSSLPKCS7' and $name eq 'revalidate')
+-			|| ($classNode->{astNodeName} eq 'KSSLSession' and $name eq 'KSSLSession' and @{$m->{ParamList}} == 1)
+-			|| ($classNode->{astNodeName} eq 'KSimpleFileFilter' and $name eq 'nameFilters')
+-			|| ($classNode->{astNodeName} eq 'KTabWidget' and $name eq 'isTabReorderingEnabled')
+-			|| ($classNode->{astNodeName} eq 'KTabWidget' and $name eq 'hoverCloseButton')
+-			|| ($classNode->{astNodeName} eq 'KTabWidget' and $name eq 'hoverCloseButtonDelayed')
+-			|| ($classNode->{astNodeName} eq 'KTar' and $name eq 'writeFile_impl')
+-			|| ($classNode->{astNodeName} eq 'KJob' and $name eq 'description')
++			|| ($classNode->{astNodeName} eq 'KInputDialog' and $name eq 'getInteger')
+ 			|| ($classNode->{astNodeName} eq 'KIO' and $name eq 'buildHTMLErrorString')
+-			|| ($classNode->{astNodeName} eq 'KIO' and $name eq 'pasteClipboard')
+-			|| ($classNode->{astNodeName} eq 'KIO' and $name eq 'pasteData')
+-			|| ($classNode->{astNodeName} eq 'KIO' and $name eq 'pasteDataAsync')
+-			|| ($classNode->{astNodeName} eq 'KIO' and $name eq 'isClipboardEmpty')
+-			|| ($classNode->{astNodeName} eq 'KIO::NetRC' and $name eq 'lookup')
+-			|| ($classNode->{astNodeName} eq 'DCOPRef' and $name eq 'callExt')
+-			|| ($classNode->{astNodeName} eq 'DCOPRef' and $name eq 'call')
+-			|| ($classNode->{astNodeName} eq 'DCOPRef' and $name eq 'send')
+-			|| ($classNode->{astNodeName} eq 'DOM' and $name eq 'operator<<') # Avoid kdbgstream debugging method
+-			|| ($name eq 'initgroups')
+-			|| ($name eq 'qInitJpegIO' and $main::qt4)
+-			|| ($name eq 'qInitPngIO' and $main::qt4)
+-			|| ($name eq 'qt_metacast' and $main::qt4)
+-			|| ($name eq 'virtual_hook')
+-			|| ($name eq 'handle')
+-			|| ($name eq 'qHash')
+-			|| ($classNode->{astNodeName} eq 'QwtThermo' and $name eq 'setFillBrush')
+-			|| ($classNode->{astNodeName} eq 'QwtThermo' and $name eq 'fillBrush')
+-			|| ($classNode->{astNodeName} eq 'QwtThermo' and $name eq 'setFillColor')
+-			|| ($classNode->{astNodeName} eq 'QwtThermo' and $name eq 'fillColor')
+-			|| ($classNode->{astNodeName} eq 'QwtThermo' and $name eq 'setAlarmBrush')
+-			|| ($classNode->{astNodeName} eq 'QwtThermo' and $name eq 'alarmBrush')
+-			|| ($classNode->{astNodeName} eq 'QwtThermo' and $name eq 'setAlarmColor')
+-			|| ($classNode->{astNodeName} eq 'QwtThermo' and $name eq 'alarmColor')
+-			|| ($classNode->{astNodeName} eq 'QwtWheel' and $name eq 'getScrollMode')
+-			|| ($classNode->{astNodeName} eq 'QwtSpline' and $name eq 'points')
+-			|| ($classNode->{astNodeName} eq 'QwtPlot' and $name eq 'drawItems')
+-			|| ($classNode->{astNodeName} eq 'QwtPlot' and $name eq 'printCanvas')
+-			|| ($classNode->{astNodeName} eq 'QwtPlot' and $name eq 'drawItems')
+-			|| ($classNode->{astNodeName} eq 'QwtPlot' and $name eq 'setCanvasBackground')
+-			|| ($classNode->{astNodeName} eq 'QwtPlot' and $name eq 'canvasBackground')
+-			|| ($classNode->{astNodeName} eq 'QwtPlotLayout' and $name eq 'expandLineBreaks')
+-			|| ($classNode->{astNodeName} eq 'QwtPlotLayout' and $name eq 'alignScales')
+-			|| ($classNode->{astNodeName} eq 'QwtData' and $name eq 'operator=')
+-			|| ($classNode->{astNodeName} eq 'QwtScaleTransformation' and $name eq 'double')
+-			|| ($classNode->{astNodeName} eq 'QwtScaleDiv' and $name eq 'QwtScaleDiv' and @{$m->{ParamList}} > 0)
+-			# Obsolete
+-			|| ($classNode->{astNodeName} eq 'QTextStream' and $name eq 'QTextStream'
+-					and @{$m->{ParamList}} == 2 and $m->{ParamList}[0]->{ArgType} eq 'QString&')
+-			
+-			# Various methods to skip in Qt/E (Qt 2.3.x)
+-			|| ($main::qt_embedded
+-				&& ( ($classNode->{astNodeName} eq 'QUriDrag' and $name =~ /^decode$|decodeLocalFiles|decodeToUnicodeUris/)
+-				|| ($classNode->{astNodeName} eq 'QApplication' and $name =~ /^qwsSetCustomColors|^setArgs$|^winMouseButtonUp|^winFocus|^winMouseButtonUP$|^winVersion$/)
+-				|| ($classNode->{astNodeName} eq 'QPrinter' and $name =~ /^setIdle$|^setActive$/)
+-				|| ($classNode->{astNodeName} eq 'QDragObject' and $name eq 'dragLink')
+-				|| ($classNode->{astNodeName} eq 'QFont' and $name eq 'qwsRenderToDisk')
+-				|| ($classNode->{astNodeName} eq 'QFontInfo' and $name eq 'font')
+-				|| ($classNode->{astNodeName} eq 'QLineEdit' and $name eq 'getSelection')
+-				|| ($classNode->{astNodeName} eq 'QMainWindow' and $name eq 'toolBars')
+-				|| ($classNode->{astNodeName} eq 'QMovie' and $name eq 'setDisplayWidget')
+-				|| ($classNode->{astNodeName} eq 'QMetaObject' and $name =~ /^new_metaenum_item$|^new_metaaccess$/)
+-				|| ($classNode->{astNodeName} eq 'QPainter' and $name eq 'pos')
+-				|| ($classNode->{astNodeName} eq 'QPixmap' and $name =~ /^allocCell$|^clut$|^freeCell|^hbm|^isMultiCellPixmap|^multiCellPixmap|^multiCellBitmap|^multiCellHandle|^multiCellOffset|^numCols/)
+-				|| ($name eq 'handle')
+-				|| ($name eq 'resetInputContext')
+-				|| ($name eq 'propagateUpdates')
+-				|| ($name eq 'bytesPerLine')
+-				|| ($name eq 'scanLine')
+-				|| ($name eq 'hPal')
+-				|| ($name eq 'copyX11Data')
+-				|| ($name eq 'getX11Data')
+-				|| ($name eq 'setX11Data')
+-				|| ($name eq 'realizePal')
+-				|| ($name eq 'qwsDisplay')
+-				|| ($name eq 'fixport')
+-				|| ($name eq 'hack_strrchr')
+-				|| ($name eq 'hack_strchr')
+-				|| ($name eq 'hack_strstr') ) )
+-						
+-			# Assume only Qt classes have tr() and trUtf8() in their Q_OBJECT macro
+-			|| ($classNode->{astNodeName} !~ /^Q/ and $name eq 'tr')
+-			|| ($classNode->{astNodeName} !~ /^Q/ and $name eq 'trUtf8')
+-
+-			|| ($main::qt4
+-				&& ( ($classNode->{astNodeName} eq 'QWidgetListItem' and $name eq 'operator=')
+-				|| ($classNode->{astNodeName} eq 'QColormap' and $name eq 'operator=')
+-				|| ($classNode->{astNodeName} eq 'QGraphicsLineItem' and $name eq 'QGraphicsLineItem' and $#{$m->{ParamList}} == 5)
+-				|| ($classNode->{astNodeName} eq 'QGraphicsEllipseItem' and $name eq 'QGraphicsEllipseItem' and $#{$m->{ParamList}} == 5)
+-				|| ($classNode->{astNodeName} eq 'QListWidget' and $name eq 'setItemPosition')
+-				|| ($classNode->{astNodeName} eq 'QFontMetricsF' and $name eq 'operator=')
+-				|| ($classNode->{astNodeName} eq 'QFontMetricsF' and $name eq 'QFontMetricsF' 
+-					and $#{$m->{ParamList}} == 0 && $m->{ParamList}[0]->{ArgType} eq 'const QFontMetrics&')
+-				|| ($classNode->{astNodeName} eq 'QAbstractItemDelegate' and $name eq 'QAbstractItemDelegate' 
+-					and $#{$m->{ParamList}} == 0 && $m->{ParamList}[0]->{ArgType} eq 'const QAbstractItemDelegate&')
+-				|| ($classNode->{astNodeName} eq 'QHttp' and $name eq 'supportedOperations')
+-				|| ($classNode->{astNodeName} eq 'QPrinter' and $name eq 'printRange')
+-				|| ($classNode->{astNodeName} eq 'QPrinter' and $name eq 'setPrintRange')
+-				|| ($classNode->{astNodeName} eq 'QRectF' and $name eq 'setX')
+-				|| ($classNode->{astNodeName} eq 'QRectF' and $name eq 'setY')
+-				|| ($classNode->{astNodeName} eq 'QTextObject' and $name eq 'formatType')
+-				|| ($classNode->{astNodeName} eq 'QUrl' and $name eq 'QUrl'
+-					and $#{$m->{ParamList}} == 0 && $m->{ParamList}[0]->{ArgType} eq 'QUrlPrivate&')
+-				|| ($classNode->{astNodeName} eq 'QGlobalSpace' and $name eq 'operator<<' and $m->{ParamList}[0]->{ArgType} =~ /QDebug/)
+-				|| ($classNode->{astNodeName} eq 'QGlobalSpace' and $name eq 'qDebug')
+-				|| ($classNode->{astNodeName} eq 'QGlobalSpace' and $name eq 'qWarning')
+-				|| ($classNode->{astNodeName} eq 'QGlobalSpace' and $name eq 'qCritical')
+-				|| ($classNode->{astNodeName} eq 'QGlobalSpace' and $#{$m->{ParamList}} > 0 and $name =~ /operator/ and $m->{ParamList}[1]->{ArgType} =~ /QVariant::Type/)
+-				|| ($#{$m->{ParamList}} > 0 and $m->{ParamList}[0]->{ArgType} =~ /Private/)
+-				|| ($classNode->{astNodeName} eq 'QScrollArea' and $name eq 'alignment')
+-				|| ($classNode->{astNodeName} eq 'QScrollArea' and $name eq 'setAlignment')
+-				|| ($classNode->{astNodeName} eq 'QSvgGenerator' and $name eq 'fileName')
+-				|| ($classNode->{astNodeName} eq 'QSvgGenerator' and $name eq 'setResolution')
+-				|| ($classNode->{astNodeName} eq 'QDBusConnection' and $name eq 'findInterface' and 
+-					$m->{ReturnType} =~ /</ )
+-				|| ($classNode->{astNodeName} eq 'QDBusBusService' and $name eq 'RequestName')
+-				|| ($classNode->{astNodeName} eq 'QDBusBusService' and $name eq 'requestName')
+-				|| ($classNode->{astNodeName} eq 'QGLFormat' and $name eq 'openGLVersionFlags')
+-				|| ($classNode->{astNodeName} eq 'QAbstractUndoItem' and $name eq '~QAbstractUndoItem')
+-				|| ($classNode->{astNodeName} eq 'QApplication' and $name eq 'setKeypadNavigationEnabled')
+-				|| ($classNode->{astNodeName} eq 'QApplication' and $name eq 'keypadNavigationEnabled')
+-				|| ($name eq 'qDBusMetaTypeId')
+-				|| ($m->{ReturnType} =~ /template/)
+-				|| ($m->{ReturnType} =~ /QT3_SUPPORT/) ) )
+-
+-			|| $m->{Deprecated} ) {
++			|| ($classNode->{astNodeName} eq 'KJob' and $name eq 'description')
++			|| ($classNode->{astNodeName} eq 'KJob' and $name eq 'KJob')
++			|| ($className eq 'KParts::MainWindow' and $name eq 'MainWindow' && $#{$m->{ParamList}} == 2 && $m->{ParamList}[2]->{ArgType} =~ /Qt::WindowFlags/)
++			|| ($classNode->{astNodeName} eq 'KShortcutsEditor' and $name eq 'checkGlobalShortcutsConflict')
++			|| ($classNode->{astNodeName} eq 'KShortcutsEditor' and $name eq 'checkStandardShortcutsConflict')
++			|| ($classNode->{astNodeName} eq 'KStandardShortcut' and $name eq 'insert')
++			|| ($classNode->{astNodeName} eq 'KTzfileTimeZoneSource' and $name eq 'location')
++			|| ($classNode->{astNodeName} eq 'Wallet' and $name eq 'Wallet')
++			|| ($classNode->{astNodeName} eq 'KMD5' and $name eq 'transform') ) 
++		{
+ 		    $m->{NodeType} = 'deleted';
+ 			next;
+ 		}
+@@ -806,19 +500,6 @@
+ 			$m->{Flags} =~ s/p//;
+ 		}
+ 
+-		# Hack for fixing up KDE 3.1 KLed where the no arg constructor was ambiguous
+-		if ($classNode->{astNodeName} eq 'KLed' and $name eq 'KLed' && $#{$m->{ParamList}} > 0) {
+-			if ($m->{ParamList}[0]->{ArgType} =~ /QColor/ && defined $m->{ParamList}[0]->{DefaultValue}) {
+-				$m->{ParamList}[0]->{DefaultValue} = undef;
+-				if (defined $kledAmbiguousConstructor) {
+-					$kledAmbiguousConstructor->{ParamList}[0]->{DefaultValue} = undef;
+-					$kledAmbiguousConstructor->{FirstDefaultParam} = 1;
+-				}
+-			} else {
+-				$kledAmbiguousConstructor = $m;
+-			}
+-		}
+-
+ 		# cut the last arguments in size(), boundingRect(), both methods was ambiguous
+ 		if ($classNode->{astNodeName} eq 'QFontMetrics' and $name eq 'boundingRect' && $#{$m->{ParamList}} == 7) {
+ 			if ($m->{ParamList}[7]->{ArgType} =~ /int/ && defined $m->{ParamList}[7]->{DefaultValue}) {
+@@ -836,7 +517,6 @@
+ 			}
+ 		}
+ 
+-		
+ 	    my $argId = 0;
+ 	    my $firstDefaultParam;
+ 	    foreach my $arg ( @{$m->{ParamList}} ) {
+@@ -845,17 +525,12 @@
+ 		    $firstDefaultParam = $argId;
+ 		}
+ 
+-		if ( $arg->{ArgType} eq '...' # refuse a method with variable arguments
+-		     or $arg->{ArgType} eq 'image_io_handler' # QImage's callback
+-		     or $arg->{ArgType} eq 'DecoderFn' # QFile's callback
+-		     or $arg->{ArgType} eq 'EncoderFn' # QFile's callback
+-		     or $arg->{ArgType} =~ /bool \(\*\)\(QObject/ # QMetaObject's ctor
+-		     or $arg->{ArgType} eq 'QtStaticMetaObjectFunction' # QMetaObjectCleanUp's ctor with func pointer
+-		     or $arg->{ArgType} eq 'const QTextItem&' # ref to a private class in 3.2.0b1
+-		     or $arg->{ArgType} eq 'FILE*' # won't be able to handle that I think
+-		     or $arg->{ArgType} eq 'const KKeyNative&' #
+-		     or $arg->{ArgType} =~ /Node\s*\*/ #
+-		) {
++		if (	$arg->{ArgType} eq '...' # refuse a method with variable arguments
++				|| $arg->{ArgType} eq 'const QTextItem&' # ref to a private class
++				|| $arg->{ArgType} eq 'DecoderFn' # QFile's callback
++				|| $arg->{ArgType} eq 'EncoderFn' # QFile's callback
++				|| $arg->{ArgType} eq 'FILE*' ) # won't be able to handle that I think
++		{
+ 		    $m->{NodeType} = 'deleted';
+ 		}
+ 		else
+@@ -868,6 +543,12 @@
+ 		}
+ 	    }
+ 	    $m->AddProp( "FirstDefaultParam", $firstDefaultParam );
++
++		if ($className eq 'KParts::MainWindow' and $name eq 'MainWindow' && $#{$m->{ParamList}} == 1) {
++			$m->{ParamList}[1]->{DefaultValue} = undef;
++			$m->{FirstDefaultParam} = undef;
++        }
++		
+ 	    $m->{ReturnType} = kalyptusDataDict::resolveType($m->{ReturnType}, $classNode, $rootnode) if ($m->{ReturnType});
+ 	    registerType( $m->{ReturnType} );
+ 	}
+@@ -890,10 +571,10 @@
+ 	    findTypeEntry( $fullEnumName )->{isEnum} = 1;
+ 
+ 	    #print STDERR "$fullEnumName is an enum\n";
+- 	}
+-	elsif( $m->{NodeType} eq 'var' ) {
++ 	} elsif( $m->{NodeType} eq 'var' ) {
+ 		if (	($classNode->{astNodeName} eq 'QUuid' and $name eq 'data4')
+ 				|| ($name eq 'd')
++				|| ($classNode->{astNodeName} eq 'Tab' and $name eq 'type')
+ 				|| ($classNode->{astNodeName} eq 'QObject' and $name eq 'staticMetaObject')
+ 				|| ($classNode->{astNodeName} eq 'SlaveBase' and $name eq 'mIncomingMetaData')
+ 				|| ($classNode->{astNodeName} eq 'SlaveBase' and $name eq 'mOutgoingMetaData') ) 
+@@ -902,6 +583,7 @@
+ 			next;
+ 		}
+ 
++	    $m->{Type} = kalyptusDataDict::resolveType($m->{Type}, $classNode, $rootnode);
+ 	    my $varType = $m->{Type};
+ 		$varType =~ s/const\s+(.*)\s*&/$1/;
+ 		$varType =~ s/^\s*//;
+@@ -1082,6 +764,12 @@
+ 	    print $fh "#include <qregexp.h>\n";
+ 		delete $includes{"qregexp.h"};
+ 	}
++
++    if (defined $includes{"qsslsocket.h"}) {
++        print $fh "#include <qsslconfiguration.h>\n";
++		delete $includes{"qsslconfiguration.h"};
++    }
++
+ 	if (	defined $includes{"qmime.h"} 
+ 			|| defined $includes{"qmetatype.h"} 
+ 			|| defined $includes{"qvariant.h"}
+@@ -1527,6 +1215,7 @@
+ 	print STDERR "  Param ".$arg->{astNodeName}." type: ".$arg->{ArgType}." name:".$arg->{ArgName}." default: ".$arg->{DefaultValue}."\n" if ($debug);
+ 
+ 	my $argType = $arg->{ArgType};
++
+ 	push @argTypeList, $argType;
+ 		
+ 	# Detect objects passed by value
+@@ -1592,6 +1281,7 @@
+ 
+ 	    $methodCode .= "    ${extra}void x_$methodNumber\(Smoke::Stack x) $attr\{\n";
+ 	    my $cplusplusparams = join( ", ", @argTypeList );
++
+ 	    $methodCode .= "\t// $name($cplusplusparams)\n";
+ 	    $methodCode .= "\t";
+ 	




More information about the Pkg-ruby-extras-commits mailing list